A collection of useful packages maintained by the Flutter team

Related tags

Templates packages
Overview

Flutter Packages

Build Status Release Status

This repo is a companion repo to the main flutter repo. It contains the source code for Flutter's first-party packages (i.e., packages developed by the core Flutter team). Check the packages directory to see all packages.

These packages are also available on pub.

Issues

Please file any issues, bugs, or feature requests in the main flutter repo.

Contributing

If you wish to contribute a new package to the Flutter ecosystem, please see the documentation for developing packages. You can store your package source code in any GitHub repository (the present repo is only intended for packages developed by the core Flutter team). Once your package is ready you can publish to the pub repository.

If you wish to contribute a change to any of the existing packages in this repo, please review our contribution guide, and send a pull request.

Packages

These are the available packages in this repository.

Plugin Pub
animations pub package
css_colors pub package
extension_google_sign_in_as_googleapis_auth pub package
fuchsia_ctl pub package
flutter_image pub package
flutter_lints pub package
flutter_markdown pub package
multicast_dns pub package
palette_generator pub package
pigeon pub package
pointer_interceptor pub package
xdg_directories pub package
Comments
  • [pigeon] Added basic C++ support

    [pigeon] Added basic C++ support

    This PR adds basic C++ support for Pigeon. I've used the video_player pigeon file as a minimum bar for this, so there are things that are known to not work at all, like async. This code was based on a mix of the Obj-C generator and the Java generator. I need to add more tests. I've added tests only to the new parameters, and not to the generator itself. We can work together on getting a min set of tests for this before we merge it, but I wanted to share what I've came up with so far to reduce re-work.

    Fixes https://github.com/flutter/flutter/issues/70310

    Pre-launch Checklist

    • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
    • [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
    • [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
    • [x] I read and followed the [Flutter Style Guide].
    • [x] I listed at least one issue that this PR fixes in the description above.
    • [x] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt.
    • [x] I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy].
    • [x] I updated CHANGELOG.md to add a description of the change.
    • [x] I updated/added relevant documentation (doc comments with ///).
    • [x] I signed the [CLA].
    • [x] All existing and new tests are passing.
    waiting for tree to go green cla: yes p: pigeon 
    opened by azchohfi 92
  • [go_router] Add ShellRoute

    [go_router] Add ShellRoute

    This adds ShellRoute, a new route type that builds an inner Navigator

    nested-nav-go-router 2022-08-12 15_08_39

    resolves flutter/flutter#108141 resolves flutter/flutter#99126 resolves flutter/flutter#109479

    p: go_router 
    opened by johnpryan 43
  • [pigeon] migrate to null-safety

    [pigeon] migrate to null-safety

    Migrating pigeon package to null-safety.

    I marked this as a draft because I have trouble getting one test to pass: packages/pigeon/mock_handler_tester/test/widget_test.dart:calling methods with null and I just can't work it out :/ The call throws an AssertionError, which is the expected behavior. Yet the test fails stating that this error was thrown. Can anyone help?

    opened by Goddchen 28
  • [go_router] Return a value on pop

    [go_router] Return a value on pop

    In this PR I'm adding 2 new methods, pushAsync and pushNamedAsync, that allows you to wait for a value when the widget pushed pops, like in navigator 1.0.

    Fixes https://github.com/flutter/flutter/issues/99663. Fixes https://github.com/flutter/flutter/issues/107217 Fixes https://github.com/flutter/flutter/issues/100969

    This PR will not conflict with older versions of go_router when updated.

    Here's the link of the document with the changes: https://docs.google.com/document/d/1bcPV8yNAETmlxTFTMpO_JcJ7-yMoF8qaCPa884hFmXA/edit?usp=sharing&resourcekey=0-73tg8sZOVf0YXBmz-MLwQw.

    Pre-launch Checklist

    • [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
    • [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
    • [x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
    • [x] I signed the CLA.
    • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
    • [x] I listed at least one issue that this PR fixes in the description above.
    • [x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
    • [x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
    • [x] I updated/added relevant documentation (doc comments with ///).
    • [x] I added new tests to check the change I am making, or this PR is test-exempt.
    • [x] All existing and new tests are passing.

    If you need help, consider asking for advice on the #hackers-new channel on Discord.

    p: go_router_builder p: go_router 
    opened by NazarenoCavazzon 22
  • [pigeon] Adds Kotlin support for Pigeon

    [pigeon] Adds Kotlin support for Pigeon

    This PR adds Kotlin support for Pigeon. This code was based on the Java and Swift generator.

    Pre-launch Checklist

    • [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
    • [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
    • [x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
    • [x] I signed the CLA.
    • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
    • [ ] I listed at least one issue that this PR fixes in the description above.
    • [x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
    • [x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
    • [x] I updated/added relevant documentation (doc comments with ///).
    • [x] I added new tests to check the change I am making, or this PR is test-exempt.
    • [x] All existing and new tests are passing.
    p: pigeon autosubmit 
    opened by ailtonvivaz 22
  • [pigeon] Adds Swift support for Pigeon

    [pigeon] Adds Swift support for Pigeon

    This PR adds Swift support for Pigeon. This code was based on the Java generator.

    Fixes https://github.com/flutter/flutter/issues/66499

    Pre-launch Checklist

    • [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
    • [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
    • [x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
    • [x] I signed the CLA.
    • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
    • [x] I listed at least one issue that this PR fixes in the description above.
    • [x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
    • [x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
    • [x] I updated/added relevant documentation (doc comments with ///).
    • [x] I added new tests to check the change I am making, or this PR is test-exempt.
    • [x] All existing and new tests are passing.
    p: pigeon autosubmit 
    opened by ailtonvivaz 21
  • [animations] Adds CompositeAnimatedWidget to ensure shape of entering and exiting subtree are the same.

    [animations] Adds CompositeAnimatedWidget to ensure shape of entering and exiting subtree are the same.

    Description

    Transition widgets like FadeScaleTransition, FadeThroughTransition, and SharedAxisTransition is changing their subtree levels of widgets when transitioning causing the child state object to get recreated.

    CompositeAnimatedWidget solves the issue, instead of rebuilding animation widgets in AnimatedBuilder, it builds its transitions, stacked and only changing animation values to achieve different transitions on forward and reverse.

    Issue

    https://github.com/flutter/flutter/issues/53550 https://github.com/flutter/flutter/issues/55826 https://github.com/flutter/flutter/issues/55874

    opened by grinder15 20
  • [animations] Introduce layoutBuilder parameter to PageTransitionSwitcher

    [animations] Introduce layoutBuilder parameter to PageTransitionSwitcher

    Fixes https://github.com/flutter/flutter/issues/54585 by introducing layoutBuilder, which allows PageTransitionSwitcher to lay out its children in a custom manner.

    opened by federunco 19
  • [animations] Prevent SharedAxisTransition from resetting ongoing animations on entering page

    [animations] Prevent SharedAxisTransition from resetting ongoing animations on entering page

    This is a POC of the fix for https://github.com/flutter/flutter/issues/55826

    Investigation story :)

    After I noticed the CircularProgressIndicator restart I start digging into the issues and found this - https://tppr.me/KSBAK

    It renders the child component three times(1 for SignIn and 2 times for Courses) moving 'next' and only one time(SignIn widget) while moving back. As far as I know Flutter works with animations in the way that it does not perform useless rerenders and just works with the whole child.

    When I removed all the transitions and left only the return child; in both switch cases everything started working as expected(without animations obviously)

    switch (_effectiveAnimationStatus) {
      case AnimationStatus.forward:
        return child;
      case AnimationStatus.dismissed:
      case AnimationStatus.reverse:
      case AnimationStatus.completed:
        return child;
    }
    

    Then I replaced all the _EnterTransition with _ExitTransition and repeated the test - everything became smooth(the animation became a little bit different)

    The main goal of this POC PR is to make the widget tree identical.

    While performing the animations the widget tree changes from _EnterTransition to _ExitTransition, and the _ExitTransition adds additional Container to that tree. This changes was the root cause of useless rerenders.

    If you debug the current released version you can see the the 'happy path' of single render in 'back' transition occurs cause widget.child passes through the identical _EnterTransition(or _ExitTransition I do not remember the precise details)

    I decided to combine this 2 classes to guarantee that the widget tree will remain the same.

    This is a result ezgif com-video-to-gif

    opened by vasilich6107 19
  • [web_benchmarks] Make package compatible with Chromium v89+

    [web_benchmarks] Make package compatible with Chromium v89+

    This pr Updates the event names with changes introduced in chromium v89

    updateAllLifecyclePhases calls UpdateLifecycle under the hood https://github.com/chromium/chromium/blob/c4d3c31083a2e1481253ff2d24298a1dfe19c754/third_party/blink/public/web/web_widget.h#L109

    List which issues are fixed by this PR. You must list at least one issue. https://github.com/flutter/flutter/issues/94027

    Another issue that relies on this: https://github.com/flutter/gallery/issues/463

    Pre-launch Checklist

    • [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
    • [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
    • [x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
    • [x] I signed the CLA.
    • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
    • [x] I listed at least one issue that this PR fixes in the description above.
    • [x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
    • [x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
    • [x] I updated/added relevant documentation (doc comments with ///).
    • [x] I added new tests to check the change I am making, or this PR is test-exempt.
    • [x] All existing and new tests are passing.

    If you need help, consider asking for advice on the #hackers-new channel on Discord.

    cla: yes p: web_benchmarks 
    opened by amanv8060 17
  • Add mDNS client

    Add mDNS client

    This will be used by flutter_tool in support of https://github.com/flutter/flutter/issues/23164

    Note that it requires an as-of-yet unreleased Dart SDK - specifically needs https://github.com/dart-lang/sdk/commit/6e23c3b3cb39b7bd08095a238b0a33dd74f02ca4 (which had a few follow-up fixes for non-macOS platforms that were fully resolved by https://github.com/dart-lang/sdk/commit/055ce6f101aec32b837e0565939a9e0f93eca5b7).

    /cc @GaryQian - I think you mentioned something about wanting to extend this for Android. One option might be to flesh out the server side of this and do it all in Dart.

    opened by dnfield 17
  • [pigeon] writeEnum method added to Generator class

    [pigeon] writeEnum method added to Generator class

    Adds writeEnum method to Generator classes and all subclasses.

    work towards https://github.com/flutter/flutter/issues/117416

    Waiting for https://github.com/flutter/packages/pull/3010 to merge

    p: pigeon 
    opened by tarrinneal 1
  • [gis_web] Adds id.renderButton JS-interop.

    [gis_web] Adds id.renderButton JS-interop.

    This PR:

    • Adds renderButton API to id.dart.
    • Breaking Change: Makes JS-interop API more dart2wasm-friendly.
      • Removes external getters for function types
      • Introduces an external getter for the whole libraries instead.
      • Updates README.md with the new way of importing the desired libraries.
    • Adds tests to the oauth2 side of the JS-interop layer.

    Pre-launch Checklist

    • [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
    • [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
    • [x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
    • [x] I signed the CLA.
    • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
    • [x] I listed at least one issue that this PR fixes in the description above.
    • [x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
    • [x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
    • [x] I updated/added relevant documentation (doc comments with ///).
    • [x] I added new tests to check the change I am making, or this PR is test-exempt.
    • [x] All existing and new tests are passing.

    If you need help, consider asking for advice on the #hackers-new channel on Discord.

    opened by ditman 0
  • [pigeon] Moves writeImports to class method

    [pigeon] Moves writeImports to class method

    Adds writeImports method to Generator classes and all subclasses.

    work towards https://github.com/flutter/flutter/issues/117416

    Waiting for https://github.com/flutter/packages/pull/3000 to merge

    p: pigeon 
    opened by tarrinneal 0
  • [go_router_builder]Update the way to pass the `extra` param in router_config

    [go_router_builder]Update the way to pass the `extra` param in router_config

    issue: https://github.com/flutter/flutter/issues/111837

    Pre-launch Checklist

    • [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
    • [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
    • [x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
    • [x] I signed the CLA.
    • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
    • [x] I listed at least one issue that this PR fixes in the description above.
    • [x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
    • [x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
    • [ ] I updated/added relevant documentation (doc comments with ///).
    • [ ] I added new tests to check the change I am making, or this PR is test-exempt.
    • [x] All existing and new tests are passing.

    If you need help, consider asking for advice on the #hackers-new channel on Discord.

    needs tests p: go_router_builder 
    opened by hangyujin 1
  • [pigeon] Fix missed casting of not nullable Dart int to Kotlin long

    [pigeon] Fix missed casting of not nullable Dart int to Kotlin long

    Kotlin generator creates source code that throws on executing because of missed necessary casting.

    Pre-launch Checklist

    • [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
    • [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
    • [x] I read and followed the [relevant style guides] and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
    • [x] I signed the [CLA].
    • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
    • [ ] I listed at least one issue that this PR fixes in the description above.
    • [x] I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy], or this PR is [exempt from version changes].
    • [x] I updated CHANGELOG.md to add a description of the change, [following repository CHANGELOG style].
    • [ ] I updated/added relevant documentation (doc comments with ///).
    • [x] I added new tests to check the change I am making, or this PR is [test-exempt].
    • [x] All existing and new tests are passing.
    p: pigeon 
    opened by ycherniavskyi 1
  • [Go_Router] 117514: Added hasRoute to GoRouter -  Checks if the given path matches a registered route

    [Go_Router] 117514: Added hasRoute to GoRouter - Checks if the given path matches a registered route

    This is the implementation for a new feature suggested in 117514

    The issue does a great job explaining the use case.

    Pre-launch Checklist

    • [x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
    • [x] I read the Tree Hygiene wiki page, which explains my responsibilities.
    • [x] I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
    • [x] I signed the CLA.
    • [x] The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
    • [x] I listed at least one issue that this PR fixes in the description above.
    • [x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
    • [x] I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
    • [x] I updated/added relevant documentation (doc comments with ///).
    • [x] I added new tests to check the change I am making, or this PR is test-exempt.
    • [x] All existing and new tests are passing.

    If you need help, consider asking for advice on the #hackers-new channel on Discord.

    p: go_router 
    opened by dancamdev 2
Releases(flutter_lints-v1.0.0-dev.0)
Owner
Flutter
Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, desktop, and embedded devices from a single codebase.
Flutter
Dumbo - A collection of all dumb stuff at one place, this repo is to be maintained for people who just simply are taking break from huge stuff and practicing something.

dumbo A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this is

Krish Bhanushali 1 Jan 3, 2022
This package helps developer to sort the flutter/dart packages and plugins alphabetically, This makes it easier when managing too many packages and when working with teams

Package helps to sort the flutter/dart packages and plugins alphabetically, This makes it easier when managing too many packages and when working with

DANCHE 7 Dec 21, 2022
EZ Flutter is a collection of widgets, packages and many more usefull things, mixed up in little framework.

(Alpha) EZ Flutter is a collection of widgets, packages and many more usefull things, mixed up in a little framework. The aim is to make standard feat

null 65 Nov 5, 2022
A collection of Flutter apps with some useful tricks

Flutter Apps Collection A simple collection of flutter applications with some common use cases & useful little tricks. The apps have been tested in iO

Anis Benna 5 May 12, 2022
A collection of useful scripts for dart or flutter projects

DFS - Dart Flutter Scripts Warning: everything is WIP. A collection of useful scripts for dart or flutter projects. The scripts can be executed in the

null 20 Dec 24, 2022
A collection of useful algorithms in Dart with keeping performance and flexibility on mind.

algorithmic A collection of useful algorithms in Dart with keeping performance and flexibility on mind. Usage The following import will give you acces

Sudipto Chandra 7 Jan 1, 2023
Superpowers for Dart. Collection of useful static extension methods.

If you miss an extension, please open an issue or pull request Resources: Documentation Pub Package GitHub Repository On this page you can find some o

Simon Leier 955 Jan 8, 2023
A personal collection of useful scripts for everyday development, written in Dart.

Suitcase ?? Generated by the Very Good CLI ?? A collection of useful personal scripts and tools. TODO: Improve this README Getting Started ?? If the C

Jeroen Meijer (Jay) 14 Nov 22, 2022
Flutter-ffmpeg - FFmpeg plugin for Flutter. Not maintained anymore. Superseded by FFmpegKit.

flutter_ffmpeg FFmpeg plugin for Flutter. Supports iOS and Android. Not maintained anymore, superseded by FFmpegKit. See FlutterFFmpeg to FFmpegKit Mi

Taner Şener 635 Dec 22, 2022
Cross-platform flutter plugin for reading and writing NFC tags. Not maintained anymore - not looking for new maintainer, fork instead.

nfc_in_flutter NFC in Flutter is a plugin for reading and writing NFC tags in Flutter. It works on both Android and iOS with a simple stream interface

Andi Semler 113 Sep 28, 2022
Actively maintained, community-driven Firebase BaaS for chat applications with an optional chat UI.

Flutter Firebase Chat Core Actively maintained, community-driven Firebase BaaS for chat applications with an optional chat UI. Flyer Chat is a platfor

Flyer Chat 173 Jan 2, 2023
Flutter-Apps-Collection: a collection of apps made in flutter for learning purpose

Flutter-Apps-Collection This is a repository of a collection of apps made in flutter for learning purpose Some Screenshots . . . Apps build in Flutter

Himanshu Singh 96 May 27, 2022
Projek Pilihan KK3 Flutter (Cakapp - Team Terbang)

projectcakapp A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you starte

kevin-69 0 Nov 26, 2021
This is the Zuri Chat Android app project repository handled by TEAM SOCRATES, written with pure Flutter.

Zuri Chat Overview This is the Zuri Chat Android app project repository handled by TEAM SOCRATES, written with pure Flutter. NB: Always contact Team l

Zuri Chat 32 Nov 22, 2022
A Very Good Flutter Federated Plugin created by the Very Good Ventures Team 🦄

Very Good Flutter Plugin Developed with ?? by Very Good Ventures ?? A Very Good Flutter Plugin created by the Very Good Ventures Team. Getting Started

Very Good Open Source 14 Oct 19, 2022
A Very Good Flutter Package Template created by the Very Good Ventures Team 🦄

Very Good Flutter Package Developed with ?? by Very Good Ventures ?? A Very Good Flutter package created by Very Good Ventures ?? . Getting Started ??

Very Good Open Source 32 Dec 13, 2022
SPAJAM 2022 app by Flutter Lovers team.

spajam2022 A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Kosuke Saigusa 13 Dec 26, 2022
SPAJAM 2022 final round app by Flutter Lovers team.

spajam2022final A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Kosuke Saigusa 7 Dec 15, 2022
The UI/UX of Music app from Capi Design team.

elexto_music A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

null 47 Sep 7, 2021