fabrik_layout 1.1.0
fabrik_layout: ^1.1.0 copied to clipboard
A lightweight, opinionated layout and responsiveness foundation for Flutter applications.
Changelog #
All notable changes to this package are documented in this file.
The format is based on Keep a Changelog, and this project adheres to semantic versioning.
1.1.0 #
- Added:
FabrikLayoutData.orientation— exposes the device orientation derived fromMediaQuery; access viacontext.layout.isPortraitandcontext.layout.isLandscape - Added:
FabrikTextScaleConfig— configuration class for overriding default text scale floors per device category; pass toFabrikLayout(textScaleConfig: ...)whenenableTextScalingistrue - Added:
FabrikLayoutData.copyWith()— returns a modified copy of the layout snapshot - Fix:
context.layoutnow throws aStateErrorin both debug and release mode whenFabrikLayoutis missing — previously theassertwas stripped in release builds, leaving a force-unwrap!that could crash silently - Fix:
FabrikLayoutDatanow implements==andhashCode— without value equality,FabrikLayoutScope.updateShouldNotifyalways returnedtrue(reference comparison on freshly-created instances), causing unnecessary rebuilds on every layout change - Fix:
FabrikBreakpointsnow assertsmobile < tabletat construction time to catch invalid configurations early - Added
==andhashCodetoFabrikBreakpoints
1.0.0 #
This is the first stable release of fabrik_layout and defines the long-term public API and boundaries of the package.
The package is intentionally minimal and focuses exclusively on layout context and optional text scaling.
Added #
FabrikLayoutwidget for providing layout context to the app- Width-based device classification:
- Mobile
- Tablet
- Desktop
- Default, opinionated breakpoint definitions via
FabrikBreakpoints FabrikLayoutDataimmutable snapshot exposed viaBuildContextBuildContextextension:context.layout
- Optional, opt-in global text scaling using Flutter’s
TextScaler - Safe
MediaQueryintegration without theme mutation