chipsStory top-level property
Story
chipsStory
getter/setter pair
Implementation
Story chipsStory = Story(
name: 'Chips',
builder: (context) {
final chipText =
context.knobs.text(label: 'Chip Text', initial: 'Chips Text');
final chipShapeStory = context.knobs.options(
label: 'Chip Shape',
options: [
Option(label: 'Rounded Rectangle', value: ChipShape.rounded),
Option(label: 'Rectangle', value: ChipShape.rectangle),
Option(label: 'Pilled', value: ChipShape.pilled),
],
initial: ChipShape.rectangle,
);
final chipSizeStory = context.knobs.options(
label: 'Chip Size',
options: [
Option(label: 'Small', value: ChipSize.small),
Option(label: 'Medium', value: ChipSize.medium),
Option(label: 'Large', value: ChipSize.large),
],
initial: ChipSize.medium,
);
final chipTypeStory = context.knobs.options(
label: 'Chip Type',
options: [
Option(label: 'Normal', value: ChipType.normal),
Option(label: 'Outline', value: ChipType.outline),
Option(label: 'Soft', value: ChipType.soft),
Option(label: 'Filled', value: ChipType.filled),
],
initial: ChipType.filled,
);
final backgroundColor = context.knobs.options<Color>(
label: 'Background Color',
options: [
Option(label: 'Red', value: Colors.red),
Option(label: 'Green', value: Colors.green),
Option(label: 'Blue', value: Colors.blue),
],
initial: ThemeColors.primary,
);
final prefixIconStory = context.knobs.options<IconData>(
label: 'Prefix Icon',
options: [
Option(label: 'Circle', value: Icons.circle),
Option(label: 'Star', value: Icons.star),
Option(label: 'Check', value: Icons.check),
],
initial: Icons.circle,
);
final suffixIconStory = context.knobs.options<IconData>(
label: 'Suffix Icon',
options: [
Option(label: 'Circle', value: Icons.circle),
Option(label: 'Star', value: Icons.star),
Option(label: 'Check', value: Icons.check),
],
initial: Icons.circle,
);
final softBackgroundColor = context.knobs.options<Color>(
label: 'Soft Background Color',
options: [
Option(label: 'Red', value: const Color.fromARGB(255, 243, 148, 141)),
Option(label: 'Green', value: const Color.fromARGB(255, 169, 246, 172)),
Option(label: 'Blue', value: const Color.fromARGB(255, 172, 218, 255)),
],
initial: const Color.fromARGB(255, 172, 218, 255),
);
final height = context.knobs.slider(
label: 'Height',
initial: 30,
min: 10,
max: 200,
);
final width = context.knobs.slider(
label: 'Width',
initial: 180,
min: 100,
max: 400,
);
final iconPadding = context.knobs.options<EdgeInsetsGeometry>(
label: 'Icon Padding',
options: [
Option(label: '0', value: const EdgeInsets.only(right: 0.0)),
Option(label: '5', value: const EdgeInsets.only(right: 5.0)),
Option(label: '10', value: const EdgeInsets.only(right: 10.0)),
],
initial: const EdgeInsets.only(right: 8.0),
);
return Container(
child: DDSChip(
text: chipText,
width: width,
height: height,
shape: chipShapeStory,
size: chipSizeStory,
type: chipTypeStory,
backgroundColor: backgroundColor,
softBackgroundColor: softBackgroundColor,
iconPadding: iconPadding,
endIcon: IconButton(
icon: Icon(prefixIconStory, size: 10),
onPressed: () {},
),
startIcon: IconButton(
icon: Icon(suffixIconStory, size: 10),
onPressed: () {},
),
),
);
},
);