diff --git a/packages/wyatt_ui_components/analysis_options.yaml b/packages/wyatt_ui_components/analysis_options.yaml index 225c0796..90d6bd51 100644 --- a/packages/wyatt_ui_components/analysis_options.yaml +++ b/packages/wyatt_ui_components/analysis_options.yaml @@ -14,4 +14,4 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -include: package:wyatt_analysis/analysis_options.flutter.experimental.yaml +include: package:wyatt_analysis/analysis_options.flutter.yaml diff --git a/packages/wyatt_ui_components/example/lib/components/custom_app_bar.dart b/packages/wyatt_ui_components/example/lib/components/custom_app_bar.dart index 924281cb..95110dd8 100644 --- a/packages/wyatt_ui_components/example/lib/components/custom_app_bar.dart +++ b/packages/wyatt_ui_components/example/lib/components/custom_app_bar.dart @@ -10,6 +10,8 @@ class CustomAppBar extends AppBarComponent with $CustomAppBarCWMixin { @override Widget build(BuildContext context) => AppBar( - title: Text(super.title ?? ''), + title: Text( + super.title?.text ?? '', + ), ); } diff --git a/packages/wyatt_ui_components/example/lib/components/custom_app_bar.g.dart b/packages/wyatt_ui_components/example/lib/components/custom_app_bar.g.dart index 89c78122..2fd0319a 100644 --- a/packages/wyatt_ui_components/example/lib/components/custom_app_bar.g.dart +++ b/packages/wyatt_ui_components/example/lib/components/custom_app_bar.g.dart @@ -10,7 +10,7 @@ class $CustomAppBarCWProxyImpl implements $AppBarComponentCWProxy { const $CustomAppBarCWProxyImpl(this._value); final CustomAppBar _value; @override - CustomAppBar title(String? title) => this(title: title); + CustomAppBar title(TextWrapper? title) => this(title: title); @override CustomAppBar leading(Widget? leading) => this(leading: leading); @override @@ -19,7 +19,7 @@ class $CustomAppBarCWProxyImpl implements $AppBarComponentCWProxy { CustomAppBar key(Key? key) => this(key: key); @override CustomAppBar call({ - String? title, + TextWrapper? title, Widget? leading, List? actions, Key? key, diff --git a/packages/wyatt_ui_components/example/lib/components/custom_error_widget.dart b/packages/wyatt_ui_components/example/lib/components/custom_error_widget.dart index 450cf851..b0336e29 100644 --- a/packages/wyatt_ui_components/example/lib/components/custom_error_widget.dart +++ b/packages/wyatt_ui_components/example/lib/components/custom_error_widget.dart @@ -12,6 +12,6 @@ class CustomErrorWidget extends ErrorWidgetComponent @override Widget build(BuildContext context) => ColoredBox( color: Colors.red, - child: Center(child: Text(error ?? 'Error')), + child: Center(child: Text(error?.text ?? 'Error')), ); } diff --git a/packages/wyatt_ui_components/example/lib/components/custom_error_widget.g.dart b/packages/wyatt_ui_components/example/lib/components/custom_error_widget.g.dart index 67f26fcf..ae1e64dd 100644 --- a/packages/wyatt_ui_components/example/lib/components/custom_error_widget.g.dart +++ b/packages/wyatt_ui_components/example/lib/components/custom_error_widget.g.dart @@ -10,12 +10,12 @@ class $CustomErrorWidgetCWProxyImpl implements $ErrorWidgetComponentCWProxy { const $CustomErrorWidgetCWProxyImpl(this._value); final CustomErrorWidget _value; @override - CustomErrorWidget error(String? error) => this(error: error); + CustomErrorWidget error(TextWrapper? error) => this(error: error); @override CustomErrorWidget key(Key? key) => this(key: key); @override CustomErrorWidget call({ - String? error, + TextWrapper? error, Key? key, }) => CustomErrorWidget( diff --git a/packages/wyatt_ui_components/example/lib/main.dart b/packages/wyatt_ui_components/example/lib/main.dart index 7cb59bf7..2ee31aeb 100644 --- a/packages/wyatt_ui_components/example/lib/main.dart +++ b/packages/wyatt_ui_components/example/lib/main.dart @@ -27,8 +27,7 @@ class MyApp extends StatelessWidget { // This widget is the root of your application. @override - Widget build(BuildContext context) { - return ComponentTheme( + Widget build(BuildContext context) => ComponentTheme( componentThemeWidget: AppThemeComponent.components, child: MaterialApp( title: 'Wyatt Ui Components Example', @@ -40,7 +39,6 @@ class MyApp extends StatelessWidget { ), ), ); - } } class Home extends StatelessWidget { diff --git a/packages/wyatt_ui_components/lib/src/core/core.dart b/packages/wyatt_ui_components/lib/src/core/core.dart index 243dd3d2..dd4b140f 100644 --- a/packages/wyatt_ui_components/lib/src/core/core.dart +++ b/packages/wyatt_ui_components/lib/src/core/core.dart @@ -15,3 +15,5 @@ // along with this program. If not, see . export 'extensions/build_context_extensions.dart'; +export 'mixins/copy_with_mixin.dart'; +export 'utils/text_wrapper.dart'; diff --git a/packages/wyatt_ui_components/lib/src/core/utils/text_wrapper.dart b/packages/wyatt_ui_components/lib/src/core/utils/text_wrapper.dart new file mode 100644 index 00000000..cc9e4119 --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/core/utils/text_wrapper.dart @@ -0,0 +1,26 @@ +// Copyright (C) 2023 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +import 'package:flutter/material.dart'; + +class TextWrapper { + const TextWrapper(this.text, {this.style}); + + factory TextWrapper.text(String text) => TextWrapper(text); + + final String text; + final TextStyle? style; +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/app_bar_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/app_bar_component.dart index 1a12cb97..4345b741 100644 --- a/packages/wyatt_ui_components/lib/src/domain/entities/app_bar_component.dart +++ b/packages/wyatt_ui_components/lib/src/domain/entities/app_bar_component.dart @@ -15,22 +15,21 @@ // along with this program. If not, see . import 'package:flutter/material.dart'; -import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart'; import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; -import 'package:wyatt_ui_components/src/domain/entities/component.dart'; +import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; part 'app_bar_component.g.dart'; @ComponentProxyExtension() abstract class AppBarComponent extends Component with CopyWithMixin<$AppBarComponentCWProxy> { - final String? title; - final Widget? leading; - final List? actions; const AppBarComponent({ this.title, this.leading, this.actions, super.key, }); + final TextWrapper? title; + final Widget? leading; + final List? actions; } diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/app_bar_component.g.dart b/packages/wyatt_ui_components/lib/src/domain/entities/app_bar_component.g.dart index fe0b0b20..e16ec248 100644 --- a/packages/wyatt_ui_components/lib/src/domain/entities/app_bar_component.g.dart +++ b/packages/wyatt_ui_components/lib/src/domain/entities/app_bar_component.g.dart @@ -7,12 +7,12 @@ part of 'app_bar_component.dart'; // ************************************************************************** abstract class $AppBarComponentCWProxy { - AppBarComponent title(String? title); + AppBarComponent title(TextWrapper? title); AppBarComponent leading(Widget? leading); AppBarComponent actions(List? actions); AppBarComponent key(Key? key); AppBarComponent call({ - String? title, + TextWrapper? title, Widget? leading, List? actions, Key? key, diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/bottom_navigation_bar_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/bottom_navigation_bar_component.dart index 0620ef87..0daf25fd 100644 --- a/packages/wyatt_ui_components/lib/src/domain/entities/bottom_navigation_bar_component.dart +++ b/packages/wyatt_ui_components/lib/src/domain/entities/bottom_navigation_bar_component.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; // Copyright (C) 2023 WYATT GROUP // Please see the AUTHORS file for details. // @@ -17,18 +18,17 @@ import 'package:flutter/material.dart'; import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart'; import 'package:wyatt_ui_components/src/domain/entities/component.dart'; -import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; part 'bottom_navigation_bar_component.g.dart'; @ComponentProxyExtension() abstract class BottomNavigationBarComponent extends Component with CopyWithMixin<$BottomNavigationBarComponentCWProxy> { - final int currentIndex; - final void Function(BuildContext, int)? onTap; const BottomNavigationBarComponent({ this.onTap, this.currentIndex = 0, super.key, }); + final int currentIndex; + final void Function(BuildContext, int)? onTap; } diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/card_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/card_component.dart new file mode 100644 index 00000000..abb87bca --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/card_component.dart @@ -0,0 +1,60 @@ +// Copyright (C) 2023 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +import 'package:flutter/widgets.dart'; +import 'package:wyatt_ui_components/src/domain/entities/component.dart'; + +abstract class CardComponent extends Component { + const CardComponent({ + this.radius = 12, + this.padding = 25, + this.borderColors, + this.backgroundColor, + this.minSize = const Size(330, 230), + this.maxSize = const Size(330, 530), + this.shadow = const BoxShadow( + blurRadius: 30, + offset: Offset(0, 5), + color: Color.fromRGBO(0, 0, 0, 0.05), + ), + this.background, + super.key, + }); + + /// Card radius + final double? radius; + + /// Padding and gaps of this card + final double? padding; + + /// Border gradient color (from left to right) + final List? borderColors; + + /// Card background color + final Color? backgroundColor; + + /// Minimum size for this card + final Size? minSize; + + /// Maximum size for this card + final Size? maxSize; + + /// Drop shadow + final BoxShadow? shadow; + + /// Background of the card + final Widget? background; +} diff --git a/packages/wyatt_ui_components/example/test/widget_test.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/cards.dart similarity index 80% rename from packages/wyatt_ui_components/example/test/widget_test.dart rename to packages/wyatt_ui_components/lib/src/domain/entities/cards/cards.dart index bc890a0c..e9240b4f 100644 --- a/packages/wyatt_ui_components/example/test/widget_test.dart +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/cards.dart @@ -12,4 +12,9 @@ // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License -// along with this program. If not, see . \ No newline at end of file +// along with this program. If not, see . + +export './information_card_component.dart'; +export './portfolio_card_component.dart'; +export './quote_card_component.dart'; +export './skill_card_component.dart'; diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/information_card_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/information_card_component.dart new file mode 100644 index 00000000..611586b5 --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/information_card_component.dart @@ -0,0 +1,49 @@ +// Copyright (C) 2023 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +import 'package:flutter/widgets.dart'; +import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; +import 'package:wyatt_ui_components/src/domain/entities/cards/card_component.dart'; +import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; + +part 'information_card_component.g.dart'; + +@ComponentProxyExtension() +abstract class InformationCardComponent extends CardComponent + with CopyWithMixin<$InformationCardComponentCWProxy> { + const InformationCardComponent({ + this.icons, + this.title, + this.subtitle, + this.body, + this.axis = Axis.vertical, + super.radius, + super.padding, + super.borderColors, + super.backgroundColor, + super.minSize, + super.maxSize, + super.shadow, + super.background, + super.key, + }); + + final Axis? axis; + final List? icons; + final TextWrapper? title; + final TextWrapper? subtitle; + final TextWrapper? body; +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/information_card_component.g.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/information_card_component.g.dart new file mode 100644 index 00000000..b4387287 --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/information_card_component.g.dart @@ -0,0 +1,40 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'information_card_component.dart'; + +// ************************************************************************** +// ComponentProxyGenerator +// ************************************************************************** + +abstract class $InformationCardComponentCWProxy { + InformationCardComponent icons(List? icons); + InformationCardComponent title(TextWrapper? title); + InformationCardComponent subtitle(TextWrapper? subtitle); + InformationCardComponent body(TextWrapper? body); + InformationCardComponent axis(Axis? axis); + InformationCardComponent radius(double? radius); + InformationCardComponent padding(double? padding); + InformationCardComponent borderColors(List? borderColors); + InformationCardComponent backgroundColor(Color? backgroundColor); + InformationCardComponent minSize(Size? minSize); + InformationCardComponent maxSize(Size? maxSize); + InformationCardComponent shadow(BoxShadow? shadow); + InformationCardComponent background(Widget? background); + InformationCardComponent key(Key? key); + InformationCardComponent call({ + List? icons, + TextWrapper? title, + TextWrapper? subtitle, + TextWrapper? body, + Axis? axis, + double? radius, + double? padding, + List? borderColors, + Color? backgroundColor, + Size? minSize, + Size? maxSize, + BoxShadow? shadow, + Widget? background, + Key? key, + }); +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/portfolio_card_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/portfolio_card_component.dart new file mode 100644 index 00000000..80399b90 --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/portfolio_card_component.dart @@ -0,0 +1,55 @@ +// Copyright (C) 2023 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +import 'package:flutter/widgets.dart'; +import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; +import 'package:wyatt_ui_components/src/domain/entities/cards/card_component.dart'; +import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; + +part 'portfolio_card_component.g.dart'; + +@ComponentProxyExtension() +abstract class PortfolioCardComponent extends CardComponent + with CopyWithMixin<$PortfolioCardComponentCWProxy> { + const PortfolioCardComponent({ + this.showImagesOnTop, + this.keyword, + this.description, + this.logo, + this.projectName, + this.subtitle, + this.ctas, + this.assets, + super.radius, + super.padding, + super.borderColors, + super.backgroundColor, + super.minSize, + super.maxSize, + super.shadow, + super.background, + super.key, + }); + + final bool? showImagesOnTop; + final List? keyword; + final List? assets; + final TextWrapper? description; + final String? logo; + final TextWrapper? projectName; + final TextWrapper? subtitle; + final List? ctas; +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/portfolio_card_component.g.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/portfolio_card_component.g.dart new file mode 100644 index 00000000..1601c1ee --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/portfolio_card_component.g.dart @@ -0,0 +1,46 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'portfolio_card_component.dart'; + +// ************************************************************************** +// ComponentProxyGenerator +// ************************************************************************** + +abstract class $PortfolioCardComponentCWProxy { + PortfolioCardComponent showImagesOnTop(bool? showImagesOnTop); + PortfolioCardComponent keyword(List? keyword); + PortfolioCardComponent description(TextWrapper? description); + PortfolioCardComponent logo(String? logo); + PortfolioCardComponent projectName(TextWrapper? projectName); + PortfolioCardComponent subtitle(TextWrapper? subtitle); + PortfolioCardComponent ctas(List? ctas); + PortfolioCardComponent assets(List? assets); + PortfolioCardComponent radius(double? radius); + PortfolioCardComponent padding(double? padding); + PortfolioCardComponent borderColors(List? borderColors); + PortfolioCardComponent backgroundColor(Color? backgroundColor); + PortfolioCardComponent minSize(Size? minSize); + PortfolioCardComponent maxSize(Size? maxSize); + PortfolioCardComponent shadow(BoxShadow? shadow); + PortfolioCardComponent background(Widget? background); + PortfolioCardComponent key(Key? key); + PortfolioCardComponent call({ + bool? showImagesOnTop, + List? keyword, + TextWrapper? description, + String? logo, + TextWrapper? projectName, + TextWrapper? subtitle, + List? ctas, + List? assets, + double? radius, + double? padding, + List? borderColors, + Color? backgroundColor, + Size? minSize, + Size? maxSize, + BoxShadow? shadow, + Widget? background, + Key? key, + }); +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/quote_card_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/quote_card_component.dart new file mode 100644 index 00000000..d6ea327c --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/quote_card_component.dart @@ -0,0 +1,54 @@ +// Copyright (C) 2023 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +import 'package:flutter/widgets.dart'; +import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; +import 'package:wyatt_ui_components/src/domain/entities/cards/card_component.dart'; +import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; + +part 'quote_card_component.g.dart'; + +@ComponentProxyExtension() +abstract class QuoteCardComponent extends CardComponent + with CopyWithMixin<$QuoteCardComponentCWProxy> { + const QuoteCardComponent({ + this.avatar, + this.name, + this.subtitle, + this.gradient, + this.quote, + this.leftQuote, + this.rightQuote, + super.radius, + super.padding, + super.borderColors, + super.backgroundColor, + super.minSize, + super.maxSize, + super.shadow, + super.background, + super.key, + }); + + final Widget? avatar; + final TextWrapper? name; + final TextWrapper? subtitle; + final TextWrapper? quote; + + final Gradient? gradient; + final Widget? leftQuote; + final Widget? rightQuote; +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/quote_card_component.g.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/quote_card_component.g.dart new file mode 100644 index 00000000..12dcf876 --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/quote_card_component.g.dart @@ -0,0 +1,44 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'quote_card_component.dart'; + +// ************************************************************************** +// ComponentProxyGenerator +// ************************************************************************** + +abstract class $QuoteCardComponentCWProxy { + QuoteCardComponent avatar(Widget? avatar); + QuoteCardComponent name(TextWrapper? name); + QuoteCardComponent subtitle(TextWrapper? subtitle); + QuoteCardComponent gradient(Gradient? gradient); + QuoteCardComponent quote(TextWrapper? quote); + QuoteCardComponent leftQuote(Widget? leftQuote); + QuoteCardComponent rightQuote(Widget? rightQuote); + QuoteCardComponent radius(double? radius); + QuoteCardComponent padding(double? padding); + QuoteCardComponent borderColors(List? borderColors); + QuoteCardComponent backgroundColor(Color? backgroundColor); + QuoteCardComponent minSize(Size? minSize); + QuoteCardComponent maxSize(Size? maxSize); + QuoteCardComponent shadow(BoxShadow? shadow); + QuoteCardComponent background(Widget? background); + QuoteCardComponent key(Key? key); + QuoteCardComponent call({ + Widget? avatar, + TextWrapper? name, + TextWrapper? subtitle, + Gradient? gradient, + TextWrapper? quote, + Widget? leftQuote, + Widget? rightQuote, + double? radius, + double? padding, + List? borderColors, + Color? backgroundColor, + Size? minSize, + Size? maxSize, + BoxShadow? shadow, + Widget? background, + Key? key, + }); +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/skill_card_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/skill_card_component.dart new file mode 100644 index 00000000..2a04a30b --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/skill_card_component.dart @@ -0,0 +1,51 @@ +// Copyright (C) 2023 WYATT GROUP +// Please see the AUTHORS file for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +import 'package:flutter/widgets.dart'; +import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; +import 'package:wyatt_ui_components/src/domain/entities/cards/card_component.dart'; +import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; + +part 'skill_card_component.g.dart'; + +@ComponentProxyExtension() +abstract class SkillCardComponent extends CardComponent + with CopyWithMixin<$SkillCardComponentCWProxy> { + const SkillCardComponent({ + this.icon, + this.gradient, + this.title, + this.description, + this.skills, + this.leadingIcon, + super.radius, + super.padding, + super.borderColors, + super.backgroundColor, + super.minSize, + super.maxSize, + super.shadow, + super.background, + super.key, + }); + + final IconData? icon; + final List? gradient; + final TextWrapper? title; + final TextWrapper? description; + final List? skills; + final IconData? leadingIcon; +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/skill_card_component.g.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/skill_card_component.g.dart new file mode 100644 index 00000000..525b8bd7 --- /dev/null +++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/skill_card_component.g.dart @@ -0,0 +1,42 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'skill_card_component.dart'; + +// ************************************************************************** +// ComponentProxyGenerator +// ************************************************************************** + +abstract class $SkillCardComponentCWProxy { + SkillCardComponent icon(IconData? icon); + SkillCardComponent gradient(List? gradient); + SkillCardComponent title(TextWrapper? title); + SkillCardComponent description(TextWrapper? description); + SkillCardComponent skills(List? skills); + SkillCardComponent leadingIcon(IconData? leadingIcon); + SkillCardComponent radius(double? radius); + SkillCardComponent padding(double? padding); + SkillCardComponent borderColors(List? borderColors); + SkillCardComponent backgroundColor(Color? backgroundColor); + SkillCardComponent minSize(Size? minSize); + SkillCardComponent maxSize(Size? maxSize); + SkillCardComponent shadow(BoxShadow? shadow); + SkillCardComponent background(Widget? background); + SkillCardComponent key(Key? key); + SkillCardComponent call({ + IconData? icon, + List? gradient, + TextWrapper? title, + TextWrapper? description, + List? skills, + IconData? leadingIcon, + double? radius, + double? padding, + List? borderColors, + Color? backgroundColor, + Size? minSize, + Size? maxSize, + BoxShadow? shadow, + Widget? background, + Key? key, + }); +} diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/entities.dart b/packages/wyatt_ui_components/lib/src/domain/entities/entities.dart index 51d081f6..0d8a3b29 100644 --- a/packages/wyatt_ui_components/lib/src/domain/entities/entities.dart +++ b/packages/wyatt_ui_components/lib/src/domain/entities/entities.dart @@ -16,6 +16,7 @@ export './app_bar_component.dart'; export './bottom_navigation_bar_component.dart'; +export './cards/cards.dart'; +export './component.dart'; export './error_widget_component.dart'; export './loading_widget_component.dart'; -export './component.dart'; diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/error_widget_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/error_widget_component.dart index e4a0ae83..bba5c1c6 100644 --- a/packages/wyatt_ui_components/lib/src/domain/entities/error_widget_component.dart +++ b/packages/wyatt_ui_components/lib/src/domain/entities/error_widget_component.dart @@ -14,16 +14,15 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart'; -import 'package:wyatt_ui_components/src/domain/entities/component.dart'; -import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; import 'package:flutter/material.dart'; +import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; +import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; part 'error_widget_component.g.dart'; @ComponentProxyExtension() abstract class ErrorWidgetComponent extends Component with CopyWithMixin<$ErrorWidgetComponentCWProxy> { - final String? error; const ErrorWidgetComponent({required this.error, super.key}); + final TextWrapper? error; } diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/error_widget_component.g.dart b/packages/wyatt_ui_components/lib/src/domain/entities/error_widget_component.g.dart index 6d62b709..c7dba4d6 100644 --- a/packages/wyatt_ui_components/lib/src/domain/entities/error_widget_component.g.dart +++ b/packages/wyatt_ui_components/lib/src/domain/entities/error_widget_component.g.dart @@ -7,10 +7,10 @@ part of 'error_widget_component.dart'; // ************************************************************************** abstract class $ErrorWidgetComponentCWProxy { - ErrorWidgetComponent error(String? error); + ErrorWidgetComponent error(TextWrapper? error); ErrorWidgetComponent key(Key? key); ErrorWidgetComponent call({ - String? error, + TextWrapper? error, Key? key, }); } diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/loading_widget_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/loading_widget_component.dart index c565b6e3..41783f4e 100644 --- a/packages/wyatt_ui_components/lib/src/domain/entities/loading_widget_component.dart +++ b/packages/wyatt_ui_components/lib/src/domain/entities/loading_widget_component.dart @@ -15,15 +15,15 @@ // along with this program. If not, see . import 'package:flutter/material.dart'; +import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; import 'package:wyatt_ui_components/src/core/mixins/copy_with_mixin.dart'; import 'package:wyatt_ui_components/src/domain/entities/component.dart'; -import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; part 'loading_widget_component.g.dart'; @ComponentProxyExtension() abstract class LoadingWidgetComponent extends Component with CopyWithMixin<$LoadingWidgetComponentCWProxy> { - final Color? color; const LoadingWidgetComponent({required this.color, super.key}); + final Color? color; } diff --git a/packages/wyatt_ui_components/lib/src/features/component_theme.dart b/packages/wyatt_ui_components/lib/src/features/component_theme.dart index 9e3b64d3..49de4780 100644 --- a/packages/wyatt_ui_components/lib/src/features/component_theme.dart +++ b/packages/wyatt_ui_components/lib/src/features/component_theme.dart @@ -18,14 +18,14 @@ import 'package:flutter/material.dart'; import 'package:wyatt_ui_components/src/features/features.dart'; class ComponentTheme extends StatelessWidget { - final Widget child; - final ComponentThemeData componentThemeWidget; const ComponentTheme({ required this.child, required this.componentThemeWidget, super.key, }); + final Widget child; + final ComponentThemeData componentThemeWidget; static ComponentThemeData of(BuildContext context) { final _InheritedComponentTheme? inheritedThemeComponent = @@ -46,11 +46,11 @@ class ComponentTheme extends StatelessWidget { } class _InheritedComponentTheme extends InheritedWidget { - final ComponentTheme themeWidget; const _InheritedComponentTheme( this.themeWidget, { required super.child, }); + final ComponentTheme themeWidget; @override bool updateShouldNotify(covariant InheritedWidget oldWidget) => diff --git a/packages/wyatt_ui_components/lib/src/features/component_theme_data.dart b/packages/wyatt_ui_components/lib/src/features/component_theme_data.dart index f518caa7..0d247bf3 100644 --- a/packages/wyatt_ui_components/lib/src/features/component_theme_data.dart +++ b/packages/wyatt_ui_components/lib/src/features/component_theme_data.dart @@ -17,10 +17,6 @@ import 'package:wyatt_ui_components/src/domain/entities/entities.dart'; class ComponentThemeData { - final AppBarComponent? appBar; - final BottomNavigationBarComponent? bottomNavigationBar; - final ErrorWidgetComponent? errorWidget; - final LoadingWidgetComponent? loadingWidget; const ComponentThemeData.raw({ this.appBar, @@ -28,4 +24,8 @@ class ComponentThemeData { this.errorWidget, this.loadingWidget, }); + final AppBarComponent? appBar; + final BottomNavigationBarComponent? bottomNavigationBar; + final ErrorWidgetComponent? errorWidget; + final LoadingWidgetComponent? loadingWidget; } diff --git a/packages/wyatt_ui_components/lib/src/features/features.dart b/packages/wyatt_ui_components/lib/src/features/features.dart index 806071dc..6c0f1b4a 100644 --- a/packages/wyatt_ui_components/lib/src/features/features.dart +++ b/packages/wyatt_ui_components/lib/src/features/features.dart @@ -14,5 +14,5 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -export 'component_theme_data.dart'; export 'component_theme.dart'; +export 'component_theme_data.dart'; diff --git a/packages/wyatt_ui_components/pubspec.yaml b/packages/wyatt_ui_components/pubspec.yaml index 47955e53..42033ddd 100644 --- a/packages/wyatt_ui_components/pubspec.yaml +++ b/packages/wyatt_ui_components/pubspec.yaml @@ -3,16 +3,18 @@ description: Primary ui components repository: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages/src/branch/master/packages/wyatt_ui_components version: 0.0.1 +publish_to: none + environment: sdk: ">=2.17.0 <3.0.0" dependencies: flutter: sdk: flutter -wyatt_component_copy_with_extension: - git: - url: ssh://git@git.wyatt-studio.fr:993/Wyatt-FOSS/wyatt-packages.git - path: packages/wyatt_component_copy_with_extension + wyatt_component_copy_with_extension: + git: + url: ssh://git@git.wyatt-studio.fr:993/Wyatt-FOSS/wyatt-packages.git + path: packages/wyatt_component_copy_with_extension dev_dependencies: flutter_test: