Skip to content

Commit 4861c3d

Browse files
committed
feat(mui): do not use mui pickers anymore
1 parent 1903fe6 commit 4861c3d

File tree

2 files changed

+40
-44
lines changed

2 files changed

+40
-44
lines changed

packages/mui-component-mapper/src/date-picker/date-picker.js

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@ import React from 'react';
22
import PropTypes from 'prop-types';
33

44
import MUIDatePicker from '@mui/lab/DatePicker';
5-
import AdapterDateFns from '@mui/lab/AdapterDateFns';
6-
import LocalizationProvider from '@mui/lab/LocalizationProvider';
75

86
import FormFieldGrid from '../form-field-grid/form-field-grid';
97
import { validationError } from '../validation-error/validation-error';
108
import { meta, input } from '@data-driven-forms/common/prop-types-templates';
119
import { useFieldApi } from '@data-driven-forms/react-form-renderer';
10+
import { TextField } from '@mui/material';
1211

1312
const DatePicker = (props) => {
1413
const {
@@ -22,31 +21,32 @@ const DatePicker = (props) => {
2221
description,
2322
validateOnMount,
2423
meta,
25-
locale = 'en',
2624
FormFieldGridProps,
27-
MuiPickersUtilsProviderProps,
2825
DatePickerProps,
2926
} = useFieldApi(props);
3027
const invalid = validationError(meta, validateOnMount);
3128

3229
return (
3330
<FormFieldGrid {...FormFieldGridProps}>
34-
<LocalizationProvider locale={locale} adapter={AdapterDateFns} {...MuiPickersUtilsProviderProps}>
35-
<MUIDatePicker
36-
fullWidth
37-
margin="normal"
38-
label={label}
39-
helperText={invalid || ((meta.touched || validateOnMount) && meta.warning) || helperText || description}
40-
disabled={isDisabled || isReadOnly}
41-
placeholder={placeholder}
42-
required={isRequired}
43-
error={!!invalid}
44-
readOnly={isReadOnly}
45-
{...input}
46-
value={input.value || null}
47-
{...DatePickerProps}
48-
/>
49-
</LocalizationProvider>
31+
<MUIDatePicker
32+
renderInput={(props) => (
33+
<TextField
34+
{...props}
35+
fullWidth
36+
margin="normal"
37+
label={label}
38+
helperText={invalid || ((meta.touched || validateOnMount) && meta.warning) || helperText || description}
39+
placeholder={placeholder}
40+
required={isRequired}
41+
error={!!invalid}
42+
/>
43+
)}
44+
disabled={isDisabled || isReadOnly}
45+
readOnly={isReadOnly}
46+
{...input}
47+
value={input.value || null}
48+
{...DatePickerProps}
49+
/>
5050
</FormFieldGrid>
5151
);
5252
};
@@ -61,7 +61,6 @@ DatePicker.propTypes = {
6161
label: PropTypes.node,
6262
helperText: PropTypes.node,
6363
validateOnMount: PropTypes.bool,
64-
locale: PropTypes.string,
6564
description: PropTypes.node,
6665
FormFieldGridProps: PropTypes.object,
6766
MuiPickersUtilsProviderProps: PropTypes.object,
@@ -70,7 +69,6 @@ DatePicker.propTypes = {
7069

7170
DatePicker.defaultProps = {
7271
FormFieldGridProps: {},
73-
MuiPickersUtilsProviderProps: {},
7472
DatePickerProps: {},
7573
};
7674

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
33
import MUITimePicker from '@mui/lab/TimePicker';
4-
import AdapterDateFns from '@mui/lab/AdapterDateFns';
5-
import LocalizationProvider from '@mui/lab/LocalizationProvider';
64

75
import FormFieldGrid from '../form-field-grid/form-field-grid';
86
import { validationError } from '../validation-error/validation-error';
97
import { meta, input } from '@data-driven-forms/common/prop-types-templates';
108
import { useFieldApi } from '@data-driven-forms/react-form-renderer';
9+
import { TextField } from '@material-ui/core';
1110

1211
const TimePicker = (props) => {
1312
const {
@@ -21,7 +20,6 @@ const TimePicker = (props) => {
2120
description,
2221
validateOnMount,
2322
meta,
24-
locale = 'en',
2523
MuiPickersUtilsProviderProps,
2624
FormFieldGridProps,
2725
...rest
@@ -30,22 +28,25 @@ const TimePicker = (props) => {
3028

3129
return (
3230
<FormFieldGrid {...FormFieldGridProps}>
33-
<LocalizationProvider locale={locale} adapter={AdapterDateFns} {...MuiPickersUtilsProviderProps}>
34-
<MUITimePicker
35-
fullWidth
36-
margin="normal"
37-
label={label}
38-
helperText={invalid || ((meta.touched || validateOnMount) && meta.warning) || helperText || description}
39-
disabled={isDisabled || isReadOnly}
40-
placeholder={placeholder}
41-
required={isRequired}
42-
error={!!invalid}
43-
readOnly={isReadOnly}
44-
{...input}
45-
value={input.value || null}
46-
{...rest}
47-
/>
48-
</LocalizationProvider>
31+
<MUITimePicker
32+
renderInput={(props) => (
33+
<TextField
34+
{...props}
35+
fullWidth
36+
margin="normal"
37+
label={label}
38+
helperText={invalid || ((meta.touched || validateOnMount) && meta.warning) || helperText || description}
39+
placeholder={placeholder}
40+
required={isRequired}
41+
error={!!invalid}
42+
/>
43+
)}
44+
readOnly={isReadOnly}
45+
disabled={isDisabled || isReadOnly}
46+
{...input}
47+
value={input.value || null}
48+
{...rest}
49+
/>
4950
</FormFieldGrid>
5051
);
5152
};
@@ -60,15 +61,12 @@ TimePicker.propTypes = {
6061
label: PropTypes.node,
6162
helperText: PropTypes.node,
6263
validateOnMount: PropTypes.bool,
63-
locale: PropTypes.string,
6464
description: PropTypes.node,
6565
FormFieldGridProps: PropTypes.object,
66-
MuiPickersUtilsProviderProps: PropTypes.object,
6766
};
6867

6968
TimePicker.defaultProps = {
7069
FormFieldGridProps: {},
71-
MuiPickersUtilsProviderProps: {},
7270
};
7371

7472
export default TimePicker;

0 commit comments

Comments
 (0)