1
1
import { unstable_useForkRef as useForkRef } from '@mui/utils' ;
2
- import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns ' ;
2
+ import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3 ' ;
3
3
import { DatePicker } from '@mui/x-date-pickers/DatePicker' ;
4
4
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker' ;
5
5
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider' ;
6
6
import { TimePicker } from '@mui/x-date-pickers/TimePicker' ;
7
- import formatDate from 'date-fns/format' ;
8
- import parse from 'date-fns/parse' ;
9
- import parseISO from 'date-fns/parseISO' ;
7
+ import { formatDate } from 'date-fns/format' ;
8
+ import { parse } from 'date-fns/parse' ;
9
+ import { parseISO } from 'date-fns/parseISO' ;
10
10
import React , { useCallback , useMemo , useRef , useState } from 'react' ;
11
11
12
12
import Field from '@staticcms/core/components/common/field/Field' ;
13
13
import classNames from '@staticcms/core/lib/util/classNames.util' ;
14
14
import { generateClassNames } from '@staticcms/core/lib/util/theming.util' ;
15
15
import NowButton from './components/NowButton' ;
16
16
import { DEFAULT_DATETIME_FORMAT } from './constants' ;
17
- import { useDatetimeFormats } from './datetime.util' ;
17
+ import { getDateFnsLocale , useDatetimeFormats } from './datetime.util' ;
18
18
import { localToUTC } from './utc.util' ;
19
19
20
20
import type { DateTimeField , WidgetControlProps } from '@staticcms/core' ;
@@ -43,6 +43,7 @@ const DateTimeControl: FC<WidgetControlProps<string | Date, DateTimeField>> = ({
43
43
errors,
44
44
hasErrors,
45
45
forSingleList,
46
+ config : { locale } ,
46
47
onChange,
47
48
} ) => {
48
49
const ref = useRef < HTMLInputElement | null > ( null ) ;
@@ -194,6 +195,8 @@ const DateTimeControl: FC<WidgetControlProps<string | Date, DateTimeField>> = ({
194
195
rootRef ,
195
196
] ) ;
196
197
198
+ const dateLocale = useMemo ( ( ) => ( locale ? getDateFnsLocale ( locale ) : undefined ) , [ locale ] ) ;
199
+
197
200
return (
198
201
< Field
199
202
inputRef = { ! open ? ref : undefined }
@@ -213,7 +216,11 @@ const DateTimeControl: FC<WidgetControlProps<string | Date, DateTimeField>> = ({
213
216
wrapperClassName = { classes . wrapper }
214
217
>
215
218
< div className = { classes [ 'inputs' ] } >
216
- < LocalizationProvider key = "localization-provider" dateAdapter = { AdapterDateFns } >
219
+ < LocalizationProvider
220
+ key = "localization-provider"
221
+ dateAdapter = { AdapterDateFns }
222
+ adapterLocale = { dateLocale }
223
+ >
217
224
{ dateTimePicker }
218
225
</ LocalizationProvider >
219
226
< NowButton
0 commit comments