A Flutter UI kit inspired by Tailwind CSS, providing elegant and customizable components for your applications.
Pure UI Kit currently offers:
- Elegant and customizable "Empty State" components
- Simple version with title, description, and action button
- Dashed border version for drop zones or add areas
- Steps
- Bullet step indicators
- Circle step indicators
- Progress bar step indicators
Add Pure UI Kit to your pubspec.yaml
file:
dependencies:
pure_ui_kit: ^0.1.2
PureEmptyState.simple(
title: 'No projects',
description: 'Start by creating a new project.',
buttonText: 'New Project',
onPressed: () {
// Action on button click
},
);
PureEmptyState.withDashedBorder(
title: 'Create a new database',
onPressed: () {
// Action on click
},
);
Pure UI Kit provides three types of step indicators: bullet, circle, and progress bar.
// Bullet Step
PureStep.bullet(
currentStep: 2,
totalSteps: 4,
onStepTap: (step) {
print('Tapped on step $step');
},
);
// Circle Step
PureStep.circle(
currentStep: 3,
totalSteps: 5,
onStepTap: (step) {
print('Tapped on step $step');
},
);
// Progress Bar Step
PureStep.progressBar(
currentStep: 2,
totalSteps: 4,
progressLabel: 'Processing...',
onStepTap: (step) {
print('Tapped on step $step');
},
);
You can customize the appearance of steps using PureStepTheme
:
PureTheme(
stepTheme: const PureStepTheme(
activeColor: Colors.blue,
inactiveColor: Colors.grey,
completedColor: Colors.blue,
lineWidth: 60,
lineHeight: 1.5,
circleSize: 24,
dotSize: 6,
spacing: 8,
labelStyle: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w500,
),
),
child: MaterialApp(
// Your application
),
);
Available properties:
activeColor
: Color for the current stepinactiveColor
: Color for upcoming stepscompletedColor
: Color for completed stepslineWidth
: Width of connecting lines (circle step)lineHeight
: Height of connecting lines and progress barcircleSize
: Size of circle indicatorsdotSize
: Size of bullet indicatorsspacing
: Space between elementslabelStyle
: Text style for labels
You can customize the appearance of the components using PureTheme
:
PureTheme(
emptyStateTheme: const PureEmptyStateTheme(
titleStyle: TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
color: Colors.indigo,
),
iconColor: Colors.indigo,
dashedBorderColor: Colors.indigo,
),
child: MaterialApp(
// Your application
),
);
New components will be added soon, including:
- Buttons
- Form fields
- Cards
- Alerts
- And much more!
Contributions are welcome! Feel free to:
- Fork the project
- Create a branch for your feature
- Commit your changes
- Push to the branch
- Open a Pull Request
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.