159 Commits

Author SHA1 Message Date
Alexandre Ardhuin
f5a9902577
enable avoid_equals_and_hash_code_on_mutable_classes (#52507) 2020-04-06 13:36:01 -07:00
Greg Spencer
2a649b16e2
Add an adaptive visual density static function, and add it to… (#51921)
Adds a VisualDensity.adaptivePlatformDensity static function that returns different values for visual density based on the defaultTargetPlatform. Returns compact for desktop platforms, and a default visual density for other platforms.
2020-03-31 16:16:25 -07:00
Anthony
0d111bc91a
[Material] Create a Navigation Rail component and theme (#49574) 2020-03-26 13:31:02 -07:00
Greg Spencer
210f4d8313
Convert Diagnosticable to a mixin (#51495)
This converts Diagnosticable to be a mixin instead of an abstract class, so that it can be used to add diagnostics to classes which already have a base class.

It leaves in place the DiagnosticableMixin mixin, since there are some plugins that are still using it, and removing it would mean that those plugins wouldn't work with master branch Flutter anymore. DiagnosticableMixin will be removed once this mixin version of Diagnosticable makes its way to the stable branch.
2020-03-11 10:03:05 -07:00
Greg Spencer
232063e5c3
Changed ThemeData DiagnosticProperties to DiagnosticLevel.debug (#50589) 2020-02-13 09:53:02 -08:00
Hans Muller
bc5c46438a Migrate TextTheme to 2018 APIs (#48547) 2020-01-24 19:03:01 -08:00
Dan Field
ab8632b181
Fix the the typos (#49442) 2020-01-24 12:25:19 -08:00
Tianguang
c88320458e Allow IconButton to have smaller sizes (#47457) 2020-01-15 08:38:02 -08:00
Alexandre Ardhuin
82262d8896 format operator== according to flutter style guide (#48449) 2020-01-09 08:23:02 -08:00
Greg Spencer
fabf4e3d0d Reverse the sense of the terms snippet and sample. (#48254) 2020-01-08 15:28:02 -08:00
Alexandre Ardhuin
d81d91606a
implicit-casts:false in flutter/lib/src/material (#45567)
* implicit-casts:false in flutter/lib/src/material

* address review comments
2019-12-13 08:55:12 +01:00
Greg Spencer
185da9b0af
Add Density API to ThemeData, implement for buttons. (#43547)
* Add a density attribute to ThemeData

* Simplify tests

* Review changes (Hans)
2019-12-03 19:49:56 -08:00
Ian Hickson
449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Greg Spencer
245d1b51ce
Add macOS to TargetPlatform (#43457)
This PR adds TargetPlatform.macOS to the TargetPlatform enum. This allows us to begin implementation of some adaptive UI based on which target platform is desired.

I haven't updated the tests here, that will come in a follow-up PR.
2019-11-26 18:32:34 -08:00
Darren Austin
a49470556c
Update BottomAppBar to use elevation overlays when in a dark theme (#41864)
* Updated the BottomAppBar to use elevation overlays when a dark theme is used.

* Moved the code for calculating the overlay color to a new utility
ElevationOverlay class and made it private by not including in the material package.
2019-10-14 11:02:15 -07:00
Darren Austin
812e0387c3
TextStyle.fontFamily should override fontFamily parameter in ThemeData constructor. (#42366)
Also updated the documentation for the ThemeData constructor to include
descriptions of parameters that don't map to specific fields directly.
2019-10-10 10:39:41 -07:00
Darren Austin
2d642e95e1
Changed the dark theme elevation overlay to use the colorScheme.onSurface (#41857)
The Material Dark Theme spec has been updated (or soon will be) to clarify that the elevation overlay that is applied to surface colors to indicate elevation should be based off of the colorScheme.onSurface color and not white. This commit implements this change.
2019-10-07 11:02:29 -07:00
Alexandre Ardhuin
890b939401
indent formal parameters correctly (#41644) 2019-10-04 11:00:18 +02:00
Erick Ghaumez
d122f09959 Fix the ThemeData.copyWith toggleButtonsTheme argument type (#40994)
* set the copyWith toggleButtonsTheme argument type to ToggleButtonsThemeData

* add a ThemeData.copyWith test
2019-09-30 23:52:35 +08:00
Brian Egan
a50eda8f5a Diagrams and samples for Rank 20-30 popular api docs (#40089) 2019-09-17 10:22:28 -07:00
LongCatIsLooong
a671b28369
CupertinoDynamicColor and friends (#37719) 2019-08-21 20:07:42 -07:00
Ian Hickson
bfd27f6bd7
Audit use of defaultTargetPlatform (#36871) 2019-08-20 13:27:13 -07:00
Darren Austin
9dce19e96f
Replace ButtonBar.bar method with ButtonBarTheme (#37544)
* Added new ButtonBarTheme to replace the deprecated ButtonTheme.bar method.

* Responding to PR feedback.

* [Material] Create material Banner component (#36880)

This PR creates a new material widget for the Banner component. This includes a theme as well. This widget can be dropped into any application, ideally at the top of a listview or scrollview.

(cherry picked from commit 35b6d668e197035ea2b57adb99041542982e8be0)

Removed the use of ButtonTheme.bar in the Banner implementation.

* Updated documentation from PR review comments.
2019-08-19 17:35:44 -07:00
rami-a
13844aa62a
[Material] Create theme for Dividers to enable customization of thickness (#38621) 2019-08-16 13:09:36 -04:00
Darren Austin
4c8fc7817b
Added ThemeData.from() method to construct a Theme from a ColorScheme (#37355)
Provide a new ThemeData.from() method that constructs a Theme based off the colors in a given ColorScheme.
2019-08-06 14:25:34 -07:00
rami-a
35b6d668e1
[Material] Create material Banner component (#36880)
This PR creates a new material widget for the Banner component. This includes a theme as well. This widget can be dropped into any application, ideally at the top of a listview or scrollview.
2019-08-05 09:41:09 -04:00
lisa-liao
63992e4fde Add PopupMenuTheme to enable theming color, shape, elevation, text style of Menu (#36088)
* [Menu] Create Menu theme

* [Menu] Create Menu theme

* [Menu] Formatting changes for Menu theme

* [Menu] Fix spacing difference in theme_data.dart.

* [Menu] Fix spacing difference in theme_data.dart.

* Specifying types

* Formatting changes

* Address PR feedback

* Formatting changes

* Address PR feedback

* Add inherited widget

* Add inherited widget

* Address PR feedback and add inherited widget.

* Formatting changes.

* Address PR feedback

* Address PR feedback

* Address PR feedback

* Address PR feedback
2019-07-26 13:09:33 -04:00
Shi-Hao Hong
2e43b47008
[Material] ToggleButtons (#34599)
* Introduces ToggleButtons widget

* Introduces ToggleButtonsTheme inherited widget

* Introduces ThemeData.toggleButtonsTheme property
2019-07-26 09:26:15 -07:00
Shi-Hao Hong
dee8e4211e
[Material] Implement TooltipTheme and Tooltip.textStyle, update Tooltip defaults (#36856)
* Implement TooltipThemeData and TooltipTheme

* Add text style property 

* Updated tooltip default colors for light and dark theme to match Material specification
2019-07-25 09:09:24 -07:00
Shi-Hao Hong
aa6384cbac
Revert "[Material] Implement TooltipTheme and Tooltip.textStyle, fix Tooltip debugLabel, update Tooltip defaults (#36030)" (#36851)
This reverts commit 62158a1bae83aedcc88d66694010911a98fff84a.
2019-07-24 08:55:51 -07:00
Shi-Hao Hong
62158a1bae
[Material] Implement TooltipTheme and Tooltip.textStyle, fix Tooltip debugLabel, update Tooltip defaults (#36030)
* Implement TooltipThemeData and TooltipTheme

* Add tooltip text style property

* Update default tooltip text style and decoration to match Material specification

* Fix debugLabel incorrectly labeling "white" as "black", and vice versa by default
2019-07-24 08:24:09 -07:00
Darren Austin
e17f8d367d
Support for elevation based dark theme overlay color in the Material widget (#35560)
Added support for a semi-transparent white overlay color for `Material` widgets to indicate their elevation in a dart theme. A new `ThemeData.applyElevationOverlayColor` flag was added to control this behavior, which is off by default for backwards compatibility reasons.
2019-07-16 10:50:44 -07:00
Shi-Hao Hong
e7ef75680e
Update Dark Theme disabledColor to White38 (#35136)
* Add Colors.white38

* Update ThemeData.disabledColor and ButtonThemeData.disabledColor to Colors.white38

* Update pre-existing tests to expect Colors.white38 instead of Colors.white30

* Update API documentation to reflect these changes
2019-07-10 08:50:24 -07:00
Michael Goderbauer
eb9160eb93
Extract DiagnosticsNode serializer from WidgetInspector (#34012) 2019-06-13 11:30:18 -07:00
Greg Spencer
9f21ae0de5
Text field focus and hover support. (#32776)
This adds support for an animated focusColor and hoverColor to InputDecorator. This color will blend with the background over a fade in period whenever the InputDecorator is focused or hovered, respectively.

It also adds a Listener to the TextField to listen for hover events.
2019-05-16 17:31:46 -07:00
Greg Spencer
bb3c660522
Implements focus handling and hover for Material buttons. (#31438)
This implements focus and hover handling for Material buttons. It inserts Focus widgets into the tree in order to allow buttons to be focusable via keyboard traversal (a.k.a. TAB traversal), and Listener widgets into the InkWell to allow the detection of hover states for widgets.

Addresses #11344, #1608, and #13264.
2019-05-14 20:48:29 -07:00
Efthymis Sarmpanis
d095b05522 Updated primaryColor docs to refer to colorScheme properties (#31902) 2019-05-03 08:28:16 -07:00
rami-a
6a1468db16
Add BottomSheetTheme to enable theming color, elevation, shape of BottomSheet (#31318)
* Introduce BottomSheetTheme and shape support for bottom sheet

* Add bottom sheet theme to ThemeData. Use theme in bottom sheet build

* Expose color, elevation, shape to showModalBottomSheet helper

* Expose color, elevation, shape to showBottomSheet helper

* Address PR feedback

* Address PR feedback

* Address additional PR feedback
2019-05-01 13:10:50 -04:00
Shi-Hao Hong
7c4ccb349e
Improve ThemeData.accentColor connection to secondary color (#31295) 2019-04-26 19:39:22 -07:00
rami-a
d4e4726ac2
Update SnackBar to allow for support of the new style from Material spec (#31275)
This PR introduces a number of changes and improvements to snack bars. This includes the ability to specify:

floating style of snack bars that adhere to the updated Material spec
elevation and shape on the SnackBar itself instead of relying on fixed values
a snackBarTheme as part of ThemeData which allows you to customize all of the above on an app-wide level.
This PR is includes the changes from #21484 as well as additional fixes and modifications. Thanks to @NikoYuwono for providing these changes and getting this off the ground!
2019-04-24 17:22:30 -04:00
Anthony
96f15c74ad
[Material] Update slider and slider theme with new sizes, shapes, and color mappings (2nd attempt) (#31564)
#30390 was rolled back. This PR will re-roll it forward.

This PR makes a number of changes to the visual appearance of material sliders:

Sizes/Shapes
** enabled thumb radius from 6 to 10
** disabled thumb radius from 4 to 10 with no gap
** default track shape is a rounded rect rather than a rect
**
Colors
** all of the colors now use the new color scheme
** overlay opacity has been reduce from 16% to 12%
** value indicator text color now respects the indicator it is on by using onPrimary
** disabledThumb color no respects the surface it is on by using onSurface
The slider theme is also now constructed consistently with other theme objects within the ThemeData. By default, all values are null, and have default values that are resolved in the slider itself, rather than in the slider theme.
2019-04-24 14:23:44 -04:00
MH Johnson
0545c63b9b
Revert "[Material] Update slider and slider theme with new sizes, shapes, and color mappings (#30390)" (#31339)
This reverts commit b1039f0f1b761b0e4ec1825eed269b10af6104d4.

(This is a temporary revert while some of our customers deal with the breaking changes involved.)
2019-04-19 20:41:32 -04:00
Anthony
b1039f0f1b
[Material] Update slider and slider theme with new sizes, shapes, and color mappings (#30390)
This PR makes a number of changes to the visual appearance of material sliders:

Sizes/Shapes
** enabled thumb radius from 6 to 10
** disabled thumb radius from 4 to 10 with no gap
** default track shape is a rounded rect rather than a rect
**
Colors
** all of the colors now use the new color scheme
** overlay opacity has been reduce from 16% to 12%
** value indicator text color now respects the indicator it is on by using onPrimary
** disabledThumb color no respects the surface it is on by using onSurface
The slider theme is also now constructed consistently with other theme objects within the ThemeData. By default, all values are null, and have default values that are resolved in the slider itself, rather than in the slider theme.
2019-04-18 17:02:17 -04:00
Anthony
bdf582fd15
[Material] Create a FloatingActionButton ThemeData and honor it within the FloatingActionButton (#28735)
Adds a FloatingActionButtonThemeData so that FABs can be themed at the Theme level and independently. The properties that are now on the theme must be defaulted at the build level, in order to respect any contributing theme properties. Because of this, some tests had to be modified to look at properties after they are built. Also, since default behaviors are now tested in the FAB Theme test, some default tests in the FAB test no longer applied and were removed.

The themable properties are:
-backgroundColor
-foregroundColor
-elevation
-disabledElevation
-highlightElevation
-shape
2019-03-20 19:43:56 -04:00
Alexandre Ardhuin
387f885481
Add missing trailing commas (#28673)
* add trailing commas on list/map/parameters

* add trailing commas on Invocation with nb of arg>1

* add commas for widget containing widgets

* add trailing commas if instantiation contains trailing comma

* revert bad change
2019-03-01 08:17:55 +01:00
MhdHejazi
af3cdb33da #19060 Update material.google.com links to material.io (#26807) 2019-02-01 10:14:48 -08:00
Will Larche
c362d8da07 [Material] Theme data type for cards (#26796)
This change adds a CardTheme and tests for it.

Golden is here:
ec26eeebb4/packages/flutter/test/material/card_theme.custom_shape.png

From commit:
ec26eeebb4 (diff-7564b206413654283ddc5cb59ecd64d4)
2019-01-24 11:01:21 -05:00
rami-a
af0758e67d
[Material] Implement App Bar Theme (#26597)
This change creates an `AppBarTheme` to be used with `AppBar` widgets. This allows for users to theme their AppBars separately from their overall Theme if they choose.
2019-01-22 09:39:58 -05:00
MH Johnson
090c3bcd0e
[Material] Bottom app bar theme (#24156)
* [WIP] BAB theme

* [WIP] BAB theme

* Update goldens

* Extract helper function in tests

* Update Goldens version

* Add tests

* [WIP] Hans first round comments

* Added test

* Added docs

* Hans second round comments

* Fixed analyzer error

* Hans third round comments

* ambient

* Change [BottomAppBarTheme.of] to static

* Final doc change
2019-01-10 10:19:35 -05:00
xster
b8a035a3d4
Adds CupertinoTheme (#23759) 2018-12-18 20:36:35 -08:00