import React, { useEffect, useRef } from 'react'; import { SilkeBox } from '../silke-box'; import { SilkeTextSmall } from '../silke-text'; import { SilkeIcon } from '../silke-icon'; import { ConditionSuggestion } from './types'; import styles from './silke-conditions-input.scss'; export type SilkeConditionsInputProps = { suggestions: ConditionSuggestion[]; highlightedItem: number; onSelect: (value: ConditionSuggestion) => void; }; export function SilkeConditionsInputOptions(props: SilkeConditionsInputProps) { const { suggestions, highlightedItem, onSelect } = props; const dropdownRef = useRef(); useEffect(() => { if (highlightedItem !== undefined) { dropdownRef.current?.children.item(highlightedItem)?.scrollIntoView(false); } }, [highlightedItem]); return ( {suggestions.map((suggestion, i) => { return typeof suggestion === 'string' ? ( {suggestion} ) : ( { onSelect(suggestion); }} > {suggestion.type !== 'color' && ( )} {suggestion.label} ); })} ); }