import React, { ReactNode } from "react"; import { Box } from "../../Box"; import { Text } from "../../Text"; import { Truncate } from "../../Truncate"; import { SelectOption, SingleSelectedOption } from "../shared/types"; interface SingleSelectSelectedProps { selectedItem: SingleSelectedOption; placeholder: ReactNode | undefined; renderSelected: | (({ selectedItem, }: { selectedItem: SingleSelectedOption; }) => ReactNode) | undefined; } export function SingleSelectSelected({ selectedItem, placeholder, renderSelected, }: SingleSelectSelectedProps) { const selectedItemLabel = selectedItem ? selectedItem.label : ""; const isPlaceholderVisible = !selectedItem && !!placeholder; if (isPlaceholderVisible) { return ( {placeholder} ); } return renderSelected ? ( {renderSelected({ selectedItem })} ) : ( {selectedItemLabel} ); }