Extended UI: a real widget kit in every FlutterInit scaffold
FlutterInit now generates 50+ adaptive App widgets by default, plus optional shadcn_ui ShadApp wrappers you pick on the UI & theme step.
FlutterInit now generates 50+ adaptive App widgets by default, plus optional shadcn_ui ShadApp wrappers you pick on the UI & theme step.
Most Flutter generators stop at folders and pubspec.yaml. You unzip, open login, and still face raw ElevatedButton and a TextField with magic padding. That is where the week disappears.
I got tired of that. So FlutterInit now ships Extended UI: a product widget kit under lib/src/shared/widgets/ui/, generated with the rest of the project.
Every scaffold includes the App kit. Fifty-plus App widgets that pick Material or Cupertino at runtime through AppPlatformScope.
| Category | Examples |
|---|---|
| Actions | AppButton, AppIconButton, AppFab, AppChip |
| Inputs | AppTextField, AppPasswordField, AppOtpField, AppDatePicker |
| Display | AppCard, AppAvatar, AppBadge, AppDataTable |
| Feedback | Loading, empty states, dialogs, sheets, snackbars |
| Navigation | AppScaffold, AppTopBar, AppBottomNavBar, AppTabBar |
| Layout | AppGap, AppSection, AppResponsiveBuilder |
Platform style is one of three modes:
ColorSchemeOverride one widget with platform:, or wrap a subtree when a screen needs a different look. Debug builds include /debug/ui-showcase so you can poke every control without writing a throwaway page.
On the UI & theme step, pick shadcn_ui and generation adds the shadcn_ui package, a ShadThemeData bridge from the same seed color, and ShadApp wrappers that mirror the App API.
When shadcn is on, you also choose the root:
AppAppShadAppLogin, signup, home, and onboarding keep the same structure either way. You are not rewriting screens to try a different look.
The kit sits on the same tokens as the rest of the scaffold:
DESIGN.md and the agent docs tell humans and coding agents to reach for AppButton, not a one-off Material control with hex colors.
lib/src/shared/widgets/ui/Same options in the CLI via npx create-flutterinit.
File layout, AppPlatformScope, screen patterns, and wizard config live in the Extended UI guide.
AppSpacing.md
AppBorders.card
AppShadows.elevated
context.colors.primary
context.appColors.success
context.textTheme.titleMedium