feat(ui_components)!: available same type component usage (#200)
continuous-integration/drone/pr Build is passing
continuous-integration/drone/pr Build is passing
This commit was merged in pull request #214.
This commit is contained in:
@@ -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>?,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user