1---2name: shadcn-flutter3description: Use when working with a comprehensive UI ecosystem for Flutter built on the shadcn/ui design system.4---56# Shadcn Flutter78A 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.910## Getting Started1112To set up a fresh Flutter application with Shadcn Flutter:13141. Add the dependency:15 ```shell16 flutter pub add shadcn_flutter17 ```18192. Configure your `main.dart`:20 ```dart21 import 'package:shadcn_flutter/shadcn_flutter.dart';2223 void main() {24 runApp(25 ShadcnApp(26 title: 'My App',27 theme: ThemeData(28 colorScheme: ColorSchemes.darkSlate,29 radius: 0.5,30 ),31 home: const MyHomePage(),32 ),33 );34 }3536 class MyHomePage extends StatelessWidget {37 const MyHomePage({super.key});3839 @override40 Widget build(BuildContext context) {41 return const Scaffold(42 child: Center(43 child: Text('Hello World!').h1(),44 ),45 );46 }47 }48 ```4950## Guides5152Learn the core concepts and design system fundamentals.5354| Name | Description | Path |55| :--- | :--- | :--- |56| **Introduction** | Overview of the ecosystem, features, and FAQ. | [guides/introduction.md](./guides/introduction.md) |57| **Installation** | Step-by-step setup for stable and experimental versions. | [guides/installation.md](./guides/installation.md) |58| **Theming** | Customizing tokens like radius, density, and scaling. | [guides/theming.md](./guides/theming.md) |59| **Colors** | Using the Tailwind-based color palette and ColorShades. | [guides/colors.md](./guides/colors.md) |60| **Typography** | Semantic text styles and widget extensions. | [guides/typography.md](./guides/typography.md) |61| **Layout** | Spacing, gaps, and responsive layout helpers. | [guides/layout.md](./guides/layout.md) |62| **Icons** | Accessing the 10,000+ bundled icons (Lucide, Radix, etc). | [guides/icons.md](./guides/icons.md) |63| **Interop** | Using Material and Cupertino widgets incrementally. | [guides/interop.md](./guides/interop.md) |64| **State Management** | Guide to the built-in Data and Model state system. | [guides/state_management.md](./guides/state_management.md) |65| **Web Preloader** | Customizing the loading experience for web apps. | [guides/web_preloader.md](./guides/web_preloader.md) |6667## Components6869Shadcn Flutter features over 100+ high-quality components. Below are the core categories.7071### Animation72| Component | Path |73| :--- | :--- |74| **Number Ticker** | [components/animation/number_ticker.md](./components/animation/number_ticker.md) |7576### Control77| Component | Path |78| :--- | :--- |79| **Button** | [components/control/button.md](./components/control/button.md) |8081### Disclosure82| Component | Path |83| :--- | :--- |84| **Accordion** | [components/disclosure/accordion.md](./components/disclosure/accordion.md) |85| **Collapsible** | [components/disclosure/collapsible.md](./components/disclosure/collapsible.md) |8687### Display88| Component | Path |89| :--- | :--- |90| **Avatar** | [components/display/avatar.md](./components/display/avatar.md) |91| **Chat Bubble** | [components/display/chat.md](./components/display/chat.md) |92| **Code Snippet** | [components/display/code_snippet.md](./components/display/code_snippet.md) |93| **Table** | [components/display/table.md](./components/display/table.md) |94| **Tracker** | [components/display/tracker.md](./components/display/tracker.md) |9596### Feedback97| Component | Path |98| :--- | :--- |99| **Alert** | [components/feedback/alert.md](./components/feedback/alert.md) |100| **Alert Dialog** | [components/feedback/alert_dialog.md](./components/feedback/alert_dialog.md) |101| **Progress** | [components/feedback/progress.md](./components/feedback/progress.md) |102| **Skeleton** | [components/feedback/skeleton.md](./components/feedback/skeleton.md) |103| **Toast** | [components/feedback/toast.md](./components/feedback/toast.md) |104105### Form106| Component | Path |107| :--- | :--- |108| **AutoComplete** | [components/form/autocomplete.md](./components/form/autocomplete.md) |109| **Checkbox** | [components/form/checkbox.md](./components/form/checkbox.md) |110| **Chip Input** | [components/form/chip_input.md](./components/form/chip_input.md) |111| **Color Picker** | [components/form/color_picker.md](./components/form/color_picker.md) |112| **Date Picker** | [components/form/date_picker.md](./components/form/date_picker.md) |113| **Form** | [components/form/form.md](./components/form/form.md) |114| **Formatted Input** | [components/form/formatted_input.md](./components/form/formatted_input.md) |115| **Text Input** | [components/form/input.md](./components/form/input.md) |116| **Input OTP** | [components/form/input_otp.md](./components/form/input_otp.md) |117| **Item Picker** | [components/form/item_picker.md](./components/form/item_picker.md) |118| **Phone Input** | [components/form/phone_input.md](./components/form/phone_input.md) |119| **Radio Group** | [components/form/radio_group.md](./components/form/radio_group.md) |120| **Select** | [components/form/select.md](./components/form/select.md) |121| **Slider** | [components/form/slider.md](./components/form/slider.md) |122| **Star Rating** | [components/form/star_rating.md](./components/form/star_rating.md) |123| **Switch** | [components/form/switch.md](./components/form/switch.md) |124| **Text Area** | [components/form/text_area.md](./components/form/text_area.md) |125| **Time Picker** | [components/form/time_picker.md](./components/form/time_picker.md) |126127### Layout128| Component | Path |129| :--- | :--- |130| **Card** | [components/layout/card.md](./components/layout/card.md) |131| **Card Image** | [components/layout/card_image.md](./components/layout/card_image.md) |132| **Carousel** | [components/layout/carousel.md](./components/layout/carousel.md) |133| **Divider** | [components/layout/divider.md](./components/layout/divider.md) |134| **Resizable** | [components/layout/resizable.md](./components/layout/resizable.md) |135| **Scaffold** | [components/layout/scaffold.md](./components/layout/scaffold.md) |136| **Sortable** | [components/layout/sortable.md](./components/layout/sortable.md) |137| **Stepper** | [components/layout/stepper.md](./components/layout/stepper.md) |138| **Steps** | [components/layout/steps.md](./components/layout/steps.md) |139| **Timeline** | [components/layout/timeline.md](./components/layout/timeline.md) |140141### Navigation142| Component | Path |143| :--- | :--- |144| **Breadcrumb** | [components/navigation/breadcrumb.md](./components/navigation/breadcrumb.md) |145| **Dot Indicator** | [components/navigation/dot_indicator.md](./components/navigation/dot_indicator.md) |146| **Menubar** | [components/navigation/menubar.md](./components/navigation/menubar.md) |147| **Navigation Menu** | [components/navigation/navigation_menu.md](./components/navigation/navigation_menu.md) |148| **Pagination** | [components/navigation/pagination.md](./components/navigation/pagination.md) |149| **Switcher** | [components/navigation/switcher.md](./components/navigation/switcher.md) |150| **Tab List** | [components/navigation/tab_list.md](./components/navigation/tab_list.md) |151| **Tab Pane** | [components/navigation/tab_pane.md](./components/navigation/tab_pane.md) |152| **Tabs** | [components/navigation/tabs.md](./components/navigation/tabs.md) |153| **Tree** | [components/navigation/tree.md](./components/navigation/tree.md) |154155### Overlay156| Component | Path |157| :--- | :--- |158| **Dialog** | [components/overlay/dialog.md](./components/overlay/dialog.md) |159| **Drawer** | [components/overlay/drawer.md](./components/overlay/drawer.md) |160| **Hover Card** | [components/overlay/hover_card.md](./components/overlay/hover_card.md) |161| **Popover** | [components/overlay/popover.md](./components/overlay/popover.md) |162| **Swiper** | [components/overlay/swiper.md](./components/overlay/swiper.md) |163| **Tooltip** | [components/overlay/tooltip.md](./components/overlay/tooltip.md) |164| **Window** | [components/overlay/window.md](./components/overlay/window.md) |165166### Utility167| Component | Path |168| :--- | :--- |169| **Badge** | [components/utility/badge.md](./components/utility/badge.md) |170| **Calendar** | [components/utility/calendar.md](./components/utility/calendar.md) |171| **Chip** | [components/utility/chip.md](./components/utility/chip.md) |172| **Command** | [components/utility/command.md](./components/utility/command.md) |173| **Context Menu** | [components/utility/context_menu.md](./components/utility/context_menu.md) |174| **Dropdown Menu** | [components/utility/dropdown_menu.md](./components/utility/dropdown_menu.md) |175| **Overflow Marquee** | [components/utility/overflow_marquee.md](./components/utility/overflow_marquee.md) |176| **Refresh Trigger** | [components/utility/refresh_trigger.md](./components/utility/refresh_trigger.md) |177178> [!TIP]179> This is a curated list. For the full list of all 100+ components, check the [components directory](./components/).180181## Interactive Usage Tips1821831. **Wait for Interaction**: When using `Popover` or `Dialog`, prefer using the provided controllers for programmatic access.1842. **Lean on Extensions**: Use `.h1()`, `.p()`, `.iconSmall()` etc., instead of manually configuring `TextStyle` or `size`.1853. **Density Matters**: Use `DensityContainer` or `theme.density` to ensure spacing is consistent across platform-specific densities.186187---188> Source: [sunarya-thito/shadcn_flutter](https://github.com/sunarya-thito/shadcn_flutter) — distributed by [TomeVault](https://tomevault.io).189<!-- tomevault:4.0:skill_md:2026-06-29 -->