kiss_layout 2.0.0
kiss_layout: ^2.0.0 copied to clipboard
A simple system for standardizing layout in flutter
2.0.0 #
Breaking Changes #
- BREAKING: Renamed
LayoutScreenSizestoLayoutScreenBreakpoints - BREAKING: Removed
minLanscapeTableWidthproperty (had typo in name) - BREAKING: Changed to T-shirt size naming with two breakpoints:
mediumStartPoint(default: 600) - where medium screens startlargeStartPoint(default: 960) - where large screens start
Added #
- Opinionated breakpoint system with three screen sizes:
- Small: width < 600
- Medium: 600 ≤ width < 960
- Large: width ≥ 960
Migration Guide #
Replace LayoutScreenSizes with LayoutScreenBreakpoints:
// Before
screenSizes: LayoutScreenSizes(minLanscapeTableWidth: 800)
// After
screenSizes: LayoutScreenBreakpoints(
mediumStartPoint: 600,
largeStartPoint: 960,
)
Access breakpoints using the new property names:
final breakpoints = Layout.of(context).screenSizes;
if (width < breakpoints.mediumStartPoint) {
// Small screen
} else if (width < breakpoints.largeStartPoint) {
// Medium screen
} else {
// Large screen
}
1.3.0 #
Added #
- Convenience factory constructors for all padding widgets to enable selective padding application:
onlyVertical- applies padding only to top and bottomonlyHorizontal- applies padding only to left and rightonlyBottom- applies padding only to bottomonlyTop- applies padding only to toponlyLeft- applies padding only to leftonlyRight- applies padding only to rightonlyHorizontalAndBottom- applies padding to left, right, and bottomonlyHorizontalAndTop- applies padding to left, right, and top
- Available for all padding widgets:
PaddingInnerSmall,PaddingInnerMedium,PaddingInnerLarge,PaddingOuterSmall,PaddingOuterMedium,PaddingOuterLarge
1.2.0 #
- BREAKING: Refactored Layout widget to use a single
LayoutDataparameter instead of individual properties- All layout configuration is now encapsulated in the
LayoutDataclass - Added predefined layouts:
LayoutData.standard,LayoutData.compact, andLayoutData.spacious - Existing code using individual properties will need to be updated to use
LayoutData
- All layout configuration is now encapsulated in the
1.1.0 #
Added #
LayoutIconSizesfor standardized icon dimensions (24×24, 16×16, 12×12)- Pre-built icon widgets:
IconLarge,IconMedium, andIconSmallfor easy access to consistent icon sizes
Changed #
- Fixed all linter warnings by disabling
public_member_api_docsrule - Applied dart fix to remove redundant argument values
- Converted unnecessary double literals to integers
- Sorted dependencies alphabetically in pubspec.yaml
1.0.0 #
All notable changes to the Kiss Layout package will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Added #
- Initial release of Kiss Layout package
- Core Layout widget with InheritedWidget implementation
- T-Shirt size system (S, M, L) for consistent spacing
- Layout configuration options:
LayoutItemGapsfor spacing between elementsLayoutEdgeSpacingfor outer and inner paddingLayoutActionSizesfor standardized button dimensionsLayoutCornerRadiifor consistent corner roundingLayoutHeroSizesfor featured element dimensionsLayoutScreenSizesfor responsive breakpoints
- Pre-built gap widgets:
GapSmallGapMediumGapLarge
- Padding widgets with inner/outer variants:
PaddingInnerSmallPaddingInnerMediumPaddingInnerLargePaddingOuterSmallPaddingOuterMediumPaddingOuterLarge
- EdgeInsets convenience extensions for directional padding
- Global layout configuration support
- Layout override capability for specific sections
- Modal bottom sheet height configuration
Documentation #
- Full README with usage examples
- Inline code documentation
- Example implementations of custom layouts (CompactLayout, SpaciousLayout)