diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/cards.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/cards.dart
index 6a1cc1a5..b825e987 100644
--- a/packages/wyatt_ui_components/lib/src/domain/entities/cards/cards.dart
+++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/cards.dart
@@ -15,6 +15,7 @@
// along with this program. If not, see .
export './card_component.dart';
+export './generic_card_component.dart';
export './information_card_component.dart';
export './portfolio_card_component.dart';
export './pricing_card_component.dart';
diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/generic_card_component.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/generic_card_component.dart
new file mode 100644
index 00000000..d8ad9454
--- /dev/null
+++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/generic_card_component.dart
@@ -0,0 +1,45 @@
+// 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/wyatt_component_copy_with_extension.dart';
+import 'package:wyatt_ui_components/wyatt_ui_components.dart';
+
+part 'generic_card_component.g.dart';
+
+@ComponentProxyExtension()
+abstract class GenericCardComponent extends CardComponent
+ with CopyWithMixin<$GenericCardComponentCWProxy> {
+ const GenericCardComponent({
+ this.child,
+ super.radius,
+ super.padding,
+ super.borderColors,
+ super.backgroundColors,
+ super.stroke,
+ super.minSize,
+ super.maxSize,
+ super.shadow,
+ super.titleStyle,
+ super.subtitleStyle,
+ super.bodyStyle,
+ super.background,
+ super.key,
+ });
+
+ /// Child of this card
+ final Widget? child;
+}
diff --git a/packages/wyatt_ui_components/lib/src/domain/entities/cards/generic_card_component.g.dart b/packages/wyatt_ui_components/lib/src/domain/entities/cards/generic_card_component.g.dart
new file mode 100644
index 00000000..c149f2f4
--- /dev/null
+++ b/packages/wyatt_ui_components/lib/src/domain/entities/cards/generic_card_component.g.dart
@@ -0,0 +1,40 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'generic_card_component.dart';
+
+// **************************************************************************
+// ComponentProxyGenerator
+// **************************************************************************
+
+abstract class $GenericCardComponentCWProxy {
+ GenericCardComponent child(Widget? child);
+ GenericCardComponent radius(BorderRadiusGeometry? radius);
+ GenericCardComponent padding(EdgeInsetsGeometry? padding);
+ GenericCardComponent borderColors(MultiColor? borderColors);
+ GenericCardComponent backgroundColors(MultiColor? backgroundColors);
+ GenericCardComponent stroke(double? stroke);
+ GenericCardComponent minSize(Size? minSize);
+ GenericCardComponent maxSize(Size? maxSize);
+ GenericCardComponent shadow(BoxShadow? shadow);
+ GenericCardComponent titleStyle(TextStyle? titleStyle);
+ GenericCardComponent subtitleStyle(TextStyle? subtitleStyle);
+ GenericCardComponent bodyStyle(TextStyle? bodyStyle);
+ GenericCardComponent background(Widget? background);
+ GenericCardComponent key(Key? key);
+ GenericCardComponent call({
+ Widget? child,
+ BorderRadiusGeometry? radius,
+ EdgeInsetsGeometry? padding,
+ MultiColor? borderColors,
+ MultiColor? backgroundColors,
+ double? stroke,
+ Size? minSize,
+ Size? maxSize,
+ BoxShadow? shadow,
+ TextStyle? titleStyle,
+ TextStyle? subtitleStyle,
+ TextStyle? bodyStyle,
+ Widget? background,
+ Key? key,
+ });
+}
diff --git a/packages/wyatt_ui_kit/lib/src/components/cards/cards.dart b/packages/wyatt_ui_kit/lib/src/components/cards/cards.dart
index 2b5be8f3..bdc39672 100644
--- a/packages/wyatt_ui_kit/lib/src/components/cards/cards.dart
+++ b/packages/wyatt_ui_kit/lib/src/components/cards/cards.dart
@@ -14,6 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
+export './generic_card/generic_card.dart';
export './information_card/information_card.dart';
export './portfolio_card/portfolio_card.dart';
export './pricing_card/pricing_card.dart';
diff --git a/packages/wyatt_ui_kit/lib/src/components/cards/generic_card/generic_card.dart b/packages/wyatt_ui_kit/lib/src/components/cards/generic_card/generic_card.dart
new file mode 100644
index 00000000..86d16cde
--- /dev/null
+++ b/packages/wyatt_ui_kit/lib/src/components/cards/generic_card/generic_card.dart
@@ -0,0 +1,56 @@
+// 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';
+import 'package:wyatt_component_copy_with_extension/wyatt_component_copy_with_extension.dart';
+import 'package:wyatt_ui_components/wyatt_ui_components.dart';
+import 'package:wyatt_ui_kit/src/components/cards/widgets/card_wrapper.dart';
+
+part 'generic_card.g.dart';
+
+@ComponentCopyWithExtension()
+class GenericCard extends GenericCardComponent with $GenericCardCWMixin {
+ const GenericCard({
+ super.child,
+ super.radius,
+ super.padding,
+ super.borderColors,
+ super.backgroundColors,
+ super.stroke,
+ super.minSize,
+ super.maxSize,
+ super.shadow,
+ super.titleStyle,
+ super.subtitleStyle,
+ super.bodyStyle,
+ super.background,
+ super.key,
+ });
+
+ @override
+ Widget build(BuildContext context) => CardWrapper(
+ background: background,
+ padding: padding,
+ radius: radius,
+ backgroundColors: backgroundColors,
+ borderColors: borderColors,
+ shadow: shadow,
+ stroke: stroke,
+ maxSize: maxSize,
+ minSize: minSize,
+ child: child ?? const SizedBox.shrink(),
+ );
+}
diff --git a/packages/wyatt_ui_kit/lib/src/components/cards/generic_card/generic_card.g.dart b/packages/wyatt_ui_kit/lib/src/components/cards/generic_card/generic_card.g.dart
new file mode 100644
index 00000000..4064e5e7
--- /dev/null
+++ b/packages/wyatt_ui_kit/lib/src/components/cards/generic_card/generic_card.g.dart
@@ -0,0 +1,81 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'generic_card.dart';
+
+// **************************************************************************
+// ComponentCopyWithGenerator
+// **************************************************************************
+
+class $GenericCardCWProxyImpl implements $GenericCardComponentCWProxy {
+ const $GenericCardCWProxyImpl(this._value);
+ final GenericCard _value;
+ @override
+ GenericCard child(Widget? child) => this(child: child);
+ @override
+ GenericCard radius(BorderRadiusGeometry? radius) => this(radius: radius);
+ @override
+ GenericCard padding(EdgeInsetsGeometry? padding) => this(padding: padding);
+ @override
+ GenericCard borderColors(MultiColor? borderColors) =>
+ this(borderColors: borderColors);
+ @override
+ GenericCard backgroundColors(MultiColor? backgroundColors) =>
+ this(backgroundColors: backgroundColors);
+ @override
+ GenericCard stroke(double? stroke) => this(stroke: stroke);
+ @override
+ GenericCard minSize(Size? minSize) => this(minSize: minSize);
+ @override
+ GenericCard maxSize(Size? maxSize) => this(maxSize: maxSize);
+ @override
+ GenericCard shadow(BoxShadow? shadow) => this(shadow: shadow);
+ @override
+ GenericCard titleStyle(TextStyle? titleStyle) => this(titleStyle: titleStyle);
+ @override
+ GenericCard subtitleStyle(TextStyle? subtitleStyle) =>
+ this(subtitleStyle: subtitleStyle);
+ @override
+ GenericCard bodyStyle(TextStyle? bodyStyle) => this(bodyStyle: bodyStyle);
+ @override
+ GenericCard background(Widget? background) => this(background: background);
+ @override
+ GenericCard key(Key? key) => this(key: key);
+ @override
+ GenericCard call({
+ Widget? child,
+ BorderRadiusGeometry? radius,
+ EdgeInsetsGeometry? padding,
+ MultiColor? borderColors,
+ MultiColor? backgroundColors,
+ double? stroke,
+ Size? minSize,
+ Size? maxSize,
+ BoxShadow? shadow,
+ TextStyle? titleStyle,
+ TextStyle? subtitleStyle,
+ TextStyle? bodyStyle,
+ Widget? background,
+ Key? key,
+ }) =>
+ GenericCard(
+ child: child ?? _value.child,
+ radius: radius ?? _value.radius,
+ padding: padding ?? _value.padding,
+ borderColors: borderColors ?? _value.borderColors,
+ backgroundColors: backgroundColors ?? _value.backgroundColors,
+ stroke: stroke ?? _value.stroke,
+ minSize: minSize ?? _value.minSize,
+ maxSize: maxSize ?? _value.maxSize,
+ shadow: shadow ?? _value.shadow,
+ titleStyle: titleStyle ?? _value.titleStyle,
+ subtitleStyle: subtitleStyle ?? _value.subtitleStyle,
+ bodyStyle: bodyStyle ?? _value.bodyStyle,
+ background: background ?? _value.background,
+ key: key ?? _value.key,
+ );
+}
+
+mixin $GenericCardCWMixin on Component {
+ $GenericCardComponentCWProxy get copyWith =>
+ $GenericCardCWProxyImpl(this as GenericCard);
+}