folly_fields 3.0.2 copy "folly_fields: ^3.0.2" to clipboard
folly_fields: ^3.0.2 copied to clipboard

Basic form fields and utilities.

FollyFields #

Build With Love Version Licence Build Coverage Report

Basic form fields and utilities. Maybe a humble boilerplate.

Funding #

BuyMeACoffee

Community #

Join our official Discord server
discord

Flutter 3.13 - Break Changes #

Version 2.2.0 needs Flutter 3.13.0 and Dart 3.1.0

Flutter 3.10 - Break Changes #

Version 1.0.0 needs Flutter 3.10.0 and Dart 3.0.0

Flutter 3.7 - Break Changes #

Version 0.18.0 needs Flutter 3.7.0 and Dart 2.19.0

Flutter 3.0 - Break Changes #

Version 0.10.0 needs Flutter 3.0.0 and Dart 2.17.0

Example #

Demo #

https://edufolly.github.io/folly_fields/

Code #

https://github.com/edufolly/folly_fields/tree/main/example/lib

How to use #

pubspec.yaml #

dependencies:

  flutter:
    sdk: flutter
  
  flutter_localizations:
    sdk: flutter

  # https://pub.dev/packages/folly_fields
  folly_fields: x.y.z # lastest pub.dev release

Check pub.dev latest release.

For edge builds, replace pub.dev version to git repo:

# https://github.com/edufolly/folly_fields
folly_fields:
  git:
    url: https://github.com/edufolly/folly_fields.git
    ref: v0.0.1 # latest release or branch name

Use ref to avoid breaking changes. Check GitHub latest release.

config.dart #

https://github.com/edufolly/folly_fields/blob/main/example/lib/config.dart

class Config extends AbstractConfig {
  static final Config _singleton = Config._internal();

  factory Config() {
    return _singleton;
  }

  Config._internal();

/// Content...
}

main.dart #

https://github.com/edufolly/folly_fields/blob/main/example/lib/main.dart

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  FollyFields.start(Config());

  runApp(MyApp());
}

MaterialApp #

https://github.com/edufolly/folly_fields/blob/main/example/lib/main.dart

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Folly Fields Example',
      theme: ThemeData(
        primarySwatch: Colors.deepOrange,
      ),
      home: const MyHomePage(),
      localizationsDelegates: const <LocalizationsDelegate<dynamic>>[
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: const <Locale>[
        Locale('pt', 'BR'),
      ],
    );
  }
}