SmallButton
This commit is contained in:
parent
54826f4054
commit
798dfe9541
@ -11,7 +11,11 @@ class StorybookApp extends StatelessWidget {
|
||||
wrapperBuilder: (BuildContext context, Widget? widget) {
|
||||
return UtilsMaterialWrapper(widget: widget);
|
||||
},
|
||||
stories: [BigButtonWidget.story, BubbleButtonWidget.story],
|
||||
stories: [
|
||||
BigButtonWidget.story,
|
||||
SmallButtonWidget.story,
|
||||
BubbleButtonWidget.story,
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -271,3 +271,92 @@ class BigButtonWidget extends BaseStateButtonWidget {
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
class SmallButtonWidget extends BigButtonWidget {
|
||||
const SmallButtonWidget({
|
||||
super.key,
|
||||
required super.theme,
|
||||
required super.onTap,
|
||||
required super.text,
|
||||
required super.textColor,
|
||||
required super.backgroundColor,
|
||||
required super.disabledBackgroundColor,
|
||||
required super.strokeColor,
|
||||
});
|
||||
|
||||
@override
|
||||
double get _height => 40.h;
|
||||
|
||||
@override
|
||||
double get _width => 96.w;
|
||||
|
||||
@override
|
||||
TextStyle get _textStyle => theme.styles.captionSemibold14;
|
||||
|
||||
@override
|
||||
EdgeInsets get _padding =>
|
||||
EdgeInsets.symmetric(vertical: 10.h, horizontal: 13.5.w);
|
||||
|
||||
SmallButtonWidget.filled({
|
||||
super.key,
|
||||
required super.theme,
|
||||
required super.onTap,
|
||||
required super.text,
|
||||
}) : super.filled();
|
||||
|
||||
SmallButtonWidget.outlined({
|
||||
super.key,
|
||||
required super.theme,
|
||||
required super.onTap,
|
||||
required super.text,
|
||||
}) : super.outlined();
|
||||
|
||||
SmallButtonWidget.simple({
|
||||
super.key,
|
||||
required super.theme,
|
||||
required super.onTap,
|
||||
required super.text,
|
||||
}) : super.simple();
|
||||
|
||||
static Story get story => Story(
|
||||
name: "SmallButton",
|
||||
builder: (BuildContext context) {
|
||||
var theme = CustomTheme.of(context);
|
||||
onTap() {
|
||||
debugPrint("SmallButton pressed!");
|
||||
}
|
||||
|
||||
String text = context.knobs.text(label: "Text", initial: "Добавить");
|
||||
int type = context.knobs.options(
|
||||
label: "Type",
|
||||
initial: 0,
|
||||
options: [
|
||||
Option(label: "Filled", value: 0),
|
||||
Option(label: "Outlined", value: 1),
|
||||
Option(label: "Simple", value: 2),
|
||||
],
|
||||
);
|
||||
bool active = context.knobs.boolean(label: "Active", initial: true);
|
||||
switch (type) {
|
||||
case 0:
|
||||
return SmallButtonWidget.filled(
|
||||
theme: theme,
|
||||
onTap: active ? onTap : null,
|
||||
text: text,
|
||||
);
|
||||
case 1:
|
||||
return SmallButtonWidget.outlined(
|
||||
theme: theme,
|
||||
onTap: active ? onTap : null,
|
||||
text: text,
|
||||
);
|
||||
case _:
|
||||
return SmallButtonWidget.simple(
|
||||
theme: theme,
|
||||
onTap: active ? onTap : null,
|
||||
text: text,
|
||||
);
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user