// Native ` has NO `value` attribute — the selected option carries `selected`, and the parser * drops the attribute silently, so `value={…}` rendered every admin edit control on its first * option whatever the row held. The placeholder takes the selection when nothing matches, which * is also what keeps an unset field unsubmittable: that option is `disabled`. */ export function Select(props: SelectProps): JSX.Element { // Thunks, not setup-time reads: a prop read once at setup never tracks, so under a client Solid // runtime the selection would freeze at whatever the first render saw (ThemeToggle already feeds // this a signal). Every other value-formatting component in the package wraps its read the same way. const current = (): string => props.value ?? ''; const matched = (): boolean => props.options.some((option) => option.value === current()); return ( ); }