save_points_screen_builder 1.0.4
save_points_screen_builder: ^1.0.4 copied to clipboard
A modular, configuration-driven screen generator for common Flutter application flows with Material 3 support.
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.
1.0.4 - 2026-04-17 #
Highlights #
- 🎨 Minimal-Pro design refresh — full Linear/Vercel-flavored pass over every screen and the shared design system, delivered without any breaking API changes. Screens feel quieter, more editorial, and visually consistent in both light and dark modes.
Design System #
- 🎨 Rewrote
AppThemewith a disciplined neutral ladder, hairline borders, tokenized surface-container scale,scrolledUnderElevation: 0, left-alignedAppBartitles with a bottom hairline, and zero-elevation defaults for buttons, FAB, dialogs, bottom sheets and snackbars. - 🎨 Tightened the typography ramp with negative letter-spacing on
display/headline sizes and
FontWeight.w600as the interface weight. - 🎨 Replaced the noisy multi-accent palette with a single disciplined
#0066FFaccent (calibrated to#3B82F6in dark mode). Secondary and tertiary tokens now collapse into neutrals. - 🎨 Added themes for
NavigationBar,TabBar,Switch,ProgressIndicator,Tooltip,SnackBarandDialogso every surface the framework renders inherits the new language. - 🎨 Added the
AppTheme.space14spacing token for tighter vertical rhythm in inputs.
Components #
- ✨
GradientButton: flat solid accent by default (opt-in gradient viagradientColors:), animated press scale, proper disabled state, optionalexpandandheight. - ✨
SPCard: hairline border, no default shadow, optionalelevated,border,clipBehavior, with a realInkWellripple layered on top. - ✨
GlassCard: now uses a realBackdropFilterblur (was a fake translucent box). - ✨
SPFilterChip: true pill shape with a crisp selected state (primary border + 8% tint + primary ink). - ✨
SPListTile: 36×36 tonal leading tile with hairline,destructive: trueanddense: truevariants, tighter type ramp. - ✨
EmptyState: square tonal icon panel with hairline, 360px max-width, optionalsecondaryAction. - ✨
SPAvatar: neutral tonal default with hairline ring, auto-scaled type, opt-in gradient, type weights tuned. - ✨
SPBadge: new semantic variants —neutral,accent,success,warning,danger— with optional leading icon. - ✨
SPSnackBar: flat inverse-surface toast, accent-colored icon per variant, hides previous before showing a new one. - ✨
SectionDivider: eyebrow label on the left + hairline on the right (Linear-style); optionaluppercaseflag. - ✨
SPLoadingIndicator: 22×22 default,strokeWidth: 2with rounded caps, muted caption. - ✨
SkeletonLoader/SkeletonCard/SkeletonListTile: now matchSPCard/SPListTileexactly so loading and loaded states don't jump. - ✨
SliverHeader: left-aligned title, optional subtitle, no surface tint, hairline bottom border. - ✨
SPText: addedSPText.eyebrow(uppercase, tracked) andSPText.displayfactories; existing factories now inherit theme colors.
Screens #
- 🎨 Welcome: new
eyebrow()API; shifted todisplaySmalltypography; unified background-image darkening gradient; logo at 72px. - 🎨 Splash: removed double-bolded headline; 22px rounded-cap spinner.
- 🎨 Error / Success: replaced 100px solid icons with 64×64 tonal tiles
- hairline borders; tokenized success color (
#1F9D55).
- hairline borders; tokenized success color (
- 🎨 Onboarding: top progress counter, 96×96 tonal icon frame, animated dot→pill indicators, centered hero rhythm.
- 🎨 Profile:
SPAvatarwith auto-derived initials,SPListTileaction rows, stats panel with hairline dividers + uppercase labels. - 🎨 Products: neutral fallback placeholder (no rainbow gradient), flat favorite button, solid primary add-to-cart, toned-down price treatment.
- 🎨 Cart: hairline-bordered rows, segmented qty stepper, hairline-top summary bar (no shadow), uppercase TOTAL eyebrow with item count.
- 🎨 Settings:
SPListTilenavigation + toggle rows, uppercase eyebrow section headers,Switch.adaptive. - 🎨 Language / Country selection:
SPListTilewith flag slot, checkmark only renders when selected. - 🎨 Notifications: bordered cards with tonal icon tiles, primary unread dot, tokenized error swipe-background.
- 🎨 Sign-in: removed page gradient, logo halo, gradient title accent, shadowed form card and double-bolded title.
- 🎨 Sign-up / OTP / Forgot password / Edit profile: consistent centered 420px layout, tonal primary icon tile pattern, hairline dividers, and normalized typography.
Fixes #
- 🐛 Cart summary bar no longer hard-codes
$0.00— it now reactively computes the running total and item count from the live cart data, via an internalValueNotifierwired through the intercepteddataLoader. - 🐛 Removed every
FontWeight.boldthat was stacked on top of the theme's already-w600text (fixes over-bold/muddy titles). - 🐛 Replaced hardcoded
Colors.green/Colors.red/Colors.orangewith semantic tokens (affects notifications, success screen, swipe backgrounds).
Breaking Changes #
None. The public API is fully backwards-compatible:
GradientButton(...)still renders correctly for existing call sites; it just looks flat by default. PassgradientColors:to keep the old gradient.SignInTitleWithAccentis retained as a compatibility shim that now renders a plain centered title (the old gradient accent bar has been dropped visually, but the class still exists).SPText.headline/title/body/captionfactories keep the same signatures; new factories (display,eyebrow) are additive.
Known Issues #
None reported.
[1.0.4] - 2026-02-02 #
Added #
Core Features
- ✨ Base screen builder architecture with
ScreenBuilderBase - ✨
ScreenBuilderConfigfor global configuration - ✨ Material 3 support with
ColorScheme.fromSeed - ✨ Mixins for AppBar and loading state support
Form Engine
- ✨ Dynamic form field generation from
FormFieldConfig - ✨ 15+ field types (text, email, password, phone, dropdown, etc.)
- ✨ Comprehensive validator library
- ✨ Runtime field updates and validation
- ✨ Custom field builders support
List Engine
- ✨ Multiple layout types (list, grid, horizontal, adaptive)
- ✨ Built-in pagination and pull-to-refresh
- ✨ Loading, empty, and error states
- ✨ Item builder abstraction (Card, ListTile, GridTile, Custom)
- ✨ Filter and search capabilities
Static Screens
- ✨ Splash screen with animations
- ✨ Multi-page onboarding
- ✨ Welcome screen with action buttons
Form Screens
- ✨ Sign in screen with social login support
- ✨ Sign up screen with terms acceptance
- ✨ OTP/verification screen with resend timer
- ✨ Forgot password screen
List Screens
- ✨ Product list with grid/list layouts
- ✨ Settings screen with navigation and toggle items
- ✨ Profile screen with stats and actions
Developer Experience
- ✨ Fluent builder pattern API
- ✨ Strong typing and null safety
- ✨ Comprehensive documentation
- ✨ Complete example app
- ✨ Architecture guide and usage examples
Developer Notes #
This is the initial release of Save Points Screen Builder. The package provides a production-ready foundation for building common Flutter screens with Material 3 design.
All screen types follow consistent patterns and can be easily extended or customized. The architecture is designed for scalability and maintainability.
Breaking Changes #
None (initial release)
Known Issues #
None reported
Future Releases #
1.2.0 Planned #
Planned Features
- ❌ Internationalization (i18n) support
- ❌ RTL layout support
- ❌ More animation presets
- ❌ Enhanced accessibility features
- ❌ State management integrations (Riverpod, Bloc)
- ❌ Advanced form features (conditional fields, multi-step forms)
- ❌ More list features (sorting, filtering UI)
- ❌ Testing utilities and helpers
1.3.0 Planned #
Potential Features
- ❌ Additional theme presets (Material You, iOS-style, AMOLED pure-black)
- ❌ More screen types (checkout, inbox/chat, settings sections)
- ❌ Analytics integration helpers
- ❌ Performance monitoring hooks
- ❌ A/B testing support
- ❌ Screenshot testing utilities
Contributing #
We welcome contributions! Please see our contributing guidelines before submitting pull requests.
Reporting Issues #
- Use GitHub Issues for bug reports and feature requests
- Include Flutter version, package version, and reproduction steps
- Provide code samples when applicable
Suggesting Features #
- Open a discussion on GitHub
- Describe the use case and benefits
- Consider backwards compatibility
Migration Guides #
From 1.0.x to 1.0.4 #
No code changes are required — 1.0.4 is a visual refresh with a fully backwards-compatible public API. A few opt-in adjustments you may want to make to get the best of the new look:
GradientButton(...)now renders as a flat solid accent by default. If you want to keep a gradient fill for marketing/hero moments, passgradientColors: [...]explicitly.SPAvatar()no longer defaults to a rainbow gradient. If you want the legacy look, passgradientColors: [...].- Welcome screens can now use the new
WelcomeScreenBuilder.eyebrow('...')to add a Linear-style tracked-caps label above the headline. - New typography factories
SPText.display(...)andSPText.eyebrow(...)are available for hero titles and section labels respectively.
From 0.x to 1.0.4 #
Not applicable (initial release)
Acknowledgments #
Thanks to all contributors and the Flutter community for inspiration and feedback.
Built with ❤️ using Flutter 3 and Material 3.