import * as React from 'react'; import * as PropTypes from 'prop-types'; import { DateIOFormats } from '@date-io/core/IUtils'; import { MuiPickersAdapter } from './_shared/hooks/useUtils'; export const MuiPickersAdapterContext = React.createContext(null); export interface LocalizationProviderProps { children?: React.ReactNode; dateAdapter: new (...args: any) => MuiPickersAdapter; dateFormats?: Partial; dateLibInstance?: any; locale?: any; } const LocalizationProvider: React.FC = (props) => { const { children, dateAdapter: Utils, dateFormats, dateLibInstance, locale } = props; const utils = React.useMemo( () => new Utils({ locale, formats: dateFormats, instance: dateLibInstance }), [Utils, locale, dateFormats, dateLibInstance] ); return ( {children} ); }; LocalizationProvider.propTypes = { dateAdapter: PropTypes.func.isRequired, locale: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), /** * Your component tree. */ children: PropTypes.node, } as any; export default LocalizationProvider;