expandable_plus 1.0.0 copy "expandable_plus: ^1.0.0" to clipboard
expandable_plus: ^1.0.0 copied to clipboard

Expandable and collapsible panels with accordion groups for Flutter. A maintained, drop-in successor to the expandable package; adds header padding, fixes body-tap toggling.

1.0.0 #

First stable release. The API below is what 1.0 freezes.

  • Fix allowAllCollapsed: false not holding at the start. The flag documents that the group "always keeps one member expanded", but the group only ever maintained that: _onMemberChanged re-expands the last open member when it closes, and nothing fires it while members are only joining. A group whose members all started collapsed — the ordinary case, since initialExpanded defaults to false — therefore sat at zero expanded indefinitely, the one state the flag exists to forbid. Randomised toggling across 100 groups and 2000 transitions hit it 24 times. Joining a group in that state now expands the first member, which is what an accordion with no explicit initialExpanded should look like. A member that joins already expanded still wins, and allowAllCollapsed: true is unchanged: those groups still start with everything closed.

The mutual-exclusion half of the invariant was already sound — the same 2000 transitions produced no case of two members open at once, in either mode.

0.2.4 #

  • Fix a leak: ExpandableNotifier created its own ExpandableController whenever no controller was passed in, but never disposed it. This is the default path for a bare ExpandablePanel and for the accordion pattern (ExpandableNotifier(group: ...)). In the accordion case the effect went beyond a passive leak: ExpandableGroupController only removes a member from its dispose(), so every panel built and then discarded (a list item removed or filtered, a route popped) left a dead controller permanently registered in the group. ExpandableNotifier now disposes the controller it created for itself and leaves a caller-supplied controller alone, same as before.

0.2.3 #

  • Install instructions now say pub add instead of pinning a version. The pinned number was stale by several releases and would have been stale again after the next one: the README ships frozen in the archive, so a hand-edited version line is wrong the moment anything is published. This one cannot go out of date.

0.2.2 #

  • Shorten the screenshot description. pub.dev accepts up to 200 characters but scores only those under 160, so the previous release published cleanly and quietly gave up the documentation points it was meant to earn.

0.2.1 #

  • Declare the demo in pubspec.yaml so pub.dev shows it on the package page. The recording was already in the repository and in the README, but pub.dev only renders what the screenshots: field points at, so anyone landing on the page from search saw text where the demo should have been.

0.2.0 #

  • The header is now accessible. ExpandableButton exposes the button role and the panel's expanded state to the semantics tree, so a screen reader announces "collapsed" or "expanded" and announces the change when the user presses it. Before this the header was a bare tap target: no role, no state, and nothing said when it toggled, which left the widget unusable with assistive technology. Every header and header icon goes through ExpandableButton, so panels and accordion groups get it with no changes, and the flag follows the controller when the panel is expanded from code.

0.1.1 #

  • Docs: sharpen the pub.dev description to lead with the value and the terms people search.

0.1.0 #

First release, continuing the expandable package.

  • Keeps the public API of expandable 5.0.1, so existing code works after changing the import.
  • Accordion groups through ExpandableGroupController, so sibling panels can be made mutually exclusive, with an allowAllCollapsed option to keep one panel open (expandable issue #8).
  • headerPadding on ExpandableThemeData to control the space around the header (expandable issue #72).
  • Body taps now toggle a standalone ExpandablePanel (expandable issue #50).
  • A worked example that compiles and runs (expandable issue #114).
0
likes
0
points
769
downloads

Publisher

verified publisherdeveloperyusuf.com

Weekly Downloads

Expandable and collapsible panels with accordion groups for Flutter. A maintained, drop-in successor to the expandable package; adds header padding, fixes body-tap toggling.

Repository (GitHub)
View/report issues

Topics

#expandable #accordion #collapsible #widget #ui

License

unknown (license)

Dependencies

flutter

More

Packages that depend on expandable_plus