Commit cceb4187 authored by Adam Barth's avatar Adam Barth

Merge pull request #1556 from abarth/split_widgets

Split material design widgets out of widgets.dart
parents 37bda251 cc809491
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/widgets.dart';
class Field extends StatelessComponent { class Field extends StatelessComponent {
Field({ Field({
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/widgets.dart';
AssetBundle _initBundle() { AssetBundle _initBundle() {
if (rootBundle != null) if (rootBundle != null)
......
...@@ -7,7 +7,6 @@ library fitness; ...@@ -7,7 +7,6 @@ library fitness;
import 'package:playfair/playfair.dart' as playfair; import 'package:playfair/playfair.dart' as playfair;
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/widgets.dart';
import 'user_data.dart'; import 'user_data.dart';
import 'date_utils.dart'; import 'date_utils.dart';
......
...@@ -8,7 +8,6 @@ import 'package:sky/material.dart'; ...@@ -8,7 +8,6 @@ import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/widgets.dart';
import 'package:skysprites/skysprites.dart'; import 'package:skysprites/skysprites.dart';
import 'game_demo.dart'; import 'game_demo.dart';
......
...@@ -8,7 +8,6 @@ import 'package:sky/material.dart'; ...@@ -8,7 +8,6 @@ import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/widgets.dart';
// Classic minesweeper-inspired game. The mouse controls are standard // Classic minesweeper-inspired game. The mouse controls are standard
// except for left + right combo which is not implemented. For touch, // except for left + right combo which is not implemented. For touch,
......
...@@ -11,7 +11,6 @@ import 'dart:sky' as sky; ...@@ -11,7 +11,6 @@ import 'dart:sky' as sky;
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/widgets.dart';
import 'stock_data.dart'; import 'stock_data.dart';
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/widgets.dart';
class BigSwitch extends StatefulComponent { class BigSwitch extends StatefulComponent {
BigSwitch({ this.scale }); BigSwitch({ this.scale });
......
...@@ -6,7 +6,6 @@ import 'dart:sky' as sky; ...@@ -6,7 +6,6 @@ import 'dart:sky' as sky;
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/widgets.dart';
class CardModel { class CardModel {
CardModel(this.value, this.height) { CardModel(this.value, this.height) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/widgets.dart'; import 'package:sky/material.dart';
class ContainerApp extends StatelessComponent { class ContainerApp extends StatelessComponent {
Widget build(BuildContext context) { Widget build(BuildContext context) {
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/widgets.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
void main() => runApp(new DatePickerDemo()); void main() => runApp(new DatePickerDemo());
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/widgets.dart';
class DragData { class DragData {
DragData(this.text); DragData(this.text);
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/widgets.dart';
class CardModel { class CardModel {
CardModel(this.value, this.height, this.color); CardModel(this.value, this.height, this.color);
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/widgets.dart';
class IndexedStackDemo extends StatefulComponent { class IndexedStackDemo extends StatefulComponent {
IndexedStackDemo({ this.navigator }); IndexedStackDemo({ this.navigator });
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/widgets.dart';
final Map<String, RouteBuilder> routes = <String, RouteBuilder>{ final Map<String, RouteBuilder> routes = <String, RouteBuilder>{
'/': (RouteArguments args) => new Container( '/': (RouteArguments args) => new Container(
......
...@@ -6,7 +6,6 @@ import 'dart:sky' as sky; ...@@ -6,7 +6,6 @@ import 'dart:sky' as sky;
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/widgets.dart';
class CardModel { class CardModel {
CardModel(this.value, this.height, this.color); CardModel(this.value, this.height, this.color);
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/widgets.dart';
class CardModel { class CardModel {
CardModel(this.value, this.size, this.color); CardModel(this.value, this.size, this.color);
......
...@@ -7,7 +7,6 @@ import 'package:sky_services/media/media.mojom.dart'; ...@@ -7,7 +7,6 @@ import 'package:sky_services/media/media.mojom.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/widgets.dart';
// All of these sounds are marked as public domain at soundbible. // All of these sounds are marked as public domain at soundbible.
const String chimes = "http://soundbible.com/grab.php?id=2030&type=wav"; const String chimes = "http://soundbible.com/grab.php?id=2030&type=wav";
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/widgets.dart';
class ProgressIndicatorApp extends StatefulComponent { class ProgressIndicatorApp extends StatefulComponent {
ProgressIndicatorAppState createState() => new ProgressIndicatorAppState(); ProgressIndicatorAppState createState() => new ProgressIndicatorAppState();
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/widgets.dart';
class ScaleApp extends StatefulComponent { class ScaleApp extends StatefulComponent {
ScaleAppState createState() => new ScaleAppState(); ScaleAppState createState() => new ScaleAppState();
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
import 'dart:math' as math; import 'dart:math' as math;
import 'package:sky/material.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/widgets.dart';
import '../rendering/sector_layout.dart'; import '../rendering/sector_layout.dart';
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
import 'dart:sky' as sky; import 'dart:sky' as sky;
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/material.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/widgets.dart';
import '../rendering/solid_color_box.dart'; import '../rendering/solid_color_box.dart';
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/widgets.dart';
class StyledTextApp extends StatefulComponent { class StyledTextApp extends StatefulComponent {
StyledTextAppState createState() => new StyledTextAppState(); StyledTextAppState createState() => new StyledTextAppState();
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/widgets.dart';
class TabbedNavigatorApp extends StatefulComponent { class TabbedNavigatorApp extends StatefulComponent {
TabbedNavigatorAppState createState() => new TabbedNavigatorAppState(); TabbedNavigatorAppState createState() => new TabbedNavigatorAppState();
......
...@@ -7,9 +7,40 @@ ...@@ -7,9 +7,40 @@
/// See https://www.google.com/design/spec/material-design/introduction.html /// See https://www.google.com/design/spec/material-design/introduction.html
library material; library material;
export 'src/material/app.dart';
export 'src/material/card.dart';
export 'src/material/checkbox.dart';
export 'src/material/colors.dart'; export 'src/material/colors.dart';
export 'src/material/constants.dart';
export 'src/material/date_picker.dart';
export 'src/material/dialog.dart';
export 'src/material/drawer.dart';
export 'src/material/drawer_divider.dart';
export 'src/material/drawer_header.dart';
export 'src/material/drawer_item.dart';
export 'src/material/edges.dart'; export 'src/material/edges.dart';
export 'src/material/flat_button.dart';
export 'src/material/floating_action_button.dart';
export 'src/material/icon_button.dart';
export 'src/material/icon.dart';
export 'src/material/ink_well.dart';
export 'src/material/input.dart';
export 'src/material/material_button.dart';
export 'src/material/material.dart';
export 'src/material/popup_menu.dart';
export 'src/material/popup_menu_item.dart';
export 'src/material/progress_indicator.dart';
export 'src/material/radio.dart';
export 'src/material/raised_button.dart';
export 'src/material/scaffold.dart';
export 'src/material/shadows.dart'; export 'src/material/shadows.dart';
export 'src/material/snack_bar.dart';
export 'src/material/switch.dart';
export 'src/material/tabs.dart';
export 'src/material/theme.dart';
export 'src/material/theme_data.dart'; export 'src/material/theme_data.dart';
export 'src/material/title.dart';
export 'src/material/tool_bar.dart';
export 'src/material/typography.dart'; export 'src/material/typography.dart';
export 'src/material/constants.dart';
export 'widgets.dart';
...@@ -7,12 +7,10 @@ import 'dart:sky' as sky; ...@@ -7,12 +7,10 @@ import 'dart:sky' as sky;
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/binding.dart';
import 'package:sky/src/widgets/framework.dart'; import 'theme.dart';
import 'package:sky/src/widgets/navigator.dart'; import 'title.dart';
import 'package:sky/src/widgets/theme.dart';
import 'package:sky/src/widgets/title.dart';
const TextStyle _errorTextStyle = const TextStyle( const TextStyle _errorTextStyle = const TextStyle(
color: const Color(0xD0FF0000), color: const Color(0xD0FF0000),
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/material.dart'; import 'material.dart';
const EdgeDims _kCardMargins = const EdgeDims.all(4.0); const EdgeDims _kCardMargins = const EdgeDims.all(4.0);
......
...@@ -4,13 +4,12 @@ ...@@ -4,13 +4,12 @@
import 'dart:sky' as sky; import 'dart:sky' as sky;
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/framework.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/theme.dart';
import 'package:sky/src/rendering/object.dart';
import 'package:sky/src/rendering/toggleable.dart';
export 'package:sky/src/rendering/toggleable.dart' show ValueChanged; import 'theme.dart';
export 'package:sky/rendering.dart' show ValueChanged;
const double _kMidpoint = 0.5; const double _kMidpoint = 0.5;
const sky.Color _kLightUncheckedColor = const sky.Color(0x8A000000); const sky.Color _kLightUncheckedColor = const sky.Color(0x8A000000);
......
...@@ -9,12 +9,10 @@ import 'package:intl/intl.dart'; ...@@ -9,12 +9,10 @@ import 'package:intl/intl.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/gesture_detector.dart'; import 'ink_well.dart';
import 'package:sky/src/widgets/ink_well.dart'; import 'theme.dart';
import 'package:sky/src/widgets/scrollable.dart';
import 'package:sky/src/widgets/theme.dart';
typedef void DatePickerValueChanged(DateTime dateTime); typedef void DatePickerValueChanged(DateTime dateTime);
......
...@@ -7,16 +7,11 @@ import 'dart:async'; ...@@ -7,16 +7,11 @@ import 'dart:async';
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/focus.dart';
import 'package:sky/src/widgets/framework.dart'; import 'material.dart';
import 'package:sky/src/widgets/gesture_detector.dart'; import 'material_button.dart';
import 'package:sky/src/widgets/material.dart'; import 'theme.dart';
import 'package:sky/src/widgets/material_button.dart';
import 'package:sky/src/widgets/navigator.dart';
import 'package:sky/src/widgets/scrollable.dart';
import 'package:sky/src/widgets/theme.dart';
import 'package:sky/src/widgets/transitions.dart';
typedef Widget DialogBuilder(NavigatorState navigator); typedef Widget DialogBuilder(NavigatorState navigator);
......
...@@ -4,14 +4,9 @@ ...@@ -4,14 +4,9 @@
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/src/widgets/animated_container.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/basic.dart'; import 'theme.dart';
import 'package:sky/src/widgets/gesture_detector.dart';
import 'package:sky/src/widgets/navigator.dart';
import 'package:sky/src/widgets/theme.dart';
import 'package:sky/src/widgets/transitions.dart';
import 'package:sky/src/widgets/focus.dart';
// TODO(eseidel): Draw width should vary based on device size: // TODO(eseidel): Draw width should vary based on device size:
// http://www.google.com/design/spec/layout/structure.html#structure-side-nav // http://www.google.com/design/spec/layout/structure.html#structure-side-nav
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/theme.dart'; import 'theme.dart';
class DrawerDivider extends StatelessComponent { class DrawerDivider extends StatelessComponent {
const DrawerDivider({ Key key }) : super(key: key); const DrawerDivider({ Key key }) : super(key: key);
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/theme.dart'; import 'theme.dart';
// TODO(jackson): This class should usually render the user's // TODO(jackson): This class should usually render the user's
// preferred banner image rather than a solid background // preferred banner image rather than a solid background
......
...@@ -7,11 +7,11 @@ import 'dart:sky' as sky; ...@@ -7,11 +7,11 @@ import 'dart:sky' as sky;
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/icon.dart'; import 'icon.dart';
import 'package:sky/src/widgets/ink_well.dart'; import 'ink_well.dart';
import 'package:sky/src/widgets/theme.dart'; import 'theme.dart';
class DrawerItem extends StatefulComponent { class DrawerItem extends StatefulComponent {
const DrawerItem({ Key key, this.icon, this.child, this.onPressed, this.selected: false }) const DrawerItem({ Key key, this.icon, this.child, this.onPressed, this.selected: false })
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/material_button.dart'; import 'material_button.dart';
import 'package:sky/src/widgets/theme.dart'; import 'theme.dart';
class FlatButton extends MaterialButton { class FlatButton extends MaterialButton {
FlatButton({ FlatButton({
......
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/icon.dart'; import 'icon.dart';
import 'package:sky/src/widgets/ink_well.dart'; import 'ink_well.dart';
import 'package:sky/src/widgets/material.dart'; import 'material.dart';
import 'package:sky/src/widgets/theme.dart'; import 'theme.dart';
// TODO(eseidel): This needs to change based on device size? // TODO(eseidel): This needs to change based on device size?
// http://www.google.com/design/spec/layout/metrics-keylines.html#metrics-keylines-keylines-spacing // http://www.google.com/design/spec/layout/metrics-keylines.html#metrics-keylines-keylines-spacing
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
import 'dart:sky' as sky; import 'dart:sky' as sky;
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/theme.dart';
import 'package:sky/src/widgets/framework.dart'; import 'theme.dart';
enum IconThemeColor { white, black } enum IconThemeColor { white, black }
......
...@@ -5,10 +5,9 @@ ...@@ -5,10 +5,9 @@
import 'dart:sky' as sky; import 'dart:sky' as sky;
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/icon.dart';
import 'package:sky/src/widgets/framework.dart'; import 'icon.dart';
import 'package:sky/src/widgets/gesture_detector.dart';
class IconButton extends StatelessComponent { class IconButton extends StatelessComponent {
const IconButton({ Key key, this.icon, this.onPressed, this.color }) : super(key: key); const IconButton({ Key key, this.icon, this.onPressed, this.color }) : super(key: key);
......
...@@ -9,8 +9,7 @@ import 'dart:sky' as sky; ...@@ -9,8 +9,7 @@ import 'dart:sky' as sky;
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
const int _kSplashInitialOpacity = 0x30; const int _kSplashInitialOpacity = 0x30;
const double _kSplashCanceledVelocity = 0.7; const double _kSplashCanceledVelocity = 0.7;
......
...@@ -6,12 +6,9 @@ import 'package:sky/animation.dart'; ...@@ -6,12 +6,9 @@ import 'package:sky/animation.dart';
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/editable_text.dart';
import 'package:sky/src/widgets/focus.dart'; import 'theme.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/scrollable.dart';
import 'package:sky/src/widgets/theme.dart';
export 'package:sky/services.dart' show KeyboardType; export 'package:sky/services.dart' show KeyboardType;
......
...@@ -5,10 +5,9 @@ ...@@ -5,10 +5,9 @@
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/src/widgets/animated_container.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'theme.dart';
import 'package:sky/src/widgets/theme.dart';
enum MaterialType { canvas, card, circle, button } enum MaterialType { canvas, card, circle, button }
......
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/ink_well.dart'; import 'ink_well.dart';
import 'package:sky/src/widgets/material.dart'; import 'material.dart';
import 'package:sky/src/widgets/theme.dart'; import 'theme.dart';
enum ButtonColor { normal, accent } enum ButtonColor { normal, accent }
......
...@@ -8,15 +8,11 @@ import 'dart:sky' as sky; ...@@ -8,15 +8,11 @@ import 'dart:sky' as sky;
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/focus.dart';
import 'package:sky/src/widgets/framework.dart'; import 'ink_well.dart';
import 'package:sky/src/widgets/ink_well.dart'; import 'popup_menu_item.dart';
import 'package:sky/src/widgets/navigator.dart'; import 'theme.dart';
import 'package:sky/src/widgets/popup_menu_item.dart';
import 'package:sky/src/widgets/scrollable.dart';
import 'package:sky/src/widgets/theme.dart';
import 'package:sky/src/widgets/transitions.dart';
const Duration _kMenuDuration = const Duration(milliseconds: 300); const Duration _kMenuDuration = const Duration(milliseconds: 300);
const double _kMenuCloseIntervalEnd = 2.0 / 3.0; const double _kMenuCloseIntervalEnd = 2.0 / 3.0;
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/theme.dart'; import 'theme.dart';
const double _kMenuItemHeight = 48.0; const double _kMenuItemHeight = 48.0;
const double _kBaselineOffsetFromBottom = 20.0; const double _kBaselineOffsetFromBottom = 20.0;
......
...@@ -6,10 +6,9 @@ import 'dart:math' as math; ...@@ -6,10 +6,9 @@ import 'dart:math' as math;
import 'dart:sky' as sky; import 'dart:sky' as sky;
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/theme.dart';
import 'package:sky/src/widgets/framework.dart'; import 'theme.dart';
import 'package:sky/src/widgets/transitions.dart';
const double _kLinearProgressIndicatorHeight = 6.0; const double _kLinearProgressIndicatorHeight = 6.0;
const double _kMinCircularProgressIndicatorSize = 15.0; const double _kMinCircularProgressIndicatorSize = 15.0;
......
...@@ -4,10 +4,9 @@ ...@@ -4,10 +4,9 @@
import 'dart:sky' as sky; import 'dart:sky' as sky;
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/gesture_detector.dart'; import 'theme.dart';
import 'package:sky/src/widgets/theme.dart';
const sky.Color _kLightOffColor = const sky.Color(0x8A000000); const sky.Color _kLightOffColor = const sky.Color(0x8A000000);
const sky.Color _kDarkOffColor = const sky.Color(0xB2FFFFFF); const sky.Color _kDarkOffColor = const sky.Color(0xB2FFFFFF);
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/material_button.dart'; import 'material_button.dart';
import 'package:sky/src/widgets/theme.dart'; import 'theme.dart';
class RaisedButton extends MaterialButton { class RaisedButton extends MaterialButton {
RaisedButton({ RaisedButton({
......
...@@ -6,8 +6,7 @@ import 'dart:sky' as sky; ...@@ -6,8 +6,7 @@ import 'dart:sky' as sky;
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
class Scaffold extends StatelessComponent { class Scaffold extends StatelessComponent {
Scaffold({ Scaffold({
......
...@@ -6,14 +6,10 @@ import 'package:sky/animation.dart'; ...@@ -6,14 +6,10 @@ import 'package:sky/animation.dart';
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/gesture_detector.dart'; import 'material.dart';
import 'package:sky/src/widgets/material.dart'; import 'theme.dart';
import 'package:sky/src/widgets/navigator.dart';
import 'package:sky/src/widgets/placeholder.dart';
import 'package:sky/src/widgets/theme.dart';
import 'package:sky/src/widgets/transitions.dart';
const double _kSideMargins = 24.0; const double _kSideMargins = 24.0;
const double _kVerticalPadding = 14.0; const double _kVerticalPadding = 14.0;
......
...@@ -8,9 +8,9 @@ import 'dart:sky' as sky; ...@@ -8,9 +8,9 @@ import 'dart:sky' as sky;
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/theme.dart';
import 'package:sky/src/widgets/framework.dart'; import 'theme.dart';
export 'package:sky/rendering.dart' show ValueChanged; export 'package:sky/rendering.dart' show ValueChanged;
......
...@@ -8,17 +8,16 @@ import 'dart:sky' as sky; ...@@ -8,17 +8,16 @@ import 'dart:sky' as sky;
import 'package:newton/newton.dart'; import 'package:newton/newton.dart';
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/animated_container.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'colors.dart';
import 'package:sky/src/widgets/icon.dart'; import 'constants.dart';
import 'package:sky/src/widgets/ink_well.dart'; import 'icon.dart';
import 'package:sky/src/widgets/scrollable.dart'; import 'ink_well.dart';
import 'package:sky/src/widgets/theme.dart'; import 'theme.dart';
import 'package:sky/src/widgets/transitions.dart'; import 'typography.dart';
typedef void TabSelectedIndexChanged(int selectedIndex); typedef void TabSelectedIndexChanged(int selectedIndex);
typedef void TabLayoutChanged(Size size, List<double> widths); typedef void TabLayoutChanged(Size size, List<double> widths);
......
...@@ -2,10 +2,11 @@ ...@@ -2,10 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/material.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
export 'package:sky/material.dart' show ThemeData, ThemeBrightness; import 'theme_data.dart';
export 'theme_data.dart' show ThemeData, ThemeBrightness;
class Theme extends InheritedWidget { class Theme extends InheritedWidget {
Theme({ Theme({
......
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/src/widgets/theme.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/framework.dart';
import 'theme.dart';
class Title extends StatelessComponent { class Title extends StatelessComponent {
Title({ this.title, this.child }); Title({ this.title, this.child });
......
...@@ -4,11 +4,10 @@ ...@@ -4,11 +4,10 @@
import 'package:sky/material.dart'; import 'package:sky/material.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/src/widgets/animated_container.dart'; import 'package:sky/widgets.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'icon.dart';
import 'package:sky/src/widgets/icon.dart'; import 'theme.dart';
import 'package:sky/src/widgets/theme.dart';
class ToolBar extends StatelessComponent { class ToolBar extends StatelessComponent {
ToolBar({ ToolBar({
......
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'basic.dart';
import 'framework.dart';
import 'package:vector_math/vector_math_64.dart'; import 'package:vector_math/vector_math_64.dart';
......
...@@ -6,7 +6,8 @@ import 'dart:sky' as sky; ...@@ -6,7 +6,8 @@ import 'dart:sky' as sky;
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/src/widgets/framework.dart';
import 'framework.dart';
export 'package:sky/rendering.dart' show export 'package:sky/rendering.dart' show
BackgroundImage, BackgroundImage,
......
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/framework.dart';
import 'framework.dart';
class WidgetFlutterBinding extends FlutterBinding { class WidgetFlutterBinding extends FlutterBinding {
......
...@@ -5,10 +5,11 @@ ...@@ -5,10 +5,11 @@
import 'dart:sky' as sky; import 'dart:sky' as sky;
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/transitions.dart'; import 'basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'transitions.dart';
import 'package:sky/src/widgets/gesture_detector.dart'; import 'framework.dart';
import 'gesture_detector.dart';
const Duration _kCardDismissFadeout = const Duration(milliseconds: 200); const Duration _kCardDismissFadeout = const Duration(milliseconds: 200);
const Duration _kCardDismissResize = const Duration(milliseconds: 300); const Duration _kCardDismissResize = const Duration(milliseconds: 300);
......
...@@ -7,10 +7,11 @@ import 'dart:sky' as sky; ...@@ -7,10 +7,11 @@ import 'dart:sky' as sky;
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/binding.dart'; import 'basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'binding.dart';
import 'package:sky/src/widgets/navigator.dart'; import 'framework.dart';
import 'navigator.dart';
typedef bool DragTargetWillAccept<T>(T data); typedef bool DragTargetWillAccept<T>(T data);
typedef void DragTargetAccept<T>(T data); typedef void DragTargetAccept<T>(T data);
......
...@@ -7,8 +7,9 @@ import 'dart:async'; ...@@ -7,8 +7,9 @@ import 'dart:async';
import 'package:mojo_services/keyboard/keyboard.mojom.dart'; import 'package:mojo_services/keyboard/keyboard.mojom.dart';
import 'package:sky/painting.dart'; import 'package:sky/painting.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'basic.dart';
import 'framework.dart';
const _kCursorBlinkPeriod = 500; // milliseconds const _kCursorBlinkPeriod = 500; // milliseconds
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/src/widgets/framework.dart'; import 'framework.dart';
typedef void FocusChanged(GlobalKey key); typedef void FocusChanged(GlobalKey key);
......
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
import 'dart:sky' as sky; import 'dart:sky' as sky;
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/src/widgets/basic.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/rendering/binding.dart'; import 'basic.dart';
import 'framework.dart';
class GestureDetector extends StatefulComponent { class GestureDetector extends StatefulComponent {
const GestureDetector({ const GestureDetector({
......
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'basic.dart';
import 'framework.dart';
class MimicableKey { class MimicableKey {
MimicableKey._(this._state); MimicableKey._(this._state);
......
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:sky/src/widgets/basic.dart'; import 'framework.dart';
import 'basic.dart';
typedef Widget IndexedBuilder(BuildContext context, int index); // return null if index is greater than index of last entry typedef Widget IndexedBuilder(BuildContext context, int index); // return null if index is greater than index of last entry
typedef void ExtentsUpdateCallback(double newExtents); typedef void ExtentsUpdateCallback(double newExtents);
......
...@@ -3,10 +3,11 @@ ...@@ -3,10 +3,11 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/focus.dart'; import 'basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'focus.dart';
import 'package:sky/src/widgets/transitions.dart'; import 'framework.dart';
import 'transitions.dart';
class RouteArguments { class RouteArguments {
const RouteArguments({ this.navigator, this.previousPerformance, this.nextPerformance }); const RouteArguments({ this.navigator, this.previousPerformance, this.nextPerformance });
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/src/widgets/basic.dart'; import 'basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'framework.dart';
class Placeholder extends StatefulComponent { class Placeholder extends StatefulComponent {
Placeholder({ Key key }) : super(key: key); Placeholder({ Key key }) : super(key: key);
......
...@@ -10,11 +10,12 @@ import 'package:newton/newton.dart'; ...@@ -10,11 +10,12 @@ import 'package:newton/newton.dart';
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/gestures.dart'; import 'package:sky/gestures.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/framework.dart'; import 'basic.dart';
import 'package:sky/src/widgets/gesture_detector.dart'; import 'framework.dart';
import 'package:sky/src/widgets/homogeneous_viewport.dart'; import 'gesture_detector.dart';
import 'package:sky/src/widgets/mixed_viewport.dart'; import 'homogeneous_viewport.dart';
import 'mixed_viewport.dart';
// The gesture velocity properties are pixels/second, config min,max limits are pixels/ms // The gesture velocity properties are pixels/second, config min,max limits are pixels/ms
const double _kMillisecondsPerSecond = 1000.0; const double _kMillisecondsPerSecond = 1000.0;
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/src/widgets/framework.dart'; import 'framework.dart';
import 'package:sky/src/rendering/statistics_box.dart'; import 'package:sky/src/rendering/statistics_box.dart';
/// The options that control whether the statistics overlay displays certain /// The options that control whether the statistics overlay displays certain
......
...@@ -3,10 +3,11 @@ ...@@ -3,10 +3,11 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/animation.dart'; import 'package:sky/animation.dart';
import 'package:sky/src/widgets/basic.dart';
import 'package:sky/src/widgets/framework.dart';
import 'package:vector_math/vector_math_64.dart'; import 'package:vector_math/vector_math_64.dart';
import 'basic.dart';
import 'framework.dart';
export 'package:sky/animation.dart' show AnimationDirection; export 'package:sky/animation.dart' show AnimationDirection;
abstract class TransitionComponent extends StatefulComponent { abstract class TransitionComponent extends StatefulComponent {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'package:sky/widgets.dart'; import 'framework.dart';
abstract class UniqueComponent<T extends State> extends StatefulComponent { abstract class UniqueComponent<T extends State> extends StatefulComponent {
UniqueComponent({ GlobalKey key }) : super(key: key) { UniqueComponent({ GlobalKey key }) : super(key: key) {
......
...@@ -6,50 +6,21 @@ ...@@ -6,50 +6,21 @@
library widgets; library widgets;
export 'src/widgets/animated_container.dart'; export 'src/widgets/animated_container.dart';
export 'src/widgets/app.dart';
export 'src/widgets/basic.dart'; export 'src/widgets/basic.dart';
export 'src/widgets/binding.dart'; export 'src/widgets/binding.dart';
export 'src/widgets/card.dart';
export 'src/widgets/checkbox.dart';
export 'src/widgets/date_picker.dart';
export 'src/widgets/dialog.dart';
export 'src/widgets/dismissable.dart'; export 'src/widgets/dismissable.dart';
export 'src/widgets/drag_target.dart'; export 'src/widgets/drag_target.dart';
export 'src/widgets/drawer.dart';
export 'src/widgets/drawer_divider.dart';
export 'src/widgets/drawer_header.dart';
export 'src/widgets/drawer_item.dart';
export 'src/widgets/editable_text.dart'; export 'src/widgets/editable_text.dart';
export 'src/widgets/flat_button.dart';
export 'src/widgets/floating_action_button.dart';
export 'src/widgets/focus.dart'; export 'src/widgets/focus.dart';
export 'src/widgets/framework.dart'; export 'src/widgets/framework.dart';
export 'src/widgets/gesture_detector.dart'; export 'src/widgets/gesture_detector.dart';
export 'src/widgets/homogeneous_viewport.dart'; export 'src/widgets/homogeneous_viewport.dart';
export 'src/widgets/icon.dart';
export 'src/widgets/icon_button.dart';
export 'src/widgets/ink_well.dart';
export 'src/widgets/input.dart';
export 'src/widgets/material.dart';
export 'src/widgets/material_button.dart';
export 'src/widgets/mimic.dart'; export 'src/widgets/mimic.dart';
export 'src/widgets/mixed_viewport.dart'; export 'src/widgets/mixed_viewport.dart';
export 'src/widgets/navigator.dart'; export 'src/widgets/navigator.dart';
export 'src/widgets/placeholder.dart'; export 'src/widgets/placeholder.dart';
export 'src/widgets/popup_menu.dart';
export 'src/widgets/popup_menu_item.dart';
export 'src/widgets/progress_indicator.dart';
export 'src/widgets/radio.dart';
export 'src/widgets/raised_button.dart';
export 'src/widgets/scaffold.dart';
export 'src/widgets/scrollable.dart'; export 'src/widgets/scrollable.dart';
export 'src/widgets/statistics_overlay.dart'; export 'src/widgets/statistics_overlay.dart';
export 'src/widgets/snack_bar.dart';
export 'src/widgets/switch.dart';
export 'src/widgets/tabs.dart';
export 'src/widgets/theme.dart';
export 'src/widgets/title.dart';
export 'src/widgets/tool_bar.dart';
export 'src/widgets/transitions.dart'; export 'src/widgets/transitions.dart';
export 'src/widgets/unique_component.dart'; export 'src/widgets/unique_component.dart';
......
import 'package:sky/widgets.dart'; import 'package:sky/material.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'widget_tester.dart'; import 'widget_tester.dart';
......
import 'package:sky/material.dart';
import 'package:sky/widgets.dart'; import 'package:sky/widgets.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
......
import 'package:mojo_services/keyboard/keyboard.mojom.dart'; import 'package:mojo_services/keyboard/keyboard.mojom.dart';
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/services.dart'; import 'package:sky/services.dart';
import 'package:sky/widgets.dart'; import 'package:sky/material.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'widget_tester.dart'; import 'widget_tester.dart';
......
import 'package:sky/rendering.dart'; import 'package:sky/rendering.dart';
import 'package:sky/widgets.dart'; import 'package:sky/material.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'widget_tester.dart'; import 'widget_tester.dart';
......
import 'package:sky/widgets.dart'; import 'package:sky/material.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'widget_tester.dart'; import 'widget_tester.dart';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment