FCCExpandableSection constructor

const FCCExpandableSection({
  1. Key? key,
  2. required String title,
  3. required bool expanded,
  4. required VoidCallback onHeaderTap,
  5. required Widget child,
  6. Widget? customTitle,
  7. IconData expandIcon = Icons.expand_more,
  8. double expandedTurns = 0.5,
  9. Duration duration = const Duration(milliseconds: 300),
  10. EdgeInsets padding = EdgeInsets.zero,
  11. EdgeInsets titlePadding = EdgeInsets.zero,
  12. Color? titleColor,
  13. TextStyle? titleTextStyle,
  14. Curve animationCurve = Curves.linear,
  15. Widget? leadingIcon,
  16. List<BoxShadow>? boxShadow,
  17. double borderRadius = 12.0,
  18. bool showDivider = false,
  19. ThemeData? theme,
  20. Color? backgroundColor,
  21. VoidCallback? onExpand,
  22. VoidCallback? onCollapse,
  23. bool scrollOnExpand = false,
  24. ScrollController? scrollController,
  25. double scrollOffset = -40.0,
  26. bool isNeumorphic = true,
  27. NeumorphicStyle neumorphicStyle = NeumorphicStyle.lowered,
  28. double neumorphicBorderRadius = 24.0,
  29. EdgeInsets neumorphicPadding = const EdgeInsets.fromLTRB(10, 5, 10, 5),
  30. Color? neumorphicBaseColor,
  31. double? neumorphicHeight,
  32. double neumorphicIntensity = 0.35,
})

Implementation

const FCCExpandableSection({
  super.key,
  required this.title,
  required this.expanded,
  required this.onHeaderTap,
  required this.child,
  this.customTitle,
  this.expandIcon = Icons.expand_more,
  this.expandedTurns = 0.5,
  this.duration = const Duration(milliseconds: 300),
  this.padding = EdgeInsets.zero,
  this.titlePadding = EdgeInsets.zero,
  this.titleColor,
  this.titleTextStyle,
  this.animationCurve = Curves.linear,
  this.leadingIcon,
  this.boxShadow,
  this.borderRadius = 12.0,
  this.showDivider = false,
  this.theme,
  this.backgroundColor,
  this.onExpand,
  this.onCollapse,
  this.scrollOnExpand = false,
  this.scrollController,
  this.scrollOffset = -40.0,
  // Neumorphic defaults
  this.isNeumorphic = true,
  this.neumorphicStyle = NeumorphicStyle.lowered,
  this.neumorphicBorderRadius = 24.0,
  this.neumorphicPadding = const EdgeInsets.fromLTRB(10, 5, 10, 5),
  this.neumorphicBaseColor,
  this.neumorphicHeight,
  this.neumorphicIntensity = 0.35,
});