FlexiChipStyle.when constructor
FlexiChipStyle.when({
- FlexiChipStyle? enabled,
- FlexiChipStyle? selected,
- FlexiChipStyle? disabled,
- FlexiChipStyle? hovered,
- FlexiChipStyle? focused,
- FlexiChipStyle? pressed,
Create a chip's style when some events occurs.
The enabled
is base style to be applied to the chip.
if null
will fallback with empty FlexiChipStyle
The selected
is style to be merged with enabled
,
when events includes FlexiChipEvent.selected.
The disabled
style to be merged with enabled
,
when events includes FlexiChipEvent.disabled.
The hovered
style to be merged with enabled
,
when events includes FlexiChipEvent.hovered.
The focused
style to be merged with enabled
,
when events includes FlexiChipEvent.focused.
The pressed
style to be merged with enabled
,
when events includes FlexiChipEvent.pressed.
Implementation
factory FlexiChipStyle.when({
FlexiChipStyle? enabled,
FlexiChipStyle? selected,
FlexiChipStyle? disabled,
FlexiChipStyle? hovered,
FlexiChipStyle? focused,
FlexiChipStyle? pressed,
}) {
return FlexiChipStyle.driven((events) {
return (enabled ?? const FlexiChipStyle())
.merge(FlexiChipEvent.isSelected(events)
? evaluate(selected, events)
: null)
.merge(FlexiChipEvent.isDisabled(events)
? evaluate(disabled, events)
: null)
.merge(FlexiChipEvent.isHovered(events)
? evaluate(hovered, events)
: null)
.merge(FlexiChipEvent.isFocused(events)
? evaluate(focused, events)
: null)
.merge(FlexiChipEvent.isPressed(events)
? evaluate(pressed, events)
: null);
});
}