PackageTrack
Sign in Get early access

flutter_portal

Evolved Overlay/OverlayEntry - declarative not imperative, intuitive-context, and easy-alignment

1.1.4 156K downloads/mo #948 most downloaded on pub.dev fzyzcjy/flutter_portal

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Release timing varies

gaps range from 3 weeks to 11 months

Nearly every release is documented

notes for 13 of 13 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

16 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

16 releases · Jan 2020 to May 2023
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 16
  1. 1.1.4 24 May 2023
    Release notes
    Open source →
    Release notes
    • Migrate to Dart 3 (#102, #98, #97 thanks @srawlins)
    Open source →
  2. 1.1.3 15 Dec 2022
    Release notes
    • Allow EnhancedLayerLink to be used on it's own #96 (thanks @cgestes)
    Open source →
    Release notes
    • Allow EnhancedLayerLink to be used on it's own #96 (thanks @cgestes)
    Open source →
  3. 1.1.2 25 Oct 2022
    Release notes
    • Fix Layer ... was previously used as oldLayer assertion error in debug mode, and page being blank in release mode #91
    Open source →
    Release notes
    • Fix Layer ... was previously used as oldLayer assertion error in debug mode, and page being blank in release mode #91
    Open source →
  4. 1.1.1 02 Aug 2022
    Release notes
    • Export some methods
    • Fix Flutter 3.0 warnings
    Open source →
    Release notes
    • Export some methods
    • Fix Flutter 3.0 warnings
    Open source →
  5. 1.1.0 13 May 2022
    Release notes
    • Upgrade to Flutter 3.0
    • Export Filled anchor #74 (thanks @mityax)
    Open source →
    Release notes
    • Upgrade to Flutter 3.0
    • Export Filled anchor #74 (thanks @mityax)
    Open source →
  6. 1.0.0 19 Apr 2022
    Release notes
    • Fix _debugCheckLeaderBeforeFollower(forwardLayers, inverseLayers)': LeaderLayer anchor must come before FollowerLayer in paint order, but the reverse was true. (@fzyzcjy)
    • Aligned.backup is always used even if it should not; cause: getFollowerOffset's portalRect argument is wrong #63 (@fzyzcjy)
    • CustomRenderFollowerLayer._computeLinkedOffset is wrong especially when having a RepaintBoundary at ancestor which is quite common #62 (@fzyzcjy)
    • _RenderPortalTargetTheater.applyPaintTransform is wrong when using operations like globalToLocal(ancestor: something); it only works correctly with globalToLocal() without ancestors param #61 (@fzyzcjy)
    • localToGlobal or similar methods are wrong for widgets in the subtree of portal follower #65 (@fzyzcjy)
    • Touch (click) events are drifted (shifted incorrectly) for PortalTargets #64 (@fzyzcjy)
    • Allow the follower partially follow the target in selected axis; allow align relative to Portal #17 (@fzyzcjy)
    • Shift portal follower to be inside the bounds of portal #67 (@fzyzcjy)
    • Extract the composited transform ("leader/follower") in this library to beautify the code and allow users to use them directly #70 (@fzyzcjy)
    Open source →
    Release notes
    • Fix _debugCheckLeaderBeforeFollower(forwardLayers, inverseLayers)': LeaderLayer anchor must come before FollowerLayer in paint order, but the reverse was true. (@fzyzcjy)
    • Aligned.backup is always used even if it should not; cause: getFollowerOffset's portalRect argument is wrong #63 (@fzyzcjy)
    • CustomRenderFollowerLayer._computeLinkedOffset is wrong especially when having a RepaintBoundary at ancestor which is quite common #62 (@fzyzcjy)
    • _RenderPortalTargetTheater.applyPaintTransform is wrong when using operations like globalToLocal(ancestor: something); it only works correctly with globalToLocal() without ancestors param #61 (@fzyzcjy)
    • localToGlobal or similar methods are wrong for widgets in the subtree of portal follower #65 (@fzyzcjy)
    • Touch (click) events are drifted (shifted incorrectly) for PortalTargets #64 (@fzyzcjy)
    • Allow the follower partially follow the target in selected axis; allow align relative to Portal #17 (@fzyzcjy)
    • Shift portal follower to be inside the bounds of portal #67 (@fzyzcjy)
    • Extract the composited transform ("leader/follower") in this library to beautify the code and allow users to use them directly #70 (@fzyzcjy)
    Open source →
  7. 1.0.0-dev.2 21 Mar 2022 pre-release
    Release notes
    • Fix broken images in pub
    Open source →
  8. 1.0.0-dev.1 20 Mar 2022 pre-release
    Release notes
    • New anchoring logic for advanced use cases #44 (@creativecreatorormaybenot for the main PR, @fzyzcjy for Flutter stable compatibility)
    • Allow PortalEntry that binds to a ancestor but not nearest Portal #45 (@fzyzcjy)
    • Enhance scope searching strategy: Defaults to "main" scope if provided #51 (@fzyzcjy)
    • Sync those modified-from-Flutter code with latest Flutter code and some refactor (@fzyzcjy #50)
    • Add debugLabel to ease debugging (@fzyzcjy)
    • Fix Failed assertion: '_lastOffset != null' in various cases, which should exist in Flutter 2.8~2.10 and flutter_portal from old to new (@fzyzcjy #56)
    • New readme and documentations (@fzyzcjy)
    Open source →
    Release notes
    • New anchoring logic for advanced use cases #44 (@creativecreatorormaybenot for the main PR, @fzyzcjy for Flutter stable compatibility)
    • Allow PortalEntry that binds to a ancestor but not nearest Portal #45 (@fzyzcjy)
    • Enhance scope searching strategy: Defaults to "main" scope if provided #51 (@fzyzcjy)
    • Sync those modified-from-Flutter code with latest Flutter code and some refactor (@fzyzcjy #50)
    • Add debugName to ease debugging (@fzyzcjy)
    • Fix Failed assertion: '_lastOffset != null' in various cases, which should exist in Flutter 2.8~2.10 and flutter_portal from old to new (@fzyzcjy #56)
    • New readme and documentations (@fzyzcjy)
    Open source →
  9. 0.4.0 19 Apr 2021
    Release notes

    update flutter constraints

    Open source →
    Release notes
    • Stable null-safety release
    Open source →
  10. 0.4.0-nullsafety.0 28 Jan 2021 pre-release
    Release notes

    Migrate to NNBD (#23)

    Open source →
    Release notes
    • Migrated to null-safety (thanks to @Jjagg!)
    Open source →
  11. 0.3.0 04 Oct 2020
    Release notes
    • Improved the dart-doc of Portal and PortalEntry

    • Added and improved the examples

    • Fixed a bug where changing the visibility of a portal destroys the state of child

    • Adding a way to delay the disappearance of a portal entry:

      PortalEntry(
        visible: visible,
        closeDuration: Duration(seconds: 2),
        portal: ...,
        child: ...
      )
      

      With this code, when visible changes to false, the portal will stay visible for an extra 2 seconds.

      This can be useful to implement leave animations. For example, the following implement a fade-out transition:

      PortalEntry(
        visible: visible,
        closeDuration: Duration(seconds: 2),
        portal: AnimatedOpacity(
          duration: Duration(seconds: 2),
          opacity: visible ? 1 : 0,
          child: Container(color: Colors.red),
        ),
        child: ...
      )
      
    Open source →
  12. 0.2.0 02 Oct 2020
    Release notes
    • Update to support latest Flutter version
    Open source →
  13. 0.1.0 06 May 2020
    Release notes
    • Changed the algorithm behind how portals/overlays are rendered.
      This fixes some problems when combined with LayoutBuilder

    • Removed the generic parameter of PortalEntry

    Open source →
  14. 0.0.1 26 Jan 2020
    Release notes

    Initial implementation

    Open source →
  15. 0.0.1+1 26 Jan 2020
    Release notes

    Improve package description

    Open source →
  16. 0.0.1+2 28 Jan 2020
    Release notes

    Fix pub badge

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive