feat(ui_components)!: available same type component usage (#200)
continuous-integration/drone/pr Build is passing

This commit was merged in pull request #214.
This commit is contained in:
2023-08-28 12:36:58 +00:00
committed by hugo
parent a4c73421d2
commit a6903ae432
14 changed files with 703 additions and 392 deletions
@@ -16,5 +16,7 @@
export 'enums/enums.dart';
export 'extensions/build_context_extensions.dart';
export 'extensions/component_extensions.dart';
export 'mixins/copy_with_mixin.dart';
export 'utils/component_registry.dart';
export 'utils/utils.dart';
@@ -0,0 +1,33 @@
// 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 <https://www.gnu.org/licenses/>.
import 'package:wyatt_ui_components/wyatt_ui_components.dart';
/// Extension on a map of components that creates a [ComponentRegistry]
/// using the map's content.
extension ComponentMapExtension<T extends Component> on Map<String, T> {
/// Creates and returns a [ComponentRegistry] based on the map's components.
ComponentRegistry<T> registry() => ComponentRegistry(components: this);
}
/// Extension on a single component that creates a [ComponentRegistry]
/// containing only that component.
extension ComponentExtension<T extends Component> on T {
/// Creates and returns a [ComponentRegistry] containing
/// only this component.
// ignore: use_to_and_as_if_applicable
ComponentRegistry<T> registry() => ComponentRegistry.solo(this);
}
@@ -0,0 +1,59 @@
// 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 <https://www.gnu.org/licenses/>.
import 'package:wyatt_ui_components/wyatt_ui_components.dart';
/// A registry for components of type [T], providing easy access and management.
class ComponentRegistry<T extends Component> {
/// Constructs a [ComponentRegistry] with the given [components].
const ComponentRegistry({required Map<String, T> components})
: _components = components;
/// Factory constructor to create a [ComponentRegistry]
/// containing only a single [component].
factory ComponentRegistry.solo(T component) => ComponentRegistry(
components: {
'solo': component,
},
);
final Map<String, T> _components;
/// Returns a component by its [id], or the first
/// component if [id] is null or not found.
T? call([String? id]) => getComponent(id) ?? getFirstComponent();
/// Returns a component by its [id], or null if not found.
T? getComponent(String? id) => _components[id];
/// Returns the first component in the registry, or null
/// if the registry is empty.
T? getFirstComponent() => _components.values.firstOrNull;
/// Checks if the registry contains a component with the given [id].
bool containsComponent(String id) => _components.containsKey(id);
/// Returns the count of components in the registry.
int get count => _components.length;
/// Returns a list of all IDs of components in the registry.
List<String> get ids => _components.keys.toList();
/// Returns a string representation of the registry,
/// showing the count and IDs.
@override
String toString() => '$count - $ids';
}
@@ -16,6 +16,7 @@
import 'package:copy_with_extension/copy_with_extension.dart';
import 'package:flutter/material.dart';
import 'package:wyatt_ui_components/src/core/utils/component_registry.dart';
import 'package:wyatt_ui_components/src/domain/entities/entities.dart';
part 'component_theme_data.g.dart';
@@ -26,64 +27,64 @@ part 'component_theme_data.g.dart';
class ComponentThemeData {
/// {@macro component_theme_data}
factory ComponentThemeData({
TopAppBarComponent? topAppBar,
TopNavigationBarComponent? topNavigationBar,
BottomNavigationBarComponent? bottomNavigationBar,
ErrorComponent? error,
LoaderComponent? loader,
RichTextBuilderComponent? richTextBuilder,
TextInputComponent? textInput,
FileSelectionButtonComponent? fileSelectionButton,
FlatButtonComponent? flatButton,
SimpleIconButtonComponent? simpleIconButton,
SymbolButtonComponent? symbolButton,
InformationCardComponent? informationCard,
PortfolioCardComponent? portfolioCard,
QuoteCardComponent? quoteCard,
SkillCardComponent? skillCard,
PricingCardComponent? pricingCard,
FloatingActionButtonComponent? floatingActionButton,
ComponentRegistry<TopAppBarComponent>? topAppBars,
ComponentRegistry<TopNavigationBarComponent>? topNavigationBars,
ComponentRegistry<BottomNavigationBarComponent>? bottomNavigationBars,
ComponentRegistry<ErrorComponent>? errors,
ComponentRegistry<LoaderComponent>? loaders,
ComponentRegistry<RichTextBuilderComponent>? richTextBuilders,
ComponentRegistry<TextInputComponent>? textInputs,
ComponentRegistry<FileSelectionButtonComponent>? fileSelectionButtons,
ComponentRegistry<FlatButtonComponent>? flatButtons,
ComponentRegistry<SimpleIconButtonComponent>? simpleIconButtons,
ComponentRegistry<SymbolButtonComponent>? symbolButtons,
ComponentRegistry<InformationCardComponent>? informationCards,
ComponentRegistry<PortfolioCardComponent>? portfolioCards,
ComponentRegistry<QuoteCardComponent>? quoteCards,
ComponentRegistry<SkillCardComponent>? skillCards,
ComponentRegistry<PricingCardComponent>? pricingCards,
ComponentRegistry<FloatingActionButtonComponent>? floatingActionButtons,
}) =>
ComponentThemeData.raw(
topAppBar: topAppBar,
topNavigationBar: topNavigationBar,
bottomNavigationBar: bottomNavigationBar,
error: error,
loader: loader,
richTextBuilder: richTextBuilder,
textInput: textInput,
fileSelectionButton: fileSelectionButton,
flatButton: flatButton,
simpleIconButton: simpleIconButton,
symbolButton: symbolButton,
informationCard: informationCard,
portfolioCard: portfolioCard,
quoteCard: quoteCard,
skillCard: skillCard,
pricingCard: pricingCard,
floatingActionButton: floatingActionButton,
topAppBars: topAppBars,
topNavigationBars: topNavigationBars,
bottomNavigationBars: bottomNavigationBars,
errors: errors,
loaders: loaders,
richTextBuilders: richTextBuilders,
textInputs: textInputs,
fileSelectionButtons: fileSelectionButtons,
flatButtons: flatButtons,
simpleIconButtons: simpleIconButtons,
symbolButtons: symbolButtons,
informationCards: informationCards,
portfolioCards: portfolioCards,
quoteCards: quoteCards,
skillCards: skillCards,
pricingCards: pricingCards,
floatingActionButtons: floatingActionButtons,
);
/// {@macro component_theme_data}
// /// {@macro component_theme_data}
factory ComponentThemeData.fromOther(ComponentThemeData other) =>
ComponentThemeData(
topAppBar: other.topAppBar,
topNavigationBar: other.topNavigationBar,
bottomNavigationBar: other.bottomNavigationBar,
error: other.error,
loader: other.loader,
richTextBuilder: other.richTextBuilder,
textInput: other.textInput,
fileSelectionButton: other.fileSelectionButton,
flatButton: other.flatButton,
simpleIconButton: other.simpleIconButton,
symbolButton: other.symbolButton,
informationCard: other.informationCard,
portfolioCard: other.portfolioCard,
quoteCard: other.quoteCard,
skillCard: other.skillCard,
pricingCard: other.pricingCard,
floatingActionButton: other.floatingActionButton,
topAppBars: other.topAppBars,
topNavigationBars: other.topNavigationBars,
bottomNavigationBars: other.bottomNavigationBars,
errors: other.errors,
loaders: other.loaders,
richTextBuilders: other.richTextBuilders,
textInputs: other.textInputs,
fileSelectionButtons: other.fileSelectionButtons,
flatButtons: other.flatButtons,
simpleIconButtons: other.simpleIconButtons,
symbolButtons: other.symbolButtons,
informationCards: other.informationCards,
portfolioCards: other.portfolioCards,
quoteCards: other.quoteCards,
skillCards: other.skillCards,
pricingCards: other.pricingCards,
floatingActionButtons: other.floatingActionButtons,
);
/// Create a [ComponentThemeData] given a set of exact values. Most values
@@ -93,23 +94,23 @@ class ComponentThemeData {
/// create intermediate themes based on two themes created with the
/// [ComponentThemeData] constructor.
const ComponentThemeData.raw({
this.topAppBar,
this.topNavigationBar,
this.bottomNavigationBar,
this.error,
this.loader,
this.richTextBuilder,
this.textInput,
this.fileSelectionButton,
this.flatButton,
this.simpleIconButton,
this.symbolButton,
this.informationCard,
this.portfolioCard,
this.quoteCard,
this.skillCard,
this.pricingCard,
this.floatingActionButton,
this.topAppBars,
this.topNavigationBars,
this.bottomNavigationBars,
this.errors,
this.loaders,
this.richTextBuilders,
this.textInputs,
this.fileSelectionButtons,
this.flatButtons,
this.simpleIconButtons,
this.symbolButtons,
this.informationCards,
this.portfolioCards,
this.quoteCards,
this.skillCards,
this.pricingCards,
this.floatingActionButtons,
});
R _get<T extends Component, R>(T? component, R? returned) {
@@ -128,64 +129,90 @@ class ComponentThemeData {
}
// Bars
final TopAppBarComponent? topAppBar;
$TopAppBarComponentCWProxy get topAppBarComponent =>
_get(topAppBar, topAppBar?.copyWith);
final TopNavigationBarComponent? topNavigationBar;
$TopNavigationBarComponentCWProxy get topNavigationBarComponent =>
_get(topNavigationBar, topNavigationBar?.copyWith);
final BottomNavigationBarComponent? bottomNavigationBar;
$BottomNavigationBarComponentCWProxy get bottomNavigationBarComponent =>
_get(bottomNavigationBar, bottomNavigationBar?.copyWith);
final ComponentRegistry<TopAppBarComponent>? topAppBars;
$TopAppBarComponentCWProxy topAppBarComponent([String? id]) =>
_get(topAppBars?.call(id), topAppBars?.call(id)?.copyWith);
final ComponentRegistry<TopNavigationBarComponent>? topNavigationBars;
$TopNavigationBarComponentCWProxy topNavigationBarComponent([String? id]) =>
_get(topNavigationBars?.call(id), topNavigationBars?.call(id)?.copyWith);
final ComponentRegistry<BottomNavigationBarComponent>? bottomNavigationBars;
$BottomNavigationBarComponentCWProxy bottomNavigationBarComponent([
String? id,
]) =>
_get(
bottomNavigationBars?.call(id),
bottomNavigationBars?.call(id)?.copyWith,
);
// CRUD Widgets
final ErrorComponent? error;
$ErrorComponentCWProxy get errorComponent => _get(error, error?.copyWith);
final LoaderComponent? loader;
$LoaderComponentCWProxy get loaderComponent => _get(loader, loader?.copyWith);
final ComponentRegistry<ErrorComponent>? errors;
$ErrorComponentCWProxy errorComponent([String? id]) =>
_get(errors?.call(id), errors?.call(id)?.copyWith);
final ComponentRegistry<LoaderComponent>? loaders;
$LoaderComponentCWProxy loaderComponent([String? id]) =>
_get(loaders?.call(id), loaders?.call(id)?.copyWith);
// Cards
final InformationCardComponent? informationCard;
$InformationCardComponentCWProxy get informationCardComponent =>
_get(informationCard, informationCard?.copyWith);
final PortfolioCardComponent? portfolioCard;
$PortfolioCardComponentCWProxy get portfolioCardComponent =>
_get(portfolioCard, portfolioCard?.copyWith);
final QuoteCardComponent? quoteCard;
$QuoteCardComponentCWProxy get quoteCardComponent =>
_get(quoteCard, quoteCard?.copyWith);
final SkillCardComponent? skillCard;
$SkillCardComponentCWProxy get skillCardComponent =>
_get(skillCard, skillCard?.copyWith);
final PricingCardComponent? pricingCard;
$PricingCardComponentCWProxy get pricingCardComponent =>
_get(pricingCard, pricingCard?.copyWith);
final ComponentRegistry<InformationCardComponent>? informationCards;
$InformationCardComponentCWProxy informationCardComponent([String? id]) =>
_get(informationCards?.call(id), informationCards?.call(id)?.copyWith);
final ComponentRegistry<PortfolioCardComponent>? portfolioCards;
$PortfolioCardComponentCWProxy portfolioCardComponent([String? id]) =>
_get(portfolioCards?.call(id), portfolioCards?.call(id)?.copyWith);
final ComponentRegistry<QuoteCardComponent>? quoteCards;
$QuoteCardComponentCWProxy quoteCardComponent([String? id]) =>
_get(quoteCards?.call(id), quoteCards?.call(id)?.copyWith);
final ComponentRegistry<SkillCardComponent>? skillCards;
$SkillCardComponentCWProxy skillCardComponent([String? id]) =>
_get(skillCards?.call(id), skillCards?.call(id)?.copyWith);
final ComponentRegistry<PricingCardComponent>? pricingCards;
$PricingCardComponentCWProxy pricingCardComponent([String? id]) =>
_get(pricingCards?.call(id), pricingCards?.call(id)?.copyWith);
// Rich Text
final RichTextBuilderComponent? richTextBuilder;
$RichTextBuilderComponentCWProxy get richTextBuilderComponent =>
_get(richTextBuilder, richTextBuilder?.copyWith);
final ComponentRegistry<RichTextBuilderComponent>? richTextBuilders;
$RichTextBuilderComponentCWProxy richTextBuilderComponent([String? id]) =>
_get(richTextBuilders?.call(id), richTextBuilders?.call(id)?.copyWith);
// Text Inputs
final TextInputComponent? textInput;
$TextInputComponentCWProxy get textInputComponent =>
_get(textInput, textInput?.copyWith);
final ComponentRegistry<TextInputComponent>? textInputs;
$TextInputComponentCWProxy textInputComponent([String? id]) =>
_get(textInputs?.call(id), textInputs?.call(id)?.copyWith);
// Buttons
final FileSelectionButtonComponent? fileSelectionButton;
$FileSelectionButtonComponentCWProxy get fileSelectionButtonComponent =>
_get(fileSelectionButton, fileSelectionButton?.copyWith);
final FlatButtonComponent? flatButton;
$FlatButtonComponentCWProxy get flatButtonComponent =>
_get(flatButton, flatButton?.copyWith);
final SimpleIconButtonComponent? simpleIconButton;
$SimpleIconButtonComponentCWProxy get simpleIconButtonComponent =>
_get(simpleIconButton, simpleIconButton?.copyWith);
final SymbolButtonComponent? symbolButton;
$SymbolButtonComponentCWProxy get symbolButtonComponent =>
_get(symbolButton, symbolButton?.copyWith);
final ComponentRegistry<FileSelectionButtonComponent>? fileSelectionButtons;
$FileSelectionButtonComponentCWProxy fileSelectionButtonComponent([
String? id,
]) =>
_get(
fileSelectionButtons?.call(id),
fileSelectionButtons?.call(id)?.copyWith,
);
final FloatingActionButtonComponent? floatingActionButton;
$FloatingActionButtonComponentCWProxy get floatingActionButtonComponent =>
_get(floatingActionButton, floatingActionButton?.copyWith);
final ComponentRegistry<FlatButtonComponent>? flatButtons;
$FlatButtonComponentCWProxy flatButtonComponent([String? id]) =>
_get(flatButtons?.call(id), flatButtons?.call(id)?.copyWith);
final ComponentRegistry<SimpleIconButtonComponent>? simpleIconButtons;
$SimpleIconButtonComponentCWProxy simpleIconButtonComponent([String? id]) =>
_get(simpleIconButtons?.call(id), simpleIconButtons?.call(id)?.copyWith);
final ComponentRegistry<SymbolButtonComponent>? symbolButtons;
$SymbolButtonComponentCWProxy symbolButtonComponent([String? id]) =>
_get(symbolButtons?.call(id), symbolButtons?.call(id)?.copyWith);
final ComponentRegistry<FloatingActionButtonComponent>? floatingActionButtons;
$FloatingActionButtonComponentCWProxy floatingActionButtonComponent([
String? id,
]) =>
_get(
floatingActionButtons?.call(id),
floatingActionButtons?.call(id)?.copyWith,
);
}
@@ -7,44 +7,54 @@ part of 'component_theme_data.dart';
// **************************************************************************
abstract class _$ComponentThemeDataCWProxy {
ComponentThemeData topAppBar(TopAppBarComponent? topAppBar);
ComponentThemeData topAppBars(
ComponentRegistry<TopAppBarComponent>? topAppBars);
ComponentThemeData topNavigationBar(
TopNavigationBarComponent? topNavigationBar);
ComponentThemeData topNavigationBars(
ComponentRegistry<TopNavigationBarComponent>? topNavigationBars);
ComponentThemeData bottomNavigationBar(
BottomNavigationBarComponent? bottomNavigationBar);
ComponentThemeData bottomNavigationBars(
ComponentRegistry<BottomNavigationBarComponent>? bottomNavigationBars);
ComponentThemeData error(ErrorComponent? error);
ComponentThemeData errors(ComponentRegistry<ErrorComponent>? errors);
ComponentThemeData loader(LoaderComponent? loader);
ComponentThemeData loaders(ComponentRegistry<LoaderComponent>? loaders);
ComponentThemeData richTextBuilder(RichTextBuilderComponent? richTextBuilder);
ComponentThemeData richTextBuilders(
ComponentRegistry<RichTextBuilderComponent>? richTextBuilders);
ComponentThemeData textInput(TextInputComponent? textInput);
ComponentThemeData textInputs(
ComponentRegistry<TextInputComponent>? textInputs);
ComponentThemeData fileSelectionButton(
FileSelectionButtonComponent? fileSelectionButton);
ComponentThemeData fileSelectionButtons(
ComponentRegistry<FileSelectionButtonComponent>? fileSelectionButtons);
ComponentThemeData flatButton(FlatButtonComponent? flatButton);
ComponentThemeData flatButtons(
ComponentRegistry<FlatButtonComponent>? flatButtons);
ComponentThemeData simpleIconButton(
SimpleIconButtonComponent? simpleIconButton);
ComponentThemeData simpleIconButtons(
ComponentRegistry<SimpleIconButtonComponent>? simpleIconButtons);
ComponentThemeData symbolButton(SymbolButtonComponent? symbolButton);
ComponentThemeData symbolButtons(
ComponentRegistry<SymbolButtonComponent>? symbolButtons);
ComponentThemeData informationCard(InformationCardComponent? informationCard);
ComponentThemeData informationCards(
ComponentRegistry<InformationCardComponent>? informationCards);
ComponentThemeData portfolioCard(PortfolioCardComponent? portfolioCard);
ComponentThemeData portfolioCards(
ComponentRegistry<PortfolioCardComponent>? portfolioCards);
ComponentThemeData quoteCard(QuoteCardComponent? quoteCard);
ComponentThemeData quoteCards(
ComponentRegistry<QuoteCardComponent>? quoteCards);
ComponentThemeData skillCard(SkillCardComponent? skillCard);
ComponentThemeData skillCards(
ComponentRegistry<SkillCardComponent>? skillCards);
ComponentThemeData pricingCard(PricingCardComponent? pricingCard);
ComponentThemeData pricingCards(
ComponentRegistry<PricingCardComponent>? pricingCards);
ComponentThemeData floatingActionButton(
FloatingActionButtonComponent? floatingActionButton);
ComponentThemeData floatingActionButtons(
ComponentRegistry<FloatingActionButtonComponent>? floatingActionButtons);
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `ComponentThemeData(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
@@ -53,23 +63,23 @@ abstract class _$ComponentThemeDataCWProxy {
/// ComponentThemeData(...).copyWith(id: 12, name: "My name")
/// ````
ComponentThemeData call({
TopAppBarComponent? topAppBar,
TopNavigationBarComponent? topNavigationBar,
BottomNavigationBarComponent? bottomNavigationBar,
ErrorComponent? error,
LoaderComponent? loader,
RichTextBuilderComponent? richTextBuilder,
TextInputComponent? textInput,
FileSelectionButtonComponent? fileSelectionButton,
FlatButtonComponent? flatButton,
SimpleIconButtonComponent? simpleIconButton,
SymbolButtonComponent? symbolButton,
InformationCardComponent? informationCard,
PortfolioCardComponent? portfolioCard,
QuoteCardComponent? quoteCard,
SkillCardComponent? skillCard,
PricingCardComponent? pricingCard,
FloatingActionButtonComponent? floatingActionButton,
ComponentRegistry<TopAppBarComponent>? topAppBars,
ComponentRegistry<TopNavigationBarComponent>? topNavigationBars,
ComponentRegistry<BottomNavigationBarComponent>? bottomNavigationBars,
ComponentRegistry<ErrorComponent>? errors,
ComponentRegistry<LoaderComponent>? loaders,
ComponentRegistry<RichTextBuilderComponent>? richTextBuilders,
ComponentRegistry<TextInputComponent>? textInputs,
ComponentRegistry<FileSelectionButtonComponent>? fileSelectionButtons,
ComponentRegistry<FlatButtonComponent>? flatButtons,
ComponentRegistry<SimpleIconButtonComponent>? simpleIconButtons,
ComponentRegistry<SymbolButtonComponent>? symbolButtons,
ComponentRegistry<InformationCardComponent>? informationCards,
ComponentRegistry<PortfolioCardComponent>? portfolioCards,
ComponentRegistry<QuoteCardComponent>? quoteCards,
ComponentRegistry<SkillCardComponent>? skillCards,
ComponentRegistry<PricingCardComponent>? pricingCards,
ComponentRegistry<FloatingActionButtonComponent>? floatingActionButtons,
});
}
@@ -80,77 +90,90 @@ class _$ComponentThemeDataCWProxyImpl implements _$ComponentThemeDataCWProxy {
final ComponentThemeData _value;
@override
ComponentThemeData topAppBar(TopAppBarComponent? topAppBar) =>
this(topAppBar: topAppBar);
ComponentThemeData topAppBars(
ComponentRegistry<TopAppBarComponent>? topAppBars) =>
this(topAppBars: topAppBars);
@override
ComponentThemeData topNavigationBar(
TopNavigationBarComponent? topNavigationBar) =>
this(topNavigationBar: topNavigationBar);
ComponentThemeData topNavigationBars(
ComponentRegistry<TopNavigationBarComponent>? topNavigationBars) =>
this(topNavigationBars: topNavigationBars);
@override
ComponentThemeData bottomNavigationBar(
BottomNavigationBarComponent? bottomNavigationBar) =>
this(bottomNavigationBar: bottomNavigationBar);
ComponentThemeData bottomNavigationBars(
ComponentRegistry<BottomNavigationBarComponent>?
bottomNavigationBars) =>
this(bottomNavigationBars: bottomNavigationBars);
@override
ComponentThemeData error(ErrorComponent? error) => this(error: error);
ComponentThemeData errors(ComponentRegistry<ErrorComponent>? errors) =>
this(errors: errors);
@override
ComponentThemeData loader(LoaderComponent? loader) => this(loader: loader);
ComponentThemeData loaders(ComponentRegistry<LoaderComponent>? loaders) =>
this(loaders: loaders);
@override
ComponentThemeData richTextBuilder(
RichTextBuilderComponent? richTextBuilder) =>
this(richTextBuilder: richTextBuilder);
ComponentThemeData richTextBuilders(
ComponentRegistry<RichTextBuilderComponent>? richTextBuilders) =>
this(richTextBuilders: richTextBuilders);
@override
ComponentThemeData textInput(TextInputComponent? textInput) =>
this(textInput: textInput);
ComponentThemeData textInputs(
ComponentRegistry<TextInputComponent>? textInputs) =>
this(textInputs: textInputs);
@override
ComponentThemeData fileSelectionButton(
FileSelectionButtonComponent? fileSelectionButton) =>
this(fileSelectionButton: fileSelectionButton);
ComponentThemeData fileSelectionButtons(
ComponentRegistry<FileSelectionButtonComponent>?
fileSelectionButtons) =>
this(fileSelectionButtons: fileSelectionButtons);
@override
ComponentThemeData flatButton(FlatButtonComponent? flatButton) =>
this(flatButton: flatButton);
ComponentThemeData flatButtons(
ComponentRegistry<FlatButtonComponent>? flatButtons) =>
this(flatButtons: flatButtons);
@override
ComponentThemeData simpleIconButton(
SimpleIconButtonComponent? simpleIconButton) =>
this(simpleIconButton: simpleIconButton);
ComponentThemeData simpleIconButtons(
ComponentRegistry<SimpleIconButtonComponent>? simpleIconButtons) =>
this(simpleIconButtons: simpleIconButtons);
@override
ComponentThemeData symbolButton(SymbolButtonComponent? symbolButton) =>
this(symbolButton: symbolButton);
ComponentThemeData symbolButtons(
ComponentRegistry<SymbolButtonComponent>? symbolButtons) =>
this(symbolButtons: symbolButtons);
@override
ComponentThemeData informationCard(
InformationCardComponent? informationCard) =>
this(informationCard: informationCard);
ComponentThemeData informationCards(
ComponentRegistry<InformationCardComponent>? informationCards) =>
this(informationCards: informationCards);
@override
ComponentThemeData portfolioCard(PortfolioCardComponent? portfolioCard) =>
this(portfolioCard: portfolioCard);
ComponentThemeData portfolioCards(
ComponentRegistry<PortfolioCardComponent>? portfolioCards) =>
this(portfolioCards: portfolioCards);
@override
ComponentThemeData quoteCard(QuoteCardComponent? quoteCard) =>
this(quoteCard: quoteCard);
ComponentThemeData quoteCards(
ComponentRegistry<QuoteCardComponent>? quoteCards) =>
this(quoteCards: quoteCards);
@override
ComponentThemeData skillCard(SkillCardComponent? skillCard) =>
this(skillCard: skillCard);
ComponentThemeData skillCards(
ComponentRegistry<SkillCardComponent>? skillCards) =>
this(skillCards: skillCards);
@override
ComponentThemeData pricingCard(PricingCardComponent? pricingCard) =>
this(pricingCard: pricingCard);
ComponentThemeData pricingCards(
ComponentRegistry<PricingCardComponent>? pricingCards) =>
this(pricingCards: pricingCards);
@override
ComponentThemeData floatingActionButton(
FloatingActionButtonComponent? floatingActionButton) =>
this(floatingActionButton: floatingActionButton);
ComponentThemeData floatingActionButtons(
ComponentRegistry<FloatingActionButtonComponent>?
floatingActionButtons) =>
this(floatingActionButtons: floatingActionButtons);
@override
@@ -161,93 +184,97 @@ class _$ComponentThemeDataCWProxyImpl implements _$ComponentThemeDataCWProxy {
/// ComponentThemeData(...).copyWith(id: 12, name: "My name")
/// ````
ComponentThemeData call({
Object? topAppBar = const $CopyWithPlaceholder(),
Object? topNavigationBar = const $CopyWithPlaceholder(),
Object? bottomNavigationBar = const $CopyWithPlaceholder(),
Object? error = const $CopyWithPlaceholder(),
Object? loader = const $CopyWithPlaceholder(),
Object? richTextBuilder = const $CopyWithPlaceholder(),
Object? textInput = const $CopyWithPlaceholder(),
Object? fileSelectionButton = const $CopyWithPlaceholder(),
Object? flatButton = const $CopyWithPlaceholder(),
Object? simpleIconButton = const $CopyWithPlaceholder(),
Object? symbolButton = const $CopyWithPlaceholder(),
Object? informationCard = const $CopyWithPlaceholder(),
Object? portfolioCard = const $CopyWithPlaceholder(),
Object? quoteCard = const $CopyWithPlaceholder(),
Object? skillCard = const $CopyWithPlaceholder(),
Object? pricingCard = const $CopyWithPlaceholder(),
Object? floatingActionButton = const $CopyWithPlaceholder(),
Object? topAppBars = const $CopyWithPlaceholder(),
Object? topNavigationBars = const $CopyWithPlaceholder(),
Object? bottomNavigationBars = const $CopyWithPlaceholder(),
Object? errors = const $CopyWithPlaceholder(),
Object? loaders = const $CopyWithPlaceholder(),
Object? richTextBuilders = const $CopyWithPlaceholder(),
Object? textInputs = const $CopyWithPlaceholder(),
Object? fileSelectionButtons = const $CopyWithPlaceholder(),
Object? flatButtons = const $CopyWithPlaceholder(),
Object? simpleIconButtons = const $CopyWithPlaceholder(),
Object? symbolButtons = const $CopyWithPlaceholder(),
Object? informationCards = const $CopyWithPlaceholder(),
Object? portfolioCards = const $CopyWithPlaceholder(),
Object? quoteCards = const $CopyWithPlaceholder(),
Object? skillCards = const $CopyWithPlaceholder(),
Object? pricingCards = const $CopyWithPlaceholder(),
Object? floatingActionButtons = const $CopyWithPlaceholder(),
}) {
return ComponentThemeData(
topAppBar: topAppBar == const $CopyWithPlaceholder()
? _value.topAppBar
topAppBars: topAppBars == const $CopyWithPlaceholder()
? _value.topAppBars
// ignore: cast_nullable_to_non_nullable
: topAppBar as TopAppBarComponent?,
topNavigationBar: topNavigationBar == const $CopyWithPlaceholder()
? _value.topNavigationBar
: topAppBars as ComponentRegistry<TopAppBarComponent>?,
topNavigationBars: topNavigationBars == const $CopyWithPlaceholder()
? _value.topNavigationBars
// ignore: cast_nullable_to_non_nullable
: topNavigationBar as TopNavigationBarComponent?,
bottomNavigationBar: bottomNavigationBar == const $CopyWithPlaceholder()
? _value.bottomNavigationBar
: topNavigationBars as ComponentRegistry<TopNavigationBarComponent>?,
bottomNavigationBars: bottomNavigationBars == const $CopyWithPlaceholder()
? _value.bottomNavigationBars
// ignore: cast_nullable_to_non_nullable
: bottomNavigationBar as BottomNavigationBarComponent?,
error: error == const $CopyWithPlaceholder()
? _value.error
: bottomNavigationBars
as ComponentRegistry<BottomNavigationBarComponent>?,
errors: errors == const $CopyWithPlaceholder()
? _value.errors
// ignore: cast_nullable_to_non_nullable
: error as ErrorComponent?,
loader: loader == const $CopyWithPlaceholder()
? _value.loader
: errors as ComponentRegistry<ErrorComponent>?,
loaders: loaders == const $CopyWithPlaceholder()
? _value.loaders
// ignore: cast_nullable_to_non_nullable
: loader as LoaderComponent?,
richTextBuilder: richTextBuilder == const $CopyWithPlaceholder()
? _value.richTextBuilder
: loaders as ComponentRegistry<LoaderComponent>?,
richTextBuilders: richTextBuilders == const $CopyWithPlaceholder()
? _value.richTextBuilders
// ignore: cast_nullable_to_non_nullable
: richTextBuilder as RichTextBuilderComponent?,
textInput: textInput == const $CopyWithPlaceholder()
? _value.textInput
: richTextBuilders as ComponentRegistry<RichTextBuilderComponent>?,
textInputs: textInputs == const $CopyWithPlaceholder()
? _value.textInputs
// ignore: cast_nullable_to_non_nullable
: textInput as TextInputComponent?,
fileSelectionButton: fileSelectionButton == const $CopyWithPlaceholder()
? _value.fileSelectionButton
: textInputs as ComponentRegistry<TextInputComponent>?,
fileSelectionButtons: fileSelectionButtons == const $CopyWithPlaceholder()
? _value.fileSelectionButtons
// ignore: cast_nullable_to_non_nullable
: fileSelectionButton as FileSelectionButtonComponent?,
flatButton: flatButton == const $CopyWithPlaceholder()
? _value.flatButton
: fileSelectionButtons
as ComponentRegistry<FileSelectionButtonComponent>?,
flatButtons: flatButtons == const $CopyWithPlaceholder()
? _value.flatButtons
// ignore: cast_nullable_to_non_nullable
: flatButton as FlatButtonComponent?,
simpleIconButton: simpleIconButton == const $CopyWithPlaceholder()
? _value.simpleIconButton
: flatButtons as ComponentRegistry<FlatButtonComponent>?,
simpleIconButtons: simpleIconButtons == const $CopyWithPlaceholder()
? _value.simpleIconButtons
// ignore: cast_nullable_to_non_nullable
: simpleIconButton as SimpleIconButtonComponent?,
symbolButton: symbolButton == const $CopyWithPlaceholder()
? _value.symbolButton
: simpleIconButtons as ComponentRegistry<SimpleIconButtonComponent>?,
symbolButtons: symbolButtons == const $CopyWithPlaceholder()
? _value.symbolButtons
// ignore: cast_nullable_to_non_nullable
: symbolButton as SymbolButtonComponent?,
informationCard: informationCard == const $CopyWithPlaceholder()
? _value.informationCard
: symbolButtons as ComponentRegistry<SymbolButtonComponent>?,
informationCards: informationCards == const $CopyWithPlaceholder()
? _value.informationCards
// ignore: cast_nullable_to_non_nullable
: informationCard as InformationCardComponent?,
portfolioCard: portfolioCard == const $CopyWithPlaceholder()
? _value.portfolioCard
: informationCards as ComponentRegistry<InformationCardComponent>?,
portfolioCards: portfolioCards == const $CopyWithPlaceholder()
? _value.portfolioCards
// ignore: cast_nullable_to_non_nullable
: portfolioCard as PortfolioCardComponent?,
quoteCard: quoteCard == const $CopyWithPlaceholder()
? _value.quoteCard
: portfolioCards as ComponentRegistry<PortfolioCardComponent>?,
quoteCards: quoteCards == const $CopyWithPlaceholder()
? _value.quoteCards
// ignore: cast_nullable_to_non_nullable
: quoteCard as QuoteCardComponent?,
skillCard: skillCard == const $CopyWithPlaceholder()
? _value.skillCard
: quoteCards as ComponentRegistry<QuoteCardComponent>?,
skillCards: skillCards == const $CopyWithPlaceholder()
? _value.skillCards
// ignore: cast_nullable_to_non_nullable
: skillCard as SkillCardComponent?,
pricingCard: pricingCard == const $CopyWithPlaceholder()
? _value.pricingCard
: skillCards as ComponentRegistry<SkillCardComponent>?,
pricingCards: pricingCards == const $CopyWithPlaceholder()
? _value.pricingCards
// ignore: cast_nullable_to_non_nullable
: pricingCard as PricingCardComponent?,
floatingActionButton: floatingActionButton == const $CopyWithPlaceholder()
? _value.floatingActionButton
// ignore: cast_nullable_to_non_nullable
: floatingActionButton as FloatingActionButtonComponent?,
: pricingCards as ComponentRegistry<PricingCardComponent>?,
floatingActionButtons:
floatingActionButtons == const $CopyWithPlaceholder()
? _value.floatingActionButtons
// ignore: cast_nullable_to_non_nullable
: floatingActionButtons
as ComponentRegistry<FloatingActionButtonComponent>?,
);
}
}