SmallButton
This commit is contained in:
parent
54826f4054
commit
798dfe9541
@ -11,7 +11,11 @@ class StorybookApp extends StatelessWidget {
|
|||||||
wrapperBuilder: (BuildContext context, Widget? widget) {
|
wrapperBuilder: (BuildContext context, Widget? widget) {
|
||||||
return UtilsMaterialWrapper(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