Dievas
The Dievas design system.
Flutter theme and component layer.
Built on dievas_tokens for primitive and semantic design tokens.
Features
- Theme contract —
DievasThemeDatainterface withDievasGlobalThemeDataas the base for brand themes. - Default themes —
DievasLightThemeDataandDievasDarkThemeData. - Components — buttons, form inputs, display, feedback, overlays, navigation, and utility widgets.
- InheritedModel — access theme subsystems through
context.colours,context.typography, and other context extensions. - Responsive grid —
DievasGridwith layouts that adapt to breakpoints. - Localization —
DievasLocalizationsdelegate with a context extension.
Usage
import 'package:flutter/material.dart';
import 'package:dievas/dievas.dart';
void main() => runApp(
DievasScope(
lightTheme: DievasLightThemeData(),
darkTheme: DievasDarkThemeData(),
child: const MyApp(),
),
);
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
final colours = context.colours;
return MaterialApp(
theme: DievasTheme.materialOf(context),
home: Scaffold(
backgroundColor: colours.background.bgBase,
body: Center(
child: DievasFilledButton(
label: 'Hello Dievas',
onPressed: () {},
),
),
),
);
}
}
License
MIT
Libraries
- dievas
- Dievas design system. Flutter theme and component layer.
- l10n/dievas_localizations