0 purchases
preset
Preset Library #
Advanced theme management system integrated with string codec to make user
preferences storage explicit for developers
Getting Started #
pubspec.yaml
Add super text to pubspec.yaml file #
...
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
preset:
git: https://github.com/rey-xi/preset.git
...
copied to clipboard
Or #
...
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
preset: ^0.0.1
...
copied to clipboard
Usage #
Preset
The basic and core method to declare presets. The values of presets will be
passed down to child and it's hierarchy via context.
Preset App
PresetApp is the most basic way to implement the preset library in your app.
PresetApp is a direct subclass of MaterialApp with additional argument to
assign default presets
Example
@override
Widget build(BuildContext context) {
//...
return PresetApp(
title: 'Preset App',
home: const PresetHome(),
preset: {
Palette.internal,
Typeface.redmond,
}
);
}
copied to clipboard
Preset Builder
Preset builder instances can be assigned to MaterialApp.builder of the
conventional material app: If making use of the conventional Material app
is important, making use of this method can come in handy.
Example
@override
Widget build(BuildContext context) {
//...
return MaterialApp(
//...
builder: PresetBuilder(
preset: {
ColorPreset.internal,
GlyphPreset.redmond,
},
protocol: Protocol.irs,
),
);
}
copied to clipboard
Preset Codec
Conversion algorithm for Preset and PresetValue. Few default preset codecs
have been declared in the library including:
qTextTheme or TextThemeCodec for TextTheme
qTextStyle or TextStyleCodec for TextStyle
qLocale or LocaleCodec for Locale
qColor or ColorCodec for Color
Example
encode(TextStyle obj) {
final type1 = qTextStyle.encode(obj);
final type2 = TextStyleCodec().encode(obj);
}
copied to clipboard
Protocol
Preset values implementor class. A typical consumer class for preset values.
Basically, Protocol is meant to implement the preset values in MaterialApp
as MaterialApp.theme and ThemeData.extensions
Example
@override
Widget build(BuildContext context) {
//...
return ProtocolBox(
protocol: Protocol.xls,
child: child,
);
}
copied to clipboard
Working Example: #
import 'package:flutter/material.dart';
import 'package:popup/popup.dart';
import 'package:preset/preset.dart' as preset;
import 'package:rey_xi/screens/splash.dart';
import 'package:text2/text2.dart';
void main() {
runApp(const PresetApp());
}
class PresetApp extends StatelessWidget {
//...Fields
const PresetApp({super.key});
//...Methods
@override
Widget build(BuildContext context) {
//...
return preset.PresetApp(
title: 'Nueli',
home: const PresetSplash(),
defaultPresets: const [
Palette(
primary: Color(0xFF7E677E),
foreground: Color(0xFF6E6A6E),
secondary: Color(0xffd08686),
success: Color(0xff499f51),
error: Color(0xffdc5856),
warning: Color(0xffe5ad71),
background: Color(0xffe1dacb),
ascent: Color(0xffe7cfae),
shade: Color(0x5a75503d),
tint: Color(0x5af5ede2),
),
Typeface.mountainView,
],
);
}
}
copied to clipboard
Thanks. #
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.