renderChip method
Renders items as tag chips: tag
Implementation
String renderChip(
T item,
bool isFocused,
bool isSelected, {
String Function(T)? labelBuilder,
}) {
final label = labelBuilder?.call(item) ?? item.toString();
final raw = '[ $label ]';
final padding = (computedCellWidth - raw.length).clamp(0, 1000);
final padded = raw + ' ' * padding;
if (isFocused) {
return '${theme.inverse}${theme.selection}$padded${theme.reset}';
}
if (isSelected) {
return padded.replaceFirst(label, '${theme.accent}$label${theme.reset}');
}
return '${theme.dim}$padded${theme.reset}';
}