adaptive_kit 2.0.1
adaptive_kit: ^2.0.1 copied to clipboard
The Tailwind CSS of Flutter. Zero-config adaptive UI toolkit with responsive breakpoints, adaptive widgets, design tokens, animated transitions, slivers, and utility extensions.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.0.1 - 2026-02-27 #
Fixed #
- Fixed angle bracket in dartdoc comment for pub.dev analysis
- Removed unnecessary
dart:uiimport in test_helpers.dart - 160/160 pub points compliance
2.0.0 - 2026-02-27 #
Added #
-
SmartApp - Zero-config MaterialApp wrapper that auto-configures SmartUi
SmartAppfor Navigator-based appsSmartApp.routerfor Router-based apps (go_router, auto_route, etc.)SmartCupertinoAppandSmartCupertinoApp.routerfor Cupertino apps- Automatically wraps with SmartUi via MaterialApp.builder
-
SmartImage - Responsive image widget with breakpoint-specific assets
- Different images per breakpoint (mobile, tablet, desktop, etc.)
SmartImage.asset()for asset images with path stringsSmartImage.network()for network images with URLsSmartDecorationImagefor responsive background images- Cascading resolution (falls back to smaller breakpoint images)
-
SmartForm - Responsive form layout with automatic column adjustment
- Auto 1-column on mobile, 2-column on tablet, 3-column on desktop
SmartFormFieldwith span support for multi-column fieldsSmartFormRowfor custom row layoutsSmartFormSectionwith title, description, and grouped fields- Customizable column counts per breakpoint
-
SmartSliver widgets - Responsive slivers for CustomScrollView
SmartSliverGridwith breakpoint-based column countsSmartSliverGrid.builderfor lazy grid buildingSmartSliverGridExtentfor max extent-based gridsSliverSmartPaddingfor responsive sliver paddingSliverSmartVisiblefor breakpoint-conditional sliversSliverSmartListwith different builders per breakpoint
-
SmartWrap - Responsive Wrap with maxItemsPerRow per breakpoint
SmartWrap.spaced()with token-based spacingfillRowoption to expand items to fill available widthSmartChipWrapfor chip/tag layouts with selection support
-
Animated Breakpoint Transitions - Smooth transitions when breakpoints change
SmartTransitionenum: none, fade, fadeSlide, crossFade, scaletransition,transitionDuration,transitionCurveon SmartLayouttransitionBuilderfor custom animations on SmartLayout- Same transition options on SmartVisible
- AnimatedSwitcher integration with proper keying
-
SmartTheme - Breakpoint-aware design token system
SmartThemewidget for providing responsive theme dataSmartThemeDatawith typography, spacing, padding, radius, and layout tokens- Pre-built themes:
SmartThemeData.mobile,.tablet,.desktop SmartThemeData.lerp()for animated theme transitions- Custom tokens via
customTokensmap andtoken<T>()accessor context.smartThemeextension for easy access
-
SmartSafeArea - Responsive safe area wrapper
- Per-breakpoint control of safe area edges
SmartSafeArea.mobileOnly()- safe area only on mobileSmartSafeArea.topOnlyMobile()- top safe area only on mobileSliverSmartSafeAreafor slivers- New context extensions:
safeAreaTop,safeAreaBottom,safeAreaLeft,safeAreaRight safeAreaHorizontal,safeAreaVertical,hasSafeAreaPadding,hasTopSafeArea,hasBottomSafeArea
-
Golden Test Helpers - Utilities for testing responsive widgets
BreakpointTestConfigfor defining test configurationsSmartTestConfigswith pre-built configs (watch, mobile, tablet, desktop, tv)createSmartTestWidget()helper for widget testscreateSmartTestWidgetForConfig()for config-based teststestSmartBreakpoints()template for multi-breakpoint testingBreakpointCapturewidget for capturing current breakpoint in testsBreakpointDebugOverlayfor visual debugging
-
New Context Extensions
context.adaptive<T>(material:, cupertino:)- platform-based value selectioncontext.adaptiveWidget(material:, cupertino:)- platform-based widget selectioncontext.showOnly(breakpoints:, child:)- show widget on specific breakpointscontext.hideOn(breakpoints:, child:)- hide widget on specific breakpointscontext.bp<T>()- shorter alias for responsive value selectioncontext.mobileOr<T>(mobile:, other:)- mobile vs non-mobile valuecontext.desktopOr<T>(desktop:, other:)- desktop vs non-desktop value
Changed #
- BREAKING: Minimum Flutter version is now 3.10.0
- Improved documentation throughout all public APIs
- Enhanced cascading logic for better breakpoint fallbacks
Fixed #
- Consistent patterns across all responsive widgets
- Better null safety handling in cascading resolution
1.1.3 - 2025-02-24 #
Fixed #
- Fixed all deprecated API warnings for Flutter 3.32+ (activeColor, groupValue, onChanged in SmartRadio)
- Added big dashboard button to README
- Full 160/160 pub points compliance
1.0.2 - 2025-02-24 #
Added #
- Interactive Dashboard Example App
- 8 demo pages showcasing all package features
- Home/Overview with feature grid and quick stats
- Breakpoints Demo with live breakpoint detection
- Responsive Layout Demo with SmartLayout examples
- Responsive Grid Demo with interactive sliders
- Adaptive Widgets Demo with all SmartButton, SmartSwitch, SmartDialog variants
- Design Tokens Demo with typography, spacing, and radius scales
- Visibility Demo with SmartVisible and shortcut widgets
- Extensions Demo with context, widget, and number extensions
- Dark/Light theme toggle
- Responsive design using adaptive_kit itself
Changed #
- README.md completely rewritten
- Added comparison table with other packages
- Added before/after code examples
- Added comprehensive feature documentation
- Added dashboard preview section
- Improved code examples with adaptive_kit naming
Fixed #
- Updated all code examples to use
adaptive_kitinstead ofsmartui - Fixed import paths in documentation
1.0.1 - 2025-02-24 #
Fixed #
- Added web support with conditional dart:io imports
- Fixed repository and homepage URLs to point to correct GitHub repo
- Fixed lint warnings for pub.dev compliance
- Updated SDK constraint to ^3.7.0
1.0.0 - 2025-02-24 #
Changed #
- Package renamed from
smartuitoadaptive_kitfor pub.dev availability - Complete API rewrite with improved design
- Zero dependencies (only Flutter SDK)
- Comprehensive test coverage
Added #
-
Core Module
SmartBreakpointenum with watch, mobile, tablet, desktop, and tv breakpointsSmartBreakpointsclass for customizable breakpoint configurationSmartUiwidget for global configuration with InheritedWidgetSmartPlatformenum and platform detection utilities
-
Responsive Module
context.responsive<T>()extension for breakpoint-based valuescontext.responsiveInt(),context.responsiveDouble(),context.responsiveBool()context.responsivePadding()for responsive EdgeInsetsSmartLayoutwidget for breakpoint-driven layout switchingSmartGridandSmartColfor 12-column responsive grid systemResponsiveBuilderwidget with comprehensive breakpoint informationBreakpointBuilderfor simple breakpoint accessBreakpointObserverthat only rebuilds on breakpoint changesSmartVisiblewidget for conditional visibility by breakpointMobileOnly,TabletOnly,DesktopOnlyconvenience widgetsHideOnMobile,HideOnDesktopconvenience widgets
-
Tokens Module
SmartSpacingconstants (zero, xs, sm, md, lg, xl, xxl)SmartSpacingTokensfor custom spacing configurationSmartTypographyscale with 15 text styles (display, headline, title, body, label)SmartRadiustokens (none, xs, sm, md, lg, xl, xxl, full)RadiusSizeenum with.borderRadiusand.valuegetters
-
Widgets Module
SmartPaddingwith.all(),.symmetric(),.only(),.responsive()constructorsSmartHorizontalPadding,SmartVerticalPaddingconvenience widgetsSmartGapwith.xs(),.sm(),.md(),.lg(),.xl(),.xxl(),.responsive()VGap,HGapfor vertical and horizontal gapsSmartTextwith.responsive()constructor for breakpoint-based typographyDisplayText,HeadlineText,BodyText,LabelTextconvenience widgetsSmartContainerwith.sm(),.md(),.lg(),.xl(),.xxl(),.fluid(),.responsive()ResponsivePaddedContainer,CenteredContentconvenience widgetsSmartRowfor rows with token-based spacing
-
Adaptive Module
SmartScaffoldwith auto-switching navigation (bottom nav on mobile, rail on tablet, drawer on desktop)SmartAppScaffoldfor simple scaffold without navigationSmartDestinationfor navigation destinations with badgesSmartNavigationfor standalone adaptive navigationSmartNavItemfor navigation itemsSmartButtonwith.filled(),.text(),.outlined()variantsSmartIconButtonfor icon buttonsSmartSwitchfor adaptive toggle switchesSmartCheckboxfor adaptive checkboxesSmartRadio<T>for adaptive radio buttonsshowSmartDialog()for adaptive alert dialogsshowSmartConfirmDialog()for adaptive confirmation dialogsshowSmartBottomSheet()for adaptive bottom sheetsshowSmartActionSheet()for adaptive action sheetsSmartDialogAction,SmartSheetActionfor dialog/sheet actionsSmartIndicatorfor circular progress (determinate and indeterminate)SmartLinearIndicatorfor linear progressSmartLoadingOverlayfor loading statesSmartRefreshIndicatorfor pull-to-refreshSmartTabBarfor adaptive tab barsSmartBreadcrumbsfor navigation breadcrumbs
-
Extensions Module
- Context extensions:
- Screen:
.screenWidth,.screenHeight,.screenSize,.devicePixelRatio,.textScaleFactor - Orientation:
.isPortrait,.isLandscape,.orientation,.aspectRatio - Breakpoints:
.breakpoint,.isWatch,.isMobile,.isTablet,.isDesktop,.isTv - Breakpoint ranges:
.isMobileOrSmaller,.isTabletOrLarger,.isDesktopOrLarger - Platform:
.platform,.isAndroid,.isIOS,.isMacOS,.isWindows,.isLinux,.isWeb - Platform groups:
.isMobilePlatform,.isDesktopPlatform,.isApplePlatform - Design system:
.usesMaterial,.usesCupertino - Safe areas:
.safeAreaPadding,.viewPadding,.viewInsets,.isKeyboardVisible - Config:
.smartUiConfig,.breakpoints
- Screen:
- Widget extensions:
- Visibility:
.showOnly(),.hideOn(),.showOnMobile(),.showOnTablet(),.showOnDesktop(),.hideOnMobile(),.hideOnDesktop() - Padding:
.responsivePadding(),.withPadding(),.withSymmetricPadding(),.withPaddingOnly(),.padded(),.paddedAll(),.paddedSymmetric(),.paddedHorizontal(),.paddedVertical() - Layout:
.centered(),.expanded(),.flexible(),.sized(),.constrained(),.aligned() - Decoration:
.clipped(),.decorated(),.opacity() - Gestures:
.onTap(),.inkWell() - Safe area:
.safeArea() - Scrolling:
.scrollable()
- Visibility:
- Number extensions:
- Scaled sizing:
.w,.h,.sp(with SmartSize initialization) - Screen percentage:
.sw,.sh - Spacing:
.horizontalSpace,.verticalSpace,.horizontalSpaceScaled,.verticalSpaceScaled - Padding:
.paddingAll,.paddingHorizontal,.paddingVertical,.paddingLeft,.paddingRight,.paddingTop,.paddingBottom - Decoration:
.borderRadius,.radius - Duration:
.ms,.seconds,.minutes
- Scaled sizing:
- Context extensions:
Documentation #
- Comprehensive README with comparison table and code examples
- Interactive example app with 8 demo pages
- Full API documentation for all public classes and methods