FTileStyle.inherit constructor
FTileStyle.inherit({
- required FColors colors,
- required FTypography typography,
- required FStyle style,
Creates a FTileStyle that inherits its properties.
Implementation
factory FTileStyle.inherit({required FColors colors, required FTypography typography, required FStyle style}) {
final border = FWidgetStateMap({
WidgetState.focused: Border.all(width: style.borderWidth, color: colors.primary),
WidgetState.any: Border.all(width: style.borderWidth, color: colors.border),
});
final divider = FWidgetStateMap({
WidgetState.any: FDividerStyle(color: colors.border, width: style.borderWidth, padding: EdgeInsets.zero),
});
return FTileStyle(
pressable: FTileStateStyle(
border: border,
borderRadius: style.borderRadius,
backgroundColor: FWidgetStateMap({
WidgetState.disabled: colors.disable(colors.secondary),
WidgetState.hovered | WidgetState.pressed: colors.secondary,
WidgetState.any: colors.background,
}),
dividerStyle: divider,
contentStyle: FTileContentStyle.inherit(colors: colors, typography: typography),
tappableStyle: style.tappableStyle.copyWith(
animationTween: FTappableAnimations.none,
pressedEnterDuration: Duration.zero,
pressedExitDuration: const Duration(milliseconds: 25),
),
),
unpressable: FTileStateStyle(
border: border,
borderRadius: style.borderRadius,
backgroundColor: FWidgetStateMap({
WidgetState.disabled: colors.disable(colors.secondary),
WidgetState.any: colors.background,
}),
dividerStyle: divider,
contentStyle: FTileContentStyle.inherit(colors: colors, typography: typography),
tappableStyle: style.tappableStyle.copyWith(
cursor: FWidgetStateMap.all(MouseCursor.defer),
animationTween: FTappableAnimations.none,
pressedEnterDuration: Duration.zero,
pressedExitDuration: const Duration(milliseconds: 25),
),
),
);
}