shadcn-flutter

Original🇺🇸 English
Translated

A comprehensive UI ecosystem for Flutter built on the shadcn/ui design system.

5installs
Added on

NPX Install

npx skill4agent add sunarya-thito/shadcn_flutter shadcn-flutter

Tags

Translated version includes tags in frontmatter

Shadcn Flutter

A cohesive UI ecosystem for Flutter—components, theming, and tooling—ready to ditch Material and Cupertino. Built with modern design tokens and high-quality widgets across mobile, web, and desktop.

Getting Started

To set up a fresh Flutter application with Shadcn Flutter:
  1. Add the dependency:
    shell
    flutter pub add shadcn_flutter
  2. Configure your
    main.dart
    :
    dart
    import 'package:shadcn_flutter/shadcn_flutter.dart';
    
    void main() {
      runApp(
        ShadcnApp(
          title: 'My App',
          theme: ThemeData(
            colorScheme: ColorSchemes.darkSlate,
            radius: 0.5,
          ),
          home: const MyHomePage(),
        ),
      );
    }
    
    class MyHomePage extends StatelessWidget {
      const MyHomePage({super.key});
    
      
      Widget build(BuildContext context) {
        return const Scaffold(
          child: Center(
            child: Text('Hello World!').h1(),
          ),
        );
      }
    }

Guides

Learn the core concepts and design system fundamentals.
NameDescriptionPath
IntroductionOverview of the ecosystem, features, and FAQ.guides/introduction.md
InstallationStep-by-step setup for stable and experimental versions.guides/installation.md
ThemingCustomizing tokens like radius, density, and scaling.guides/theming.md
ColorsUsing the Tailwind-based color palette and ColorShades.guides/colors.md
TypographySemantic text styles and widget extensions.guides/typography.md
LayoutSpacing, gaps, and responsive layout helpers.guides/layout.md
IconsAccessing the 10,000+ bundled icons (Lucide, Radix, etc).guides/icons.md
InteropUsing Material and Cupertino widgets incrementally.guides/interop.md
State ManagementGuide to the built-in Data and Model state system.guides/state_management.md
Web PreloaderCustomizing the loading experience for web apps.guides/web_preloader.md

Components

Shadcn Flutter features over 100+ high-quality components. Below are the core categories.

Animation

ComponentPath
Number Tickercomponents/animation/number_ticker.md

Control

ComponentPath
Buttoncomponents/control/button.md

Disclosure

ComponentPath
Accordioncomponents/disclosure/accordion.md
Collapsiblecomponents/disclosure/collapsible.md

Display

ComponentPath
Avatarcomponents/display/avatar.md
Chat Bubblecomponents/display/chat.md
Code Snippetcomponents/display/code_snippet.md
Tablecomponents/display/table.md
Trackercomponents/display/tracker.md

Feedback

ComponentPath
Alertcomponents/feedback/alert.md
Alert Dialogcomponents/feedback/alert_dialog.md
Progresscomponents/feedback/progress.md
Skeletoncomponents/feedback/skeleton.md
Toastcomponents/feedback/toast.md

Form

ComponentPath
AutoCompletecomponents/form/autocomplete.md
Checkboxcomponents/form/checkbox.md
Chip Inputcomponents/form/chip_input.md
Color Pickercomponents/form/color_picker.md
Date Pickercomponents/form/date_picker.md
Formcomponents/form/form.md
Formatted Inputcomponents/form/formatted_input.md
Text Inputcomponents/form/input.md
Input OTPcomponents/form/input_otp.md
Item Pickercomponents/form/item_picker.md
Phone Inputcomponents/form/phone_input.md
Radio Groupcomponents/form/radio_group.md
Selectcomponents/form/select.md
Slidercomponents/form/slider.md
Star Ratingcomponents/form/star_rating.md
Switchcomponents/form/switch.md
Text Areacomponents/form/text_area.md
Time Pickercomponents/form/time_picker.md

Layout

ComponentPath
Cardcomponents/layout/card.md
Card Imagecomponents/layout/card_image.md
Carouselcomponents/layout/carousel.md
Dividercomponents/layout/divider.md
Resizablecomponents/layout/resizable.md
Scaffoldcomponents/layout/scaffold.md
Sortablecomponents/layout/sortable.md
Steppercomponents/layout/stepper.md
Stepscomponents/layout/steps.md
Timelinecomponents/layout/timeline.md

Navigation

ComponentPath
Breadcrumbcomponents/navigation/breadcrumb.md
Dot Indicatorcomponents/navigation/dot_indicator.md
Menubarcomponents/navigation/menubar.md
Navigation Menucomponents/navigation/navigation_menu.md
Paginationcomponents/navigation/pagination.md
Switchercomponents/navigation/switcher.md
Tab Listcomponents/navigation/tab_list.md
Tab Panecomponents/navigation/tab_pane.md
Tabscomponents/navigation/tabs.md
Treecomponents/navigation/tree.md

Overlay

ComponentPath
Dialogcomponents/overlay/dialog.md
Drawercomponents/overlay/drawer.md
Hover Cardcomponents/overlay/hover_card.md
Popovercomponents/overlay/popover.md
Swipercomponents/overlay/swiper.md
Tooltipcomponents/overlay/tooltip.md
Windowcomponents/overlay/window.md

Utility

ComponentPath
Badgecomponents/utility/badge.md
Calendarcomponents/utility/calendar.md
Chipcomponents/utility/chip.md
Commandcomponents/utility/command.md
Context Menucomponents/utility/context_menu.md
Dropdown Menucomponents/utility/dropdown_menu.md
Overflow Marqueecomponents/utility/overflow_marquee.md
Refresh Triggercomponents/utility/refresh_trigger.md
[!TIP] This is a curated list. For the full list of all 100+ components, check the components directory.

Interactive Usage Tips

  1. Wait for Interaction: When using
    Popover
    or
    Dialog
    , prefer using the provided controllers for programmatic access.
  2. Lean on Extensions: Use
    .h1()
    ,
    .p()
    ,
    .iconSmall()
    etc., instead of manually configuring
    TextStyle
    or
    size
    .
  3. Density Matters: Use
    DensityContainer
    or
    theme.density
    to ensure spacing is consistent across platform-specific densities.