calculatePadding static method
Calculates the padding for a tappable badge based on its position. Defaults to EdgeInsets.only(top: 8, right: 10) if no position is provided.
Implementation
static EdgeInsets calculatePadding(FlutterTagPosition? position) {
if (position == null) {
return const EdgeInsets.only(top: 8, right: 10);
}
if (position.isCenter) {
return EdgeInsets.zero;
}
double getUpdatedPadding(double? digit) {
if (digit == null || !digit.isNegative) {
return 0;
}
return digit.abs();
}
if (position.top != null && position.start != null) {
return EdgeInsets.only(
top: getUpdatedPadding(position.top),
left: getUpdatedPadding(position.start));
}
return EdgeInsets.only(
top: getUpdatedPadding(position.top),
bottom: getUpdatedPadding(position.bottom),
left: getUpdatedPadding(position.start),
right: getUpdatedPadding(position.end),
);
}