NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3769 most downloaded on pub.dev
Add nestable, resizable containers to your Flutter app with ease.
Last release 1 years ago
10 May 2025
Ships unpredictably
gaps range from 2 weeks to 13 months
Nearly every release is documented
notes for 24 of 24 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
32 releases · first in 2023
Added cascadeNegativeDelta flag to cascade changes through children that have reached their lower bound.
cascadeNegativeDelta flag to cascade changes through children that have reached their lower bound.onDragStart and onDragEnd callbacks to the ResizableDivider.key parameter to the ResizableChild to pass to the child Widget's wrapper.Improved change detection in the container to enable more accurate rebuilds when children change.
One column per quarter.
Fixed a bug causing a custom divider with interactions to break resizing.
Stable release of v4 with all changes of prior beta releases.
Stable release of v4 with all changes of prior beta releases.
Account for expand sizes with min/max bounds
ResizableSize subclasses' constructor's privateMove the min/max bounds out of the ResizableChild and into the ResizableSize
ResizableChild and into the ResizableSizedivider property of the ResizableContainer and add it into the ResizableChildcursor property to the ResizableDivider to display a custom MouseCursor when hovering over the dividerAdd a ResizableLayout widget that uses a custom RenderObject to handle the initial layout and the layout after any properties on the ResizableContaine
ResizableLayout widget that uses a custom RenderObject to handle the initial layout and the layout after any properties on the ResizableContainer are updated.Rewrite the Controller/Container logic to allow Flutter to handle the initial layout of all widgets, updating the rendered sizes in the controller aft
ResizableController.sizes to ResizableController.pixels to more clearly indicate its value.ResizableSize values in the controller. This enables the values to be used even after manually updating them.Fix a bug/add support for RTL Directionality.
However, the package version was incorrectly bumped since this could be a breaking change. This patch reinstates the method, fixing the breaking chang…
ResizableControllerManager#setChildren method. This method was removed because the method it targets on the controller was made public. However, the package version was incorrectly bumped since this could be a breaking change. This patch reinstates the method, fixing the breaking change, but adds a deprecation warning in favor of the public controller method.Make the "setChildren" method of the ResizableContainer public to address a limitation that was causing the "children length equals sizes length" asse
Fix a bug causing negative values in a BoxConstraint, which was throwing an AssertionError (#60).
After much feedback, I revised the ResizableContainerDivider to be even more customizable. The changes include:
After much feedback, I revised the ResizableContainerDivider to be even more customizable. The changes include:
size, indent, and endIndent properties with a length property, of type ResizableSize, to control how long the dividing line iscrossAxisAlignment and mainAxisAlignment properties to control where the line sits in its available space (if the line does not take up its full length and/or has padding, see below).padding property to add empty space along the main axis - the divider sits within, or alongside, this empty spaceNew major version! See the beta notes below.
New major version! See the beta notes below.
Nothing published for this version
Add a ResizableSize.expand constructor that takes a flex integer (defaults to 1)
ResizableSize.expand constructor that takes a flex integer (defaults to 1)size parameter in ResizableChild and use a default ResizableSize.expand() valuenull values for ResizableSize argumentsResizableSize.expand children when scaling the window (up or down) over the pixel and ratio children, unless no expand children are setAdded a new ResizableSize class that defines a "size" in pixels or as a ratio
ResizableSize class that defines a "size" in pixels or as a ratiostartingRatio in the ResizableChild to startingSize that takes an optional ResizableSize
setSizes method to the ResizableController that takes a list of optional ResizableSizes. These sizes will be applied to the current children following the same rules as noted aboveratios setter in favor of the new setSizes methodResizableContainer ctorRenamed ResizableChildData to ResizableChild
ResizableChildData to ResizableChildexpand flag to the ResizableChild ctor
startingRatio set and this flag is true, the child will automatically expand to fill any remaining available space. If this flag is false, the child will only expand to meet its startingRatio constraintstartingRatio is null, the child will automatically expand to fill any remaining available space, regardless of whether or not this flag is setResizableChild objects out of the ResizableController and back into the ResizableContainer as the children parameter
ResizableControllerEncapsulation of divider configuration in a new ResizableDivider class
First stable version!
ResizableDivider class
thickness and size properties, mirroring the Flutter Divider's thickness and width properties, have been addedonHoverEnter and onHoverExit callbacks allow you to react to the user's interactions with the dividerResizableContainer widget and into the ResizableController
ResizableContainer to a StatelessWidget (from stateful)ResizableContainer now requires a List<Widget> as its children property, as the List<ResizableChildData> have been moved into the ResizableControllerFixes an issue with the didUpdateWidget lifecycle hook causing errors to be thrown during hot-reloads
didUpdateWidget lifecycle hook causing errors to be thrown during hot-reloadsAdd tests for ResizableController
ResizableControllerResizableContainerAdd ResizableController to allow programmatic control of resizable children
ResizableController to allow programmatic control of resizable childrenMake divider color and width customizable
Fix package description to improve pub.dev score
Update the Dart SDK constraints to >=3.0.0 <4.0.0
Remove commented code from the example project
Improve documentation and comments
Rework dividers to lie in-line with child widgets, taking up space along the primary axis, instead of being placed in a stack and positioned according
Fix a bug allowing child sizes to grow beyond available space
Fix a bug allowing negative child sizes
- Fix a typo in the README
Container resizes and enforces child size constraints (if present)
Initial Release
Your coding agent can read these notes before it upgrades. Set up the MCP server →