cx function
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();
}