/// Flutter code sample for {{element}}
// @dart = 2.9

{{description}}

import 'package:flutter/material.dart';

{{code-imports}}

void main() => runApp(new MyApp());

/// This is the main application widget.
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return WidgetsApp(
      title: 'Flutter Code Sample',
      home: Center(
        child: MyStatefulWidget(restorationId: 'main'),
      ),
      color: const Color(0xffffffff),
    );
  }
}

{{code-preamble}}

/// This is the stateful widget that the main application instantiates.
class MyStatefulWidget extends StatefulWidget {
  MyStatefulWidget({Key key, this.restorationId}) : super(key: key);

  final String restorationId;

  @override
  _MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}

/// This is the private State class that goes with MyStatefulWidget.
/// RestorationProperty objects can be used because of RestorationMixin.
class _MyStatefulWidgetState extends State<MyStatefulWidget> with RestorationMixin {
  // In this example, the restoration ID for the mixin is passed in through
  // the [StatefulWidget]'s constructor.
  @override
  String get restorationId => widget.restorationId;

{{code}}
}
