shadcn_flutter
A set of widgets and utilities for building applications in flutter. Optimized for web applications. This is a port of the shadcn UI package to flutter.
Widgets
Animation
Disclosure
Feedback
Forms
Layout
Navigation
Surfaces
Data Display
Utilities
Installation
Using CLI
1. Activate the package
flutter pub global activate shadcn_flutter_cli
2. Run the command
flutter pub global run shadcn_flutter_cli:setup
Manual Installation
1. Create a new Flutter project
flutter create my_app
cd my_app
2. Add the dependency
flutter pub add shadcn_flutter
3. Import the package
import 'package:shadcn_flutter/shadcn_flutter.dart';
4. Use the widgets
void main() {
runApp(
ShadcnApp(
title: 'My App',
home: MyHomePage(),
theme: ThemeData(
colorScheme: ColorSchemes.darkZync(),
radius: 0.5,
),
),
);
}
5. Add the fonts
Add the following fonts to your pubspec.yaml
file.
fonts:
- family: RadixIcons
fonts:
- asset: "packages/shadcn_flutter/icons/RadixIcons.otf"
- family: BootstrapIcons
fonts:
- asset: "packages/shadcn_flutter/icons/BootstrapIcons.otf"
- family: "GeistSans"
fonts:
- asset: "packages/shadcn_flutter/fonts/Geist-Black.otf"
weight: 800
- asset: "packages/shadcn_flutter/fonts/Geist-Bold.otf"
weight: 700
- asset: "packages/shadcn_flutter/fonts/Geist-Light.otf"
weight: 300
- asset: "packages/shadcn_flutter/fonts/Geist-Medium.otf"
weight: 500
- asset: "packages/shadcn_flutter/fonts/Geist-SemiBold.otf"
weight: 600
- asset: "packages/shadcn_flutter/fonts/Geist-Thin.otf"
weight: 100
- asset: "packages/shadcn_flutter/fonts/Geist-UltraBlack.otf"
weight: 900
- asset: "packages/shadcn_flutter/fonts/Geist-UltraLight.otf"
weight: 200
- asset: "packages/shadcn_flutter/fonts/Geist-Regular.otf"
weight: 400
- family: "GeistMono"
fonts:
- asset: "packages/shadcn_flutter/fonts/GeistMono-Black.otf"
weight: 800
- asset: "packages/shadcn_flutter/fonts/GeistMono-Bold.otf"
weight: 700
- asset: "packages/shadcn_flutter/fonts/GeistMono-Light.otf"
weight: 300
- asset: "packages/shadcn_flutter/fonts/GeistMono-Medium.otf"
weight: 500
- asset: "packages/shadcn_flutter/fonts/GeistMono-Regular.otf"
weight: 400
- asset: "packages/shadcn_flutter/fonts/GeistMono-SemiBold.otf"
weight: 600
- asset: "packages/shadcn_flutter/fonts/GeistMono-Thin.otf"
weight: 100
- asset: "packages/shadcn_flutter/fonts/GeistMono-UltraBlack.otf"
weight: 900
- asset: "packages/shadcn_flutter/fonts/GeistMono-UltraLight.otf"
weight: 200
6. Run the app
flutter run