Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
1aabe314
Unverified
Commit
1aabe314
authored
Dec 06, 2021
by
Rami
Committed by
GitHub
Dec 06, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Material 3] Update TextTheme to have M3 names for styles (#93725)
parent
bb906b6b
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
806 additions
and
551 deletions
+806
-551
text_theme.dart
packages/flutter/lib/src/material/text_theme.dart
+320
-129
typography.dart
packages/flutter/lib/src/material/typography.dart
+243
-211
text_theme_test.dart
packages/flutter/test/material/text_theme_test.dart
+122
-108
theme_test.dart
packages/flutter/test/material/theme_test.dart
+14
-12
tooltip_test.dart
packages/flutter/test/material/tooltip_test.dart
+2
-2
typography_test.dart
packages/flutter/test/material/typography_test.dart
+105
-89
No files found.
packages/flutter/lib/src/material/text_theme.dart
View file @
1aabe314
...
...
@@ -17,17 +17,20 @@ import 'typography.dart';
/// [BuildContext] and read the [ThemeData.textTheme] property.
///
/// The names of the TextTheme properties match this table from the
/// [Material Design spec](https://m3.material.io/styles/typography/tokens).
///
/// 
///
/// The Material Design typography scheme was significantly changed in the
/// current (2021) version of the specification
/// ([https://m3.material.io/styles/typography/tokens](https://m3.material.io/styles/typography/tokens)).
///
/// The names of the 2018 TextTheme properties match this table from the
/// [Material Design spec](https://material.io/design/typography/the-type-system.html#type-scale)
/// with two exceptions: the styles called H1-H6 in the spec are
/// headline1-headline6 in the API, and body1,body2 are called
/// bodyText1 and bodyText2.
///
/// 
///
/// The Material Design typography scheme was significantly changed in the
/// current (2018) version of the specification
/// ([https://material.io/design/typography](https://material.io/design/typography)).
///
/// The 2018 spec has thirteen text styles:
/// ```
/// NAME SIZE WEIGHT SPACING
...
...
@@ -78,66 +81,200 @@ class TextTheme with Diagnosticable {
///
/// If you do decide to create your own text theme, consider using one of
/// those predefined themes as a starting point for [copyWith] or [apply].
///
/// Please note that you can not mix and match the 2018 styles with the 2021
/// styles. Only one or the other is allowed in this constructor. The 2018
/// styles will be deprecated and removed eventually.
const
TextTheme
({
this
.
headline1
,
this
.
headline2
,
this
.
headline3
,
this
.
headline4
,
this
.
headline5
,
this
.
headline6
,
this
.
subtitle1
,
this
.
subtitle2
,
this
.
bodyText1
,
this
.
bodyText2
,
this
.
caption
,
this
.
button
,
this
.
overline
,
});
TextStyle
?
displayLarge
,
TextStyle
?
displayMedium
,
TextStyle
?
displaySmall
,
this
.
headlineLarge
,
TextStyle
?
headlineMedium
,
TextStyle
?
headlineSmall
,
TextStyle
?
titleLarge
,
TextStyle
?
titleMedium
,
TextStyle
?
titleSmall
,
TextStyle
?
bodyLarge
,
TextStyle
?
bodyMedium
,
TextStyle
?
bodySmall
,
TextStyle
?
labelLarge
,
this
.
labelMedium
,
TextStyle
?
labelSmall
,
TextStyle
?
headline1
,
TextStyle
?
headline2
,
TextStyle
?
headline3
,
TextStyle
?
headline4
,
TextStyle
?
headline5
,
TextStyle
?
headline6
,
TextStyle
?
subtitle1
,
TextStyle
?
subtitle2
,
TextStyle
?
bodyText1
,
TextStyle
?
bodyText2
,
TextStyle
?
caption
,
TextStyle
?
button
,
TextStyle
?
overline
,
})
:
assert
(
(
displayLarge
==
null
&&
displayMedium
==
null
&&
displaySmall
==
null
&&
headlineMedium
==
null
&&
headlineSmall
==
null
&&
titleLarge
==
null
&&
titleMedium
==
null
&&
titleSmall
==
null
&&
bodyLarge
==
null
&&
bodyMedium
==
null
&&
bodySmall
==
null
&&
labelLarge
==
null
&&
labelSmall
==
null
)
||
(
headline1
==
null
&&
headline2
==
null
&&
headline3
==
null
&&
headline4
==
null
&&
headline5
==
null
&&
headline6
==
null
&&
subtitle1
==
null
&&
subtitle2
==
null
&&
bodyText1
==
null
&&
bodyText2
==
null
&&
caption
==
null
&&
button
==
null
&&
overline
==
null
),
'Cannot mix 2018 and 2021 terms in call to TextTheme() constructor.'
),
displayLarge
=
displayLarge
??
headline1
,
displayMedium
=
displayMedium
??
headline2
,
displaySmall
=
displaySmall
??
headline3
,
headlineMedium
=
headlineMedium
??
headline4
,
headlineSmall
=
headlineSmall
??
headline5
,
titleLarge
=
titleLarge
??
headline6
,
titleMedium
=
titleMedium
??
subtitle1
,
titleSmall
=
titleSmall
??
subtitle2
,
bodyLarge
=
bodyLarge
??
bodyText1
,
bodyMedium
=
bodyMedium
??
bodyText2
,
bodySmall
=
bodySmall
??
caption
,
labelLarge
=
labelLarge
??
button
,
labelSmall
=
labelSmall
??
overline
;
/// Largest of the display styles.
///
/// As the largest text on the screen, display styles are reserved for short,
/// important text or numerals. They work best on large screens.
final
TextStyle
?
displayLarge
;
/// Middle size of the display styles.
///
/// As the largest text on the screen, display styles are reserved for short,
/// important text or numerals. They work best on large screens.
final
TextStyle
?
displayMedium
;
/// Smallest of the display styles.
///
/// As the largest text on the screen, display styles are reserved for short,
/// important text or numerals. They work best on large screens.
final
TextStyle
?
displaySmall
;
/// Largest of the headline styles.
///
/// Headline styles are smaller than display styles. They're best-suited for
/// short, high-emphasis text on smaller screens.
final
TextStyle
?
headlineLarge
;
/// Middle size of the headline styles.
///
/// Headline styles are smaller than display styles. They're best-suited for
/// short, high-emphasis text on smaller screens.
final
TextStyle
?
headlineMedium
;
/// Smallest of the headline styles.
///
/// Headline styles are smaller than display styles. They're best-suited for
/// short, high-emphasis text on smaller screens.
final
TextStyle
?
headlineSmall
;
/// Largest of the title styles.
///
/// Titles are smaller than headline styles and should be used for shorter,
/// medium-emphasis text.
final
TextStyle
?
titleLarge
;
/// Middle size of the title styles.
///
/// Titles are smaller than headline styles and should be used for shorter,
/// medium-emphasis text.
final
TextStyle
?
titleMedium
;
/// Smallest of the title styles.
///
/// Titles are smaller than headline styles and should be used for shorter,
/// medium-emphasis text.
final
TextStyle
?
titleSmall
;
/// Largest of the body styles.
///
/// Body styles are used for longer passages of text.
final
TextStyle
?
bodyLarge
;
/// Middle size of the body styles.
///
/// Body styles are used for longer passages of text.
///
/// The default text style for [Material].
final
TextStyle
?
bodyMedium
;
/// Smallest of the body styles.
///
/// Body styles are used for longer passages of text.
final
TextStyle
?
bodySmall
;
/// Largest of the label styles.
///
/// Label styles are smaller, utilitarian styles, used for areas of the UI
/// such as text inside of components or very small supporting text in the
/// content body, like captions.
///
/// Used for text on [ElevatedButton], [TextButton] and [OutlinedButton].
final
TextStyle
?
labelLarge
;
/// Middle size of the label styles.
///
/// Label styles are smaller, utilitarian styles, used for areas of the UI
/// such as text inside of components or very small supporting text in the
/// content body, like captions.
final
TextStyle
?
labelMedium
;
/// Smallest of the label styles.
///
/// Label styles are smaller, utilitarian styles, used for areas of the UI
/// such as text inside of components or very small supporting text in the
/// content body, like captions.
final
TextStyle
?
labelSmall
;
/// Extremely large text.
final
TextStyle
?
headline1
;
TextStyle
?
get
headline1
=>
displayLarge
;
/// Very, very large text.
///
/// Used for the date in the dialog shown by [showDatePicker].
final
TextStyle
?
headline2
;
TextStyle
?
get
headline2
=>
displayMedium
;
/// Very large text.
final
TextStyle
?
headline3
;
TextStyle
?
get
headline3
=>
displaySmall
;
/// Large text.
final
TextStyle
?
headline4
;
TextStyle
?
get
headline4
=>
headlineMedium
;
/// Used for large text in dialogs (e.g., the month and year in the dialog
/// shown by [showDatePicker]).
final
TextStyle
?
headline5
;
TextStyle
?
get
headline5
=>
headlineSmall
;
/// Used for the primary text in app bars and dialogs (e.g., [AppBar.title]
/// and [AlertDialog.title]).
final
TextStyle
?
headline6
;
TextStyle
?
get
headline6
=>
titleLarge
;
/// Used for the primary text in lists (e.g., [ListTile.title]).
final
TextStyle
?
subtitle1
;
TextStyle
?
get
subtitle1
=>
titleMedium
;
/// For medium emphasis text that's a little smaller than [subtitle1].
final
TextStyle
?
subtitle2
;
TextStyle
?
get
subtitle2
=>
titleSmall
;
/// Used for emphasizing text that would otherwise be [bodyText2].
final
TextStyle
?
bodyText1
;
TextStyle
?
get
bodyText1
=>
bodyLarge
;
/// The default text style for [Material].
final
TextStyle
?
bodyText2
;
TextStyle
?
get
bodyText2
=>
bodyMedium
;
/// Used for auxiliary text associated with images.
final
TextStyle
?
caption
;
TextStyle
?
get
caption
=>
bodySmall
;
/// Used for text on [ElevatedButton], [TextButton] and [OutlinedButton].
final
TextStyle
?
button
;
TextStyle
?
get
button
=>
labelLarge
;
/// The smallest style.
///
/// Typically used for captions or to introduce a (larger) headline.
final
TextStyle
?
overline
;
TextStyle
?
get
overline
=>
labelSmall
;
/// Creates a copy of this text theme but with the given fields replaced with
/// the new values.
...
...
@@ -163,7 +300,7 @@ class TextTheme with Diagnosticable {
/// return Theme(
/// data: theme.copyWith(
/// textTheme: theme.textTheme.copyWith(
///
headline6: theme.textTheme.headline6
!.copyWith(
///
titleLarge: theme.textTheme.titleLarge
!.copyWith(
/// color: titleColor,
/// ),
/// ),
...
...
@@ -180,6 +317,21 @@ class TextTheme with Diagnosticable {
/// * [merge] is used instead of [copyWith] when you want to merge all
/// of the fields of a TextTheme instead of individual fields.
TextTheme
copyWith
({
TextStyle
?
displayLarge
,
TextStyle
?
displayMedium
,
TextStyle
?
displaySmall
,
TextStyle
?
headlineLarge
,
TextStyle
?
headlineMedium
,
TextStyle
?
headlineSmall
,
TextStyle
?
titleLarge
,
TextStyle
?
titleMedium
,
TextStyle
?
titleSmall
,
TextStyle
?
bodyLarge
,
TextStyle
?
bodyMedium
,
TextStyle
?
bodySmall
,
TextStyle
?
labelLarge
,
TextStyle
?
labelMedium
,
TextStyle
?
labelSmall
,
TextStyle
?
headline1
,
TextStyle
?
headline2
,
TextStyle
?
headline3
,
...
...
@@ -194,20 +346,31 @@ class TextTheme with Diagnosticable {
TextStyle
?
button
,
TextStyle
?
overline
,
})
{
assert
(
(
displayLarge
==
null
&&
displayMedium
==
null
&&
displaySmall
==
null
&&
headlineMedium
==
null
&&
headlineSmall
==
null
&&
titleLarge
==
null
&&
titleMedium
==
null
&&
titleSmall
==
null
&&
bodyLarge
==
null
&&
bodyMedium
==
null
&&
bodySmall
==
null
&&
labelLarge
==
null
&&
labelSmall
==
null
)
||
(
headline1
==
null
&&
headline2
==
null
&&
headline3
==
null
&&
headline4
==
null
&&
headline5
==
null
&&
headline6
==
null
&&
subtitle1
==
null
&&
subtitle2
==
null
&&
bodyText1
==
null
&&
bodyText2
==
null
&&
caption
==
null
&&
button
==
null
&&
overline
==
null
),
'Cannot mix 2018 and 2021 terms in call to TextTheme() constructor.'
);
return
TextTheme
(
headline1:
headline1
??
this
.
headline1
,
headline2:
headline2
??
this
.
headline2
,
headline3:
headline3
??
this
.
headline3
,
headline4:
headline4
??
this
.
headline4
,
headline5:
headline5
??
this
.
headline5
,
headline6:
headline6
??
this
.
headline6
,
subtitle1:
subtitle1
??
this
.
subtitle1
,
subtitle2:
subtitle2
??
this
.
subtitle2
,
bodyText1:
bodyText1
??
this
.
bodyText1
,
bodyText2:
bodyText2
??
this
.
bodyText2
,
caption:
caption
??
this
.
caption
,
button:
button
??
this
.
button
,
overline:
overline
??
this
.
overline
,
displayLarge:
displayLarge
??
headline1
??
this
.
displayLarge
,
displayMedium:
displayMedium
??
headline2
??
this
.
displayMedium
,
displaySmall:
displaySmall
??
headline3
??
this
.
displaySmall
,
headlineLarge:
headlineLarge
??
this
.
headlineLarge
,
headlineMedium:
headlineMedium
??
headline4
??
this
.
headlineMedium
,
headlineSmall:
headlineSmall
??
headline5
??
this
.
headlineSmall
,
titleLarge:
titleLarge
??
headline6
??
this
.
titleLarge
,
titleMedium:
titleMedium
??
subtitle1
??
this
.
titleMedium
,
titleSmall:
titleSmall
??
subtitle2
??
this
.
titleSmall
,
bodyLarge:
bodyLarge
??
bodyText1
??
this
.
bodyLarge
,
bodyMedium:
bodyMedium
??
bodyText2
??
this
.
bodyMedium
,
bodySmall:
bodySmall
??
caption
??
this
.
bodySmall
,
labelLarge:
labelLarge
??
button
??
this
.
labelLarge
,
labelMedium:
labelMedium
??
this
.
labelMedium
,
labelSmall:
labelSmall
??
overline
??
this
.
labelSmall
,
);
}
...
...
@@ -249,7 +412,7 @@ class TextTheme with Diagnosticable {
/// // set the title, but everything else would be null. This isn't very
/// // useful, so merge it with the existing theme to keep all of the
/// // preexisting definitions for the other styles.
/// final TextTheme partialTheme = TextTheme(
headline6
: TextStyle(color: titleColor));
/// final TextTheme partialTheme = TextTheme(
titleLarge
: TextStyle(color: titleColor));
/// theme = theme.copyWith(textTheme: theme.textTheme.merge(partialTheme));
/// return Theme(data: theme, child: child);
/// }
...
...
@@ -266,28 +429,30 @@ class TextTheme with Diagnosticable {
if
(
other
==
null
)
return
this
;
return
copyWith
(
headline1:
headline1
?.
merge
(
other
.
headline1
)
??
other
.
headline1
,
headline2:
headline2
?.
merge
(
other
.
headline2
)
??
other
.
headline2
,
headline3:
headline3
?.
merge
(
other
.
headline3
)
??
other
.
headline3
,
headline4:
headline4
?.
merge
(
other
.
headline4
)
??
other
.
headline4
,
headline5:
headline5
?.
merge
(
other
.
headline5
)
??
other
.
headline5
,
headline6:
headline6
?.
merge
(
other
.
headline6
)
??
other
.
headline6
,
subtitle1:
subtitle1
?.
merge
(
other
.
subtitle1
)
??
other
.
subtitle1
,
subtitle2:
subtitle2
?.
merge
(
other
.
subtitle2
)
??
other
.
subtitle2
,
bodyText1:
bodyText1
?.
merge
(
other
.
bodyText1
)
??
other
.
bodyText1
,
bodyText2:
bodyText2
?.
merge
(
other
.
bodyText2
)
??
other
.
bodyText2
,
caption:
caption
?.
merge
(
other
.
caption
)
??
other
.
caption
,
button:
button
?.
merge
(
other
.
button
)
??
other
.
button
,
overline:
overline
?.
merge
(
other
.
overline
)
??
other
.
overline
,
displayLarge:
displayLarge
?.
merge
(
other
.
displayLarge
)
??
other
.
displayLarge
,
displayMedium:
displayMedium
?.
merge
(
other
.
displayMedium
)
??
other
.
displayMedium
,
displaySmall:
displaySmall
?.
merge
(
other
.
displaySmall
)
??
other
.
displaySmall
,
headlineLarge:
headlineLarge
?.
merge
(
other
.
headlineLarge
)
??
other
.
headlineLarge
,
headlineMedium:
headlineMedium
?.
merge
(
other
.
headlineMedium
)
??
other
.
headlineMedium
,
headlineSmall:
headlineSmall
?.
merge
(
other
.
headlineSmall
)
??
other
.
headlineSmall
,
titleLarge:
titleLarge
?.
merge
(
other
.
titleLarge
)
??
other
.
titleLarge
,
titleMedium:
titleMedium
?.
merge
(
other
.
titleMedium
)
??
other
.
titleMedium
,
titleSmall:
titleSmall
?.
merge
(
other
.
titleSmall
)
??
other
.
titleSmall
,
bodyLarge:
bodyLarge
?.
merge
(
other
.
bodyLarge
)
??
other
.
bodyLarge
,
bodyMedium:
bodyMedium
?.
merge
(
other
.
bodyMedium
)
??
other
.
bodyMedium
,
bodySmall:
bodySmall
?.
merge
(
other
.
bodySmall
)
??
other
.
bodySmall
,
labelLarge:
labelLarge
?.
merge
(
other
.
labelLarge
)
??
other
.
labelLarge
,
labelMedium:
labelMedium
?.
merge
(
other
.
labelMedium
)
??
other
.
labelMedium
,
labelSmall:
labelSmall
?.
merge
(
other
.
labelSmall
)
??
other
.
labelSmall
,
);
}
/// Creates a copy of this text theme but with the given field replaced in
/// each of the individual text styles.
///
/// The `displayColor` is applied to [
headline4], [headline3], [headline2
],
/// [
headline1], and [caption]. The `bodyColor` is applied to the remaining
/// text styles.
/// The `displayColor` is applied to [
displayLarge], [displayMedium
],
/// [
displaySmall], [headlineLarge], [headlineMedium], and [bodySmall]. The
///
`bodyColor` is applied to the remaining
text styles.
///
/// Consider using [Typography.black] or [Typography.white], which implement
/// the typography styles in the material design specification, as a starting
...
...
@@ -303,7 +468,16 @@ class TextTheme with Diagnosticable {
TextDecorationStyle
?
decorationStyle
,
})
{
return
TextTheme
(
headline1:
headline1
?.
apply
(
displayLarge:
displayLarge
?.
apply
(
color:
displayColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
decorationStyle:
decorationStyle
,
fontFamily:
fontFamily
,
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
displayMedium:
displayMedium
?.
apply
(
color:
displayColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -312,7 +486,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
headline2:
headline2
?.
apply
(
displaySmall:
displaySmall
?.
apply
(
color:
displayColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -321,7 +495,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
headline
3:
headline3
?.
apply
(
headline
Large:
headlineLarge
?.
apply
(
color:
displayColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -330,7 +504,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
headline
4:
headline4
?.
apply
(
headline
Medium:
headlineMedium
?.
apply
(
color:
displayColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -339,7 +513,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
headline
5:
headline5
?.
apply
(
headline
Small:
headlineSmall
?.
apply
(
color:
bodyColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -348,7 +522,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
headline6:
headline6
?.
apply
(
titleLarge:
titleLarge
?.
apply
(
color:
bodyColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -357,7 +531,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
subtitle1:
subtitle1
?.
apply
(
titleMedium:
titleMedium
?.
apply
(
color:
bodyColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -366,7 +540,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
subtitle2:
subtitle2
?.
apply
(
titleSmall:
titleSmall
?.
apply
(
color:
bodyColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -375,7 +549,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
body
Text1:
bodyText1
?.
apply
(
body
Large:
bodyLarge
?.
apply
(
color:
bodyColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -384,7 +558,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
body
Text2:
bodyText2
?.
apply
(
body
Medium:
bodyMedium
?.
apply
(
color:
bodyColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -393,7 +567,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
caption:
caption
?.
apply
(
bodySmall:
bodySmall
?.
apply
(
color:
displayColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -402,7 +576,16 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
button:
button
?.
apply
(
labelLarge:
labelLarge
?.
apply
(
color:
bodyColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
decorationStyle:
decorationStyle
,
fontFamily:
fontFamily
,
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
labelMedium:
labelMedium
?.
apply
(
color:
bodyColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -411,7 +594,7 @@ class TextTheme with Diagnosticable {
fontSizeFactor:
fontSizeFactor
,
fontSizeDelta:
fontSizeDelta
,
),
overline:
overline
?.
apply
(
labelSmall:
labelSmall
?.
apply
(
color:
bodyColor
,
decoration:
decoration
,
decorationColor:
decorationColor
,
...
...
@@ -429,19 +612,21 @@ class TextTheme with Diagnosticable {
static
TextTheme
lerp
(
TextTheme
?
a
,
TextTheme
?
b
,
double
t
)
{
assert
(
t
!=
null
);
return
TextTheme
(
headline1:
TextStyle
.
lerp
(
a
?.
headline1
,
b
?.
headline1
,
t
),
headline2:
TextStyle
.
lerp
(
a
?.
headline2
,
b
?.
headline2
,
t
),
headline3:
TextStyle
.
lerp
(
a
?.
headline3
,
b
?.
headline3
,
t
),
headline4:
TextStyle
.
lerp
(
a
?.
headline4
,
b
?.
headline4
,
t
),
headline5:
TextStyle
.
lerp
(
a
?.
headline5
,
b
?.
headline5
,
t
),
headline6:
TextStyle
.
lerp
(
a
?.
headline6
,
b
?.
headline6
,
t
),
subtitle1:
TextStyle
.
lerp
(
a
?.
subtitle1
,
b
?.
subtitle1
,
t
),
subtitle2:
TextStyle
.
lerp
(
a
?.
subtitle2
,
b
?.
subtitle2
,
t
),
bodyText1:
TextStyle
.
lerp
(
a
?.
bodyText1
,
b
?.
bodyText1
,
t
),
bodyText2:
TextStyle
.
lerp
(
a
?.
bodyText2
,
b
?.
bodyText2
,
t
),
caption:
TextStyle
.
lerp
(
a
?.
caption
,
b
?.
caption
,
t
),
button:
TextStyle
.
lerp
(
a
?.
button
,
b
?.
button
,
t
),
overline:
TextStyle
.
lerp
(
a
?.
overline
,
b
?.
overline
,
t
),
displayLarge:
TextStyle
.
lerp
(
a
?.
displayLarge
,
b
?.
displayLarge
,
t
),
displayMedium:
TextStyle
.
lerp
(
a
?.
displayMedium
,
b
?.
displayMedium
,
t
),
displaySmall:
TextStyle
.
lerp
(
a
?.
displaySmall
,
b
?.
displaySmall
,
t
),
headlineLarge:
TextStyle
.
lerp
(
a
?.
headlineLarge
,
b
?.
headlineLarge
,
t
),
headlineMedium:
TextStyle
.
lerp
(
a
?.
headlineMedium
,
b
?.
headlineMedium
,
t
),
headlineSmall:
TextStyle
.
lerp
(
a
?.
headlineSmall
,
b
?.
headlineSmall
,
t
),
titleLarge:
TextStyle
.
lerp
(
a
?.
titleLarge
,
b
?.
titleLarge
,
t
),
titleMedium:
TextStyle
.
lerp
(
a
?.
titleMedium
,
b
?.
titleMedium
,
t
),
titleSmall:
TextStyle
.
lerp
(
a
?.
titleSmall
,
b
?.
titleSmall
,
t
),
bodyLarge:
TextStyle
.
lerp
(
a
?.
bodyLarge
,
b
?.
bodyLarge
,
t
),
bodyMedium:
TextStyle
.
lerp
(
a
?.
bodyMedium
,
b
?.
bodyMedium
,
t
),
bodySmall:
TextStyle
.
lerp
(
a
?.
bodySmall
,
b
?.
bodySmall
,
t
),
labelLarge:
TextStyle
.
lerp
(
a
?.
labelLarge
,
b
?.
labelLarge
,
t
),
labelMedium:
TextStyle
.
lerp
(
a
?.
labelMedium
,
b
?.
labelMedium
,
t
),
labelSmall:
TextStyle
.
lerp
(
a
?.
labelSmall
,
b
?.
labelSmall
,
t
),
);
}
...
...
@@ -452,38 +637,42 @@ class TextTheme with Diagnosticable {
if
(
other
.
runtimeType
!=
runtimeType
)
return
false
;
return
other
is
TextTheme
&&
headline1
==
other
.
headline1
&&
headline2
==
other
.
headline2
&&
headline3
==
other
.
headline3
&&
headline4
==
other
.
headline4
&&
headline5
==
other
.
headline5
&&
headline6
==
other
.
headline6
&&
subtitle1
==
other
.
subtitle1
&&
subtitle2
==
other
.
subtitle2
&&
bodyText1
==
other
.
bodyText1
&&
bodyText2
==
other
.
bodyText2
&&
caption
==
other
.
caption
&&
button
==
other
.
button
&&
overline
==
other
.
overline
;
&&
displayLarge
==
other
.
displayLarge
&&
displayMedium
==
other
.
displayMedium
&&
displaySmall
==
other
.
displaySmall
&&
headlineLarge
==
other
.
headlineLarge
&&
headlineMedium
==
other
.
headlineMedium
&&
headlineSmall
==
other
.
headlineSmall
&&
titleLarge
==
other
.
titleLarge
&&
titleMedium
==
other
.
titleMedium
&&
titleSmall
==
other
.
titleSmall
&&
bodyLarge
==
other
.
bodyLarge
&&
bodyMedium
==
other
.
bodyMedium
&&
bodySmall
==
other
.
bodySmall
&&
labelLarge
==
other
.
labelLarge
&&
labelMedium
==
other
.
labelMedium
&&
labelSmall
==
other
.
labelSmall
;
}
@override
int
get
hashCode
{
// The hashValues() function supports up to 20 arguments.
return
hashValues
(
headline1
,
headline2
,
headline3
,
headline4
,
headline5
,
headline6
,
subtitle1
,
subtitle2
,
bodyText1
,
bodyText2
,
caption
,
button
,
overline
,
displayLarge
,
displayMedium
,
displaySmall
,
headlineLarge
,
headlineMedium
,
headlineSmall
,
titleLarge
,
titleMedium
,
titleSmall
,
bodyLarge
,
bodyMedium
,
bodySmall
,
labelLarge
,
labelMedium
,
labelSmall
,
);
}
...
...
@@ -491,18 +680,20 @@ class TextTheme with Diagnosticable {
void
debugFillProperties
(
DiagnosticPropertiesBuilder
properties
)
{
super
.
debugFillProperties
(
properties
);
final
TextTheme
defaultTheme
=
Typography
.
material2018
(
platform:
defaultTargetPlatform
).
black
;
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'headline1'
,
headline1
,
defaultValue:
defaultTheme
.
headline1
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'headline2'
,
headline2
,
defaultValue:
defaultTheme
.
headline2
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'headline3'
,
headline3
,
defaultValue:
defaultTheme
.
headline3
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'headline4'
,
headline4
,
defaultValue:
defaultTheme
.
headline4
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'headline5'
,
headline5
,
defaultValue:
defaultTheme
.
headline5
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'headline6'
,
headline6
,
defaultValue:
defaultTheme
.
headline6
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'subtitle1'
,
subtitle1
,
defaultValue:
defaultTheme
.
subtitle1
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'subtitle2'
,
subtitle2
,
defaultValue:
defaultTheme
.
subtitle2
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'bodyText1'
,
bodyText1
,
defaultValue:
defaultTheme
.
bodyText1
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'bodyText2'
,
bodyText2
,
defaultValue:
defaultTheme
.
bodyText2
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'caption'
,
caption
,
defaultValue:
defaultTheme
.
caption
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'button'
,
button
,
defaultValue:
defaultTheme
.
button
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'overline'
,
overline
,
defaultValue:
defaultTheme
.
overline
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'displayLarge'
,
displayLarge
,
defaultValue:
defaultTheme
.
displayLarge
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'displayMedium'
,
displayMedium
,
defaultValue:
defaultTheme
.
displayMedium
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'displaySmall'
,
displaySmall
,
defaultValue:
defaultTheme
.
displaySmall
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'headlineLarge'
,
headlineLarge
,
defaultValue:
defaultTheme
.
headlineLarge
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'headlineMedium'
,
headlineMedium
,
defaultValue:
defaultTheme
.
headlineMedium
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'headlineSmall'
,
headlineSmall
,
defaultValue:
defaultTheme
.
headlineSmall
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'titleLarge'
,
titleLarge
,
defaultValue:
defaultTheme
.
titleLarge
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'titleMedium'
,
titleMedium
,
defaultValue:
defaultTheme
.
titleMedium
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'titleSmall'
,
titleSmall
,
defaultValue:
defaultTheme
.
titleSmall
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'bodyLarge'
,
bodyLarge
,
defaultValue:
defaultTheme
.
bodyLarge
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'bodyMedium'
,
bodyMedium
,
defaultValue:
defaultTheme
.
bodyMedium
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'bodySmall'
,
bodySmall
,
defaultValue:
defaultTheme
.
bodySmall
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'labelLarge'
,
labelLarge
,
defaultValue:
defaultTheme
.
labelLarge
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'labelMedium'
,
labelMedium
,
defaultValue:
defaultTheme
.
labelMedium
));
properties
.
add
(
DiagnosticsProperty
<
TextStyle
>(
'labelSmall'
,
labelSmall
,
defaultValue:
defaultTheme
.
labelSmall
));
}
}
packages/flutter/lib/src/material/typography.dart
View file @
1aabe314
...
...
@@ -332,76 +332,84 @@ class Typography with Diagnosticable {
///
/// This [TextTheme] provides color but not geometry (font size, weight, etc).
static
const
TextTheme
blackMountainView
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'blackMountainView headline1'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'blackMountainView headline2'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'blackMountainView headline3'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'blackMountainView headline4'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'blackMountainView headline5'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'blackMountainView headline6'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'blackMountainView bodyText1'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'blackMountainView bodyText2'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'blackMountainView subtitle1'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'blackMountainView subtitle2'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'blackMountainView caption'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'blackMountainView button'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'blackMountainView overline'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'blackMountainView displayLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'blackMountainView displayMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'blackMountainView displaySmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'blackMountainView headlineLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'blackMountainView headlineMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'blackMountainView headlineSmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'blackMountainView titleLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'blackMountainView titleMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'blackMountainView titleSmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'blackMountainView bodyLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'blackMountainView bodyMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'blackMountainView bodySmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'blackMountainView labelLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'blackMountainView labelMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'blackMountainView labelSmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
);
/// A material design text theme with light glyphs based on Roboto.
///
/// This [TextTheme] provides color but not geometry (font size, weight, etc).
static
const
TextTheme
whiteMountainView
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'whiteMountainView headline1'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'whiteMountainView headline2'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'whiteMountainView headline3'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'whiteMountainView headline4'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'whiteMountainView headline5'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'whiteMountainView headline6'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'whiteMountainView bodyText1'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'whiteMountainView bodyText2'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'whiteMountainView subtitle1'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'whiteMountainView subtitle2'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'whiteMountainView caption'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'whiteMountainView button'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'whiteMountainView overline'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'whiteMountainView displayLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'whiteMountainView displayMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'whiteMountainView displaySmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'whiteMountainView headlineLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'whiteMountainView headlineMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'whiteMountainView headlineSmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'whiteMountainView titleLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'whiteMountainView titleMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'whiteMountainView titleSmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'whiteMountainView bodyLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'whiteMountainView bodyMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'whiteMountainView bodySmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'whiteMountainView labelLarge'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'whiteMountainView labelMedium'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'whiteMountainView labelSmall'
,
fontFamily:
'Roboto'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
);
/// A material design text theme with dark glyphs based on Segoe UI.
///
/// This [TextTheme] provides color but not geometry (font size, weight, etc).
static
const
TextTheme
blackRedmond
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'blackRedmond headline1'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'blackRedmond headline2'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'blackRedmond headline3'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'blackRedmond headline4'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'blackRedmond headline5'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'blackRedmond headline6'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'blackRedmond bodyText1'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'blackRedmond bodyText2'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'blackRedmond subtitle1'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'blackRedmond subtitle2'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'blackRedmond caption'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'blackRedmond button'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'blackRedmond overline'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'blackRedmond displayLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'blackRedmond displayMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'blackRedmond displaySmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'blackRedmond headlineLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'blackRedmond headlineMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'blackRedmond headlineSmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'blackRedmond titleLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'blackRedmond titleMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'blackRedmond titleSmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'blackRedmond bodyLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'blackRedmond bodyMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'blackRedmond bodySmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'blackRedmond labelLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'blackRedmond labelMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'blackRedmond labelSmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
);
/// A material design text theme with light glyphs based on Segoe UI.
///
/// This [TextTheme] provides color but not geometry (font size, weight, etc).
static
const
TextTheme
whiteRedmond
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'whiteRedmond headline1'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'whiteRedmond headline2'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'whiteRedmond headline3'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'whiteRedmond headline4'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'whiteRedmond headline5'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'whiteRedmond headline6'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'whiteRedmond bodyText1'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'whiteRedmond bodyText2'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'whiteRedmond subtitle1'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'whiteRedmond subtitle2'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'whiteRedmond caption'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'whiteRedmond button'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'whiteRedmond overline'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'whiteRedmond displayLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'whiteRedmond displayMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'whiteRedmond displaySmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'whiteRedmond headlineLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'whiteRedmond headlineMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'whiteRedmond headlineSmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'whiteRedmond titleLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'whiteRedmond titleMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'whiteRedmond titleSmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'whiteRedmond bodyLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'whiteRedmond bodyMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'whiteRedmond bodySmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'whiteRedmond labelLarge'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'whiteRedmond labelMedium'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'whiteRedmond labelSmall'
,
fontFamily:
'Segoe UI'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
);
static
const
List
<
String
>
_helsinkiFontFallbacks
=
<
String
>[
'Ubuntu'
,
'Cantarell'
,
'DejaVu Sans'
,
'Liberation Sans'
,
'Arial'
];
...
...
@@ -411,38 +419,42 @@ class Typography with Diagnosticable {
///
/// This [TextTheme] provides color but not geometry (font size, weight, etc).
static
const
TextTheme
blackHelsinki
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'blackHelsinki headline1'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'blackHelsinki headline2'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'blackHelsinki headline3'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'blackHelsinki headline4'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'blackHelsinki headline5'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'blackHelsinki headline6'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'blackHelsinki bodyText1'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'blackHelsinki bodyText2'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'blackHelsinki subtitle1'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'blackHelsinki subtitle2'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'blackHelsinki caption'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'blackHelsinki button'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'blackHelsinki overline'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'blackHelsinki displayLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'blackHelsinki displayMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'blackHelsinki displaySmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'blackHelsinki headlineLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'blackHelsinki headlineMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'blackHelsinki headlineSmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'blackHelsinki titleLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'blackHelsinki titleMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'blackHelsinki titleSmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'blackHelsinki bodyLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'blackHelsinki bodyMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'blackHelsinki bodySmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'blackHelsinki labelLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'blackHelsinki labelMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'blackHelsinki labelSmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
);
/// A material design text theme with light glyphs based on Roboto, with fallbacks of DejaVu Sans, Liberation Sans and Arial.
///
/// This [TextTheme] provides color but not geometry (font size, weight, etc).
static
const
TextTheme
whiteHelsinki
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'whiteHelsinki headline1'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'whiteHelsinki headline2'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'whiteHelsinki headline3'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'whiteHelsinki headline4'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'whiteHelsinki headline5'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'whiteHelsinki headline6'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'whiteHelsinki bodyText1'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'whiteHelsinki bodyText2'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'whiteHelsinki subtitle1'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'whiteHelsinki subtitle2'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'whiteHelsinki caption'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'whiteHelsinki button'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'whiteHelsinki overline'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'whiteHelsinki displayLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'whiteHelsinki displayMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'whiteHelsinki displaySmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'whiteHelsinki headlineLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'whiteHelsinki headlineMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'whiteHelsinki headlineSmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'whiteHelsinki titleLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'whiteHelsinki titleMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'whiteHelsinki titleSmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'whiteHelsinki bodyLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'whiteHelsinki bodyMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'whiteHelsinki bodySmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'whiteHelsinki labelLarge'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'whiteHelsinki labelMedium'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'whiteHelsinki labelSmall'
,
fontFamily:
'Roboto'
,
fontFamilyFallback:
_helsinkiFontFallbacks
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
);
/// A material design text theme with dark glyphs based on San Francisco.
...
...
@@ -451,19 +463,21 @@ class Typography with Diagnosticable {
///
/// This theme uses the iOS version of the font names.
static
const
TextTheme
blackCupertino
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'blackCupertino headline1'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'blackCupertino headline2'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'blackCupertino headline3'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'blackCupertino headline4'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'blackCupertino headline5'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'blackCupertino headline6'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'blackCupertino bodyText1'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'blackCupertino bodyText2'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'blackCupertino subtitle1'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'blackCupertino subtitle2'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'blackCupertino caption'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'blackCupertino button'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'blackCupertino overline'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'blackCupertino displayLarge'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'blackCupertino displayMedium'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'blackCupertino displaySmall'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'blackCupertino headlineLarge'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'blackCupertino headlineMedium'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'blackCupertino headlineSmall'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'blackCupertino titleLarge'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'blackCupertino titleMedium'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'blackCupertino titleSmall'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'blackCupertino bodyLarge'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'blackCupertino bodyMedium'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'blackCupertino bodySmall'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'blackCupertino labelLarge'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'blackCupertino labelMedium'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'blackCupertino labelSmall'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
);
/// A material design text theme with light glyphs based on San Francisco.
...
...
@@ -472,19 +486,21 @@ class Typography with Diagnosticable {
///
/// This theme uses the iOS version of the font names.
static
const
TextTheme
whiteCupertino
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'whiteCupertino headline1'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'whiteCupertino headline2'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'whiteCupertino headline3'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'whiteCupertino headline4'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'whiteCupertino headline5'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'whiteCupertino headline6'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'whiteCupertino subtitle1'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'whiteCupertino bodyText1'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'whiteCupertino bodyText2'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'whiteCupertino caption'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'whiteCupertino button'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'whiteCupertino subtitle2'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'whiteCupertino overline'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'whiteCupertino displayLarge'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'whiteCupertino displayMedium'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'whiteCupertino displaySmall'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'whiteCupertino headlineLarge'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'whiteCupertino headlineMedium'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'whiteCupertino headlineSmall'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'whiteCupertino titleLarge'
,
fontFamily:
'.SF UI Display'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'whiteCupertino titleMedium'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'whiteCupertino titleSmall'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'whiteCupertino bodyLarge'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'whiteCupertino bodyMedium'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'whiteCupertino bodySmall'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'whiteCupertino labelLarge'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'whiteCupertino labelMedium'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'whiteCupertino labelSmall'
,
fontFamily:
'.SF UI Text'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
);
/// A material design text theme with dark glyphs based on San Francisco.
...
...
@@ -493,19 +509,21 @@ class Typography with Diagnosticable {
///
/// This theme uses the macOS version of the font names.
static
const
TextTheme
blackRedwoodCity
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'blackRedwoodCity headline1'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'blackRedwoodCity headline2'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'blackRedwoodCity headline3'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'blackRedwoodCity headline4'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'blackRedwoodCity headline5'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'blackRedwoodCity headline6'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'blackRedwoodCity bodyText1'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'blackRedwoodCity bodyText2'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'blackRedwoodCity subtitle1'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'blackRedwoodCity subtitle2'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'blackRedwoodCity caption'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'blackRedwoodCity button'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'blackRedwoodCity overline'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'blackRedwoodCity displayLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'blackRedwoodCity displayMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'blackRedwoodCity displaySmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'blackRedwoodCity headlineLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'blackRedwoodCity headlineMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'blackRedwoodCity headlineSmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'blackRedwoodCity titleLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'blackRedwoodCity titleMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'blackRedwoodCity titleSmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'blackRedwoodCity bodyLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'blackRedwoodCity bodyMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'blackRedwoodCity bodySmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black54
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'blackRedwoodCity labelLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black87
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'blackRedwoodCity labelMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'blackRedwoodCity labelSmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
black
,
decoration:
TextDecoration
.
none
),
);
/// A material design text theme with light glyphs based on San Francisco.
...
...
@@ -514,133 +532,147 @@ class Typography with Diagnosticable {
///
/// This theme uses the macOS version of the font names.
static
const
TextTheme
whiteRedwoodCity
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'whiteRedwoodCity headline1'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline2
:
TextStyle
(
debugLabel:
'whiteRedwoodCity headline2'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline3
:
TextStyle
(
debugLabel:
'whiteRedwoodCity headline3'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline4
:
TextStyle
(
debugLabel:
'whiteRedwoodCity headline4'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headline5
:
TextStyle
(
debugLabel:
'whiteRedwoodCity headline5'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
headline6
:
TextStyle
(
debugLabel:
'whiteRedwoodCity headline6'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle1
:
TextStyle
(
debugLabel:
'whiteRedwoodCity subtitle1'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText1
:
TextStyle
(
debugLabel:
'whiteRedwoodCity bodyText1'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyText2
:
TextStyle
(
debugLabel:
'whiteRedwoodCity bodyText2'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
caption
:
TextStyle
(
debugLabel:
'whiteRedwoodCity caption'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
button
:
TextStyle
(
debugLabel:
'whiteRedwoodCity button'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
subtitle2
:
TextStyle
(
debugLabel:
'whiteRedwoodCity subtitle2'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
overline
:
TextStyle
(
debugLabel:
'whiteRedwoodCity overline'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
displayLarge
:
TextStyle
(
debugLabel:
'whiteRedwoodCity displayLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displayMedium
:
TextStyle
(
debugLabel:
'whiteRedwoodCity displayMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
displaySmall
:
TextStyle
(
debugLabel:
'whiteRedwoodCity displaySmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineLarge
:
TextStyle
(
debugLabel:
'whiteRedwoodCity headlineLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineMedium
:
TextStyle
(
debugLabel:
'whiteRedwoodCity headlineMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
headlineSmall
:
TextStyle
(
debugLabel:
'whiteRedwoodCity headlineSmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleLarge
:
TextStyle
(
debugLabel:
'whiteRedwoodCity titleLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleMedium
:
TextStyle
(
debugLabel:
'whiteRedwoodCity titleMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
titleSmall
:
TextStyle
(
debugLabel:
'whiteRedwoodCity titleSmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyLarge
:
TextStyle
(
debugLabel:
'whiteRedwoodCity bodyLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodyMedium
:
TextStyle
(
debugLabel:
'whiteRedwoodCity bodyMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
bodySmall
:
TextStyle
(
debugLabel:
'whiteRedwoodCity bodySmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white70
,
decoration:
TextDecoration
.
none
),
labelLarge
:
TextStyle
(
debugLabel:
'whiteRedwoodCity labelLarge'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelMedium
:
TextStyle
(
debugLabel:
'whiteRedwoodCity labelMedium'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
labelSmall
:
TextStyle
(
debugLabel:
'whiteRedwoodCity labelSmall'
,
fontFamily:
'.AppleSystemUIFont'
,
color:
Colors
.
white
,
decoration:
TextDecoration
.
none
),
);
/// Defines text geometry for [ScriptCategory.englishLike] scripts, such as
/// English, French, Russian, etc.
static
const
TextTheme
englishLike2014
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'englishLike display4 2014'
,
inherit:
false
,
fontSize:
112.0
,
fontWeight:
FontWeight
.
w100
,
textBaseline:
TextBaseline
.
alphabetic
),
headline2
:
TextStyle
(
debugLabel:
'englishLike display3 2014'
,
inherit:
false
,
fontSize:
56.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline3
:
TextStyle
(
debugLabel:
'englishLike display2 2014'
,
inherit:
false
,
fontSize:
45.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline4
:
TextStyle
(
debugLabel:
'englishLike display1 2014'
,
inherit:
false
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline5
:
TextStyle
(
debugLabel:
'englishLike headline 2014'
,
inherit:
false
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline6
:
TextStyle
(
debugLabel:
'englishLike title 2014'
,
inherit:
false
,
fontSize:
20.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyText1
:
TextStyle
(
debugLabel:
'englishLike body2 2014'
,
inherit:
false
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyText2
:
TextStyle
(
debugLabel:
'englishLike body1 2014'
,
inherit:
false
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
subtitle1
:
TextStyle
(
debugLabel:
'englishLike subhead 2014'
,
inherit:
false
,
fontSize:
16.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
subtitle2
:
TextStyle
(
debugLabel:
'englishLike subtitle 2014'
,
inherit:
false
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.1
),
caption
:
TextStyle
(
debugLabel:
'englishLike caption 2014'
,
inherit:
false
,
fontSize:
12.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
button
:
TextStyle
(
debugLabel:
'englishLike button 2014'
,
inherit:
false
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
overline
:
TextStyle
(
debugLabel:
'englishLike overline 2014'
,
inherit:
false
,
fontSize:
10.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
1.5
),
displayLarge
:
TextStyle
(
debugLabel:
'englishLike displayLarge 2014'
,
inherit:
false
,
fontSize:
112.0
,
fontWeight:
FontWeight
.
w100
,
textBaseline:
TextBaseline
.
alphabetic
),
displayMedium
:
TextStyle
(
debugLabel:
'englishLike displayMedium 2014'
,
inherit:
false
,
fontSize:
56.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
displaySmall
:
TextStyle
(
debugLabel:
'englishLike displaySmall 2014'
,
inherit:
false
,
fontSize:
45.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headlineLarge
:
TextStyle
(
debugLabel:
'englishLike headlineLarge 2014'
,
inherit:
false
,
fontSize:
40.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headlineMedium
:
TextStyle
(
debugLabel:
'englishLike headlineMedium 2014'
,
inherit:
false
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headlineSmall
:
TextStyle
(
debugLabel:
'englishLike headlineSmall 2014'
,
inherit:
false
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
titleLarge
:
TextStyle
(
debugLabel:
'englishLike titleLarge 2014'
,
inherit:
false
,
fontSize:
20.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
titleMedium
:
TextStyle
(
debugLabel:
'englishLike titleMedium 2014'
,
inherit:
false
,
fontSize:
16.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
titleSmall
:
TextStyle
(
debugLabel:
'englishLike titleSmall 2014'
,
inherit:
false
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.1
),
bodyLarge
:
TextStyle
(
debugLabel:
'englishLike bodyLarge 2014'
,
inherit:
false
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyMedium
:
TextStyle
(
debugLabel:
'englishLike bodyMedium 2014'
,
inherit:
false
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
bodySmall
:
TextStyle
(
debugLabel:
'englishLike bodySmall 2014'
,
inherit:
false
,
fontSize:
12.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
labelLarge
:
TextStyle
(
debugLabel:
'englishLike labelLarge 2014'
,
inherit:
false
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
labelMedium
:
TextStyle
(
debugLabel:
'englishLike labelMedium 2014'
,
inherit:
false
,
fontSize:
12.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
labelSmall
:
TextStyle
(
debugLabel:
'englishLike labelSmall 2014'
,
inherit:
false
,
fontSize:
10.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
1.5
),
);
/// Defines text geometry for [ScriptCategory.englishLike] scripts, such as
/// English, French, Russian, etc.
///
/// The font sizes, weights, and letter spacings in this version match the
/// [
latest
Material Design specification](https://material.io/go/design-typography#typography-styles).
/// [
2018
Material Design specification](https://material.io/go/design-typography#typography-styles).
static
const
TextTheme
englishLike2018
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'englishLike headline1 2018'
,
fontSize:
96.0
,
fontWeight:
FontWeight
.
w300
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
-
1.5
),
headline2
:
TextStyle
(
debugLabel:
'englishLike headline2 2018'
,
fontSize:
60.0
,
fontWeight:
FontWeight
.
w300
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
-
0.5
),
headline3
:
TextStyle
(
debugLabel:
'englishLike headline3 2018'
,
fontSize:
48.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.0
),
headline4
:
TextStyle
(
debugLabel:
'englishLike headline4 2018'
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.25
),
headline5
:
TextStyle
(
debugLabel:
'englishLike headline5 2018'
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.0
),
headline6
:
TextStyle
(
debugLabel:
'englishLike headline6 2018'
,
fontSize:
20.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.15
),
bodyText1
:
TextStyle
(
debugLabel:
'englishLike bodyText1 2018'
,
fontSize:
16.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.5
),
bodyText2
:
TextStyle
(
debugLabel:
'englishLike bodyText2 2018'
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.25
),
subtitle1
:
TextStyle
(
debugLabel:
'englishLike subtitle1 2018'
,
fontSize:
16.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.15
),
subtitle2
:
TextStyle
(
debugLabel:
'englishLike subtitle2 2018'
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.1
),
button
:
TextStyle
(
debugLabel:
'englishLike button 2018'
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
1.25
),
caption
:
TextStyle
(
debugLabel:
'englishLike caption 2018'
,
fontSize:
12.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.4
),
overline
:
TextStyle
(
debugLabel:
'englishLike overline 2018'
,
fontSize:
10.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
1.5
),
displayLarge
:
TextStyle
(
debugLabel:
'englishLike displayLarge 2018'
,
fontSize:
96.0
,
fontWeight:
FontWeight
.
w300
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
-
1.5
),
displayMedium
:
TextStyle
(
debugLabel:
'englishLike displayMedium 2018'
,
fontSize:
60.0
,
fontWeight:
FontWeight
.
w300
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
-
0.5
),
displaySmall
:
TextStyle
(
debugLabel:
'englishLike displaySmall 2018'
,
fontSize:
48.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.0
),
headlineLarge
:
TextStyle
(
debugLabel:
'englishLike headlineLarge 2018'
,
fontSize:
40.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.25
),
headlineMedium
:
TextStyle
(
debugLabel:
'englishLike headlineMedium 2018'
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.25
),
headlineSmall
:
TextStyle
(
debugLabel:
'englishLike headlineSmall 2018'
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.0
),
titleLarge
:
TextStyle
(
debugLabel:
'englishLike titleLarge 2018'
,
fontSize:
20.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.15
),
titleMedium
:
TextStyle
(
debugLabel:
'englishLike titleMedium 2018'
,
fontSize:
16.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.15
),
titleSmall
:
TextStyle
(
debugLabel:
'englishLike titleSmall 2018'
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.1
),
bodyLarge
:
TextStyle
(
debugLabel:
'englishLike bodyLarge 2018'
,
fontSize:
16.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.5
),
bodyMedium
:
TextStyle
(
debugLabel:
'englishLike bodyMedium 2018'
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.25
),
bodySmall
:
TextStyle
(
debugLabel:
'englishLike bodySmall 2018'
,
fontSize:
12.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
0.4
),
labelLarge
:
TextStyle
(
debugLabel:
'englishLike labelLarge 2018'
,
fontSize:
14.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
1.25
),
labelMedium
:
TextStyle
(
debugLabel:
'englishLike labelMedium 2018'
,
fontSize:
11.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
1.5
),
labelSmall
:
TextStyle
(
debugLabel:
'englishLike labelSmall 2018'
,
fontSize:
10.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
,
letterSpacing:
1.5
),
);
/// Defines text geometry for dense scripts, such as Chinese, Japanese
/// and Korean.
static
const
TextTheme
dense2014
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'dense display4 2014'
,
inherit:
false
,
fontSize:
112.0
,
fontWeight:
FontWeight
.
w100
,
textBaseline:
TextBaseline
.
ideographic
),
headline2
:
TextStyle
(
debugLabel:
'dense display3 2014'
,
inherit:
false
,
fontSize:
56.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headline3
:
TextStyle
(
debugLabel:
'dense display2 2014'
,
inherit:
false
,
fontSize:
45.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headline4
:
TextStyle
(
debugLabel:
'dense display1 2014'
,
inherit:
false
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headline5
:
TextStyle
(
debugLabel:
'dense headline 2014'
,
inherit:
false
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headline6
:
TextStyle
(
debugLabel:
'dense title 2014'
,
inherit:
false
,
fontSize:
21.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
bodyText1
:
TextStyle
(
debugLabel:
'dense body2 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
bodyText2
:
TextStyle
(
debugLabel:
'dense body1 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
subtitle1
:
TextStyle
(
debugLabel:
'dense subhead 2014'
,
inherit:
false
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
subtitle2
:
TextStyle
(
debugLabel:
'dense subtitle 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
caption
:
TextStyle
(
debugLabel:
'dense caption 2014'
,
inherit:
false
,
fontSize:
13.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
button
:
TextStyle
(
debugLabel:
'dense button 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
overline
:
TextStyle
(
debugLabel:
'dense overline 2014'
,
inherit:
false
,
fontSize:
11.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
displayLarge
:
TextStyle
(
debugLabel:
'dense displayLarge 2014'
,
inherit:
false
,
fontSize:
112.0
,
fontWeight:
FontWeight
.
w100
,
textBaseline:
TextBaseline
.
ideographic
),
displayMedium
:
TextStyle
(
debugLabel:
'dense displayMedium 2014'
,
inherit:
false
,
fontSize:
56.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
displaySmall
:
TextStyle
(
debugLabel:
'dense displaySmall 2014'
,
inherit:
false
,
fontSize:
45.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headlineLarge
:
TextStyle
(
debugLabel:
'dense headlineLarge 2014'
,
inherit:
false
,
fontSize:
40.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headlineMedium
:
TextStyle
(
debugLabel:
'dense headlineMedium 2014'
,
inherit:
false
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headlineSmall
:
TextStyle
(
debugLabel:
'dense headlineSmall 2014'
,
inherit:
false
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
titleLarge
:
TextStyle
(
debugLabel:
'dense titleLarge 2014'
,
inherit:
false
,
fontSize:
21.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
titleMedium
:
TextStyle
(
debugLabel:
'dense titleMedium 2014'
,
inherit:
false
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
titleSmall
:
TextStyle
(
debugLabel:
'dense titleSmall 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
bodyLarge
:
TextStyle
(
debugLabel:
'dense bodyLarge 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
bodyMedium
:
TextStyle
(
debugLabel:
'dense bodyMedium 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
bodySmall
:
TextStyle
(
debugLabel:
'dense bodySmall 2014'
,
inherit:
false
,
fontSize:
13.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
labelLarge
:
TextStyle
(
debugLabel:
'dense labelLarge 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
labelMedium
:
TextStyle
(
debugLabel:
'dense labelMedium 2014'
,
inherit:
false
,
fontSize:
12.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
labelSmall
:
TextStyle
(
debugLabel:
'dense labelSmall 2014'
,
inherit:
false
,
fontSize:
11.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
);
/// Defines text geometry for dense scripts, such as Chinese, Japanese
/// and Korean.
///
/// The font sizes, weights, and letter spacings in this version match the
///
latest
[Material Design specification](https://material.io/go/design-typography#typography-styles).
///
2018
[Material Design specification](https://material.io/go/design-typography#typography-styles).
static
const
TextTheme
dense2018
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'dense headline1 2018'
,
fontSize:
96.0
,
fontWeight:
FontWeight
.
w100
,
textBaseline:
TextBaseline
.
ideographic
),
headline2
:
TextStyle
(
debugLabel:
'dense headline2 2018'
,
fontSize:
60.0
,
fontWeight:
FontWeight
.
w100
,
textBaseline:
TextBaseline
.
ideographic
),
headline3
:
TextStyle
(
debugLabel:
'dense headline3 2018'
,
fontSize:
48.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headline4
:
TextStyle
(
debugLabel:
'dense headline4 2018'
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headline5
:
TextStyle
(
debugLabel:
'dense headline5 2018'
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headline6
:
TextStyle
(
debugLabel:
'dense headline6 2018'
,
fontSize:
21.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
bodyText1
:
TextStyle
(
debugLabel:
'dense bodyText1 2018'
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
bodyText2
:
TextStyle
(
debugLabel:
'dense bodyText2 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
subtitle1
:
TextStyle
(
debugLabel:
'dense subtitle1 2018'
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
subtitle2
:
TextStyle
(
debugLabel:
'dense subtitle2 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
button
:
TextStyle
(
debugLabel:
'dense button 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
caption
:
TextStyle
(
debugLabel:
'dense caption 2018'
,
fontSize:
13.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
overline
:
TextStyle
(
debugLabel:
'dense overline 2018'
,
fontSize:
11.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
displayLarge
:
TextStyle
(
debugLabel:
'dense displayLarge 2018'
,
fontSize:
96.0
,
fontWeight:
FontWeight
.
w100
,
textBaseline:
TextBaseline
.
ideographic
),
displayMedium
:
TextStyle
(
debugLabel:
'dense displayMedium 2018'
,
fontSize:
60.0
,
fontWeight:
FontWeight
.
w100
,
textBaseline:
TextBaseline
.
ideographic
),
displaySmall
:
TextStyle
(
debugLabel:
'dense displaySmall 2018'
,
fontSize:
48.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headlineLarge
:
TextStyle
(
debugLabel:
'dense headlineLarge 2018'
,
fontSize:
40.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headlineMedium
:
TextStyle
(
debugLabel:
'dense headlineMedium 2018'
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
headlineSmall
:
TextStyle
(
debugLabel:
'dense headlineSmall 2018'
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
titleLarge
:
TextStyle
(
debugLabel:
'dense titleLarge 2018'
,
fontSize:
21.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
titleMedium
:
TextStyle
(
debugLabel:
'dense titleMedium 2018'
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
titleSmall
:
TextStyle
(
debugLabel:
'dense titleSmall 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
bodyLarge
:
TextStyle
(
debugLabel:
'dense bodyLarge 2018'
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
bodyMedium
:
TextStyle
(
debugLabel:
'dense bodyMedium 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
bodySmall
:
TextStyle
(
debugLabel:
'dense bodySmall 2018'
,
fontSize:
13.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
labelLarge
:
TextStyle
(
debugLabel:
'dense labelLarge 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
ideographic
),
labelMedium
:
TextStyle
(
debugLabel:
'dense labelMedium 2018'
,
fontSize:
12.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
labelSmall
:
TextStyle
(
debugLabel:
'dense labelSmall 2018'
,
fontSize:
11.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
ideographic
),
);
/// Defines text geometry for tall scripts, such as Farsi, Hindi, and Thai.
static
const
TextTheme
tall2014
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'tall display4 2014'
,
inherit:
false
,
fontSize:
112.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline2
:
TextStyle
(
debugLabel:
'tall display3 2014'
,
inherit:
false
,
fontSize:
56.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline3
:
TextStyle
(
debugLabel:
'tall display2 2014'
,
inherit:
false
,
fontSize:
45.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline4
:
TextStyle
(
debugLabel:
'tall display1 2014'
,
inherit:
false
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline5
:
TextStyle
(
debugLabel:
'tall headline 2014'
,
inherit:
false
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline6
:
TextStyle
(
debugLabel:
'tall title 2014'
,
inherit:
false
,
fontSize:
21.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyText1
:
TextStyle
(
debugLabel:
'tall body2 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyText2
:
TextStyle
(
debugLabel:
'tall body1 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
subtitle1
:
TextStyle
(
debugLabel:
'tall subhead 2014'
,
inherit:
false
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
subtitle2
:
TextStyle
(
debugLabel:
'tall subtitle 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
caption
:
TextStyle
(
debugLabel:
'tall caption 2014'
,
inherit:
false
,
fontSize:
13.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
button
:
TextStyle
(
debugLabel:
'tall button 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
overline
:
TextStyle
(
debugLabel:
'tall overline 2014'
,
inherit:
false
,
fontSize:
11.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
displayLarge
:
TextStyle
(
debugLabel:
'tall displayLarge 2014'
,
inherit:
false
,
fontSize:
112.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
displayMedium
:
TextStyle
(
debugLabel:
'tall displayMedium 2014'
,
inherit:
false
,
fontSize:
56.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
displaySmall
:
TextStyle
(
debugLabel:
'tall displaySmall 2014'
,
inherit:
false
,
fontSize:
45.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headlineLarge
:
TextStyle
(
debugLabel:
'tall headlineLarge 2014'
,
inherit:
false
,
fontSize:
40.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headlineMedium
:
TextStyle
(
debugLabel:
'tall headlineMedium 2014'
,
inherit:
false
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headlineSmall
:
TextStyle
(
debugLabel:
'tall headlineSmall 2014'
,
inherit:
false
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
titleLarge
:
TextStyle
(
debugLabel:
'tall titleLarge 2014'
,
inherit:
false
,
fontSize:
21.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
titleMedium
:
TextStyle
(
debugLabel:
'tall titleMedium 2014'
,
inherit:
false
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
titleSmall
:
TextStyle
(
debugLabel:
'tall titleSmall 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyLarge
:
TextStyle
(
debugLabel:
'tall bodyLarge 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyMedium
:
TextStyle
(
debugLabel:
'tall bodyMedium 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
bodySmall
:
TextStyle
(
debugLabel:
'tall bodySmall 2014'
,
inherit:
false
,
fontSize:
13.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
labelLarge
:
TextStyle
(
debugLabel:
'tall labelLarge 2014'
,
inherit:
false
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
labelMedium
:
TextStyle
(
debugLabel:
'tall labelMedium 2014'
,
inherit:
false
,
fontSize:
12.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
labelSmall
:
TextStyle
(
debugLabel:
'tall labelSmall 2014'
,
inherit:
false
,
fontSize:
11.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
);
/// Defines text geometry for tall scripts, such as Farsi, Hindi, and Thai.
///
/// The font sizes, weights, and letter spacings in this version match the
///
latest
[Material Design specification](https://material.io/go/design-typography#typography-styles).
///
2018
[Material Design specification](https://material.io/go/design-typography#typography-styles).
static
const
TextTheme
tall2018
=
TextTheme
(
headline1
:
TextStyle
(
debugLabel:
'tall headline1 2018'
,
fontSize:
96.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline2
:
TextStyle
(
debugLabel:
'tall headline2 2018'
,
fontSize:
60.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline3
:
TextStyle
(
debugLabel:
'tall headline3 2018'
,
fontSize:
48.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline4
:
TextStyle
(
debugLabel:
'tall headline4 2018'
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline5
:
TextStyle
(
debugLabel:
'tall headline5 2018'
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headline6
:
TextStyle
(
debugLabel:
'tall headline6 2018'
,
fontSize:
21.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyText1
:
TextStyle
(
debugLabel:
'tall bodyText1 2018'
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyText2
:
TextStyle
(
debugLabel:
'tall bodyText2 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
subtitle1
:
TextStyle
(
debugLabel:
'tall subtitle1 2018'
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
subtitle2
:
TextStyle
(
debugLabel:
'tall subtitle2 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
button
:
TextStyle
(
debugLabel:
'tall button 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
caption
:
TextStyle
(
debugLabel:
'tall caption 2018'
,
fontSize:
13.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
overline
:
TextStyle
(
debugLabel:
'tall overline 2018'
,
fontSize:
11.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
displayLarge
:
TextStyle
(
debugLabel:
'tall displayLarge 2018'
,
fontSize:
96.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
displayMedium
:
TextStyle
(
debugLabel:
'tall displayMedium 2018'
,
fontSize:
60.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
displaySmall
:
TextStyle
(
debugLabel:
'tall displaySmall 2018'
,
fontSize:
48.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headlineLarge
:
TextStyle
(
debugLabel:
'tall headlineLarge 2018'
,
fontSize:
40.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headlineMedium
:
TextStyle
(
debugLabel:
'tall headlineMedium 2018'
,
fontSize:
34.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
headlineSmall
:
TextStyle
(
debugLabel:
'tall headlineSmall 2018'
,
fontSize:
24.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
titleLarge
:
TextStyle
(
debugLabel:
'tall titleLarge 2018'
,
fontSize:
21.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
titleMedium
:
TextStyle
(
debugLabel:
'tall titleMedium 2018'
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
titleSmall
:
TextStyle
(
debugLabel:
'tall titleSmall 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w500
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyLarge
:
TextStyle
(
debugLabel:
'tall bodyLarge 2018'
,
fontSize:
17.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
bodyMedium
:
TextStyle
(
debugLabel:
'tall bodyMedium 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
bodySmall
:
TextStyle
(
debugLabel:
'tall bodySmall 2018'
,
fontSize:
13.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
labelLarge
:
TextStyle
(
debugLabel:
'tall labelLarge 2018'
,
fontSize:
15.0
,
fontWeight:
FontWeight
.
w700
,
textBaseline:
TextBaseline
.
alphabetic
),
labelMedium
:
TextStyle
(
debugLabel:
'tall labelMedium 2018'
,
fontSize:
12.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
labelSmall
:
TextStyle
(
debugLabel:
'tall labelSmall 2018'
,
fontSize:
11.0
,
fontWeight:
FontWeight
.
w400
,
textBaseline:
TextBaseline
.
alphabetic
),
);
}
packages/flutter/test/material/text_theme_test.dart
View file @
1aabe314
...
...
@@ -29,19 +29,21 @@ void main() {
test
(
'TextTheme copyWith'
,
()
{
final
Typography
typography
=
Typography
.
material2018
();
final
TextTheme
whiteCopy
=
typography
.
black
.
copyWith
(
headline1:
typography
.
white
.
headline1
,
headline2:
typography
.
white
.
headline2
,
headline3:
typography
.
white
.
headline3
,
headline4:
typography
.
white
.
headline4
,
headline5:
typography
.
white
.
headline5
,
headline6:
typography
.
white
.
headline6
,
subtitle1:
typography
.
white
.
subtitle1
,
bodyText1:
typography
.
white
.
bodyText1
,
bodyText2:
typography
.
white
.
bodyText2
,
caption:
typography
.
white
.
caption
,
button:
typography
.
white
.
button
,
subtitle2:
typography
.
white
.
subtitle2
,
overline:
typography
.
white
.
overline
,
displayLarge:
typography
.
white
.
displayLarge
,
displayMedium:
typography
.
white
.
displayMedium
,
displaySmall:
typography
.
white
.
displaySmall
,
headlineLarge:
typography
.
white
.
headlineLarge
,
headlineMedium:
typography
.
white
.
headlineMedium
,
headlineSmall:
typography
.
white
.
headlineSmall
,
titleLarge:
typography
.
white
.
titleLarge
,
titleMedium:
typography
.
white
.
titleMedium
,
titleSmall:
typography
.
white
.
titleSmall
,
bodyLarge:
typography
.
white
.
bodyLarge
,
bodyMedium:
typography
.
white
.
bodyMedium
,
bodySmall:
typography
.
white
.
bodySmall
,
labelLarge:
typography
.
white
.
labelLarge
,
labelMedium:
typography
.
white
.
labelMedium
,
labelSmall:
typography
.
white
.
labelSmall
,
);
expect
(
typography
.
white
,
equals
(
whiteCopy
));
});
...
...
@@ -52,28 +54,28 @@ void main() {
final
TextTheme
fullTheme
=
ThemeData
.
fallback
().
textTheme
.
merge
(
partialTheme
);
expect
(
fullTheme
.
headline6
!.
color
,
equals
(
partialTheme
.
headline6
!.
color
));
const
TextTheme
onlyHeadline
AndTitl
e
=
TextTheme
(
headline
5
:
TextStyle
(
color:
Color
(
0xcafefeed
)),
headline6
:
TextStyle
(
color:
Color
(
0xbeefcafe
)),
const
TextTheme
onlyHeadline
SmallAndTitleLarg
e
=
TextTheme
(
headline
Small
:
TextStyle
(
color:
Color
(
0xcafefeed
)),
titleLarge
:
TextStyle
(
color:
Color
(
0xbeefcafe
)),
);
const
TextTheme
onlyBody
1AndTitl
e
=
TextTheme
(
body
Text2
:
TextStyle
(
color:
Color
(
0xfeedfeed
)),
headline6
:
TextStyle
(
color:
Color
(
0xdeadcafe
)),
const
TextTheme
onlyBody
MediumAndTitleLarg
e
=
TextTheme
(
body
Medium
:
TextStyle
(
color:
Color
(
0xfeedfeed
)),
titleLarge
:
TextStyle
(
color:
Color
(
0xdeadcafe
)),
);
TextTheme
merged
=
onlyHeadline
AndTitle
.
merge
(
onlyBody1AndTitl
e
);
expect
(
merged
.
body
Text1
,
isNull
);
expect
(
merged
.
body
Text2
!.
color
,
equals
(
onlyBody1AndTitle
.
bodyText2
!.
color
));
expect
(
merged
.
headline
5
!.
color
,
equals
(
onlyHeadlineAndTitle
.
headline5
!.
color
));
expect
(
merged
.
headline6
!.
color
,
equals
(
onlyBody1AndTitle
.
headline6
!.
color
));
merged
=
onlyHeadline
AndTitl
e
.
merge
(
null
);
expect
(
merged
,
equals
(
onlyHeadline
AndTitl
e
));
TextTheme
merged
=
onlyHeadline
SmallAndTitleLarge
.
merge
(
onlyBodyMediumAndTitleLarg
e
);
expect
(
merged
.
body
Large
,
isNull
);
expect
(
merged
.
body
Medium
!.
color
,
equals
(
onlyBodyMediumAndTitleLarge
.
bodyMedium
!.
color
));
expect
(
merged
.
headline
Small
!.
color
,
equals
(
onlyHeadlineSmallAndTitleLarge
.
headlineSmall
!.
color
));
expect
(
merged
.
titleLarge
!.
color
,
equals
(
onlyBodyMediumAndTitleLarge
.
titleLarge
!.
color
));
merged
=
onlyHeadline
SmallAndTitleLarg
e
.
merge
(
null
);
expect
(
merged
,
equals
(
onlyHeadline
SmallAndTitleLarg
e
));
});
test
(
'TextTheme apply'
,
()
{
// The `displayColor` is applied to [
headline1], [headline2], [headline3
],
// [
headline4], and [caption]. The `bodyColor` is applied to the remaining
// text styles.
// The `displayColor` is applied to [
displayLarge], [displayMedium
],
// [
displaySmall], [headlineLarge], [headlineMedium], and [bodySmall]. The
//
`bodyColor` is applied to the remaining
text styles.
const
Color
displayColor
=
Color
(
0x00000001
);
const
Color
bodyColor
=
Color
(
0x00000002
);
const
String
fontFamily
=
'fontFamily'
;
...
...
@@ -94,34 +96,38 @@ void main() {
decorationStyle:
decorationStyle
,
);
expect
(
theme
.
headline1
!.
color
,
displayColor
);
expect
(
theme
.
headline2
!.
color
,
displayColor
);
expect
(
theme
.
headline3
!.
color
,
displayColor
);
expect
(
theme
.
headline4
!.
color
,
displayColor
);
expect
(
theme
.
caption
!.
color
,
displayColor
);
expect
(
theme
.
headline5
!.
color
,
bodyColor
);
expect
(
theme
.
headline6
!.
color
,
bodyColor
);
expect
(
theme
.
subtitle1
!.
color
,
bodyColor
);
expect
(
theme
.
bodyText1
!.
color
,
bodyColor
);
expect
(
theme
.
bodyText2
!.
color
,
bodyColor
);
expect
(
theme
.
button
!.
color
,
bodyColor
);
expect
(
theme
.
subtitle2
!.
color
,
bodyColor
);
expect
(
theme
.
overline
!.
color
,
bodyColor
);
expect
(
theme
.
displayLarge
!.
color
,
displayColor
);
expect
(
theme
.
displayMedium
!.
color
,
displayColor
);
expect
(
theme
.
displaySmall
!.
color
,
displayColor
);
expect
(
theme
.
headlineLarge
!.
color
,
displayColor
);
expect
(
theme
.
headlineMedium
!.
color
,
displayColor
);
expect
(
theme
.
headlineSmall
!.
color
,
bodyColor
);
expect
(
theme
.
titleLarge
!.
color
,
bodyColor
);
expect
(
theme
.
titleMedium
!.
color
,
bodyColor
);
expect
(
theme
.
titleSmall
!.
color
,
bodyColor
);
expect
(
theme
.
bodyLarge
!.
color
,
bodyColor
);
expect
(
theme
.
bodyMedium
!.
color
,
bodyColor
);
expect
(
theme
.
bodySmall
!.
color
,
displayColor
);
expect
(
theme
.
labelLarge
!.
color
,
bodyColor
);
expect
(
theme
.
labelMedium
!.
color
,
bodyColor
);
expect
(
theme
.
labelSmall
!.
color
,
bodyColor
);
final
List
<
TextStyle
>
themeStyles
=
<
TextStyle
>[
theme
.
headline1
!,
theme
.
headline2
!,
theme
.
headline3
!,
theme
.
headline4
!,
theme
.
caption
!,
theme
.
headline5
!,
theme
.
headline6
!,
theme
.
subtitle1
!,
theme
.
bodyText1
!,
theme
.
bodyText2
!,
theme
.
button
!,
theme
.
subtitle2
!,
theme
.
overline
!,
theme
.
displayLarge
!,
theme
.
displayMedium
!,
theme
.
displaySmall
!,
theme
.
headlineLarge
!,
theme
.
headlineMedium
!,
theme
.
headlineSmall
!,
theme
.
titleLarge
!,
theme
.
titleMedium
!,
theme
.
titleSmall
!,
theme
.
bodyLarge
!,
theme
.
bodyMedium
!,
theme
.
bodySmall
!,
theme
.
labelLarge
!,
theme
.
labelMedium
!,
theme
.
labelSmall
!,
];
expect
(
themeStyles
.
every
((
TextStyle
style
)
=>
style
.
fontFamily
==
fontFamily
),
true
);
expect
(
themeStyles
.
every
((
TextStyle
style
)
=>
style
.
decorationColor
==
decorationColor
),
true
);
...
...
@@ -137,73 +143,81 @@ void main() {
fontSizeDelta:
5.0
,
);
expect
(
sizeTheme
.
headline1
!.
fontSize
,
baseTheme
.
headline1
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
headline2
!.
fontSize
,
baseTheme
.
headline2
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
headline3
!.
fontSize
,
baseTheme
.
headline3
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
headline4
!.
fontSize
,
baseTheme
.
headline4
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
caption
!.
fontSize
,
baseTheme
.
caption
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
headline5
!.
fontSize
,
baseTheme
.
headline5
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
headline6
!.
fontSize
,
baseTheme
.
headline6
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
subtitle1
!.
fontSize
,
baseTheme
.
subtitle1
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
bodyText1
!.
fontSize
,
baseTheme
.
bodyText1
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
bodyText2
!.
fontSize
,
baseTheme
.
bodyText2
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
button
!.
fontSize
,
baseTheme
.
button
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
subtitle2
!.
fontSize
,
baseTheme
.
subtitle2
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
overline
!.
fontSize
,
baseTheme
.
overline
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
displayLarge
!.
fontSize
,
baseTheme
.
displayLarge
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
displayMedium
!.
fontSize
,
baseTheme
.
displayMedium
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
displaySmall
!.
fontSize
,
baseTheme
.
displaySmall
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
headlineLarge
!.
fontSize
,
baseTheme
.
headlineLarge
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
headlineMedium
!.
fontSize
,
baseTheme
.
headlineMedium
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
headlineSmall
!.
fontSize
,
baseTheme
.
headlineSmall
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
titleLarge
!.
fontSize
,
baseTheme
.
titleLarge
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
titleMedium
!.
fontSize
,
baseTheme
.
titleMedium
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
titleSmall
!.
fontSize
,
baseTheme
.
titleSmall
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
bodyLarge
!.
fontSize
,
baseTheme
.
bodyLarge
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
bodyMedium
!.
fontSize
,
baseTheme
.
bodyMedium
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
bodySmall
!.
fontSize
,
baseTheme
.
bodySmall
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
labelLarge
!.
fontSize
,
baseTheme
.
labelLarge
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
labelMedium
!.
fontSize
,
baseTheme
.
labelMedium
!.
fontSize
!
*
2.0
+
5.0
);
expect
(
sizeTheme
.
labelSmall
!.
fontSize
,
baseTheme
.
labelSmall
!.
fontSize
!
*
2.0
+
5.0
);
});
test
(
'TextTheme lerp with second parameter null'
,
()
{
final
TextTheme
theme
=
Typography
.
material2018
().
black
;
final
TextTheme
lerped
=
TextTheme
.
lerp
(
theme
,
null
,
0.25
);
expect
(
lerped
.
headline1
,
TextStyle
.
lerp
(
theme
.
headline1
,
null
,
0.25
));
expect
(
lerped
.
headline2
,
TextStyle
.
lerp
(
theme
.
headline2
,
null
,
0.25
));
expect
(
lerped
.
headline3
,
TextStyle
.
lerp
(
theme
.
headline3
,
null
,
0.25
));
expect
(
lerped
.
headline4
,
TextStyle
.
lerp
(
theme
.
headline4
,
null
,
0.25
));
expect
(
lerped
.
caption
,
TextStyle
.
lerp
(
theme
.
caption
,
null
,
0.25
));
expect
(
lerped
.
headline5
,
TextStyle
.
lerp
(
theme
.
headline5
,
null
,
0.25
));
expect
(
lerped
.
headline6
,
TextStyle
.
lerp
(
theme
.
headline6
,
null
,
0.25
));
expect
(
lerped
.
subtitle1
,
TextStyle
.
lerp
(
theme
.
subtitle1
,
null
,
0.25
));
expect
(
lerped
.
bodyText1
,
TextStyle
.
lerp
(
theme
.
bodyText1
,
null
,
0.25
));
expect
(
lerped
.
bodyText2
,
TextStyle
.
lerp
(
theme
.
bodyText2
,
null
,
0.25
));
expect
(
lerped
.
button
,
TextStyle
.
lerp
(
theme
.
button
,
null
,
0.25
));
expect
(
lerped
.
subtitle2
,
TextStyle
.
lerp
(
theme
.
subtitle2
,
null
,
0.25
));
expect
(
lerped
.
overline
,
TextStyle
.
lerp
(
theme
.
overline
,
null
,
0.25
));
expect
(
lerped
.
displayLarge
,
TextStyle
.
lerp
(
theme
.
displayLarge
,
null
,
0.25
));
expect
(
lerped
.
displayMedium
,
TextStyle
.
lerp
(
theme
.
displayMedium
,
null
,
0.25
));
expect
(
lerped
.
displaySmall
,
TextStyle
.
lerp
(
theme
.
displaySmall
,
null
,
0.25
));
expect
(
lerped
.
headlineLarge
,
TextStyle
.
lerp
(
theme
.
headlineLarge
,
null
,
0.25
));
expect
(
lerped
.
headlineMedium
,
TextStyle
.
lerp
(
theme
.
headlineMedium
,
null
,
0.25
));
expect
(
lerped
.
headlineSmall
,
TextStyle
.
lerp
(
theme
.
headlineSmall
,
null
,
0.25
));
expect
(
lerped
.
titleLarge
,
TextStyle
.
lerp
(
theme
.
titleLarge
,
null
,
0.25
));
expect
(
lerped
.
titleMedium
,
TextStyle
.
lerp
(
theme
.
titleMedium
,
null
,
0.25
));
expect
(
lerped
.
titleSmall
,
TextStyle
.
lerp
(
theme
.
titleSmall
,
null
,
0.25
));
expect
(
lerped
.
bodyLarge
,
TextStyle
.
lerp
(
theme
.
bodyLarge
,
null
,
0.25
));
expect
(
lerped
.
bodyMedium
,
TextStyle
.
lerp
(
theme
.
bodyMedium
,
null
,
0.25
));
expect
(
lerped
.
bodySmall
,
TextStyle
.
lerp
(
theme
.
bodySmall
,
null
,
0.25
));
expect
(
lerped
.
labelLarge
,
TextStyle
.
lerp
(
theme
.
labelLarge
,
null
,
0.25
));
expect
(
lerped
.
labelMedium
,
TextStyle
.
lerp
(
theme
.
labelMedium
,
null
,
0.25
));
expect
(
lerped
.
labelSmall
,
TextStyle
.
lerp
(
theme
.
labelSmall
,
null
,
0.25
));
});
test
(
'TextTheme lerp with first parameter null'
,
()
{
final
TextTheme
theme
=
Typography
.
material2018
().
black
;
final
TextTheme
lerped
=
TextTheme
.
lerp
(
null
,
theme
,
0.25
);
expect
(
lerped
.
headline1
,
TextStyle
.
lerp
(
null
,
theme
.
headline1
,
0.25
));
expect
(
lerped
.
headline2
,
TextStyle
.
lerp
(
null
,
theme
.
headline2
,
0.25
));
expect
(
lerped
.
headline3
,
TextStyle
.
lerp
(
null
,
theme
.
headline3
,
0.25
));
expect
(
lerped
.
headline4
,
TextStyle
.
lerp
(
null
,
theme
.
headline4
,
0.25
));
expect
(
lerped
.
caption
,
TextStyle
.
lerp
(
null
,
theme
.
caption
,
0.25
));
expect
(
lerped
.
headline5
,
TextStyle
.
lerp
(
null
,
theme
.
headline5
,
0.25
));
expect
(
lerped
.
headline6
,
TextStyle
.
lerp
(
null
,
theme
.
headline6
,
0.25
));
expect
(
lerped
.
subtitle1
,
TextStyle
.
lerp
(
null
,
theme
.
subtitle1
,
0.25
));
expect
(
lerped
.
bodyText1
,
TextStyle
.
lerp
(
null
,
theme
.
bodyText1
,
0.25
));
expect
(
lerped
.
bodyText2
,
TextStyle
.
lerp
(
null
,
theme
.
bodyText2
,
0.25
));
expect
(
lerped
.
button
,
TextStyle
.
lerp
(
null
,
theme
.
button
,
0.25
));
expect
(
lerped
.
subtitle2
,
TextStyle
.
lerp
(
null
,
theme
.
subtitle2
,
0.25
));
expect
(
lerped
.
overline
,
TextStyle
.
lerp
(
null
,
theme
.
overline
,
0.25
));
expect
(
lerped
.
displayLarge
,
TextStyle
.
lerp
(
null
,
theme
.
displayLarge
,
0.25
));
expect
(
lerped
.
displayMedium
,
TextStyle
.
lerp
(
null
,
theme
.
displayMedium
,
0.25
));
expect
(
lerped
.
displaySmall
,
TextStyle
.
lerp
(
null
,
theme
.
displaySmall
,
0.25
));
expect
(
lerped
.
headlineLarge
,
TextStyle
.
lerp
(
null
,
theme
.
headlineLarge
,
0.25
));
expect
(
lerped
.
headlineMedium
,
TextStyle
.
lerp
(
null
,
theme
.
headlineMedium
,
0.25
));
expect
(
lerped
.
headlineSmall
,
TextStyle
.
lerp
(
null
,
theme
.
headlineSmall
,
0.25
));
expect
(
lerped
.
titleLarge
,
TextStyle
.
lerp
(
null
,
theme
.
titleLarge
,
0.25
));
expect
(
lerped
.
titleMedium
,
TextStyle
.
lerp
(
null
,
theme
.
titleMedium
,
0.25
));
expect
(
lerped
.
titleSmall
,
TextStyle
.
lerp
(
null
,
theme
.
titleSmall
,
0.25
));
expect
(
lerped
.
bodyLarge
,
TextStyle
.
lerp
(
null
,
theme
.
bodyLarge
,
0.25
));
expect
(
lerped
.
bodyMedium
,
TextStyle
.
lerp
(
null
,
theme
.
bodyMedium
,
0.25
));
expect
(
lerped
.
bodySmall
,
TextStyle
.
lerp
(
null
,
theme
.
bodySmall
,
0.25
));
expect
(
lerped
.
labelLarge
,
TextStyle
.
lerp
(
null
,
theme
.
labelLarge
,
0.25
));
expect
(
lerped
.
labelMedium
,
TextStyle
.
lerp
(
null
,
theme
.
labelMedium
,
0.25
));
expect
(
lerped
.
labelSmall
,
TextStyle
.
lerp
(
null
,
theme
.
labelSmall
,
0.25
));
});
test
(
'TextTheme lerp with null parameters'
,
()
{
final
TextTheme
lerped
=
TextTheme
.
lerp
(
null
,
null
,
0.25
);
expect
(
lerped
.
headline1
,
null
);
expect
(
lerped
.
headline2
,
null
);
expect
(
lerped
.
headline3
,
null
);
expect
(
lerped
.
headline4
,
null
);
expect
(
lerped
.
caption
,
null
);
expect
(
lerped
.
headline5
,
null
);
expect
(
lerped
.
headline6
,
null
);
expect
(
lerped
.
subtitle1
,
null
);
expect
(
lerped
.
bodyText1
,
null
);
expect
(
lerped
.
bodyText2
,
null
);
expect
(
lerped
.
button
,
null
);
expect
(
lerped
.
subtitle2
,
null
);
expect
(
lerped
.
overline
,
null
);
expect
(
lerped
.
displayLarge
,
null
);
expect
(
lerped
.
displayMedium
,
null
);
expect
(
lerped
.
displaySmall
,
null
);
expect
(
lerped
.
headlineLarge
,
null
);
expect
(
lerped
.
headlineMedium
,
null
);
expect
(
lerped
.
headlineSmall
,
null
);
expect
(
lerped
.
titleLarge
,
null
);
expect
(
lerped
.
titleMedium
,
null
);
expect
(
lerped
.
titleSmall
,
null
);
expect
(
lerped
.
bodyLarge
,
null
);
expect
(
lerped
.
bodyMedium
,
null
);
expect
(
lerped
.
bodySmall
,
null
);
expect
(
lerped
.
labelLarge
,
null
);
expect
(
lerped
.
labelMedium
,
null
);
expect
(
lerped
.
labelSmall
,
null
);
});
}
packages/flutter/test/material/theme_test.dart
View file @
1aabe314
...
...
@@ -373,17 +373,19 @@ void main() {
List
<
TextStyle
>
extractStyles
(
TextTheme
textTheme
)
{
return
<
TextStyle
>[
textTheme
.
headline1
!,
textTheme
.
headline2
!,
textTheme
.
headline3
!,
textTheme
.
headline4
!,
textTheme
.
headline5
!,
textTheme
.
headline6
!,
textTheme
.
subtitle1
!,
textTheme
.
bodyText1
!,
textTheme
.
bodyText2
!,
textTheme
.
caption
!,
textTheme
.
button
!,
textTheme
.
displayLarge
!,
textTheme
.
displayMedium
!,
textTheme
.
displaySmall
!,
textTheme
.
headlineLarge
!,
textTheme
.
headlineMedium
!,
textTheme
.
headlineSmall
!,
textTheme
.
titleLarge
!,
textTheme
.
titleMedium
!,
textTheme
.
bodyLarge
!,
textTheme
.
bodyMedium
!,
textTheme
.
bodySmall
!,
textTheme
.
labelLarge
!,
textTheme
.
labelMedium
!,
];
}
...
...
@@ -408,7 +410,7 @@ void main() {
}
}
expect
(
theme
.
textTheme
.
headline1
!.
debugLabel
,
'(englishLike display4 2014).merge(blackMountainView headline1
)'
);
expect
(
theme
.
textTheme
.
displayLarge
!.
debugLabel
,
'(englishLike displayLarge 2014).merge(blackMountainView displayLarge
)'
);
});
group
(
'Cupertino theme'
,
()
{
...
...
packages/flutter/test/material/tooltip_test.dart
View file @
1aabe314
...
...
@@ -584,7 +584,7 @@ void main() {
expect
(
textStyle
.
color
,
Colors
.
white
);
expect
(
textStyle
.
fontFamily
,
'Roboto'
);
expect
(
textStyle
.
decoration
,
TextDecoration
.
none
);
expect
(
textStyle
.
debugLabel
,
'((englishLike body
1 2014).merge(blackMountainView bodyText2
)).copyWith'
);
expect
(
textStyle
.
debugLabel
,
'((englishLike body
Medium 2014).merge(blackMountainView bodyMedium
)).copyWith'
);
});
testWidgets
(
'Default tooltip message textStyle - dark'
,
(
WidgetTester
tester
)
async
{
...
...
@@ -610,7 +610,7 @@ void main() {
expect
(
textStyle
.
color
,
Colors
.
black
);
expect
(
textStyle
.
fontFamily
,
'Roboto'
);
expect
(
textStyle
.
decoration
,
TextDecoration
.
none
);
expect
(
textStyle
.
debugLabel
,
'((englishLike body
1 2014).merge(whiteMountainView bodyText2
)).copyWith'
);
expect
(
textStyle
.
debugLabel
,
'((englishLike body
Medium 2014).merge(whiteMountainView bodyMedium
)).copyWith'
);
});
testWidgets
(
'Custom tooltip message textStyle'
,
(
WidgetTester
tester
)
async
{
...
...
packages/flutter/test/material/typography_test.dart
View file @
1aabe314
...
...
@@ -17,16 +17,16 @@ void main() {
});
test
(
'Typography on non-Apple platforms defaults to the correct font'
,
()
{
expect
(
Typography
.
material2018
().
black
.
headline6
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
fuchsia
).
black
.
headline6
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
linux
).
black
.
headline6
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
linux
).
black
.
headline6
!.
fontFamilyFallback
,
<
String
>[
'Ubuntu'
,
'Cantarell'
,
'DejaVu Sans'
,
'Liberation Sans'
,
'Arial'
]);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
windows
).
black
.
headline6
!.
fontFamily
,
'Segoe UI'
);
expect
(
Typography
.
material2018
().
white
.
headline6
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
fuchsia
).
white
.
headline6
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
linux
).
white
.
headline6
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
linux
).
white
.
headline6
!.
fontFamilyFallback
,
<
String
>[
'Ubuntu'
,
'Cantarell'
,
'DejaVu Sans'
,
'Liberation Sans'
,
'Arial'
]);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
windows
).
white
.
headline6
!.
fontFamily
,
'Segoe UI'
);
expect
(
Typography
.
material2018
().
black
.
titleLarge
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
fuchsia
).
black
.
titleLarge
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
linux
).
black
.
titleLarge
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
linux
).
black
.
titleLarge
!.
fontFamilyFallback
,
<
String
>[
'Ubuntu'
,
'Cantarell'
,
'DejaVu Sans'
,
'Liberation Sans'
,
'Arial'
]);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
windows
).
black
.
titleLarge
!.
fontFamily
,
'Segoe UI'
);
expect
(
Typography
.
material2018
().
white
.
titleLarge
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
fuchsia
).
white
.
titleLarge
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
linux
).
white
.
titleLarge
!.
fontFamily
,
'Roboto'
);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
linux
).
white
.
titleLarge
!.
fontFamilyFallback
,
<
String
>[
'Ubuntu'
,
'Cantarell'
,
'DejaVu Sans'
,
'Liberation Sans'
,
'Arial'
]);
expect
(
Typography
.
material2018
(
platform:
TargetPlatform
.
windows
).
white
.
titleLarge
!.
fontFamily
,
'Segoe UI'
);
});
// Ref: https://developer.apple.com/ios/human-interface-guidelines/visual-design/typography/
...
...
@@ -45,38 +45,42 @@ void main() {
test
(
'Typography on iOS defaults to the correct SF font family based on size'
,
()
{
final
Typography
typography
=
Typography
.
material2018
(
platform:
TargetPlatform
.
iOS
);
for
(
final
TextTheme
textTheme
in
<
TextTheme
>[
typography
.
black
,
typography
.
white
])
{
expect
(
textTheme
.
headline1
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
headline2
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
headline3
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
headline4
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
headline5
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
headline6
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
subtitle1
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
bodyText1
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
bodyText2
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
caption
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
button
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
subtitle2
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
overline
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
displayLarge
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
displayMedium
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
displaySmall
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
headlineLarge
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
headlineMedium
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
headlineSmall
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
titleLarge
,
isSanFranciscoDisplayFont
);
expect
(
textTheme
.
titleMedium
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
titleSmall
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
bodyLarge
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
bodyMedium
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
bodySmall
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
labelLarge
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
labelMedium
,
isSanFranciscoTextFont
);
expect
(
textTheme
.
labelSmall
,
isSanFranciscoTextFont
);
}
});
test
(
'Typography on macOS defaults to the system UI meta-font'
,
()
{
final
Typography
typography
=
Typography
.
material2018
(
platform:
TargetPlatform
.
macOS
);
for
(
final
TextTheme
textTheme
in
<
TextTheme
>[
typography
.
black
,
typography
.
white
])
{
expect
(
textTheme
.
headline1
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
headline2
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
headline3
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
headline4
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
headline5
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
headline6
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
subtitle1
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
bodyText1
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
bodyText2
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
caption
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
button
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
subtitle2
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
overline
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
displayLarge
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
displayMedium
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
displaySmall
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
headlineLarge
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
headlineMedium
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
headlineSmall
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
titleLarge
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
titleMedium
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
titleSmall
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
bodyLarge
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
bodyMedium
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
bodySmall
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
labelLarge
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
labelMedium
,
isMacOSSanFranciscoMetaFont
);
expect
(
textTheme
.
labelSmall
,
isMacOSSanFranciscoMetaFont
);
}
});
...
...
@@ -107,81 +111,93 @@ void main() {
const
FontWeight
medium
=
FontWeight
.
w500
;
// H1 Roboto light 96 -1.5
expect
(
theme
.
headline1
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
headline1
!.
fontWeight
,
light
);
expect
(
theme
.
headline1
!.
fontSize
,
96
);
expect
(
theme
.
headline1
!.
letterSpacing
,
-
1.5
);
expect
(
theme
.
displayLarge
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
displayLarge
!.
fontWeight
,
light
);
expect
(
theme
.
displayLarge
!.
fontSize
,
96
);
expect
(
theme
.
displayLarge
!.
letterSpacing
,
-
1.5
);
// H2 Roboto light 60 -0.5
expect
(
theme
.
headline2
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
headline2
!.
fontWeight
,
light
);
expect
(
theme
.
headline2
!.
fontSize
,
60
);
expect
(
theme
.
headline2
!.
letterSpacing
,
-
0.5
);
expect
(
theme
.
displayMedium
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
displayMedium
!.
fontWeight
,
light
);
expect
(
theme
.
displayMedium
!.
fontSize
,
60
);
expect
(
theme
.
displayMedium
!.
letterSpacing
,
-
0.5
);
// H3 Roboto regular 48 0
expect
(
theme
.
headline3
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
headline3
!.
fontWeight
,
regular
);
expect
(
theme
.
headline3
!.
fontSize
,
48
);
expect
(
theme
.
headline3
!.
letterSpacing
,
0
);
expect
(
theme
.
displaySmall
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
displaySmall
!.
fontWeight
,
regular
);
expect
(
theme
.
displaySmall
!.
fontSize
,
48
);
expect
(
theme
.
displaySmall
!.
letterSpacing
,
0
);
// Headline Large (from Material 3 for backwards compatibility) Roboto regular 40 0.25
expect
(
theme
.
headlineLarge
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
headlineLarge
!.
fontWeight
,
regular
);
expect
(
theme
.
headlineLarge
!.
fontSize
,
40
);
expect
(
theme
.
headlineLarge
!.
letterSpacing
,
0.25
);
// H4 Roboto regular 34 0.25
expect
(
theme
.
headline
4
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
headline
4
!.
fontWeight
,
regular
);
expect
(
theme
.
headline
4
!.
fontSize
,
34
);
expect
(
theme
.
headline
4
!.
letterSpacing
,
0.25
);
expect
(
theme
.
headline
Medium
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
headline
Medium
!.
fontWeight
,
regular
);
expect
(
theme
.
headline
Medium
!.
fontSize
,
34
);
expect
(
theme
.
headline
Medium
!.
letterSpacing
,
0.25
);
// H5 Roboto regular 24 0
expect
(
theme
.
headline
5
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
headline
5
!.
fontWeight
,
regular
);
expect
(
theme
.
headline
5
!.
fontSize
,
24
);
expect
(
theme
.
headline
5
!.
letterSpacing
,
0
);
expect
(
theme
.
headline
Small
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
headline
Small
!.
fontWeight
,
regular
);
expect
(
theme
.
headline
Small
!.
fontSize
,
24
);
expect
(
theme
.
headline
Small
!.
letterSpacing
,
0
);
// H6 Roboto medium 20 0.15
expect
(
theme
.
headline6
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
headline6
!.
fontWeight
,
medium
);
expect
(
theme
.
headline6
!.
fontSize
,
20
);
expect
(
theme
.
headline6
!.
letterSpacing
,
0.15
);
expect
(
theme
.
titleLarge
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
titleLarge
!.
fontWeight
,
medium
);
expect
(
theme
.
titleLarge
!.
fontSize
,
20
);
expect
(
theme
.
titleLarge
!.
letterSpacing
,
0.15
);
// Subtitle1 Roboto regular 16 0.15
expect
(
theme
.
subtitle1
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
subtitle1
!.
fontWeight
,
regular
);
expect
(
theme
.
subtitle1
!.
fontSize
,
16
);
expect
(
theme
.
subtitle1
!.
letterSpacing
,
0.15
);
expect
(
theme
.
titleMedium
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
titleMedium
!.
fontWeight
,
regular
);
expect
(
theme
.
titleMedium
!.
fontSize
,
16
);
expect
(
theme
.
titleMedium
!.
letterSpacing
,
0.15
);
// Subtitle2 Roboto medium 14 0.1
expect
(
theme
.
subtitle2
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
subtitle2
!.
fontWeight
,
medium
);
expect
(
theme
.
subtitle2
!.
fontSize
,
14
);
expect
(
theme
.
subtitle2
!.
letterSpacing
,
0.1
);
expect
(
theme
.
titleSmall
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
titleSmall
!.
fontWeight
,
medium
);
expect
(
theme
.
titleSmall
!.
fontSize
,
14
);
expect
(
theme
.
titleSmall
!.
letterSpacing
,
0.1
);
// Body1 Roboto regular 16 0.5
expect
(
theme
.
body
Text1
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
body
Text1
!.
fontWeight
,
regular
);
expect
(
theme
.
body
Text1
!.
fontSize
,
16
);
expect
(
theme
.
body
Text1
!.
letterSpacing
,
0.5
);
expect
(
theme
.
body
Large
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
body
Large
!.
fontWeight
,
regular
);
expect
(
theme
.
body
Large
!.
fontSize
,
16
);
expect
(
theme
.
body
Large
!.
letterSpacing
,
0.5
);
// Body2 Roboto regular 14 0.25
expect
(
theme
.
bodyText2
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
bodyText2
!.
fontWeight
,
regular
);
expect
(
theme
.
bodyText2
!.
fontSize
,
14
);
expect
(
theme
.
bodyText2
!.
letterSpacing
,
0.25
);
expect
(
theme
.
bodyMedium
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
bodyMedium
!.
fontWeight
,
regular
);
expect
(
theme
.
bodyMedium
!.
fontSize
,
14
);
expect
(
theme
.
bodyMedium
!.
letterSpacing
,
0.25
);
// Caption Roboto regular 12 0.4
expect
(
theme
.
bodySmall
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
bodySmall
!.
fontWeight
,
regular
);
expect
(
theme
.
bodySmall
!.
fontSize
,
12
);
expect
(
theme
.
bodySmall
!.
letterSpacing
,
0.4
);
// BUTTON Roboto medium 14 1.25
expect
(
theme
.
button
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
button
!.
fontWeight
,
medium
);
expect
(
theme
.
button
!.
fontSize
,
14
);
expect
(
theme
.
button
!.
letterSpacing
,
1.25
);
expect
(
theme
.
labelLarge
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
labelLarge
!.
fontWeight
,
medium
);
expect
(
theme
.
labelLarge
!.
fontSize
,
14
);
expect
(
theme
.
labelLarge
!.
letterSpacing
,
1.25
);
//
Caption Roboto regular 12 0.4
expect
(
theme
.
caption
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
caption
!.
fontWeight
,
regular
);
expect
(
theme
.
caption
!.
fontSize
,
12
);
expect
(
theme
.
caption
!.
letterSpacing
,
0.4
);
//
Label Medium (from Material 3 for backwards compatibility) Roboto regular 11 1.5
expect
(
theme
.
labelMedium
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
labelMedium
!.
fontWeight
,
regular
);
expect
(
theme
.
labelMedium
!.
fontSize
,
11
);
expect
(
theme
.
labelMedium
!.
letterSpacing
,
1.5
);
// OVERLINE Roboto regular 10 1.5
expect
(
theme
.
overline
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
overline
!.
fontWeight
,
regular
);
expect
(
theme
.
overline
!.
fontSize
,
10
);
expect
(
theme
.
overline
!.
letterSpacing
,
1.5
);
expect
(
theme
.
labelSmall
!.
fontFamily
,
'Roboto'
);
expect
(
theme
.
labelSmall
!.
fontWeight
,
regular
);
expect
(
theme
.
labelSmall
!.
fontSize
,
10
);
expect
(
theme
.
labelSmall
!.
letterSpacing
,
1.5
);
});
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment