1 | import React from 'react';
|
2 |
|
3 | import { ThemeContext, LocaleContext } from '../Contexts';
|
4 | import { DefaultTheme } from '../Themes';
|
5 | import { DefaultLocale } from '../Locales';
|
6 | import type { Theme, Locale } from '../Entities';
|
7 |
|
8 | import BaseCalendar, { Props as BaseCalendarProps } from './BaseCalendar';
|
9 |
|
10 | interface ProviderProps {
|
11 | locale?: Locale;
|
12 | theme?: Theme;
|
13 | }
|
14 |
|
15 | type Props = ProviderProps & BaseCalendarProps;
|
16 |
|
17 | const Providers: React.FC<Props> = ({ theme, locale, ...otherProps }) => {
|
18 | return (
|
19 | <LocaleContext.Provider value={locale ?? DefaultLocale}>
|
20 | <ThemeContext.Provider value={theme ?? DefaultTheme}>
|
21 | <BaseCalendar {...otherProps} />
|
22 | </ThemeContext.Provider>
|
23 | </LocaleContext.Provider>
|
24 | );
|
25 | };
|
26 |
|
27 | export default React.memo(Providers);
|