Jake Vanderwerf
2026-09-13 1aa7c404dae63c9518468fe9b579fad819f8d871
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
32
33
34
35
import { DatePicker } from '@wordpress/components';
 
const DateField = ({field, value, onChange}) => {
    // const [ date, setDate ] = useState( new Date() );
 
    return (
        <div className="components-base-control" id={field.name}>
            <label className="components-base-control__label">
                { field.label }
            </label>
            <DatePicker
                currentDate={ toLocalDate(value) }
                onChange={ onChange }
                help={ field.description }
            />
            { getDescription(field) }
        </div>
    );
};
 
const toLocalDate = (value) => {
    if (!value) return null;
    const [year, month, day] = value.split('-').map(Number);
    if (!year || !month || !day) return null;
    return new Date(year, month - 1, day);
};
 
const getDescription = (field) => {
    if (!field.description || field.description.length === 0) return;
    return (
        <p className="hint">{field.description}</p>
    )
};
 
export default DateField;