Skip to content

Commit

Permalink
feat: [DX-2198] Migrate stories to widgetbook
Browse files Browse the repository at this point in the history
  • Loading branch information
witwash committed Sep 16, 2024
1 parent 5492fa3 commit 33b2e3d
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 0 deletions.
13 changes: 13 additions & 0 deletions optimus_widgetbook/lib/common.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import 'package:flutter/widgets.dart';
import 'package:optimus/optimus.dart';

final List<IconData?> exampleIcons = [
null,
OptimusIcons.mews_logo,
OptimusIcons.magic,
OptimusIcons.plus,
OptimusIcons.delete,
OptimusIcons.edit,
OptimusIcons.chevron_right,
OptimusIcons.chevron_left,
];
57 changes: 57 additions & 0 deletions optimus_widgetbook/lib/components/buttons/button.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import 'package:flutter/widgets.dart';
import 'package:optimus/optimus.dart';
import 'package:optimus_widgetbook/common.dart';
import 'package:widgetbook/widgetbook.dart';
import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook;

@widgetbook.UseCase(
name: 'Default Style',
type: OptimusButton,
path: '[Buttons]/Button',
)
Widget createDefaultStyle(BuildContext context) {
final k = context.knobs;

final leadingIcon = k.listOrNull(
label: 'Leading icon',
initialOption: null,
options: exampleIcons,
);
final trailingIcon = k.listOrNull(
label: 'Trailing icon',
initialOption: null,
options: exampleIcons,
);

final showBadge = k.boolean(label: 'Show Badge', initialValue: false);
final counter =
k.int.slider(label: 'Badge Count', initialValue: 0, max: 110, min: 0);

return SingleChildScrollView(
child: Column(
children: OptimusButtonVariant.values
.map(
(v) => Padding(
padding: const EdgeInsets.all(8),
child: OptimusButton(
onPressed: k.boolean(label: 'Enabled', initialValue: true)
? () {}
: null,
size: k.list(
label: 'Size',
initialOption: OptimusWidgetSize.large,
options: OptimusWidgetSize.values,
),
isLoading: k.boolean(label: 'Loading', initialValue: false),
variant: v,
leadingIcon: leadingIcon,
trailingIcon: trailingIcon,
counter: showBadge ? counter : null,
child: Text(k.string(label: 'Text', initialValue: 'Button')),
),
),
)
.toList(),
),
);
}

0 comments on commit 33b2e3d

Please sign in to comment.