/// Widget: Description Item /// /// Displays a label-value pair for design request details. library; import 'package:flutter/material.dart'; /// Description Item Widget /// /// Shows a label and value pair with: /// - Inline layout (label: value) for single line /// - Stacked layout for multi-line values /// - Theme-aware colors class DescriptionItem extends StatelessWidget { const DescriptionItem({ super.key, required this.label, required this.value, this.isMultiLine = false, }); final String label; final String value; final bool isMultiLine; @override Widget build(BuildContext context) { final colorScheme = Theme.of(context).colorScheme; if (isMultiLine) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( label, style: TextStyle( fontSize: 13, color: colorScheme.onSurfaceVariant, fontWeight: FontWeight.w500, ), ), const SizedBox(height: 4), Text( value, style: TextStyle( fontSize: 15, color: colorScheme.onSurface, fontWeight: FontWeight.w500, height: 1.6, ), ), ], ); } return Container( padding: const EdgeInsets.only(bottom: 12), decoration: BoxDecoration( border: Border( bottom: BorderSide(color: colorScheme.surfaceContainerHighest), ), ), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( width: 120, child: Text( label, style: TextStyle( fontSize: 13, color: colorScheme.onSurfaceVariant, fontWeight: FontWeight.w500, ), ), ), Expanded( child: Text( value, style: TextStyle( fontSize: 15, color: colorScheme.onSurface, fontWeight: FontWeight.w500, height: 1.6, ), ), ), ], ), ); } }