calculatePadding static method

EdgeInsets calculatePadding(
  1. FlutterTagPosition? position
)

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),
  );
}