constrained method 
    
    
    
  Implementation
  Widget constrained(
    {double? minWidth,
    double? maxWidth,
    double? minHeight,
    double? maxHeight,
    double? width,
    double? height}) {
  if (this is ConstrainedBox) {
    return ConstrainedBox(
      constraints: BoxConstraints(
        minWidth: width ??
            minWidth ??
            (this as ConstrainedBox).constraints.minWidth,
        maxWidth: width ??
            maxWidth ??
            (this as ConstrainedBox).constraints.maxWidth,
        minHeight: height ??
            minHeight ??
            (this as ConstrainedBox).constraints.minHeight,
        maxHeight: height ??
            maxHeight ??
            (this as ConstrainedBox).constraints.maxHeight,
      ),
      child: (this as ConstrainedBox).child,
    );
  }
  return ConstrainedBox(
    constraints: BoxConstraints(
      minWidth: width ?? minWidth ?? 0,
      maxWidth: width ?? maxWidth ?? double.infinity,
      minHeight: height ?? minHeight ?? 0,
      maxHeight: height ?? maxHeight ?? double.infinity,
    ),
    child: this,
  );
}