master #81

Closed
malo wants to merge 322 commits from master into feat/bloc_layout/new-package
5 changed files with 30 additions and 21 deletions
Showing only changes of commit 4c08a692d2 - Show all commits

View File

@ -14,12 +14,22 @@
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>. // along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/widgets.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
mixin ExportBloc<T extends StateStreamableSource<Object?>> { class ExportableBloc<T extends StateStreamableSource<Object?>>
T get bloc; extends StatelessWidget {
Widget exportBloc({required Widget child}) => BlocProvider<T>.value( const ExportableBloc({
required this.bloc,
required this.child,
super.key,
});
final T bloc;
final Widget child;
@override
Widget build(BuildContext context) => BlocProvider<T>.value(
value: bloc, value: bloc,
child: child, child: child,
); );

View File

@ -18,15 +18,15 @@ import 'package:flutter/material.dart' hide ButtonStyle;
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart';
import 'package:wyatt_ui_kit/src/components/buttons/cubit/invalid_button_cubit.dart'; import 'package:wyatt_ui_kit/src/components/buttons/cubit/invalid_button_cubit.dart';
import 'package:wyatt_ui_kit/src/components/buttons/exportable_bloc.dart';
import 'package:wyatt_ui_kit/src/components/buttons/file_selection_button/file_selection_button_screen.dart'; import 'package:wyatt_ui_kit/src/components/buttons/file_selection_button/file_selection_button_screen.dart';
import 'package:wyatt_ui_kit/src/components/buttons/file_selection_button/file_selection_button_theme_resolver.dart'; import 'package:wyatt_ui_kit/src/components/buttons/file_selection_button/file_selection_button_theme_resolver.dart';
import 'package:wyatt_ui_kit/src/core/mixin/export_bloc_mixin.dart';
part 'file_selection_button.g.dart'; part 'file_selection_button.g.dart';
@ComponentCopyWithExtension() @ComponentCopyWithExtension()
class FileSelectionButton extends FileSelectionButtonComponent class FileSelectionButton extends FileSelectionButtonComponent
with $FileSelectionButtonCWMixin, ExportBloc<InvalidButtonCubit> { with $FileSelectionButtonCWMixin {
FileSelectionButton({ FileSelectionButton({
super.leading, super.leading,
super.title, super.title,
@ -46,7 +46,6 @@ class FileSelectionButton extends FileSelectionButtonComponent
final InvalidButtonCubit _cubit = InvalidButtonCubit(); final InvalidButtonCubit _cubit = InvalidButtonCubit();
@override
InvalidButtonCubit get bloc => _cubit; InvalidButtonCubit get bloc => _cubit;
@override @override
@ -82,7 +81,8 @@ class FileSelectionButton extends FileSelectionButtonComponent
super.themeResolver as FileSelectionButtonThemeResolver?; super.themeResolver as FileSelectionButtonThemeResolver?;
@override @override
Widget build(BuildContext context) => exportBloc( Widget build(BuildContext context) => ExportableBloc(
bloc: _cubit,
child: FileSelectionButtonScreen( child: FileSelectionButtonScreen(
leading: leading, leading: leading,
title: title, title: title,

View File

@ -18,15 +18,14 @@ import 'package:flutter/material.dart' hide ButtonStyle;
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart';
import 'package:wyatt_ui_kit/src/components/buttons/cubit/button_cubit.dart'; import 'package:wyatt_ui_kit/src/components/buttons/cubit/button_cubit.dart';
import 'package:wyatt_ui_kit/src/components/buttons/exportable_bloc.dart';
import 'package:wyatt_ui_kit/src/components/buttons/flat_button/flat_button_screen.dart'; import 'package:wyatt_ui_kit/src/components/buttons/flat_button/flat_button_screen.dart';
import 'package:wyatt_ui_kit/src/components/buttons/flat_button/flat_button_theme_resolver.dart'; import 'package:wyatt_ui_kit/src/components/buttons/flat_button/flat_button_theme_resolver.dart';
import 'package:wyatt_ui_kit/src/core/mixin/export_bloc_mixin.dart';
part 'flat_button.g.dart'; part 'flat_button.g.dart';
@ComponentCopyWithExtension() @ComponentCopyWithExtension()
class FlatButton extends FlatButtonComponent class FlatButton extends FlatButtonComponent with $FlatButtonCWMixin {
with $FlatButtonCWMixin, ExportBloc<ButtonCubit> {
FlatButton({ FlatButton({
super.prefix, super.prefix,
super.suffix, super.suffix,
@ -44,7 +43,6 @@ class FlatButton extends FlatButtonComponent
final ButtonCubit _cubit = ButtonCubit(); final ButtonCubit _cubit = ButtonCubit();
@override
ButtonCubit get bloc => _cubit; ButtonCubit get bloc => _cubit;
@override @override
@ -67,7 +65,8 @@ class FlatButton extends FlatButtonComponent
super.themeResolver as FlatButtonThemeResolver?; super.themeResolver as FlatButtonThemeResolver?;
@override @override
Widget build(BuildContext context) => exportBloc( Widget build(BuildContext context) => ExportableBloc(
bloc: _cubit,
child: FlatButtonScreen( child: FlatButtonScreen(
prefix: prefix, prefix: prefix,
suffix: suffix, suffix: suffix,

View File

@ -18,15 +18,15 @@ import 'package:flutter/material.dart' hide ButtonStyle;
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart';
import 'package:wyatt_ui_kit/src/components/buttons/cubit/button_cubit.dart'; import 'package:wyatt_ui_kit/src/components/buttons/cubit/button_cubit.dart';
import 'package:wyatt_ui_kit/src/components/buttons/exportable_bloc.dart';
import 'package:wyatt_ui_kit/src/components/buttons/simple_icon_button/simple_icon_button_theme_resolver.dart'; import 'package:wyatt_ui_kit/src/components/buttons/simple_icon_button/simple_icon_button_theme_resolver.dart';
import 'package:wyatt_ui_kit/src/components/buttons/simple_icon_button/simple_icon_screen.dart'; import 'package:wyatt_ui_kit/src/components/buttons/simple_icon_button/simple_icon_screen.dart';
import 'package:wyatt_ui_kit/src/core/mixin/export_bloc_mixin.dart';
part 'simple_icon_button.g.dart'; part 'simple_icon_button.g.dart';
@ComponentCopyWithExtension() @ComponentCopyWithExtension()
class SimpleIconButton extends SimpleIconButtonComponent class SimpleIconButton extends SimpleIconButtonComponent
with $SimpleIconButtonCWMixin, ExportBloc<ButtonCubit> { with $SimpleIconButtonCWMixin {
SimpleIconButton({ SimpleIconButton({
super.icon, super.icon,
super.disabledStyle, super.disabledStyle,
@ -41,7 +41,6 @@ class SimpleIconButton extends SimpleIconButtonComponent
final ButtonCubit _cubit = ButtonCubit(); final ButtonCubit _cubit = ButtonCubit();
@override
ButtonCubit get bloc => _cubit; ButtonCubit get bloc => _cubit;
@override @override
@ -69,7 +68,8 @@ class SimpleIconButton extends SimpleIconButtonComponent
super.themeResolver as SimpleIconButtonThemeResolver?; super.themeResolver as SimpleIconButtonThemeResolver?;
@override @override
Widget build(BuildContext context) => exportBloc( Widget build(BuildContext context) => ExportableBloc(
bloc: _cubit,
child: SimpleIconButtonScreen( child: SimpleIconButtonScreen(
icon: icon, icon: icon,
disabledStyle: disabledStyle, disabledStyle: disabledStyle,

View File

@ -18,15 +18,15 @@ import 'package:flutter/material.dart' hide ButtonStyle;
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart';
import 'package:wyatt_ui_kit/src/components/buttons/cubit/selectable_button_cubit.dart'; import 'package:wyatt_ui_kit/src/components/buttons/cubit/selectable_button_cubit.dart';
import 'package:wyatt_ui_kit/src/components/buttons/exportable_bloc.dart';
import 'package:wyatt_ui_kit/src/components/buttons/symbol_button/symbol_button_screen.dart'; import 'package:wyatt_ui_kit/src/components/buttons/symbol_button/symbol_button_screen.dart';
import 'package:wyatt_ui_kit/src/components/buttons/symbol_button/symbol_button_theme_resolver.dart'; import 'package:wyatt_ui_kit/src/components/buttons/symbol_button/symbol_button_theme_resolver.dart';
import 'package:wyatt_ui_kit/src/core/mixin/export_bloc_mixin.dart';
part 'symbol_button.g.dart'; part 'symbol_button.g.dart';
@ComponentCopyWithExtension() @ComponentCopyWithExtension()
class SymbolButton extends SymbolButtonComponent class SymbolButton extends SymbolButtonComponent
with $SymbolButtonCWMixin, ExportBloc<SelectableButtonCubit> { with $SymbolButtonCWMixin{
SymbolButton({ SymbolButton({
super.icon, super.icon,
super.label, super.label,
@ -44,7 +44,6 @@ class SymbolButton extends SymbolButtonComponent
final SelectableButtonCubit _cubit = SelectableButtonCubit(); final SelectableButtonCubit _cubit = SelectableButtonCubit();
@override
SelectableButtonCubit get bloc => _cubit; SelectableButtonCubit get bloc => _cubit;
@override @override
@ -74,7 +73,8 @@ class SymbolButton extends SymbolButtonComponent
super.themeResolver as SymbolButtonThemeResolver?; super.themeResolver as SymbolButtonThemeResolver?;
@override @override
Widget build(BuildContext context) => exportBloc( Widget build(BuildContext context) => ExportableBloc(
bloc: _cubit,
child: SymbolButtonScreen( child: SymbolButtonScreen(
icon: icon, icon: icon,
label: label, label: label,