m3eExpandableParentRadius function

BorderRadius m3eExpandableParentRadius({
  1. required M3ECardPosition globalPosition,
  2. required double outerRadius,
  3. required double innerRadius,
  4. required bool isExpanded,
  5. required bool hasSublist,
})

Corner radii for an expandable parent when isExpanded with a list child.

Implementation

BorderRadius m3eExpandableParentRadius({
  required M3ECardPosition globalPosition,
  required double outerRadius,
  required double innerRadius,
  required bool isExpanded,
  required bool hasSublist,
}) {
  if (!isExpanded || !hasSublist) {
    return calculateCardRadius(
      position: globalPosition,
      outerRadius: outerRadius,
      innerRadius: innerRadius,
    );
  }

  // Expanded with nested list: keep top from global position, bottom = inner.
  switch (globalPosition) {
    case M3ECardPosition.single:
    case M3ECardPosition.first:
      return BorderRadius.vertical(
        top: Radius.circular(outerRadius),
        bottom: Radius.circular(innerRadius),
      );
    case M3ECardPosition.last:
    case M3ECardPosition.middle:
      return BorderRadius.circular(innerRadius);
  }
}