create static method

BaseExpansion create({
  1. Key? key,
  2. required Widget child,
  3. double? width,
  4. double? height,
  5. Duration duration = const Duration(milliseconds: 300),
  6. bool barrierDismissible = true,
  7. Color? backgroundColor,
  8. double elevation = 3.0,
  9. BorderRadius? borderRadius,
  10. bool enableLiquidGlass = true,
  11. double glassOpacity = 0.9,
  12. double reflectionIntensity = 0.7,
  13. bool hapticFeedback = true,
})

Create a Material 3 styled expansion panel

Implementation

static BaseExpansion create({
  Key? key,
  required Widget child,
  double? width,
  double? height,
  Duration duration = const Duration(milliseconds: 300),
  bool barrierDismissible = true,

  // Material 3 specific
  Color? backgroundColor,
  double elevation = 3.0,
  BorderRadius? borderRadius,

  // iOS 26 Liquid Glass
  bool enableLiquidGlass = true,
  double glassOpacity = 0.9,
  double reflectionIntensity = 0.7,
  bool hapticFeedback = true,
}) {
  return BaseExpansion(
    key: key,
    child: child,
    width: width,
    height: height,
    duration: duration,
    barrierDismissible: barrierDismissible,
    curve: Curves.easeOutCubic,

    // Material 3 properties
    backgroundColor: backgroundColor,
    elevation: elevation,
    borderRadius: borderRadius ?? const BorderRadius.all(Radius.circular(28.0)),
    useMaterial3Elevation: true,

    // iOS 26 Liquid Glass properties
    enableLiquidGlass: enableLiquidGlass,
    glassOpacity: glassOpacity,
    reflectionIntensity: reflectionIntensity,
    refractionStrength: 0.4,
    adaptiveInteraction: true,
    hapticFeedback: hapticFeedback,
    environmentalAwareness: true,
  );
}