1. 29 Apr, 2019 2 commits
    • Shi-Hao Hong's avatar
      Fix ExpansionPanelList Duplicate Global Keys Exception (#31228) · 39712854
      Shi-Hao Hong authored
      - Move `setState` to only be invoked when guarded by `widget._allowMultiplePanelsOpen`, fixing the case for `ExpansionPanelList`
      
      - Remove setting `_currentOpenPanel` to `widget.initialOpenPanelValue` in `didUpdateWidget`, since this should only occur on `initState` and not every time the widget is updated. This fixes the problem for `ExpansionPanelList.radio`
      
      - Added a `didUpdateWidget` condition for when `ExpansionPanelList` changes into `ExpansionPanelList.radio` to open the panel at `widget.initialOpenPanelValue`
      
      - Added test cases for regression, expansionCallback cases, and `didUpdateWidget` transitions between `ExpansionPanelList` and `ExpansionPanelList.radio`
      39712854
    • MH Johnson's avatar
      [Material] Update TabController to support dynamic Tabs (#30884) · 5412ef07
      MH Johnson authored
      * Update TabController to support dynamic tabs.
      
      * Added test for single Tab showing correct color.
      5412ef07
  2. 27 Apr, 2019 2 commits
  3. 26 Apr, 2019 3 commits
  4. 25 Apr, 2019 3 commits
    • Greg Spencer's avatar
      [Re-Land] Implement focus traversal for desktop platforms. (#31614) · 7775c237
      Greg Spencer authored
      This re-lands the Focus changes in #30040. Correctness changes in routes.dart, and removes the automatic requesting of focus on reparent when there is no current focus, which caused undesirable selections.
      
      Addresses #11344, #1608, #13264, and #1678
      Fixes #30084
      Fixes #26704
      7775c237
    • Greg Spencer's avatar
      Add support for Tooltip hover (#31561) · eca93640
      Greg Spencer authored
      Adds support for mouse pointer hovering to trigger tooltips, as well as custom timeouts for the tooltip durations, and a custom decoration. It also makes the tooltip be fully opaque when shown, and fade in over 150ms, and fade out over 75ms, and draw a 4.0 corner radius, all to conform with the material spec. Prior to this change, it was using a corner radius of 2.0 when shown, and faded in and out over 200ms.
      
      Fixes #22817
      eca93640
    • Darren Austin's avatar
      TimePicker moves to minute mode after hour selection (#31566) · 0aec08c0
      Darren Austin authored
      Adds a feature of the native Android Time Picker to our Material Time Picker. When the user selects an hour, it automatically switches to minute mode.
      
      This is a merging of two pull requests:
      
      Code changes from @sdolski #24677
      Tests from @lucaslcode #29876
      
      Thanks to both of you for your contributions!
      0aec08c0
  5. 24 Apr, 2019 6 commits
    • Tom Robiquet's avatar
    • rami-a's avatar
      Update SnackBar to allow for support of the new style from Material spec (#31275) · d4e4726a
      rami-a authored
      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!
      d4e4726a
    • Anthony's avatar
      [Material] Adaptive Slider constructor (#30572) · 0572f158
      Anthony authored
      Adds an adaptive constructor for the Material Slider. An adaptive widget is one that renders itself as Material on Android, and Cupertino on iOS. This work is based off of a similar feature on Switches: bbb080b3#diff-fe2bb980c6207699cbf45538fe927afa.
      
      The motivation for this change is that we should provide adaptive constructors for as many widgets as necessary in the Material library. In Material, it is suggested that the slider is an iOS-style slider.
      0572f158
    • Shi-Hao Hong's avatar
      1da7f1b9
    • Anthony's avatar
      [Material] Update slider and slider theme with new sizes, shapes, and color... · 96f15c74
      Anthony authored
      [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.
      96f15c74
    • Shi-Hao Hong's avatar
      Improve Tabs documentation (#31502) · b27b3d74
      Shi-Hao Hong authored
      Added info regarding matching lengths requirement and included links to sample implementation
      b27b3d74
  6. 23 Apr, 2019 3 commits
  7. 22 Apr, 2019 3 commits
    • Greg Spencer's avatar
      Implement focus traversal for desktop platforms, shoehorn edition. (#30040) · 4218c0bc
      Greg Spencer authored
      Implements focus traversal for desktop platforms, including re-implementing the existing focus manager and focus tree.
      
      This implements a Focus widget that can be put into a widget tree to allow input focus to be given to a particular part of a widget tree.
      
      It incorporates with the existing FocusScope and FocusNode infrastructure, and has minimal breakage to the API, although FocusScope.reparentIfNeeded is removed, replaced by a call to FocusAttachment.reparent(), so this is a breaking change:
      
      FocusScopeNodes must now be attached to the focus tree using FocusScopeNode.attach, which takes a context and an optional onKey callback, and returns a FocusAttachment that should be kept by the widget that hosts the FocusScopeNode. This is necessary because of the need to make sure that the focus tree reflects the widget hierarchy.
      
      Callers that used to call FocusScope(context).reparentIfNeeded in their build method will call reparent  on a FocusAttachment instead, which they will obtain by calling FocusScopeNode.attach in their initState method. Widgets that own FocusNodes will need to call dispose on the focus node in their dispose method.
      
      Addresses #11344, #1608, #13264, and #1678
      Fixes #30084
      Fixes #26704
      4218c0bc
    • chunhtai's avatar
    • Justin McCandless's avatar
      Text field scroll physics (#31088) · 6e1b143f
      Justin McCandless authored
      TextField and CupertinoTextField can now specify scrollPhysics. Cupertino defaults to bouncing now.
      6e1b143f
  8. 20 Apr, 2019 1 commit
  9. 18 Apr, 2019 2 commits
    • Anthony's avatar
      [Material] Update slider and slider theme with new sizes, shapes, and color mappings (#30390) · b1039f0f
      Anthony authored
      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.
      b1039f0f
    • Efthymis Sarmpanis's avatar
  10. 11 Apr, 2019 3 commits
  11. 09 Apr, 2019 3 commits
  12. 05 Apr, 2019 3 commits
  13. 04 Apr, 2019 5 commits
  14. 03 Apr, 2019 1 commit