Jake Vanderwerf
2026-09-06 3e4e3db64b366028845cfd610c5b17f26bd062ee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { SelectControl, RadioControl } from '@wordpress/components';
 
const SelectField = ({ field, value, onChange }) => {
    const options = Object.entries(field.options || {}).map(([key, label]) => ({ label, value: key }));
 
    if (field.type === 'radio') {
        return (
            <RadioControl
                label={field.label}
                help={field.description}
                selected={value}
                options={options}
                onChange={onChange}
                id={field.name}
            />
        );
    }
 
    return (
        <SelectControl
            label={field.label}
            help={field.description}
            value={value ?? ''}
            options={[{ label: '— Select —', value: '' }, ...options]}
            onChange={onChange}
            id={field.name}
        />
    );
};
 
export default SelectField;