cx function

String cx(
  1. List<Object?> parts
)

Conditional className builder — clsx-style utility.

Filters out null, false, and blank strings from parts, trims each valid class name, and joins the remaining entries with a single space.

final isActive = true;
final isDisabled = false;

final className = cx([
  'btn',
  isActive && 'btn-active',
  isDisabled && 'btn-disabled',
  null,
]);
// => 'btn btn-active'

Implementation

String cx(List<Object?> parts) {
  final out = StringBuffer();
  for (final part in parts) {
    if (part == null || part == false) continue;
    final s = part.toString().trim();
    if (s.isEmpty) continue;
    if (out.isNotEmpty) out.write(' ');
    out.write(s);
  }
  return out.toString();
}