master #81
@ -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,
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
@ -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,
 | 
				
			||||||
 | 
				
			|||||||
@ -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,
 | 
				
			||||||
 | 
				
			|||||||
@ -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,
 | 
				
			||||||
 | 
				
			|||||||
@ -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,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user