{
if (selectedItem && event.key === 'Enter') {
@@ -134,18 +135,19 @@ export function ListView
({
>
{noItemsMessage && items.length === 0 && {noItemsMessage}
}
{items.map((item, index) => {
- const selectedSuffix = selectedItem === item ? ' selected' : '';
- const highlightedSuffix = !noHighlightOnHover && highlightedItem === item ? ' highlighted' : '';
- const errorSuffix = isError?.(item, index) ? ' error' : '';
- const warningSuffix = isWarning?.(item, index) ? ' warning' : '';
- const infoSuffix = isInfo?.(item, index) ? ' info' : '';
const indentation = indent?.(item, index) || 0;
const rendered = render(item, index);
return onAccepted?.(item, index)}
role='listitem'
- className={'list-view-entry' + selectedSuffix + highlightedSuffix + errorSuffix + warningSuffix + infoSuffix}
+ className={clsx(
+ 'list-view-entry',
+ selectedItem === item && 'selected',
+ !notSelectable && highlightedItem === item && 'highlighted',
+ isError?.(item, index) && 'error',
+ isWarning?.(item, index) && 'warning',
+ isInfo?.(item, index) && 'info')}
onClick={() => onSelected?.(item, index)}
onMouseEnter={() => setHighlightedItem(item)}
onMouseLeave={() => setHighlightedItem(undefined)}