FCCInfoRow constructor

const FCCInfoRow({
  1. Key? key,
  2. required String label,
  3. String? value,
  4. IconData? leadingIcon,
  5. Widget? leading,
  6. VoidCallback? onTap,
  7. FCCInfoRowLayout layout = FCCInfoRowLayout.inline,
  8. Duration valueChangeDuration = const Duration(milliseconds: 220),
  9. Curve valueChangeCurve = Curves.easeOut,
  10. bool enableCopy = false,
  11. String? copyValue,
  12. String copyTooltip = 'Copy',
  13. VoidCallback? onCopied,
  14. bool expandable = false,
  15. bool initiallyExpanded = false,
  16. Widget? details,
  17. String? detailsText,
  18. Duration expandCollapseDuration = const Duration(milliseconds: 220),
  19. Curve expandCollapseCurve = Curves.easeInOut,
  20. List<Widget>? trailingBadges,
  21. List<String>? trailingBadgeLabels,
  22. EdgeInsets margin = EdgeInsets.zero,
  23. EdgeInsets padding = const EdgeInsets.symmetric(horizontal: 5, vertical: 5),
  24. double horizontalGap = 8,
  25. double labelToValueGap = 8,
  26. double labelFlex = 2,
  27. double valueFlex = 3,
  28. bool dense = false,
  29. TextStyle? labelStyle,
  30. TextStyle? valueStyle,
  31. TextStyle? detailsTextStyle,
  32. bool inlineLabelValue = true,
  33. bool showLabel = true,
  34. FCCInfoRowShape shape = FCCInfoRowShape.none,
  35. bool use3DEffect = true,
  36. double borderRadius = 14,
  37. Color? backgroundColor,
  38. Color? borderColor,
  39. double elevation = 0,
})

Implementation

const FCCInfoRow({
  super.key,
  required this.label,
  this.value,
  this.leadingIcon,
  this.leading,
  this.onTap,
  this.layout = FCCInfoRowLayout.inline,
  this.valueChangeDuration = const Duration(milliseconds: 220),
  this.valueChangeCurve = Curves.easeOut,

  // Copy
  this.enableCopy = false,
  this.copyValue,
  this.copyTooltip = 'Copy',
  this.onCopied,

  // Expandable
  this.expandable = false,
  this.initiallyExpanded = false,
  this.details,
  this.detailsText,
  this.expandCollapseDuration = const Duration(milliseconds: 220),
  this.expandCollapseCurve = Curves.easeInOut,

  // Badges
  this.trailingBadges,
  this.trailingBadgeLabels,

  // Layout
  this.margin = EdgeInsets.zero,
  this.padding = const EdgeInsets.symmetric(horizontal: 5, vertical: 5),
  this.horizontalGap = 8,
  this.labelToValueGap = 8,
  this.labelFlex = 2,
  this.valueFlex = 3,
  this.dense = false,

  // Typography
  this.labelStyle,
  this.valueStyle,
  this.detailsTextStyle,

  // Shape / theme
  this.inlineLabelValue = true,
  this.showLabel = true,
  this.shape = FCCInfoRowShape.none,
  this.use3DEffect = true,
  this.borderRadius = 14,
  this.backgroundColor,
  this.borderColor,
  this.elevation = 0,
});