117 Commits

Author SHA1 Message Date
MH Johnson
e82454fb02
[Material] Added BottomNavigationBarTheme (#54714) 2020-04-20 08:30:03 -07:00
Anthony
0d111bc91a
[Material] Create a Navigation Rail component and theme (#49574) 2020-03-26 13:31:02 -07:00
Darren Austin
142b526f1b
Material Date Picker redesign (#50546)
Date Picker UI redesign
2020-03-24 18:44:57 -07: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
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
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
chunhtai
2338576aa6
implement selectable text (#34019) 2019-07-19 12:17:41 -07:00
Anthony
e1d0ded926
[Material] Create a themable Range Slider (continuous and discrete) (#31681)
Creates a Material Design range slider.

The range slider is based off the updated slider, with the main difference being that it has 2 thumbs.
By default, the thumbs cannot pass each other and both the thumb and the value indicator create a stroke when they are overlapping for better visibility.
2019-06-06 15:31:02 -04:00
MH Johnson
1b87f558d5
[Material] Add support for hovered, pressed, and focused text color on Buttons. (#33090)
* Support for stateful text colors in buttons

* Add color and a11y tests for buttons
2019-06-05 15:46:53 -04: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
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
Tim Sneath
529189791c
Replace flutter.io with flutter.dev (#30562) 2019-04-05 11:39:30 -07:00
Michael Goderbauer
5493fe469e
Moar Videos (#30452) 2019-04-03 12:49:13 -07: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
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
Michael Goderbauer
51732aee3b
Remove long-deprecated TwoLevelList (#26238) 2019-01-08 14:56:31 -08:00
Florian Huonder
02355d4c19 Added the DialogTheme to the material exports so that it is accessible. (#23858) 2018-11-05 09:34:05 -08:00
matthew-carroll
04a26778c5
Revert "Reversion for roll (#22984)" (#23029)
This reverts commit 80f80ab08c0dad8551c91087cd1017aba094d22c.
2018-10-12 16:31:34 -07:00
matthew-carroll
80f80ab08c
Reversion for roll (#22984)
For G3 Roll:

* Revert "MaterialButton must honor its minWidth and height parameters (#22919)"

This reverts commit a02332335a0849e92daa7fb272e2ee1ccc7d4248.

* Revert "Update uses of ButtonTheme.bar: pass along the current Theme's colorScheme (#22827)"

This reverts commit 655bf6a290714248733c7af46c637fce34b56206.

* Revert "ButtonTheme.of().colorScheme defers to Theme (#22880)"

This reverts commit a590940e458ae02d89f63062e45a406cb3a73f4e.

* Revert "Bring TextTheme into alignment with the current Material spec (#22330)"

This reverts commit 8bfb4b3ee5e908165135aaa57dc6bce5d561a693.

* Revert "Added ColorScheme, updated ThemeData, ButtonTheme, material buttons (#22013)"

This reverts commit eea3465ae75ac5445c54490c542047032f8f8314.

* Manual adjustments to fix reversion issues.
2018-10-11 18:17:46 -07:00
Hans Muller
8bfb4b3ee5
Bring TextTheme into alignment with the current Material spec (#22330) 2018-10-09 17:00:15 -07:00
Hans Muller
eea3465ae7
Added ColorScheme, updated ThemeData, ButtonTheme, material buttons (#22013)
Introduce an overall material "color scheme" and to make it possible to redefine how a component's visual properties bind to the color scheme and to the existing material Theme.
2018-10-02 14:50:43 -07:00
MH Johnson
f37c235c32
[Material] Add TabBarTheme (#22012)
* Add tab bar theme.

* Add tab bar theme.

* Add tests, pass context to getters.

* update goldens from linux box

* update goldens from linux box

* Added new golden test, addressed comments

* override hashCode and == in TabBarTheme

* Fix comment typos

* Addressed Hans' comments.

* Formatting changes

* [TabBarTheme] Fixed spacing

* [TabBarTheme] Update goldens version to latest commit
2018-09-25 17:45:40 -04:00
Hans Muller
582f35dfb1
PageTransitionsTheme, new MountainView page transition (#21715)
MaterialPageRoute transitions are now defined by the Theme. Added (optional) support for Android P style page transitions.
2018-09-25 10:56:29 -07:00
David Shuckerow
f844fadaf3
Reorderable list widget and Material demo (#18374) 2018-07-30 15:21:00 -07:00
Michael Goderbauer
d5a103402c
Expandable Search (#17629) 2018-05-24 09:30:37 -07:00
Greg Spencer
4dbbf67887
Adding ChipTheme, ChipThemeData, and some more tests. (#16447)
This converts the chips to use a ChipThemeData to get most of their customization values from (if not overridden by specific arguments to the chip constructors), and to have the base ThemeData contain one of these. It also adds the ChipTheme widget that will allow overriding the theme for a particular subtree in the widget hierarchy.

Added tests for both, and just more tests in general for the Chips.
2018-04-12 11:13:42 -07:00
David Shuckerow
dd0acea1ec
Add support for placing the FAB in different positions (#14368)
* Add support to move the fab between positions.

* Motion demo for the FAB works between center and end floating.

* Add a Material curve to the offset animation.

* Move the fab position into an object

* Updates to docs

* Updates to docs

* Fix a lint on the bottom sheet type

* Add a ScaffoldGeometry class

* Improve the documentation

* Improve the documentation

* Add a fab motion animator

* Add position and scale animations

* FAB entrance and motion animations work

* Get started on FAB motion

* Make fab animation work properly.

* Change the fab animator to be stored in the state of the scaffold.

* Add a layout test

* Fix spacing being off

* Fix the entrance/exit animation test.

* Add a textDirection to the layout delegate.

* Fix const constructor lint checks

* Add toStrings for the fab positioner/animator

* Add a toString for CurveTween

* Change the fab motion demo icon to a simple add icon.

* Add tests and a custom fab positioner to the demo.

* Do not start the fab's motion animation when the fab is null.

* Adjust the code to pass the new tests.

* Rename for in response to Hans' comment.

* Revert the tabs fab demo

* Use timeDilation, and clean up the animation code a little.

* Clean up the prelayout geometry docs and ctr order

* Cleanup fab transition widget code

* Clean up comments on Scaffold, add cross-references between the two geometries

* Explain the fab motion animation scheduling better

* Add a const to the fab motion demo

* Make the fab animation never jank by keeping track of where to move the fab to in the future.

* Add a default fab positioner constant

* Add space after comma in the demo

* Add boilerplate dartdoc to all const constructors

* Comment improvement

* Rename 'fabSize' to 'floatingActionButtonSize'

* Rename 'fabSize' to 'floatingActionButtonSize'

* Rename 'fabSize' to 'floatingActionButtonSize'

* Clean up the prelayout geometry object's dartdoc

* Clean up the prelayout geometry object's dartdoc

* Remove extraneous comment

* Change possessive uses of Scaffold's to use dartdoc-compatible [Scaffold]'s

* Rename the horizontalFabPadding to an expansion

* Clean up controller cleanup and setState usage

* Animate instead of lerp

* Make the fab position animation use offsets instead of animations

* Streamline the fab motion demo

* Set up the animator to start from a reasonable place when interrupting animations.

* Doc cleanup on the new animation interruption

* Expand some uses of fab and clean up constants

* Expand remaining public uses of fab to floating action button

* Expand remaining public uses of fab to floating action button

* Expand on the documentation for the fab positioner and animator

* Refactor animations to broadcast the position properly.

* Add the ability to turn on and off the fab to the motion demo.

* Remove unused code

* Change the fab animator to animate even when the fab is exitting.

* Remove extra positioner.

* Apps -> Applications in docs

* Explain the scale animation.

* Name the child parameter in the animated builder

* RTL before LTR

* Wrap the AppBar in the example code

* const the fab motion demo name

* Start a test against animation jumps

* Test for jumps in the fab motion animation

* Dont initialize values to null

* Use constants, fix spacing from some of Hans' comments

* Clarify the relationship between fab positioners and prelayout geometries

* Explain the fab animmator a bit better

* Explain the animation progress in the fab animation

* Explain the animation restart better

* Explain the animation restart better

* Explain the prelayout geometry better

* Explain that height is a vertical distance.

* Explain the horizontal fab padding

* Update the scaffold size description to explain what happens when a wild keyboard appears

* Remove print statements

* Update the scaffold geometry with information about it being available at paint time.

* In one step of a transition

* Explain how the top-start fab positioner works

* Explain how the top-start fab positioner works

* Refactor the scaffold layout to just pass a padding instead of a bottom, top, start and end.

* Refactor the scaffold layout to just pass a padding instead of a bottom, top, start and end.

* Action buttons with with custom positioners.

* Add a rotation animation example.

* Use a swap animation to show swapping between two different animations.

* Use a swap animation to show swapping between two different animations.

* Add an example for the size animations.

* 2018 copyright

* Extra empty line

* Return new Scaffold

* Extra blank line fix

* All its contents have been laid out

* Position the fab

* Explain what the scaffold geometry is for.

* Move asserts to different lines

* The scaffoldsize will not

* Initial rename of FabPositioners to FloatingActionButtonLocation

* Rename comments in example to refer to location instead of positioner.

* Rename fabpositioner to location in tests and in the scaffold field

* Finish removing references to positioner in scaffold code.

* Split the fab location and animation out into a separate file.

* Make things more private

* Import foundation instead of meta

* Const curve instead of final.
2018-03-15 17:04:24 -07:00
Hans Muller
c4e8438046
Added Material OutlineButton (#14939) 2018-03-02 08:26:23 -08:00
Greg Spencer
701eff4ac5
Slider Visual Update (#14901)
This implements an update to the look of the Slider widget.

Specifically, it does the following:

* Adds the ability to customize the colors of all components of the slider
* Adds the ability to customize the shape of the slider thumb and value indicator
* Adds the ability to show the value indicator on continuous sliders
* Updates the default value indicator to be a "paddle" shape with new animations.
* Changes the tick marks to be visible all the time on discrete sliders
* Fixes a memory leak of an animation controller.
* Removes "thumbOpenAtMin" flag, which is no longer needed, and can be emulated by the
custom thumb shape support. It was not widely used.
* Adds tests for all of the new features.
2018-03-01 13:03:20 -08:00
amirh
7996d7fb82
Initial implementation of BottomAppBar (#14713)
* add a FAB NotchMaker to ScaffoldGeometry

* add a notchMaker to FloatingActionButton

* Initial implementation of BottomAppBar

Mainly includes the notch making logic.
Not yet tested as currently there is no way to make the FAB and the BAB
overlap, once #14368 to lands we could add unit tests to the
BottomAppBar as well.

* use a closeable for clearing the FAB notchmaker
2018-02-21 10:20:58 -08:00
Hans Muller
24efb55b03
Generalized TabBar selected tab indicator (#14741) 2018-02-21 09:13:45 -08:00
Hans Muller
f5dea9325b
Material button update (#14410) 2018-02-05 12:59:45 -08:00
Ian Hickson
09270dcb0b
The Ink widget (#13900)
This provides a way to draw colors, images, and general decorations on Material widgets, without interfering with InkWells that are further descendants of the widget.

This thus provides a cleaner way to solve the issue of FlatButtons and InkWells not working when placed over Image widgets than the old hack of introducing a transparency Material.

Fixes #3782.

Also, some fixes to documentation, and remove a redundant property on the Image widget.
2018-01-10 16:42:45 -08:00
Hans Muller
03e8ab1f53
Add support for a new kind of InkSplash: the "ripple" (#13986) 2018-01-09 14:43:08 -08:00
Hans Muller
d188a8ff6b
Update InputDecorator et al (#13734) 2018-01-08 10:36:52 -08:00
amirh
885e96914d
Move animated_icons into the material package (#13886) 2018-01-04 13:01:45 -08:00
Yegor
f2d096010d Internationalize time numerals in the time picker and TimeOfDay (#12166)
* internationalize time numerals

* tests

* use foundation.dart instead of meta.dart

* address comments
2017-09-22 14:35:25 -07:00
Hans Muller
8c2c502257 Updated I18N API for Flutter (#11497) 2017-08-23 17:07:59 -07:00
Michael Goderbauer
fe40eed362 Provide haptic/acoustic feedback for tap & long-press on Android (#10920)
* Provide haptic/acoustic feedback for tap & long-press on Android

* review comments

* fixed example code

* review comments

* comment fix
2017-06-23 15:02:55 -07:00
xster
40b67bb187 Move icons stuff from material to widget (#10192)
Moved everything icons related except the material icon button and the materialicon font list to widget
2017-05-21 16:57:31 -07:00
Ian Hickson
cd6e3b1ac2 CheckboxListTile, RadioListTile, SwitchListTile (#10160) 2017-05-19 08:46:17 -07:00