From 2f523b4346aa2d5d6b5fee80dab10147586ef816 Mon Sep 17 00:00:00 2001 From: Leo Farias Date: Sun, 7 Jul 2024 14:22:10 -0400 Subject: [PATCH] Linting fixes --- examples/themed_button/lib/styles/orbit.dart | 36 +++++++------ .../themed_button/lib/styles/schadcn.dart | 9 ++-- examples/themed_button/lib/styles/tokens.dart | 48 +++++++++-------- .../todo_list/lib/pages/add_task_page.dart | 10 ++-- .../todo_list/lib/pages/todo_list_page.dart | 11 ++-- .../lib/style/components/button.dart | 9 ++-- .../lib/style/components/checkbox.dart | 10 ++-- .../lib/style/components/icon_button.dart | 8 +-- .../lib/style/components/list_tile.dart | 9 ++-- .../todo_list/lib/style/design_tokens.dart | 52 ++++++++++--------- .../todo_list/lib/style/patterns/outline.dart | 4 +- .../attributes/text_style/text_style_dto.dart | 2 + .../src/theme/tokens/text_style_token.dart | 6 +-- .../theme/tokens/text_style_token_test.dart | 21 ++++---- .../remix/demo/lib/components/checkbox.dart | 4 -- packages/remix/lib/helpers/color_palette.dart | 26 ++++++++-- 16 files changed, 154 insertions(+), 111 deletions(-) diff --git a/examples/themed_button/lib/styles/orbit.dart b/examples/themed_button/lib/styles/orbit.dart index 15c9e4737..6d55f3e46 100644 --- a/examples/themed_button/lib/styles/orbit.dart +++ b/examples/themed_button/lib/styles/orbit.dart @@ -2,36 +2,40 @@ import 'package:flutter/material.dart'; import 'package:mix/mix.dart'; import 'package:themed_button/styles/tokens.dart'; +final _color = ColorTokens(); +final _radius = RadiusTokens(); +final _space = SpaceTokens(); +final _textStyle = TextStyleTokens(); final orbitTheme = MixThemeData( colors: { - $token.color.primary: const Color(0xff00A58E), - $token.color.primaryHover: const Color(0xFF009580), - $token.color.onPrimary: Colors.white, + _color.primary: const Color(0xff00A58E), + _color.primaryHover: const Color(0xFF009580), + _color.onPrimary: Colors.white, }, radii: { - $token.radius.small: const Radius.circular(4), - $token.radius.normal: const Radius.circular(6), - $token.radius.large: const Radius.circular(12), - $token.radius.full: const Radius.circular(9999), + _radius.small: const Radius.circular(4), + _radius.normal: const Radius.circular(6), + _radius.large: const Radius.circular(12), + _radius.full: const Radius.circular(9999), }, spaces: { - $token.space.xxxsmall: 4, - $token.space.xxsmall: 8, - $token.space.xsmall: 12, - $token.space.small: 16, - $token.space.medium: 24, - $token.space.large: 32, + _space.xxxsmall: 4, + _space.xxsmall: 8, + _space.xsmall: 12, + _space.small: 16, + _space.medium: 24, + _space.large: 32, }, textStyles: { - $token.textStyle.small: const TextStyle( + _textStyle.small: const TextStyle( fontSize: 12, fontWeight: FontWeight.normal, ), - $token.textStyle.normal: const TextStyle( + _textStyle.normal: const TextStyle( fontSize: 14, fontWeight: FontWeight.normal, ), - $token.textStyle.large: const TextStyle( + _textStyle.large: const TextStyle( fontSize: 16, fontWeight: FontWeight.normal, ) diff --git a/examples/themed_button/lib/styles/schadcn.dart b/examples/themed_button/lib/styles/schadcn.dart index eb323d724..4ecc53433 100644 --- a/examples/themed_button/lib/styles/schadcn.dart +++ b/examples/themed_button/lib/styles/schadcn.dart @@ -1,12 +1,13 @@ import 'package:flutter/material.dart'; -import 'package:mix/mix.dart'; import 'package:themed_button/styles/orbit.dart'; import 'package:themed_button/styles/tokens.dart'; +final _color = ColorTokens(); + final shadcnTheme = orbitTheme.copyWith( colors: { - $token.color.primary: Colors.black, - $token.color.primaryHover: const Color.fromARGB(255, 66, 66, 66), - $token.color.onPrimary: Colors.white, + _color.primary: Colors.black, + _color.primaryHover: const Color.fromARGB(255, 66, 66, 66), + _color.onPrimary: Colors.white, }, ); diff --git a/examples/themed_button/lib/styles/tokens.dart b/examples/themed_button/lib/styles/tokens.dart index ee50df299..48b7055a1 100644 --- a/examples/themed_button/lib/styles/tokens.dart +++ b/examples/themed_button/lib/styles/tokens.dart @@ -1,32 +1,34 @@ import 'package:mix/mix.dart'; -extension ColorExt on ColorTokenUtil { - ColorToken get primary => const ColorToken('primary'); - ColorToken get primaryHover => const ColorToken('primary.hover'); - ColorToken get onPrimary => const ColorToken('on.primary'); - // ColorToken get secondary => const ColorToken('secondary'); - // ColorToken get onSecondary => const ColorToken('on.secondary'); - // ColorToken get outline => const ColorToken('outline'); +class ColorTokens { + final ColorToken primary = const ColorToken('primary'); + final ColorToken primaryHover = const ColorToken('primary.hover'); + final ColorToken onPrimary = const ColorToken('on.primary'); + // final ColorToken secondary = const ColorToken('secondary'); + // final ColorToken onSecondary = const ColorToken('on.secondary'); + // final ColorToken outline = const ColorToken('outline'); } -extension RadiusExt on RadiusTokenUtil { - RadiusToken get small => const RadiusToken('radius.small'); - RadiusToken get normal => const RadiusToken('radius.normal'); - RadiusToken get large => const RadiusToken('radius.large'); - RadiusToken get full => const RadiusToken('radius.full'); +class RadiusTokens { + final RadiusToken small = const RadiusToken('radius.small'); + final RadiusToken normal = const RadiusToken('radius.normal'); + final RadiusToken large = const RadiusToken('radius.large'); + final RadiusToken full = const RadiusToken('radius.full'); } -extension SpacingExt on SpaceTokenUtil { - SpaceToken get xxxsmall => const SpaceToken('space.xxxsmall'); - SpaceToken get xxsmall => const SpaceToken('space.xxsmall'); - SpaceToken get xsmall => const SpaceToken('space.xsmall'); - SpaceToken get small => const SpaceToken('space.small'); - SpaceToken get medium => const SpaceToken('space.medium'); +class SpaceTokens { + final SpaceToken xxxsmall = const SpaceToken('space.xxxsmall'); + final SpaceToken xxsmall = const SpaceToken('space.xxsmall'); + final SpaceToken xsmall = const SpaceToken('space.xsmall'); + final SpaceToken small = const SpaceToken('space.small'); + final SpaceToken medium = const SpaceToken('space.medium'); + final SpaceToken large = const SpaceToken('space.large'); } -extension TextStyleExt on TextStyleTokenUtil { - TextStyleToken get small => const TextStyleToken('textstyle.small'); - TextStyleToken get normal => const TextStyleToken('textstyle.normall'); - TextStyleToken get large => const TextStyleToken('textstyle.large'); - TextStyleToken get extraLarge => const TextStyleToken('textstyle.extraLarge'); +class TextStyleTokens { + final TextStyleToken small = const TextStyleToken('textstyle.small'); + final TextStyleToken normal = const TextStyleToken('textstyle.normall'); + final TextStyleToken large = const TextStyleToken('textstyle.large'); + final TextStyleToken extraLarge = + const TextStyleToken('textstyle.extraLarge'); } diff --git a/examples/todo_list/lib/pages/add_task_page.dart b/examples/todo_list/lib/pages/add_task_page.dart index 4db6378c6..524aee361 100644 --- a/examples/todo_list/lib/pages/add_task_page.dart +++ b/examples/todo_list/lib/pages/add_task_page.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; -import 'package:mix/mix.dart'; import 'package:todo_list/model/task.dart'; import 'package:todo_list/pages/controller/task_controller.dart'; import 'package:todo_list/style/design_tokens.dart'; import '../style/components/button.dart'; +const _colors = ColorTokens(); +const _textStyles = TextStyleTokens(); + class AddTaskPage extends StatefulWidget { const AddTaskPage({super.key, required this.controller}); @@ -22,12 +24,12 @@ class _AddTaskPageState extends State { Widget build(BuildContext context) { return Material( child: Scaffold( - backgroundColor: $token.color.surface.resolve(context), + backgroundColor: _colors.surface.resolve(context), appBar: AppBar( - backgroundColor: $token.color.surface.resolve(context), + backgroundColor: _colors.surface.resolve(context), title: Text( 'Create Task', - style: $token.textStyle.heading2.resolve(context), + style: _textStyles.heading2.resolve(context), ), ), body: Padding( diff --git a/examples/todo_list/lib/pages/todo_list_page.dart b/examples/todo_list/lib/pages/todo_list_page.dart index 633f76ca7..04219081d 100644 --- a/examples/todo_list/lib/pages/todo_list_page.dart +++ b/examples/todo_list/lib/pages/todo_list_page.dart @@ -6,6 +6,9 @@ import 'package:todo_list/style/components/icon_button.dart'; import 'package:todo_list/style/components/list_tile.dart'; import 'package:todo_list/style/design_tokens.dart'; +const _colors = ColorTokens(); +const _textStyles = TextStyleTokens(); + class TodoListPage extends StatefulWidget { const TodoListPage({super.key}); @@ -19,13 +22,13 @@ class _TodoListPageState extends State { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: $token.color.surface.resolve(context), + backgroundColor: _colors.surface.resolve(context), appBar: AppBar( - backgroundColor: $token.color.surface.resolve(context), + backgroundColor: _colors.surface.resolve(context), title: StyledText( 'To Do List', style: Style( - $text.style.ref($token.textStyle.heading2), + $text.style.ref(_textStyles.heading2), ), ), ), @@ -39,7 +42,7 @@ class _TodoListPageState extends State { if (index == 0) { return Text( 'Today', - style: $token.textStyle.heading1.resolve(context), + style: _textStyles.heading1.resolve(context), ); } final item = value[index - 1]; diff --git a/examples/todo_list/lib/style/components/button.dart b/examples/todo_list/lib/style/components/button.dart index 57b4ac45c..0e290f31d 100644 --- a/examples/todo_list/lib/style/components/button.dart +++ b/examples/todo_list/lib/style/components/button.dart @@ -4,6 +4,9 @@ import 'package:todo_list/style/design_tokens.dart'; import '../patterns/scale_effect.dart'; +const _colors = ColorTokens(); +const _textStyles = TextStyleTokens(); + class TodoButton extends StatelessWidget { final String text; final VoidCallback? onPressed; @@ -19,7 +22,7 @@ class TodoButton extends StatelessWidget { return PressableBox( onPress: onPressed, style: Style( - $box.color.ref($token.color.primary), + $box.color.ref(_colors.primary), $box.height(50), $box.borderRadius(6), scaleEffect(), @@ -29,8 +32,8 @@ class TodoButton extends StatelessWidget { child: StyledText( text, style: Style( - $text.style.color.ref($token.color.surface), - $text.style.ref($token.textStyle.heading3), + $text.style.color.ref(_colors.surface), + $text.style.ref(_textStyles.heading3), $text.style.bold(), $with.scale(1), $with.align(alignment: Alignment.center), diff --git a/examples/todo_list/lib/style/components/checkbox.dart b/examples/todo_list/lib/style/components/checkbox.dart index d3c47fc54..591ca2b4f 100644 --- a/examples/todo_list/lib/style/components/checkbox.dart +++ b/examples/todo_list/lib/style/components/checkbox.dart @@ -4,6 +4,8 @@ import 'package:todo_list/style/design_tokens.dart'; import 'package:todo_list/style/patterns/outline.dart'; import 'package:todo_list/style/patterns/scale_effect.dart'; +const _colors = ColorTokens(); + class _CheckboxVariant { static const checked = Variant("checked"); static const unchecked = Variant("unchecked"); @@ -26,13 +28,13 @@ class TodoCheckbox extends StatelessWidget { style: Style( $box.height(20), $box.width(20), - $box.color.ref($token.color.surface), + $box.color.ref(_colors.surface), $box.borderRadius(3), scaleEffect(), outlinePattern(), _CheckboxVariant.checked( - $box.color.ref($token.color.primary), - $box.border.color.ref($token.color.primary), + $box.color.ref(_colors.primary), + $box.border.color.ref(_colors.primary), ), ) .applyVariant( @@ -45,7 +47,7 @@ class TodoCheckbox extends StatelessWidget { Icons.check, style: Style( $icon.weight(16), - $icon.color.ref($token.color.surface), + $icon.color.ref(_colors.surface), $with.opacity(0), $with.padding.top(5), _CheckboxVariant.checked( diff --git a/examples/todo_list/lib/style/components/icon_button.dart b/examples/todo_list/lib/style/components/icon_button.dart index 4bc1fa96a..70444af82 100644 --- a/examples/todo_list/lib/style/components/icon_button.dart +++ b/examples/todo_list/lib/style/components/icon_button.dart @@ -5,6 +5,8 @@ import 'package:todo_list/style/design_tokens.dart'; import '../patterns/outline.dart'; import '../patterns/scale_effect.dart'; +const _colors = ColorTokens(); + class TodoIconButton extends StatelessWidget { final IconData icon; final VoidCallback? onPressed; @@ -20,16 +22,16 @@ class TodoIconButton extends StatelessWidget { return PressableBox( onPress: onPressed, style: Style( - $box.color.ref($token.color.surface), + $box.color.ref(_colors.surface), $box.height(50), $box.width(50), $box.borderRadius(4), scaleEffect(), - $icon.color.ref($token.color.primary), + $icon.color.ref(_colors.primary), $icon.weight(20), outlinePattern(), $on.press( - $box.color.ref($token.color.surfaceContainer), + $box.color.ref(_colors.surfaceContainer), ), ).animate( duration: const Duration(milliseconds: 150), diff --git a/examples/todo_list/lib/style/components/list_tile.dart b/examples/todo_list/lib/style/components/list_tile.dart index 8c86054ad..51b5b6683 100644 --- a/examples/todo_list/lib/style/components/list_tile.dart +++ b/examples/todo_list/lib/style/components/list_tile.dart @@ -4,6 +4,9 @@ import 'package:todo_list/style/components/checkbox.dart'; import 'package:todo_list/style/design_tokens.dart'; import 'package:todo_list/style/patterns/scale_effect.dart'; +const _colors = ColorTokens(); +const _textStyles = TextStyleTokens(); + class CheckboxTileVariant { static const checked = Variant("checked"); static const unchecked = Variant("unchecked"); @@ -38,11 +41,11 @@ class TodoCheckboxListTile extends StatelessWidget { StyledText( text, style: Style( - $text.style.ref($token.textStyle.heading3), - $text.style.color.ref($token.color.onSurface), + $text.style.ref(_textStyles.heading3), + $text.style.color.ref(_colors.onSurface), CheckboxTileVariant.checked( $text.style.decoration.lineThrough(), - $text.style.color.ref($token.color.onSurfaceVariant), + $text.style.color.ref(_colors.onSurfaceVariant), ), ) .applyVariant( diff --git a/examples/todo_list/lib/style/design_tokens.dart b/examples/todo_list/lib/style/design_tokens.dart index e0d72c9bc..4b4e887df 100644 --- a/examples/todo_list/lib/style/design_tokens.dart +++ b/examples/todo_list/lib/style/design_tokens.dart @@ -2,49 +2,53 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:mix/mix.dart'; +const _color = ColorTokens(); +const _textStyle = TextStyleTokens(); final lightTheme = MixThemeData( colors: { - $token.color.surface: Colors.white, - $token.color.onSurface: const Color(0xFF141217), - $token.color.onSurfaceVariant: const Color.fromARGB(255, 74, 70, 81), - $token.color.surfaceContainer: const Color(0xFFE0DBE5), - $token.color.outline: const Color(0xFFE0DBE5), - $token.color.primary: const Color(0xFF7326E0), - $token.color.onPrimary: Colors.white, + _color.surface: Colors.white, + _color.onSurface: const Color(0xFF141217), + _color.onSurfaceVariant: const Color.fromARGB(255, 74, 70, 81), + _color.surfaceContainer: const Color(0xFFE0DBE5), + _color.outline: const Color(0xFFE0DBE5), + _color.primary: const Color(0xFF7326E0), + _color.onPrimary: Colors.white, }, textStyles: { - $token.textStyle.heading1: GoogleFonts.manrope( + _textStyle.heading1: GoogleFonts.manrope( fontSize: 28, fontWeight: FontWeight.bold, ), - $token.textStyle.heading2: GoogleFonts.manrope( + _textStyle.heading2: GoogleFonts.manrope( fontSize: 23, fontWeight: FontWeight.bold, ), - $token.textStyle.heading3: GoogleFonts.manrope( + _textStyle.heading3: GoogleFonts.manrope( fontSize: 16, fontWeight: FontWeight.w500, ), - $token.textStyle.body: GoogleFonts.manrope( + _textStyle.body: GoogleFonts.manrope( fontSize: 14, fontWeight: FontWeight.w200, ), }, ); -extension ColorExt on ColorTokenUtil { - ColorToken get surface => const ColorToken('surface'); - ColorToken get onSurface => const ColorToken('on.surface'); - ColorToken get surfaceContainer => const ColorToken('surface.container'); - ColorToken get onSurfaceVariant => const ColorToken('on.surface.variant'); - ColorToken get primary => const ColorToken('primary'); - ColorToken get onPrimary => const ColorToken('on.primary'); - ColorToken get outline => const ColorToken('outline'); +class ColorTokens { + const ColorTokens(); + final surface = const ColorToken('surface'); + final onSurface = const ColorToken('on.surface'); + final surfaceContainer = const ColorToken('surface.container'); + final onSurfaceVariant = const ColorToken('on.surface.variant'); + final primary = const ColorToken('primary'); + final onPrimary = const ColorToken('on.primary'); + final outline = const ColorToken('outline'); } -extension TextStyleExt on TextStyleTokenUtil { - TextStyleToken get heading1 => const TextStyleToken('heading1'); - TextStyleToken get heading2 => const TextStyleToken('heading2'); - TextStyleToken get heading3 => const TextStyleToken('heading3'); - TextStyleToken get body => const TextStyleToken('body'); +class TextStyleTokens { + const TextStyleTokens(); + final heading1 = const TextStyleToken('heading1'); + final heading2 = const TextStyleToken('heading2'); + final heading3 = const TextStyleToken('heading3'); + final body = const TextStyleToken('body'); } diff --git a/examples/todo_list/lib/style/patterns/outline.dart b/examples/todo_list/lib/style/patterns/outline.dart index 31e3a6d2a..3b51e3afe 100644 --- a/examples/todo_list/lib/style/patterns/outline.dart +++ b/examples/todo_list/lib/style/patterns/outline.dart @@ -1,7 +1,9 @@ import 'package:mix/mix.dart'; import 'package:todo_list/style/design_tokens.dart'; +const _colors = ColorTokens(); + Style outlinePattern = Style( $box.border.width(2), - $box.border.color.ref($token.color.outline), + $box.border.color.ref(_colors.outline), ); diff --git a/packages/mix/lib/src/attributes/text_style/text_style_dto.dart b/packages/mix/lib/src/attributes/text_style/text_style_dto.dart index 0b809fdcd..e30594ad7 100644 --- a/packages/mix/lib/src/attributes/text_style/text_style_dto.dart +++ b/packages/mix/lib/src/attributes/text_style/text_style_dto.dart @@ -1,5 +1,7 @@ // ignore_for_file: prefer_relative_imports,avoid-importing-entrypoint-exports +import 'dart:ui'; + import 'package:flutter/widgets.dart'; import 'package:mix/mix.dart'; import 'package:mix_annotations/mix_annotations.dart'; diff --git a/packages/mix/lib/src/theme/tokens/text_style_token.dart b/packages/mix/lib/src/theme/tokens/text_style_token.dart index 1ea31cbbf..d1bcb0678 100644 --- a/packages/mix/lib/src/theme/tokens/text_style_token.dart +++ b/packages/mix/lib/src/theme/tokens/text_style_token.dart @@ -68,13 +68,13 @@ final class TypographyRef extends TextStyleData with TokenRef { return other is TypographyRef && other.token == token; } - @override - int get hashCode => token.hashCode; - @override TextStyle resolve(MixData mix) { throw Exception('Cannot resolve a reference '); } + + @override + int get hashCode => token.hashCode; } @immutable diff --git a/packages/mix/test/src/theme/tokens/text_style_token_test.dart b/packages/mix/test/src/theme/tokens/text_style_token_test.dart index 36e83dbb4..73bef9aee 100644 --- a/packages/mix/test/src/theme/tokens/text_style_token_test.dart +++ b/packages/mix/test/src/theme/tokens/text_style_token_test.dart @@ -4,6 +4,7 @@ import 'package:mix/mix.dart'; import '../../../helpers/testing_utils.dart'; +const _tokens = MixTokensTest(); void main() { group('TextStyleToken', () { test('Constructor assigns name correctly', () { @@ -70,8 +71,8 @@ void main() { $material.colorScheme.background: Colors.red, }, spaces: { - $token.space.large: 100, - $token.space.medium: 50, + _tokens.space.large: 100, + _tokens.space.medium: 50, }, textStyles: { $material.textTheme.bodyText1: @@ -80,8 +81,8 @@ void main() { const TextStyle(color: Colors.blue, fontSize: 20), }, radii: { - $token.radius.medium: const Radius.elliptical(10, 50), - $token.radius.large: const Radius.elliptical(50, 50), + _tokens.radius.medium: const Radius.elliptical(10, 50), + _tokens.radius.large: const Radius.elliptical(50, 50), }, ); @@ -94,10 +95,10 @@ void main() { $text.style.ref($material.textTheme.bodyText2), $box.color.ref($material.colorScheme.background), $box.color.ref($material.colorScheme.error), - $box.borderRadius.all.ref($token.radius.medium), - $box.borderRadius.all.ref($token.radius.large), - $box.padding.horizontal.ref($token.space.medium), - $box.padding.horizontal.ref($token.space.large), + $box.borderRadius.all.ref(_tokens.radius.medium), + $box.borderRadius.all.ref(_tokens.radius.large), + $box.padding.horizontal.ref(_tokens.space.medium), + $box.padding.horizontal.ref(_tokens.space.large), ), key: key, child: const StyledText('Hello'), @@ -130,12 +131,12 @@ void main() { expect( (containerWidget.decoration as BoxDecoration).borderRadius, - BorderRadius.all(themeData.radii[$token.radius.large]!), + BorderRadius.all(themeData.radii[_tokens.radius.large]!), ); expect( containerWidget.padding!.horizontal / 2, - themeData.spaces[$token.space.large], + themeData.spaces[_tokens.space.large], ); }); diff --git a/packages/remix/demo/lib/components/checkbox.dart b/packages/remix/demo/lib/components/checkbox.dart index 8c34b2f49..7df982c5b 100644 --- a/packages/remix/demo/lib/components/checkbox.dart +++ b/packages/remix/demo/lib/components/checkbox.dart @@ -10,10 +10,6 @@ import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook; Widget buildCheckboxUseCase(BuildContext context) { Widget buildCheckbox(CheckboxVariant variant) { return RxCheckbox( - label: context.knobs.string( - label: 'Label', - initialValue: 'Checkbox', - ), value: context.knobs.boolean(label: 'Value', initialValue: true), onChanged: (value) {}, size: context.knobs.list( diff --git a/packages/remix/lib/helpers/color_palette.dart b/packages/remix/lib/helpers/color_palette.dart index 7e6d7155b..e4d444695 100644 --- a/packages/remix/lib/helpers/color_palette.dart +++ b/packages/remix/lib/helpers/color_palette.dart @@ -24,6 +24,8 @@ class RadixColors { static const cyanDark = RadixColors(_cyanDark, _cyanDarkAlpha); static const gold = RadixColors(_gold, _goldAlpha); static const goldDark = RadixColors(_goldDark, _goldDarkAlpha); + static const grass = RadixColors(_grass, _grassAlpha); + static const grassDark = RadixColors(_grassDark, _grassDarkAlpha); static const gray = RadixColors(_gray, _grayAlpha); static const grayDark = RadixColors(_grayDark, _grayDarkAlpha); static const green = RadixColors(_green, _greenAlpha); @@ -32,25 +34,39 @@ class RadixColors { static const indigoDark = RadixColors(_indigoDark, _indigoDarkAlpha); static const lime = RadixColors(_lime, _limeAlpha); static const limeDark = RadixColors(_limeDark, _limeDarkAlpha); + static const mauve = RadixColors(_mauve, _mauveAlpha); + static const mauveDark = RadixColors(_mauveDark, _mauveDarkAlpha); + static const mint = RadixColors(_mint, _mintAlpha); + static const mintDark = RadixColors(_mintDark, _mintDarkAlpha); static const orange = RadixColors(_orange, _orangeAlpha); static const orangeDark = RadixColors(_orangeDark, _orangeDarkAlpha); static const pink = RadixColors(_pink, _pinkAlpha); static const pinkDark = RadixColors(_pinkDark, _pinkDarkAlpha); + static const plum = RadixColors(_plum, _plumAlpha); + static const plumDark = RadixColors(_plumDark, _plumDarkAlpha); static const purple = RadixColors(_purple, _purpleAlpha); static const purpleDark = RadixColors(_purpleDark, _purpleDarkAlpha); static const red = RadixColors(_red, _redAlpha); static const redDark = RadixColors(_redDark, _redDarkAlpha); + static const sand = RadixColors(_sand, _sandAlpha); + static const sandDark = RadixColors(_sandDark, _sandDarkAlpha); + static const sky = RadixColors(_sky, _skyAlpha); + static const skyDark = RadixColors(_skyDark, _skyDarkAlpha); + static const slate = RadixColors(_slate, _slateAlpha); + static const slateDark = RadixColors(_slateDark, _slateDarkAlpha); static const teal = RadixColors(_teal, _tealAlpha); static const tealDark = RadixColors(_tealDark, _tealDarkAlpha); + static const tomato = RadixColors(_tomato, _tomatoAlpha); + static const tomatoDark = RadixColors(_tomatoDark, _tomatoDarkAlpha); static const violet = RadixColors(_violet, _violetAlpha); static const violetDark = RadixColors(_violetDark, _violetDarkAlpha); static const yellow = RadixColors(_yellow, _yellowAlpha); static const yellowDark = RadixColors(_yellowDark, _yellowDarkAlpha); - static const grass = RadixColors(_grass, _grassAlpha); - static const grassDark = RadixColors(_grassDark, _grassDarkAlpha); - static const sky = RadixColors(_sky, _skyAlpha); - static const skyDark = RadixColors(_skyDark, _skyDarkAlpha); - //TODO: ADD REMAINING COLORS + static const olive = RadixColors(_olive, _oliveAlpha); + static const oliveDark = RadixColors(_oliveDark, _oliveDarkAlpha); + static const whiteAlpha = RadixColors(_whiteAlpha, _whiteAlpha); + static const sage = RadixColors(_sage, _sageAlpha); + static const sageDark = RadixColors(_sageDark, _sageDarkAlpha); Color get s1 => swatch[1]!; Color get s1Alpha => alphaSwatch[1]!;