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