import React, { useRef } from 'react' import { useInputContext } from '../../context' import { Label, Row, Chevron } from '../UI' import { NativeSelect, PresentationalSelect, SelectContainer } from './StyledSelect' import type { SelectProps } from './select-types' export function Select({ displayValue, value, onUpdate, id, settings, disabled, }: Pick) { const { keys, values } = settings const lastDisplayedValue = useRef() // in case the value isn't present in values (possibly when changing options // via deps), remember the last correct display value. if (value === values[displayValue]) { lastDisplayedValue.current = keys[displayValue] } return ( onUpdate(values[Number(e.currentTarget.value)])} disabled={disabled}> {keys.map((key, index) => ( ))} {lastDisplayedValue.current} ) } export function SelectComponent() { const { label, value, displayValue, onUpdate, id, disabled, settings } = useInputContext() return (