save_points_screen_builder 1.0.4 copy "save_points_screen_builder: ^1.0.4" to clipboard
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 AppTheme with a disciplined neutral ladder, hairline borders, tokenized surface-container scale, scrolledUnderElevation: 0, left-aligned AppBar titles 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.w600 as the interface weight.
  • 🎨 Replaced the noisy multi-accent palette with a single disciplined #0066FF accent (calibrated to #3B82F6 in dark mode). Secondary and tertiary tokens now collapse into neutrals.
  • 🎨 Added themes for NavigationBar, TabBar, Switch, ProgressIndicator, Tooltip, SnackBar and Dialog so every surface the framework renders inherits the new language.
  • 🎨 Added the AppTheme.space14 spacing token for tighter vertical rhythm in inputs.

Components #

  • GradientButton: flat solid accent by default (opt-in gradient via gradientColors:), animated press scale, proper disabled state, optional expand and height.
  • SPCard: hairline border, no default shadow, optional elevated, border, clipBehavior, with a real InkWell ripple layered on top.
  • GlassCard: now uses a real BackdropFilter blur (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: true and dense: true variants, tighter type ramp.
  • EmptyState: square tonal icon panel with hairline, 360px max-width, optional secondaryAction.
  • 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); optional uppercase flag.
  • SPLoadingIndicator: 22×22 default, strokeWidth: 2 with rounded caps, muted caption.
  • SkeletonLoader/SkeletonCard/SkeletonListTile: now match SPCard/SPListTile exactly so loading and loaded states don't jump.
  • SliverHeader: left-aligned title, optional subtitle, no surface tint, hairline bottom border.
  • SPText: added SPText.eyebrow (uppercase, tracked) and SPText.display factories; existing factories now inherit theme colors.

Screens #

  • 🎨 Welcome: new eyebrow() API; shifted to displaySmall typography; 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).
  • 🎨 Onboarding: top progress counter, 96×96 tonal icon frame, animated dot→pill indicators, centered hero rhythm.
  • 🎨 Profile: SPAvatar with auto-derived initials, SPListTile action 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: SPListTile navigation + toggle rows, uppercase eyebrow section headers, Switch.adaptive.
  • 🎨 Language / Country selection: SPListTile with 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 internal ValueNotifier wired through the intercepted dataLoader.
  • 🐛 Removed every FontWeight.bold that was stacked on top of the theme's already-w600 text (fixes over-bold/muddy titles).
  • 🐛 Replaced hardcoded Colors.green / Colors.red / Colors.orange with 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. Pass gradientColors: to keep the old gradient.
  • SignInTitleWithAccent is 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/caption factories 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
  • ScreenBuilderConfig for 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, pass gradientColors: [...] explicitly.
  • SPAvatar() no longer defaults to a rainbow gradient. If you want the legacy look, pass gradientColors: [...].
  • 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(...) and SPText.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.

1
likes
0
points
185
downloads

Publisher

unverified uploader

Weekly Downloads

A modular, configuration-driven screen generator for common Flutter application flows with Material 3 support.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

collection, flutter

More

Packages that depend on save_points_screen_builder