items.find(item => Object.is(item.value, itemValue))?.name ?? ''}
+ itemToStringValue={itemValue => String(itemValue)}
+ onValueChange={(nextValue) => {
+ if (nextValue === null)
+ return
+ const selected = items.find(item => Object.is(item.value, nextValue))
+ if (selected)
+ onSelect(selected)
+ }}
+ >
+
+
*:last-child]:hidden',
+ hasValue && 'border-components-button-secondary-border! bg-components-button-secondary-bg! pr-6 shadow-xs hover:border-components-button-secondary-border-hover hover:bg-components-button-secondary-bg-hover! data-popup-open:border-components-button-secondary-border-hover! data-popup-open:bg-components-button-secondary-bg-hover! data-popup-open:hover:border-components-button-secondary-border-hover data-popup-open:hover:bg-components-button-secondary-bg-hover!',
className,
)}
>
-
+
{showLeftIcon && (
-
+
{leftIcon || (
-
+
)}
-
+
)}
-
-
+
+
{triggerContent}
-
-
- {!value && }
-
- {!!value && (
-
- )}
-
-
+
+ {!hasValue && }
+
+
+ {hasValue && (
+
+ )}
+
- {
- const selected = items.find(item => item.value === nextValue)
- if (selected)
- onSelect(selected)
- }}
- className="max-h-72 overflow-auto p-1"
- >
- {items.map(item => (
-
- {item.name}
- {value === item.value && }
-
- ))}
-
-
+ {items.map(item => (
+
+
+ {item.name}
+
+
+
+ ))}
+