SnapUI

A modern, customizable Flutter UI component library that provides a comprehensive set of pre-built components following Material Design principles.

Features

  • 🎨 Modern and clean design
  • 🎯 Highly customizable components
  • 📱 Responsive and adaptive
  • 🎭 Dark mode support
  • 🎨 Consistent theming system
  • 📦 Zero dependencies on other UI libraries

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  snap_ui:
    git:
      url: https://github.com/yourusername/snap_ui.git
      ref: main

Quick Start

import 'package:snap_ui/snap_ui.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return SnapUiThemeProvider(
      theme: SnapUiTheme.lightTheme,
      child: MaterialApp(
        home: Scaffold(
          body: SnapButton(
            onPressed: () {},
            child: const Text('Click me'),
          ),
        ),
      ),
    );
  }
}

Components

Basic Components

  • Buttons
  • Text Inputs
  • Cards
  • List Tiles
  • Dialogs

Advanced Components

  • Chips
  • Badges
  • Avatars
  • Progress Indicators
  • Tooltips
  • Dividers
  • Accordions

Theming

SnapUI provides a flexible theming system that allows you to customize the look and feel of all components:

final customTheme = SnapUiTheme(
  primaryColor: Colors.blue,
  secondaryColor: Colors.green,
  // ... other theme properties
);

SnapUiThemeProvider(
  theme: customTheme,
  child: MaterialApp(...),
)

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions, please file an issue on the GitHub repository.

Star History

Libraries

snap_ui
SnapUI - A modern Flutter component library