From 566fae414540d7936cc48494609fbbc6d5a9a248 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= Date: Wed, 3 May 2023 00:13:18 +0200 Subject: [PATCH 01/21] Add ability to default to dark mode when users prefer it --- docs/Admin.md | 52 +++++++++++++ docs/ToggleThemeButton.md | 56 +++++--------- .../ra-ui-materialui/src/AdminContext.tsx | 25 +++++-- .../src/button/ToggleThemeButton.stories.tsx | 23 +++++- .../src/button/ToggleThemeButton.tsx | 40 +++++++--- .../src/button/ToggleThemeLegacyButton.tsx | 58 +++++++++++++++ packages/ra-ui-materialui/src/defaultTheme.ts | 73 +++++++++++-------- .../src/layout/Theme/ThemeProvider.tsx | 24 ++++-- .../src/layout/Theme/ThemesContext.ts | 9 +++ .../src/layout/Theme/index.ts | 3 + .../src/layout/Theme/types.ts | 13 ++++ .../src/layout/Theme/useTheme.ts | 32 ++++++-- .../src/layout/Theme/useThemesContext.ts | 19 +++++ packages/react-admin/src/Admin.tsx | 11 ++- 14 files changed, 340 insertions(+), 98 deletions(-) create mode 100644 packages/ra-ui-materialui/src/button/ToggleThemeLegacyButton.tsx create mode 100644 packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts create mode 100644 packages/ra-ui-materialui/src/layout/Theme/types.ts create mode 100644 packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts diff --git a/docs/Admin.md b/docs/Admin.md index a259e44a3e1..ba91ff4abd9 100644 --- a/docs/Admin.md +++ b/docs/Admin.md @@ -39,6 +39,7 @@ Here are all the props accepted by the component: - [`catchAll`](#catchall) - [`menu`](#menu) - [`theme`](#theme) +- [`darkTheme`](#darktheme) - [`layout`](#layout) - [`loginPage`](#loginpage) - [`authCallbackPage`](#authcallbackpage) @@ -384,6 +385,57 @@ const App = () => ( For more details on predefined themes and custom themes, refer to [the Theming chapter](./Theming.md#global-theme-overrides) of the react-admin documentation. +## `darkTheme` + +If you want to support light and dark mode, you can provide a `darkTheme` in addition to the `theme` prop. The `darkTheme` will be used when the user's browser is in dark mode, or when the user manually switches to dark mode using [the `` component](./ToggleThemeButton.md). + +```jsx +import { Admin } from 'react-admin'; +import { darkTheme, lightTheme } from './themes'; + +const App = () => ( + + ... + +); +``` + +To let users change the theme manually, add a `` component to the AppBar, and add that AppBar to a custom layout: + +```jsx +// in src/MyAppBar.js +import { AppBar, TitlePortal, ToggleThemeButton } from 'react-admin'; + +export const MyAppBar = () => ( + + + + > +); + +// in src/App.js +import { Admin, Layout } from 'react-admin'; +import { MyAppBar } from './MyAppBar'; +import { darkTheme, lightTheme } from './themes'; + +const MyLayout = (props) => ; + +const App = () => ( + + ... + +); +``` + ## `layout` If you want to deeply customize the app header, the menu, or the notifications, the best way is to provide a custom layout component. It must contain a `{children}` placeholder, where react-admin will render the resources. diff --git a/docs/ToggleThemeButton.md b/docs/ToggleThemeButton.md index e0e698fa609..b807d5c6b23 100644 --- a/docs/ToggleThemeButton.md +++ b/docs/ToggleThemeButton.md @@ -18,21 +18,18 @@ The `` component lets users switch from light to dark mode, a You can add the `` to a custom App Bar: ```jsx -import { AppBar, TitlePortal, ToggleThemeButton, defaultTheme } from 'react-admin'; - -const darkTheme = { - palette: { mode: 'dark' }, -}; +// in src/MyAppBar.js +import { AppBar, TitlePortal, ToggleThemeButton } from 'react-admin'; export const MyAppBar = () => ( - + > ); ``` -Then, pass the custom App Bar in a custom ``, and the `` to your ``: +Then, pass the custom App Bar in a custom ``, and the `` to your ``. The `` must define a `darkTheme` prop for the button to work: ```jsx import { Admin, Layout } from 'react-admin'; @@ -42,56 +39,43 @@ import { MyAppBar } from './MyAppBar'; const MyLayout = (props) => ; const App = () => ( - + ... ); ``` -## `darkTheme` +## Creating A Dark Theme + +For this button to work, you must provide a dark theme to the `` component. The `darkTheme` should be a JSON object that follows the [Material UI theme specification](https://material-ui.com/customization/theming/). -Required: A theme object to use when the user chooses the dark mode. It must be serializable to JSON. +You can create such a theme from scratch: ```jsx const darkTheme = { palette: { mode: 'dark' }, }; - - ``` -**Tip**: React-admin calls Material UI's `createTheme()` on this object. - -## `lightTheme` - -A theme object to use when the user chooses the light mode. It must be serializable to JSON. +Of you can override react-admin's default dark theme: ```jsx +import { defaultDarkTheme } from 'react-admin'; + const darkTheme = { - palette: { mode: 'dark' }, -}; -const lightTheme = { + ...defaultDarkTheme, palette: { - type: 'light', + ...defaultDarkTheme.palette, primary: { - main: '#3f51b5', - }, - secondary: { - main: '#f50057', + main: '#90caf9', }, }, }; - - ``` -React-admin uses the `` prop as default theme. - -**Tip**: React-admin calls Material UI's `createTheme()` on this object. - -## API - -* [`ToggleThemeButton`] - -[`ToggleThemeButton`]: https://github.com/marmelab/react-admin/blob/master/packages/ra-ui-materialui/src/button/ToggleThemeButton.jsx +**Tip**: React-admin calls Material UI's `createTheme()` on the `` prop - don't call it yourself. diff --git a/packages/ra-ui-materialui/src/AdminContext.tsx b/packages/ra-ui-materialui/src/AdminContext.tsx index 281db865b6f..5ba47e316c2 100644 --- a/packages/ra-ui-materialui/src/AdminContext.tsx +++ b/packages/ra-ui-materialui/src/AdminContext.tsx @@ -1,16 +1,31 @@ import * as React from 'react'; import { CoreAdminContext, CoreAdminContextProps } from 'ra-core'; -import { defaultTheme } from './defaultTheme'; -import { ThemeProvider } from './layout/Theme'; +import { defaultLightTheme } from './defaultTheme'; +import { ThemeProvider, ThemesContext, RaThemeOptions } from './layout/Theme'; -export const AdminContext = (props: CoreAdminContextProps) => { - const { theme = defaultTheme, children, ...rest } = props; +export const AdminContext = (props: AdminContextProps) => { + const { + theme, + lightTheme = defaultLightTheme, + darkTheme, + children, + ...rest + } = props; return ( - {children} + + {children} + ); }; +export interface AdminContextProps extends CoreAdminContextProps { + lightTheme?: RaThemeOptions; + darkTheme?: RaThemeOptions; +} + AdminContext.displayName = 'AdminContext'; diff --git a/packages/ra-ui-materialui/src/button/ToggleThemeButton.stories.tsx b/packages/ra-ui-materialui/src/button/ToggleThemeButton.stories.tsx index ae355d3ba5d..7e4a8dec930 100644 --- a/packages/ra-ui-materialui/src/button/ToggleThemeButton.stories.tsx +++ b/packages/ra-ui-materialui/src/button/ToggleThemeButton.stories.tsx @@ -101,13 +101,32 @@ const BookList = () => { const MyAppBar = () => ( - + ); const MyLayout = props => ; export const Basic = () => ( - + + + +); + +const LegacyAppBar = () => ( + + + + +); +const LegacyLayout = props => ; + +export const Legacy = () => ( + ); diff --git a/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx b/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx index 6d4eff00a21..0bb93c973a8 100644 --- a/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx +++ b/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx @@ -1,21 +1,25 @@ import React from 'react'; -import { Tooltip, IconButton } from '@mui/material'; +import { Tooltip, IconButton, useMediaQuery } from '@mui/material'; import Brightness4Icon from '@mui/icons-material/Brightness4'; import Brightness7Icon from '@mui/icons-material/Brightness7'; import { useTranslate } from 'ra-core'; + +import { ToggleThemeLegacyButton } from './ToggleThemeLegacyButton'; import { useTheme } from '../layout'; import { RaThemeOptions } from '..'; /** * Button toggling the theme (light or dark). * + * Uses the light and dark theme defined in the component. + * * @example * import { AppBar, TitlePortal, ToggleThemeButton } from 'react-admin'; * * const MyAppBar = () => ( * * - * + * * * ); * @@ -23,11 +27,23 @@ import { RaThemeOptions } from '..'; */ export const ToggleThemeButton = (props: ToggleThemeButtonProps) => { const translate = useTranslate(); - const { darkTheme, lightTheme } = props; - const [theme, setTheme] = useTheme(); + const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', { + noSsr: true, + }); + const [theme, setTheme] = useTheme(prefersDarkMode ? 'dark' : 'light'); + + // FIXME: remove in v5 + if (props.darkTheme) { + return ( + + ); + } const handleTogglePaletteType = (): void => { - setTheme(theme?.palette.mode === 'dark' ? lightTheme : darkTheme); + setTheme(theme === 'dark' ? 'light' : 'dark'); }; const toggleThemeTitle = translate('ra.action.toggle_theme', { _: 'Toggle Theme', @@ -40,17 +56,19 @@ export const ToggleThemeButton = (props: ToggleThemeButtonProps) => { onClick={handleTogglePaletteType} aria-label={toggleThemeTitle} > - {theme?.palette.mode === 'dark' ? ( - - ) : ( - - )} + {theme === 'dark' ? : } ); }; export interface ToggleThemeButtonProps { - darkTheme: RaThemeOptions; + /** + * @deprecated Set the lightTheme in the component instead. + */ lightTheme?: RaThemeOptions; + /** + * @deprecated Set the darkTheme in the component instead. + */ + darkTheme?: RaThemeOptions; } diff --git a/packages/ra-ui-materialui/src/button/ToggleThemeLegacyButton.tsx b/packages/ra-ui-materialui/src/button/ToggleThemeLegacyButton.tsx new file mode 100644 index 00000000000..63fe6884d91 --- /dev/null +++ b/packages/ra-ui-materialui/src/button/ToggleThemeLegacyButton.tsx @@ -0,0 +1,58 @@ +import React from 'react'; +import { Tooltip, IconButton } from '@mui/material'; +import Brightness4Icon from '@mui/icons-material/Brightness4'; +import Brightness7Icon from '@mui/icons-material/Brightness7'; +import { useTranslate } from 'ra-core'; +import { useTheme } from '../layout'; +import { RaThemeOptions } from '..'; + +/** + * Button toggling the theme (light or dark). + * + * @deprecated Set the lightTheme and darkTheme props in the component. + * + * @example + * import { AppBar, TitlePortal, ToggleThemeLegacyButton } from 'react-admin'; + * + * const MyAppBar = () => ( + * + * + * + * + * ); + * + * const MyLayout = props => ; + */ +export const ToggleThemeLegacyButton = ( + props: ToggleThemeLegacyButtonProps +) => { + const translate = useTranslate(); + const { darkTheme, lightTheme } = props; + const [theme, setTheme] = useTheme(); + // @ts-ignore + const isDark = theme === 'dark' || theme?.palette.mode === 'dark'; + + const handleTogglePaletteType = (): void => { + setTheme(isDark ? lightTheme : darkTheme); + }; + const toggleThemeTitle = translate('ra.action.toggle_theme', { + _: 'Toggle Theme', + }); + + return ( + + + {isDark ? : } + + + ); +}; + +export interface ToggleThemeLegacyButtonProps { + darkTheme: RaThemeOptions; + lightTheme?: RaThemeOptions; +} diff --git a/packages/ra-ui-materialui/src/defaultTheme.ts b/packages/ra-ui-materialui/src/defaultTheme.ts index f4b657c96ce..e2a3ac0f95d 100644 --- a/packages/ra-ui-materialui/src/defaultTheme.ts +++ b/packages/ra-ui-materialui/src/defaultTheme.ts @@ -1,17 +1,6 @@ -import { ThemeOptions } from '@mui/material'; +import { RaThemeOptions } from './layout/Theme'; -export const defaultTheme = { - palette: { - background: { - default: '#fafafb', - }, - secondary: { - light: '#6ec6ff', - main: '#2196f3', - dark: '#0069c0', - contrastText: '#fff', - }, - }, +const defaultThemeInvariants = { typography: { h6: { fontWeight: 400, @@ -22,16 +11,6 @@ export const defaultTheme = { closedWidth: 50, }, components: { - MuiFilledInput: { - styleOverrides: { - root: { - backgroundColor: 'rgba(0, 0, 0, 0.04)', - '&$disabled': { - backgroundColor: 'rgba(0, 0, 0, 0.04)', - }, - }, - }, - }, MuiTextField: { defaultProps: { variant: 'filled' as const, @@ -49,9 +28,45 @@ export const defaultTheme = { }, }; -export interface RaThemeOptions extends ThemeOptions { - sidebar?: { - width?: number; - closedWidth?: number; - }; -} +export const defaultLightTheme: RaThemeOptions = { + palette: { + background: { + default: '#fafafb', + }, + secondary: { + light: '#6ec6ff', + main: '#2196f3', + dark: '#0069c0', + contrastText: '#fff', + }, + }, + ...defaultThemeInvariants, + components: { + ...defaultThemeInvariants.components, + MuiFilledInput: { + styleOverrides: { + root: { + backgroundColor: 'rgba(0, 0, 0, 0.04)', + '&$disabled': { + backgroundColor: 'rgba(0, 0, 0, 0.04)', + }, + }, + }, + }, + }, +}; + +export const defaultDarkTheme: RaThemeOptions = { + palette: { + mode: 'dark', + primary: { + main: '#90caf9', + }, + background: { + default: '#313131', + }, + }, + ...defaultThemeInvariants, +}; + +export const defaultTheme = defaultLightTheme; diff --git a/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx index f4df0c16c1e..fbd146f13a5 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx +++ b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx @@ -4,9 +4,11 @@ import { ThemeProvider as MuiThemeProvider, createTheme, } from '@mui/material/styles'; -import { ThemeOptions } from '@mui/material'; +import { useMediaQuery } from '@mui/material'; +import { RaThemeOptions } from './types'; import { useTheme } from './useTheme'; +import { useThemesContext } from './useThemesContext'; /** * This sets the Material UI theme based on the store. @@ -19,20 +21,32 @@ export const ThemeProvider = ({ children, theme: themeOverride, }: ThemeProviderProps) => { - const [theme] = useTheme(themeOverride); + const { lightTheme, darkTheme } = useThemesContext(); + + const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', { + noSsr: true, + }); + const [mode] = useTheme(prefersDarkMode && darkTheme ? 'dark' : 'light'); + const themeValue = useMemo(() => { try { - return createTheme(theme); + return createTheme( + typeof mode === 'object' + ? mode // FIXME: legacy useTheme, to be removed in v5 + : mode === 'dark' + ? darkTheme + : lightTheme || themeOverride + ); } catch (e) { console.warn('Failed to reuse custom theme from store', e); return createTheme(); } - }, [theme]); + }, [mode, themeOverride, lightTheme, darkTheme]); return {children}; }; export interface ThemeProviderProps { children: ReactNode; - theme: ThemeOptions; + theme?: RaThemeOptions; } diff --git a/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts b/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts new file mode 100644 index 00000000000..16cd0d58fa3 --- /dev/null +++ b/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts @@ -0,0 +1,9 @@ +import { createContext } from 'react'; +import { RaThemeOptions } from './types'; + +export const ThemesContext = createContext({}); + +export interface ThemesContextValue { + darkTheme?: RaThemeOptions; + lightTheme?: RaThemeOptions; +} diff --git a/packages/ra-ui-materialui/src/layout/Theme/index.ts b/packages/ra-ui-materialui/src/layout/Theme/index.ts index 8066c3f6818..384268cb02d 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/index.ts +++ b/packages/ra-ui-materialui/src/layout/Theme/index.ts @@ -1,2 +1,5 @@ export * from './useTheme'; export * from './ThemeProvider'; +export * from './ThemesContext'; +export * from './useThemesContext'; +export * from './types'; diff --git a/packages/ra-ui-materialui/src/layout/Theme/types.ts b/packages/ra-ui-materialui/src/layout/Theme/types.ts new file mode 100644 index 00000000000..240b78f7d65 --- /dev/null +++ b/packages/ra-ui-materialui/src/layout/Theme/types.ts @@ -0,0 +1,13 @@ +import { ThemeOptions as MuiThemeOptions } from '@mui/material'; + +export type ComponentsTheme = { + [key: string]: any; +}; + +export interface RaThemeOptions extends MuiThemeOptions { + sidebar?: { + width?: number; + closedWidth?: number; + }; + components?: ComponentsTheme; +} diff --git a/packages/ra-ui-materialui/src/layout/Theme/useTheme.ts b/packages/ra-ui-materialui/src/layout/Theme/useTheme.ts index 65afc529ae8..e6d628a835d 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/useTheme.ts +++ b/packages/ra-ui-materialui/src/layout/Theme/useTheme.ts @@ -1,12 +1,30 @@ import { useStore } from 'ra-core'; -import { ThemeOptions, useTheme as useThemeMUI } from '@mui/material'; +import { RaThemeOptions } from './types'; -export type ThemeSetter = (theme: ThemeOptions) => void; +export type ThemeType = 'light' | 'dark'; +export type ThemeSetter = (theme: ThemeType | RaThemeOptions) => void; +/** + * Read and update the theme mode (light or dark) + * + * @example + * const [theme, setTheme] = useTheme('light'); + * const toggleTheme = () => { + * setTheme(theme === 'light' ? 'dark' : 'light'); + * }; + * + * @example // legacy mode, stores the full theme object + * // to be removed in v5 + * const [theme, setTheme] = useTheme({ + * palette: { + * type: 'light', + * }, + * }); + */ export const useTheme = ( - themeOverride?: ThemeOptions -): [ThemeOptions, ThemeSetter] => { - const themeMUI = useThemeMUI(); - const [theme, setter] = useStore('theme', themeOverride); - return [theme || themeMUI, setter]; + type?: ThemeType | RaThemeOptions +): [ThemeType | RaThemeOptions, ThemeSetter] => { + // FIXME: remove legacy mode in v5, and remove the RaThemeOptions type + const [theme, setter] = useStore('theme', type); + return [theme, setter]; }; diff --git a/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts b/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts new file mode 100644 index 00000000000..3a4bba40772 --- /dev/null +++ b/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts @@ -0,0 +1,19 @@ +import { useContext } from 'react'; + +import { ThemesContext } from './ThemesContext'; +import { RaThemeOptions } from './types'; + +export const useThemesContext = (params?: UseThemesContextParams) => { + const { lightTheme, darkTheme } = params || {}; + const context = useContext(ThemesContext); + return { + lightTheme: lightTheme || context.lightTheme, + darkTheme: darkTheme || context.darkTheme, + }; +}; + +export interface UseThemesContextParams { + lightTheme?: RaThemeOptions; + darkTheme?: RaThemeOptions; + [key: string]: any; +} diff --git a/packages/react-admin/src/Admin.tsx b/packages/react-admin/src/Admin.tsx index 65ffeee7069..8fa97ab4721 100644 --- a/packages/react-admin/src/Admin.tsx +++ b/packages/react-admin/src/Admin.tsx @@ -1,8 +1,7 @@ import * as React from 'react'; import { ComponentType } from 'react'; import { CoreAdminProps, localStorageStore } from 'ra-core'; -import { AdminUI, AdminContext } from 'ra-ui-materialui'; -import { ThemeOptions } from '@mui/material'; +import { AdminUI, AdminContext, RaThemeOptions } from 'ra-ui-materialui'; import { defaultI18nProvider } from './defaultI18nProvider'; @@ -111,6 +110,8 @@ export const Admin = (props: AdminProps) => { store, ready, theme, + lightTheme, + darkTheme, title = 'React Admin', } = props; @@ -130,6 +131,8 @@ export const Admin = (props: AdminProps) => { history={history} queryClient={queryClient} theme={theme} + lightTheme={lightTheme} + darkTheme={darkTheme} > Date: Wed, 3 May 2023 00:28:40 +0200 Subject: [PATCH 02/21] Fix rich text compilation --- packages/ra-input-rich-text/src/buttons/ColorButtons.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ra-input-rich-text/src/buttons/ColorButtons.tsx b/packages/ra-input-rich-text/src/buttons/ColorButtons.tsx index 2141190ff90..f8322df1cf9 100644 --- a/packages/ra-input-rich-text/src/buttons/ColorButtons.tsx +++ b/packages/ra-input-rich-text/src/buttons/ColorButtons.tsx @@ -5,11 +5,11 @@ import { ToggleButton, ToggleButtonGroup, ToggleButtonProps, + useTheme, } from '@mui/material'; import FormatColorTextIcon from '@mui/icons-material/FormatColorText'; import FontDownloadIcon from '@mui/icons-material/FontDownload'; import { useTranslate } from 'ra-core'; -import { useTheme } from 'ra-ui-materialui'; import { useTiptapEditor } from '../useTiptapEditor'; import { grey, @@ -92,7 +92,7 @@ const ColorChoiceDialog = ({ close, colorType, }: ColorChoiceDialogProps) => { - const [theme] = useTheme(); + const theme = useTheme(); const colors = [grey, red, orange, yellow, green, blue, purple]; const shades = [900, 700, 500, 300, 100]; From 0b2967aabe7d416823460cd7ea4d4c89bfd23955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= Date: Fri, 5 May 2023 20:46:27 +0200 Subject: [PATCH 03/21] Fix unit test --- .../src/layout/Theme/useTheme.spec.tsx | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/packages/ra-ui-materialui/src/layout/Theme/useTheme.spec.tsx b/packages/ra-ui-materialui/src/layout/Theme/useTheme.spec.tsx index 606d38e112b..b0923706afa 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/useTheme.spec.tsx +++ b/packages/ra-ui-materialui/src/layout/Theme/useTheme.spec.tsx @@ -1,10 +1,9 @@ import * as React from 'react'; -import { CoreAdminContext, useStore } from 'ra-core'; +import { CoreAdminContext, useStore, memoryStore } from 'ra-core'; import expect from 'expect'; import { render, screen } from '@testing-library/react'; import { renderHook } from '@testing-library/react-hooks'; import { useTheme } from './useTheme'; -import { SimplePaletteColorOptions } from '@mui/material'; const authProvider = { login: jest.fn().mockResolvedValueOnce(''), @@ -16,28 +15,43 @@ const authProvider = { const Foo = () => { const [theme] = useTheme(); - return theme !== undefined ?
: <>; + return theme !== undefined ? ( +
{theme}
+ ) : ( + <> + ); }; describe('useTheme', () => { - it('should return current theme', () => { + it('should return undefined by default', () => { render( ); + expect(screen.queryByLabelText('has-theme')).toBeNull(); + }); + + it('should return current theme when set', () => { + render( + + + + ); expect(screen.getByLabelText('has-theme')).not.toBeNull(); }); it('should return theme from settings when available', () => { const { result: storeResult } = renderHook(() => useStore('theme')); - storeResult.current[1]({ palette: { primary: { main: 'red' } } }); + const [_, setTheme] = storeResult.current; + setTheme('dark'); const { result: themeResult } = renderHook(() => useTheme()); + const [theme, __] = themeResult.current; - expect(storeResult.current[0].palette.primary.main).toEqual( - (themeResult.current[0].palette - ?.primary as SimplePaletteColorOptions).main - ); + expect(theme).toEqual('dark'); }); }); From 4a3d1e8e0b8e9b340f16c4acfeccad5159b8817e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= Date: Fri, 5 May 2023 21:33:21 +0200 Subject: [PATCH 04/21] Fix demo compilation --- examples/demo/src/App.tsx | 3 ++- .../demo/src/configuration/Configuration.tsx | 18 ++++-------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/examples/demo/src/App.tsx b/examples/demo/src/App.tsx index b0f11fcd5bb..338e03a7fb0 100644 --- a/examples/demo/src/App.tsx +++ b/examples/demo/src/App.tsx @@ -7,7 +7,7 @@ import authProvider from './authProvider'; import { Login, Layout } from './layout'; import { Dashboard } from './dashboard'; import englishMessages from './i18n/en'; -import { lightTheme } from './layout/themes'; +import { lightTheme, darkTheme } from './layout/themes'; import visitors from './visitors'; import orders from './orders'; @@ -41,6 +41,7 @@ const App = () => ( i18nProvider={i18nProvider} disableTelemetry theme={lightTheme} + darkTheme={darkTheme} > } /> diff --git a/examples/demo/src/configuration/Configuration.tsx b/examples/demo/src/configuration/Configuration.tsx index 968a9e2db5e..242c65441c4 100644 --- a/examples/demo/src/configuration/Configuration.tsx +++ b/examples/demo/src/configuration/Configuration.tsx @@ -5,8 +5,6 @@ import CardContent from '@mui/material/CardContent'; import Button from '@mui/material/Button'; import { useTranslate, useLocaleState, useTheme, Title } from 'react-admin'; -import { darkTheme, lightTheme } from '../layout/themes'; - const Configuration = () => { const translate = useTranslate(); const [locale, setLocale] = useLocaleState(); @@ -22,24 +20,16 @@ const Configuration = () => { From 66586810e55ed45b1c3b372f1c5592e32e62e19b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= Date: Fri, 5 May 2023 21:43:21 +0200 Subject: [PATCH 05/21] Use ToggleThemeButton in ecommerce demo --- examples/demo/src/App.tsx | 21 ++++++++++++++------- examples/demo/src/layout/AppBar.tsx | 10 +++------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/examples/demo/src/App.tsx b/examples/demo/src/App.tsx index 338e03a7fb0..1864f83b703 100644 --- a/examples/demo/src/App.tsx +++ b/examples/demo/src/App.tsx @@ -19,14 +19,21 @@ import dataProviderFactory from './dataProvider'; import Configuration from './configuration/Configuration'; import Segments from './segments/Segments'; -const i18nProvider = polyglotI18nProvider(locale => { - if (locale === 'fr') { - return import('./i18n/fr').then(messages => messages.default); - } +const i18nProvider = polyglotI18nProvider( + locale => { + if (locale === 'fr') { + return import('./i18n/fr').then(messages => messages.default); + } - // Always fallback on english - return englishMessages; -}, 'en'); + // Always fallback on english + return englishMessages; + }, + 'en', + [ + { locale: 'en', name: 'English' }, + { locale: 'fr', name: 'Français' }, + ] +); const App = () => ( { ); }); -const CustomUserMenu = () => ( - - - - -); const CustomAppBar = () => { const isLargeEnough = useMediaQuery(theme => theme.breakpoints.up('sm') ); return ( - }> + {isLargeEnough && } {isLargeEnough && } + ); }; From 141df507410f1747b708256f619720f1a0345a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= Date: Fri, 5 May 2023 22:01:48 +0200 Subject: [PATCH 06/21] add prop --- examples/demo/src/App.tsx | 1 + examples/demo/src/layout/AppBar.tsx | 42 +------------------ .../ra-ui-materialui/src/AdminContext.tsx | 8 +++- .../src/button/ToggleThemeButton.tsx | 8 ++-- .../src/layout/Theme/ThemeProvider.tsx | 6 ++- .../src/layout/Theme/ThemesContext.ts | 1 + .../src/layout/Theme/useThemesContext.ts | 3 +- packages/react-admin/src/Admin.tsx | 3 ++ 8 files changed, 25 insertions(+), 47 deletions(-) diff --git a/examples/demo/src/App.tsx b/examples/demo/src/App.tsx index 1864f83b703..a806088c62b 100644 --- a/examples/demo/src/App.tsx +++ b/examples/demo/src/App.tsx @@ -49,6 +49,7 @@ const App = () => ( disableTelemetry theme={lightTheme} darkTheme={darkTheme} + defaultToLightTheme > } /> diff --git a/examples/demo/src/layout/AppBar.tsx b/examples/demo/src/layout/AppBar.tsx index d3ea46a5f0b..d9dabf99871 100644 --- a/examples/demo/src/layout/AppBar.tsx +++ b/examples/demo/src/layout/AppBar.tsx @@ -1,47 +1,9 @@ import * as React from 'react'; -import { - AppBar, - TitlePortal, - Logout, - UserMenu, - useTranslate, - ToggleThemeButton, - useUserMenu, -} from 'react-admin'; -import { Link } from 'react-router-dom'; -import { - Box, - MenuItem, - ListItemIcon, - ListItemText, - useMediaQuery, - Theme, -} from '@mui/material'; -import SettingsIcon from '@mui/icons-material/Settings'; +import { AppBar, TitlePortal, ToggleThemeButton } from 'react-admin'; +import { Box, useMediaQuery, Theme } from '@mui/material'; import Logo from './Logo'; -const ConfigurationMenu = React.forwardRef((props, ref) => { - const translate = useTranslate(); - const { onClose } = useUserMenu(); - - return ( - - - - - {translate('pos.configuration')} - - ); -}); - const CustomAppBar = () => { const isLargeEnough = useMediaQuery(theme => theme.breakpoints.up('sm') diff --git a/packages/ra-ui-materialui/src/AdminContext.tsx b/packages/ra-ui-materialui/src/AdminContext.tsx index 5ba47e316c2..2d70bc232f7 100644 --- a/packages/ra-ui-materialui/src/AdminContext.tsx +++ b/packages/ra-ui-materialui/src/AdminContext.tsx @@ -9,13 +9,18 @@ export const AdminContext = (props: AdminContextProps) => { theme, lightTheme = defaultLightTheme, darkTheme, + defaultToLightTheme, children, ...rest } = props; return ( {children} @@ -26,6 +31,7 @@ export const AdminContext = (props: AdminContextProps) => { export interface AdminContextProps extends CoreAdminContextProps { lightTheme?: RaThemeOptions; darkTheme?: RaThemeOptions; + defaultToLightTheme?: boolean; } AdminContext.displayName = 'AdminContext'; diff --git a/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx b/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx index 0bb93c973a8..f17bd3c09bf 100644 --- a/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx +++ b/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx @@ -5,8 +5,7 @@ import Brightness7Icon from '@mui/icons-material/Brightness7'; import { useTranslate } from 'ra-core'; import { ToggleThemeLegacyButton } from './ToggleThemeLegacyButton'; -import { useTheme } from '../layout'; -import { RaThemeOptions } from '..'; +import { RaThemeOptions, useThemesContext, useTheme } from '../layout'; /** * Button toggling the theme (light or dark). @@ -27,10 +26,13 @@ import { RaThemeOptions } from '..'; */ export const ToggleThemeButton = (props: ToggleThemeButtonProps) => { const translate = useTranslate(); + const { darkTheme, defaultToLightTheme } = useThemesContext(props); const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', { noSsr: true, }); - const [theme, setTheme] = useTheme(prefersDarkMode ? 'dark' : 'light'); + const [theme, setTheme] = useTheme( + prefersDarkMode && !defaultToLightTheme && darkTheme ? 'dark' : 'light' + ); // FIXME: remove in v5 if (props.darkTheme) { diff --git a/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx index fbd146f13a5..42b7ce89eae 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx +++ b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx @@ -21,12 +21,14 @@ export const ThemeProvider = ({ children, theme: themeOverride, }: ThemeProviderProps) => { - const { lightTheme, darkTheme } = useThemesContext(); + const { lightTheme, darkTheme, defaultToLightTheme } = useThemesContext(); const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', { noSsr: true, }); - const [mode] = useTheme(prefersDarkMode && darkTheme ? 'dark' : 'light'); + const [mode] = useTheme( + prefersDarkMode && !defaultToLightTheme && darkTheme ? 'dark' : 'light' + ); const themeValue = useMemo(() => { try { diff --git a/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts b/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts index 16cd0d58fa3..21a96ea0b6b 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts +++ b/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts @@ -6,4 +6,5 @@ export const ThemesContext = createContext({}); export interface ThemesContextValue { darkTheme?: RaThemeOptions; lightTheme?: RaThemeOptions; + defaultToLightTheme?: boolean; } diff --git a/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts b/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts index 3a4bba40772..e3783042a09 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts +++ b/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts @@ -4,11 +4,12 @@ import { ThemesContext } from './ThemesContext'; import { RaThemeOptions } from './types'; export const useThemesContext = (params?: UseThemesContextParams) => { - const { lightTheme, darkTheme } = params || {}; + const { lightTheme, darkTheme, defaultToLightTheme } = params || {}; const context = useContext(ThemesContext); return { lightTheme: lightTheme || context.lightTheme, darkTheme: darkTheme || context.darkTheme, + defaultToLightTheme: defaultToLightTheme ?? context.defaultToLightTheme, }; }; diff --git a/packages/react-admin/src/Admin.tsx b/packages/react-admin/src/Admin.tsx index 8fa97ab4721..c458193c9fd 100644 --- a/packages/react-admin/src/Admin.tsx +++ b/packages/react-admin/src/Admin.tsx @@ -112,6 +112,7 @@ export const Admin = (props: AdminProps) => { theme, lightTheme, darkTheme, + defaultToLightTheme, title = 'React Admin', } = props; @@ -133,6 +134,7 @@ export const Admin = (props: AdminProps) => { theme={theme} lightTheme={lightTheme} darkTheme={darkTheme} + defaultToLightTheme={defaultToLightTheme} > Date: Fri, 5 May 2023 22:13:54 +0200 Subject: [PATCH 07/21] Fix spinner in ecommerce demo --- examples/demo/src/authProvider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/demo/src/authProvider.ts b/examples/demo/src/authProvider.ts index d10dc16d96b..4ee6f7d9bb5 100644 --- a/examples/demo/src/authProvider.ts +++ b/examples/demo/src/authProvider.ts @@ -13,7 +13,7 @@ const authProvider: AuthProvider = { checkError: () => Promise.resolve(), checkAuth: () => localStorage.getItem('username') ? Promise.resolve() : Promise.reject(), - getPermissions: () => Promise.reject('Unknown method'), + getPermissions: () => Promise.resolve(), getIdentity: () => Promise.resolve({ id: 'user', From a6d4a1ebc90184410bd48dd7ba0338e9b755cfb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= Date: Fri, 5 May 2023 22:48:39 +0200 Subject: [PATCH 08/21] document defaultToLightTheme --- docs/Admin.md | 106 ++++++++++++++++++++++++++++++-------- docs/ToggleThemeButton.md | 2 + 2 files changed, 86 insertions(+), 22 deletions(-) diff --git a/docs/Admin.md b/docs/Admin.md index ba91ff4abd9..307689ce490 100644 --- a/docs/Admin.md +++ b/docs/Admin.md @@ -3,9 +3,16 @@ layout: default title: "The Admin Component" --- -# The `` Component +# `` -The `` component creates an application with its own state, routing, and controller logic. `` requires only a `dataProvider` prop, and at least one child `` to work: +The `` component is the root component of a react-admin app. It allows to configure the application adapters and UI. + +`` creates a series of context providers to allow its children to access the app configuration. It renders the main routes and layout. It delegates the rendering of the content area to its `` children. + +![Admin Component](./img/dense.webp) +## Usage + +`` requires only a `dataProvider` prop, and at least one child `` to work. Here is the most basic example: ```jsx // in src/App.js @@ -27,28 +34,62 @@ export default App; `` children can be [``](./Resource.md) and [``](./CustomRoutes.md) elements. +In most apps, `` takes many props. Here is a more complete example taken from [the e-commerce demo](https://marmelab.com/react-admin-demo/): + +{% raw %} +```jsx +const App = () => ( + + + } /> + + + + + + + + +); +``` +{% endraw %} + +## Props + Here are all the props accepted by the component: -- [`dataProvider`](#dataprovider) -- [`authProvider`](#authprovider) -- [`i18nProvider`](#i18nprovider) -- [`queryClient`](#queryclient) -- [`title`](#title) -- [`dashboard`](#dashboard) -- [`disableTelemetry`](#disabletelemetry) -- [`catchAll`](#catchall) -- [`menu`](#menu) -- [`theme`](#theme) -- [`darkTheme`](#darktheme) -- [`layout`](#layout) -- [`loginPage`](#loginpage) -- [`authCallbackPage`](#authcallbackpage) -- [`history`](#history) -- [`basename`](#basename) -- [`ready`](#ready) -- [`requireAuth`](#requireauth) -- [`store`](#store) -- [`notification`](#notification) +| Prop | Required | Type | Default | Description | +|------------------------|----------|----------------|----------------|----------------------------------------------------------| +| `authCallbackPage` | Optional | `Component` | `AuthCallback` | The content of the authentication callback page | +| `authProvider` | Optional | `AuthProvider` | - | The authentication provider for security and permissions | +| `basename` | Optional | `string` | - | The base path for all URLs | +| `catchAll` | Optional | `Component` | `NotFound` | The fallback component for unknown routes | +| `dashboard` | Optional | `Component` | - | The content of the dashboard page | +| `darkTheme` | Optional | `object` | - | The dark theme configuration | +| `dataProvider` | Required | `DataProvider` | - | The data provider for fetching resources | +| `defaultTo LightTheme` | Optional | `boolean` | `false` | Flag to default to the light theme | +| `disableTelemetry` | Optional | `boolean` | `false` | Set to `true` to disable telemetry collection | +| `i18nProvider` | Optional | `I18NProvider` | - | The internationalization provider for translations | +| `layout` | Optional | `Component` | `Layout` | The content of the layout | +| `loginPage` | Optional | `Component` | `LoginPage` | The content of the login page | +| `notification` | Optional | `Component` | `Notification` | The notification component | +| `queryClient` | Optional | `QueryClient` | - | The react-query client | +| `ready` | Optional | `Component` | - | The content of the ready page | +| `requireAuth` | Optional | `boolean` | `false` | Flag to require authentication for all routes | +| `store` | Optional | `Store` | - | The Store for managing user preferences | +| `theme` | Optional | `object` | - | The main (light) theme configuration | +| `title` | Optional | `string` | - | The error page title | + ## `dataProvider` @@ -436,6 +477,27 @@ const App = () => ( ); ``` +## `defaultToLightTheme` + +If you provide both a `lightTheme` and a `darkTheme`, react-admin will choose the default theme to use for each user based on their OS preference. This means that users using dark mode will see the dark theme by default. Users can then switch to the other theme using [the `` component](./ToggleThemeButton.md). + +If you prefer to always default to the light theme regardless of the user's OS preference, you can set the `defaultToLightTheme` prop to `true`: + +```jsx +import { Admin } from 'react-admin'; + +const App = () => ( + + ... + +); +``` + ## `layout` If you want to deeply customize the app header, the menu, or the notifications, the best way is to provide a custom layout component. It must contain a `{children}` placeholder, where react-admin will render the resources. diff --git a/docs/ToggleThemeButton.md b/docs/ToggleThemeButton.md index b807d5c6b23..135ec0b4ed3 100644 --- a/docs/ToggleThemeButton.md +++ b/docs/ToggleThemeButton.md @@ -31,6 +31,7 @@ export const MyAppBar = () => ( Then, pass the custom App Bar in a custom ``, and the `` to your ``. The `` must define a `darkTheme` prop for the button to work: +{% raw %} ```jsx import { Admin, Layout } from 'react-admin'; @@ -48,6 +49,7 @@ const App = () => ( ); ``` +{% endraw %} ## Creating A Dark Theme From ef2577365f2c46a13ffa22702c376888acc35c99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= Date: Fri, 5 May 2023 22:48:56 +0200 Subject: [PATCH 09/21] Remove useless configuration page from ecommerce demo --- examples/demo/src/App.tsx | 2 - .../demo/src/configuration/Configuration.tsx | 62 ------------------- 2 files changed, 64 deletions(-) delete mode 100644 examples/demo/src/configuration/Configuration.tsx diff --git a/examples/demo/src/App.tsx b/examples/demo/src/App.tsx index a806088c62b..87c237c9a89 100644 --- a/examples/demo/src/App.tsx +++ b/examples/demo/src/App.tsx @@ -16,7 +16,6 @@ import invoices from './invoices'; import categories from './categories'; import reviews from './reviews'; import dataProviderFactory from './dataProvider'; -import Configuration from './configuration/Configuration'; import Segments from './segments/Segments'; const i18nProvider = polyglotI18nProvider( @@ -52,7 +51,6 @@ const App = () => ( defaultToLightTheme > - } /> } /> diff --git a/examples/demo/src/configuration/Configuration.tsx b/examples/demo/src/configuration/Configuration.tsx deleted file mode 100644 index 242c65441c4..00000000000 --- a/examples/demo/src/configuration/Configuration.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import * as React from 'react'; -import Card from '@mui/material/Card'; -import Box from '@mui/material/Box'; -import CardContent from '@mui/material/CardContent'; -import Button from '@mui/material/Button'; -import { useTranslate, useLocaleState, useTheme, Title } from 'react-admin'; - -const Configuration = () => { - const translate = useTranslate(); - const [locale, setLocale] = useLocaleState(); - const [theme, setTheme] = useTheme(); - - return ( - - - <CardContent> - <Box sx={{ width: '10em', display: 'inline-block' }}> - {translate('pos.theme.name')} - </Box> - <Button - variant="contained" - sx={{ margin: '1em' }} - color={theme === 'light' ? 'primary' : 'secondary'} - onClick={() => setTheme('light')} - > - {translate('pos.theme.light')} - </Button> - <Button - variant="contained" - sx={{ margin: '1em' }} - color={theme === 'dark' ? 'primary' : 'secondary'} - onClick={() => setTheme('dark')} - > - {translate('pos.theme.dark')} - </Button> - </CardContent> - <CardContent> - <Box sx={{ width: '10em', display: 'inline-block' }}> - {translate('pos.language')} - </Box> - <Button - variant="contained" - sx={{ margin: '1em' }} - color={locale === 'en' ? 'primary' : 'secondary'} - onClick={() => setLocale('en')} - > - en - </Button> - <Button - variant="contained" - sx={{ margin: '1em' }} - color={locale === 'fr' ? 'primary' : 'secondary'} - onClick={() => setLocale('fr')} - > - fr - </Button> - </CardContent> - </Card> - ); -}; - -export default Configuration; From 352a57d3dd1b99c4a6f8b7b525410caf489cfdff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Fri, 5 May 2023 22:58:27 +0200 Subject: [PATCH 10/21] Reorder Admin props alphabetically --- docs/Admin.md | 545 +++++++++++++++++++++++++------------------------- 1 file changed, 273 insertions(+), 272 deletions(-) diff --git a/docs/Admin.md b/docs/Admin.md index 307689ce490..963f2d935a6 100644 --- a/docs/Admin.md +++ b/docs/Admin.md @@ -70,13 +70,13 @@ Here are all the props accepted by the component: | Prop | Required | Type | Default | Description | |------------------------|----------|----------------|----------------|----------------------------------------------------------| +| `dataProvider` | Required | `DataProvider` | - | The data provider for fetching resources | | `authCallbackPage` | Optional | `Component` | `AuthCallback` | The content of the authentication callback page | | `authProvider` | Optional | `AuthProvider` | - | The authentication provider for security and permissions | | `basename` | Optional | `string` | - | The base path for all URLs | | `catchAll` | Optional | `Component` | `NotFound` | The fallback component for unknown routes | | `dashboard` | Optional | `Component` | - | The content of the dashboard page | | `darkTheme` | Optional | `object` | - | The dark theme configuration | -| `dataProvider` | Required | `DataProvider` | - | The data provider for fetching resources | | `defaultTo LightTheme` | Optional | `boolean` | `false` | Flag to default to the light theme | | `disableTelemetry` | Optional | `boolean` | `false` | Set to `true` to disable telemetry collection | | `i18nProvider` | Optional | `I18NProvider` | - | The internationalization provider for translations | @@ -113,198 +113,68 @@ Check [the Data Provider documentation](./DataProviderIntroduction.md) for more The `dataProvider` is also the ideal place to add custom HTTP headers, authentication, etc. The [Data Providers Backends ](./DataProviderList.md) chapters lists available data providers, and you can learn how to build your own in the [Writing a Data Provider](./DataProviderWriting.md) chapter. -## `authProvider` - -The `authProvider` prop expect an object with 6 methods, each returning a Promise, to control the authentication strategy: - -```jsx -const authProvider = { - login: params => Promise.resolve(), - logout: params => Promise.resolve(), - checkAuth: params => Promise.resolve(), - checkError: error => Promise.resolve(), - getIdentity: params => Promise.resolve(), - getPermissions: params => Promise.resolve(), -}; - -const App = () => ( - <Admin authProvider={authProvider} dataProvider={simpleRestProvider('http://path.to.my.api')}> - ... - </Admin> -); -``` - -The [Auth Provider documentation](./Authentication.md) explains how to implement these functions in detail. +## `authCallbackPage` -## `i18nProvider` +React-admin apps contain a special route called `/auth-callback` to let external authentication providers (like Auth0, Cognito, OIDC servers) redirect users after login. This route renders the `AuthCallback` component by default, which in turn calls `authProvider.handleCallback`. -The `i18nProvider` props let you translate the GUI. For instance, to switch the UI to French instead of the default English: +If you need a different behavior for this route, you can render a custom component by passing it as the `authCallbackPage` prop. ```jsx -// in src/i18nProvider.js -import polyglotI18nProvider from 'ra-i18n-polyglot'; -import fr from 'ra-language-french'; - -export const i18nProvider = polyglotI18nProvider(() => fr, 'fr'); - -// in src/App.js -import { i18nProvider } from './i18nProvider'; +import MyAuthCallbackPage from './MyAuthCallbackPage'; const App = () => ( - <Admin - dataProvider={dataProvider} - i18nProvider={i18nProvider} - > - {/* ... */} + <Admin authCallbackPage={MyAuthCallbackPage}> + ... </Admin> ); ``` -The [Translation Documentation](./Translation.md) details this process. +**Note**: You should seldom use this option, even when using an external authentication provider. Since you can already define the `/auth-callback` route controller via `authProvider.handleCallback`, the `authCallbackPage` prop is only useful when you need the user's feedback after they logged in. -## `queryClient` +You can also disable the `/auth-callback` route altogether by passing `authCallbackPage={false}`. -React-admin uses [react-query](https://react-query-v3.tanstack.com/) to fetch, cache and update data. Internally, the `<Admin>` component creates a react-query [`QueryClient`](https://react-query-v3.tanstack.com/reference/QueryClient) on mount, using [react-query's "aggressive but sane" defaults](https://react-query-v3.tanstack.com/guides/important-defaults): +See The [Authentication documentation](./Authentication.md#using-external-authentication-providers) for more details. -* Queries consider cached data as stale -* Stale queries are refetched automatically in the background when: - * New instances of the query mount - * The window is refocused - * The network is reconnected - * The query is optionally configured with a refetch interval -* Query results that are no longer used in the current page are labeled as "inactive" and remain in the cache in case they are used again at a later time. -* By default, "inactive" queries are garbage collected after 5 minutes. -* Queries that fail are silently retried 3 times, with exponential backoff delay before capturing and displaying an error to the UI. -* Query results by default are structurally shared to detect if data has actually changed and if not, the data reference remains unchanged to better help with value stabilization with regards to `useMemo` and `useCallback`. +## `authProvider` -If you want to override the react-query default query and mutation default options, or use a specific client or mutation cache, you can create your own `QueryClient` instance and pass it to the `<Admin queryClient>` prop: +The `authProvider` prop expect an object with 6 methods, each returning a Promise, to control the authentication strategy: ```jsx -import { Admin } from 'react-admin'; -import { QueryClient } from 'react-query'; - -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - retry: false, - structuralSharing: false, - }, - mutations: { - retryDelay: 10000, - }, - }, -}); +const authProvider = { + login: params => Promise.resolve(), + logout: params => Promise.resolve(), + checkAuth: params => Promise.resolve(), + checkError: error => Promise.resolve(), + getIdentity: params => Promise.resolve(), + getPermissions: params => Promise.resolve(), +}; const App = () => ( - <Admin queryClient={queryClient} dataProvider={...}> + <Admin authProvider={authProvider} dataProvider={simpleRestProvider('http://path.to.my.api')}> ... </Admin> ); ``` -To know which options you can pass to the `QueryClient` constructor, check the [react-query documentation](https://react-query-v3.tanstack.com/reference/QueryClient) and the [query options](https://react-query-v3.tanstack.com/reference/useQuery) and [mutation options](https://react-query-v3.tanstack.com/reference/useMutation) sections. - -The common settings that react-admin developers often overwrite are: - -```jsx -import { QueryClient } from 'react-query'; - -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - /** - * The time in milliseconds after data is considered stale. - * If set to `Infinity`, the data will never be considered stale. - */ - staleTime: 10000, - /** - * If `false`, failed queries will not retry by default. - * If `true`, failed queries will retry infinitely., failureCount: num - * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number. - * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false. - */ - retry: false, - /** - * If set to `true`, the query will refetch on window focus if the data is stale. - * If set to `false`, the query will not refetch on window focus. - * If set to `'always'`, the query will always refetch on window focus. - * If set to a function, the function will be executed with the latest data and query to compute the value. - * Defaults to `true`. - */ - refetchOnWindowFocus: false, - }, - }, -}); -``` - -## `title` - -On error pages, the header of an admin app uses 'React Admin' as the main app title. Use the `title` to customize it. - -```jsx -const App = () => ( - <Admin title="My Custom Admin" dataProvider={simpleRestProvider('http://path.to.my.api')}> - // ... - </Admin> -); -``` - -## `dashboard` +The [Auth Provider documentation](./Authentication.md) explains how to implement these functions in detail. -By default, the homepage of an admin app is the `list` of the first child `<Resource>`. But you can also specify a custom component instead. To fit in the general design, use Material UI's `<Card>` component, and [react-admin's `<Title>` component](./Title.md) to set the title in the AppBar: +## `basename` -```jsx -// in src/Dashboard.js -import * as React from "react"; -import Card from '@mui/material/Card'; -import CardContent from '@mui/material/CardContent'; -import { Title } from 'react-admin'; -export default () => ( - <Card> - <Title title="Welcome to the administration" /> - <CardContent>Lorem ipsum sic dolor amet...</CardContent> - </Card> -); -``` +Use this prop to make all routes and links in your Admin relative to a "base" portion of the URL pathname that they all share. This is required when using the [`BrowserHistory`](https://github.com/remix-run/history/blob/main/docs/api-reference.md#createbrowserhistory) to serve the application under a sub-path of your domain (for example https://marmelab.com/ra-enterprise-demo), or when embedding react-admin inside a single-page app with its own routing. ```jsx -// in src/App.js -import * as React from "react"; import { Admin } from 'react-admin'; -import simpleRestProvider from 'ra-data-simple-rest'; - -import Dashboard from './Dashboard'; +import { createBrowserHistory } from 'history'; +const history = createBrowserHistory(); const App = () => ( - <Admin dashboard={Dashboard} dataProvider={simpleRestProvider('http://path.to.my.api')}> - // ... + <Admin basename="/admin" history={history}> + ... </Admin> ); ``` -![Custom home page](./img/dashboard.png) - -## `disableTelemetry` - -In production, react-admin applications send an anonymous request on mount to a telemetry server operated by marmelab. You can see this request by looking at the Network tab of your browser DevTools: - -`https://react-admin-telemetry.marmelab.com/react-admin-telemetry` - -The only data sent to the telemetry server is the admin domain (e.g. "example.com") - no personal data is ever sent, and no cookie is included in the response. The react-admin team uses these domains to track the usage of the framework. - -You can opt out of telemetry by simply adding `disableTelemetry` to the `<Admin>` component: - -```jsx -// in src/App.js -import * as React from "react"; -import { Admin } from 'react-admin'; - -const App = () => ( - <Admin disableTelemetry> - // ... - </Admin> -); -``` +See [Using React-Admin In A Sub Path](./Routing.md#using-react-admin-in-a-sub-path) for more usage examples. ## `catchAll` @@ -348,83 +218,40 @@ const App = () => ( **Tip**: If your custom `catchAll` component contains react-router `<Route>` components, this allows you to register new routes displayed within the react-admin layout easily. Note that these routes will match *after* all the react-admin resource routes have been tested. To add custom routes *before* the react-admin ones, and therefore override the default resource routes, see the [`custom pages`](./CustomRoutes.md) section instead. -## ~~`menu`~~ - -**Tip**: This prop is deprecated. To override the menu component, use a [custom layout](#layout) instead. - -React-admin uses the list of `<Resource>` components passed as children of `<Admin>` to build a menu to each resource with a `<List>` component. - -If you want to add or remove menu items, for instance to link to non-resources pages, you can create your own menu component: - -```jsx -// in src/MyMenu.js -import * as React from 'react'; -import { createElement } from 'react'; -import { useMediaQuery } from '@mui/material'; -import { Menu, useResourceDefinitions } from 'react-admin'; -import LabelIcon from '@mui/icons-material/Label'; - -export const MyMenu = () => { - const isXSmall = useMediaQuery(theme => theme.breakpoints.down('xs')); - const resources = useResourceDefinitions(); - - return ( - <Menu> - {Object.keys(resources).map(name => ( - <Menu.Item - key={name} - to={`/${name}`} - primaryText={resources[name].options && resources[name].options.label || name} - leftIcon={createElement(resources[name].icon)} - /> - ))} - <Menu.Item to="/custom-route" primaryText="Miscellaneous" leftIcon={<LabelIcon />} /> - </Menu> - ); -}; -``` - -**Tip**: `<Menu.Item>` must be used to avoid unwanted side effects in mobile views. It supports a custom text and icon (which must be a Material UI `<SvgIcon>`). +## `dashboard` -Then, pass it to the `<Admin>` component as the `menu` prop: +By default, the homepage of an admin app is the `list` of the first child `<Resource>`. But you can also specify a custom component instead. To fit in the general design, use Material UI's `<Card>` component, and [react-admin's `<Title>` component](./Title.md) to set the title in the AppBar: ```jsx -// in src/App.js -import { MyMenu } from './Menu'; - -const App = () => ( - <Admin menu={MyMenu} dataProvider={simpleRestProvider('http://path.to.my.api')}> - // ... - </Admin> +// in src/Dashboard.js +import * as React from "react"; +import Card from '@mui/material/Card'; +import CardContent from '@mui/material/CardContent'; +import { Title } from 'react-admin'; +export default () => ( + <Card> + <Title title="Welcome to the administration" /> + <CardContent>Lorem ipsum sic dolor amet...</CardContent> + </Card> ); ``` -See the [Theming documentation](./Theming.md#using-a-custom-menu) for more details. - -## `theme` - -Material UI supports [theming](https://mui.com/material-ui/customization/theming/). This lets you customize the look and feel of an admin by overriding fonts, colors, and spacing. You can provide a custom Material UI theme by using the `theme` prop: - ```jsx -import { defaultTheme } from 'react-admin'; +// in src/App.js +import * as React from "react"; +import { Admin } from 'react-admin'; +import simpleRestProvider from 'ra-data-simple-rest'; -const theme = { - ...defaultTheme, - palette: { - mode: 'dark', // Switching the dark mode on is a single property value change. - }, -}; +import Dashboard from './Dashboard'; const App = () => ( - <Admin theme={theme} dataProvider={simpleRestProvider('http://path.to.my.api')}> + <Admin dashboard={Dashboard} dataProvider={simpleRestProvider('http://path.to.my.api')}> // ... </Admin> ); ``` -![Dark theme](./img/dark-theme.png) - -For more details on predefined themes and custom themes, refer to [the Theming chapter](./Theming.md#global-theme-overrides) of the react-admin documentation. +![Custom home page](./img/dashboard.png) ## `darkTheme` @@ -468,36 +295,85 @@ const MyLayout = (props) => <Layout {...props} appBar={MyAppBar} />; const App = () => ( <Admin dataProvider={dataProvider} - layout={MyLayout} + layout={MyLayout} + theme={lightTheme} + darkTheme={darkTheme} + > + ... + </Admin> +); +``` + +## `defaultToLightTheme` + +If you provide both a `lightTheme` and a `darkTheme`, react-admin will choose the default theme to use for each user based on their OS preference. This means that users using dark mode will see the dark theme by default. Users can then switch to the other theme using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). + +If you prefer to always default to the light theme regardless of the user's OS preference, you can set the `defaultToLightTheme` prop to `true`: + +```jsx +import { Admin } from 'react-admin'; + +const App = () => ( + <Admin + dataProvider={dataProvider} theme={lightTheme} darkTheme={darkTheme} + defaultToLightTheme > ... </Admin> ); ``` -## `defaultToLightTheme` +## `disableTelemetry` -If you provide both a `lightTheme` and a `darkTheme`, react-admin will choose the default theme to use for each user based on their OS preference. This means that users using dark mode will see the dark theme by default. Users can then switch to the other theme using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). +In production, react-admin applications send an anonymous request on mount to a telemetry server operated by marmelab. You can see this request by looking at the Network tab of your browser DevTools: -If you prefer to always default to the light theme regardless of the user's OS preference, you can set the `defaultToLightTheme` prop to `true`: +`https://react-admin-telemetry.marmelab.com/react-admin-telemetry` + +The only data sent to the telemetry server is the admin domain (e.g. "example.com") - no personal data is ever sent, and no cookie is included in the response. The react-admin team uses these domains to track the usage of the framework. + +You can opt out of telemetry by simply adding `disableTelemetry` to the `<Admin>` component: ```jsx +// in src/App.js +import * as React from "react"; import { Admin } from 'react-admin'; const App = () => ( - <Admin + <Admin disableTelemetry> + // ... + </Admin> +); +``` + + +## `i18nProvider` + +The `i18nProvider` props let you translate the GUI. For instance, to switch the UI to French instead of the default English: + +```jsx +// in src/i18nProvider.js +import polyglotI18nProvider from 'ra-i18n-polyglot'; +import fr from 'ra-language-french'; + +export const i18nProvider = polyglotI18nProvider(() => fr, 'fr'); + +// in src/App.js +import { i18nProvider } from './i18nProvider'; + +const App = () => ( + <Admin dataProvider={dataProvider} - theme={lightTheme} - darkTheme={darkTheme} - defaultToLightTheme + i18nProvider={i18nProvider} > - ... + {/* ... */} </Admin> ); ``` +The [Translation Documentation](./Translation.md) details this process. + ## `layout` If you want to deeply customize the app header, the menu, or the notifications, the best way is to provide a custom layout component. It must contain a `{children}` placeholder, where react-admin will render the resources. @@ -566,67 +442,108 @@ See The [Authentication documentation](./Authentication.md#customizing-the-login **Tip**: Before considering writing your own login page component, please take a look at how to change the default [background image](./Theming.md#using-a-custom-login-page) or the [Material UI theme](#theme). See the [Authentication documentation](./Authentication.md#customizing-the-login-component) for more details. -## `authCallbackPage` +## `notification` -React-admin apps contain a special route called `/auth-callback` to let external authentication providers (like Auth0, Cognito, OIDC servers) redirect users after login. This route renders the `AuthCallback` component by default, which in turn calls `authProvider.handleCallback`. +You can override the notification component, for instance to change the notification duration. A common use case is to change the `autoHideDuration`, and force the notification to remain on screen longer than the default 4 seconds. For instance, to create a custom Notification component with a 5 seconds default: -If you need a different behavior for this route, you can render a custom component by passing it as the `authCallbackPage` prop. +```jsx +// in src/MyNotification.js +import { Notification } from 'react-admin'; + +const MyNotification = () => <Notification autoHideDuration={5000} />; + +export default MyNotification; +``` + +To use this custom notification component, pass it to the `<Admin>` component as the `notification` prop: ```jsx -import MyAuthCallbackPage from './MyAuthCallbackPage'; +// in src/App.js +import MyNotification from './MyNotification'; +import dataProvider from './dataProvider'; const App = () => ( - <Admin authCallbackPage={MyAuthCallbackPage}> - ... + <Admin notification={MyNotification} dataProvider={dataProvider}> + // ... </Admin> ); ``` -**Note**: You should seldom use this option, even when using an external authentication provider. Since you can already define the `/auth-callback` route controller via `authProvider.handleCallback`, the `authCallbackPage` prop is only useful when you need the user's feedback after they logged in. - -You can also disable the `/auth-callback` route altogether by passing `authCallbackPage={false}`. - -See The [Authentication documentation](./Authentication.md#using-external-authentication-providers) for more details. - -## ~~`history`~~ +## `queryClient` -**Note**: This prop is deprecated. Check [the Routing chapter](./Routing.md) to see how to use a different router. +React-admin uses [react-query](https://react-query-v3.tanstack.com/) to fetch, cache and update data. Internally, the `<Admin>` component creates a react-query [`QueryClient`](https://react-query-v3.tanstack.com/reference/QueryClient) on mount, using [react-query's "aggressive but sane" defaults](https://react-query-v3.tanstack.com/guides/important-defaults): -By default, react-admin creates URLs using a hash sign (e.g. "myadmin.acme.com/#/posts/123"). The hash portion of the URL (i.e. `#/posts/123` in the example) contains the main application route. This strategy has the benefit of working without a server, and with legacy web browsers. But you may want to use another routing strategy, e.g. to allow server-side rendering. +* Queries consider cached data as stale +* Stale queries are refetched automatically in the background when: + * New instances of the query mount + * The window is refocused + * The network is reconnected + * The query is optionally configured with a refetch interval +* Query results that are no longer used in the current page are labeled as "inactive" and remain in the cache in case they are used again at a later time. +* By default, "inactive" queries are garbage collected after 5 minutes. +* Queries that fail are silently retried 3 times, with exponential backoff delay before capturing and displaying an error to the UI. +* Query results by default are structurally shared to detect if data has actually changed and if not, the data reference remains unchanged to better help with value stabilization with regards to `useMemo` and `useCallback`. -You can create your own `history` function (compatible with [the `history` npm package](https://github.com/reacttraining/history)), and pass it to the `<Admin>` component to override the default history strategy. For instance, to use `browserHistory`: +If you want to override the react-query default query and mutation default options, or use a specific client or mutation cache, you can create your own `QueryClient` instance and pass it to the `<Admin queryClient>` prop: ```jsx -import * as React from "react"; -import { createBrowserHistory as createHistory } from 'history'; +import { Admin } from 'react-admin'; +import { QueryClient } from 'react-query'; -const history = createHistory(); +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + retry: false, + structuralSharing: false, + }, + mutations: { + retryDelay: 10000, + }, + }, +}); const App = () => ( - <Admin history={history}> + <Admin queryClient={queryClient} dataProvider={...}> ... </Admin> ); ``` -## `basename` +To know which options you can pass to the `QueryClient` constructor, check the [react-query documentation](https://react-query-v3.tanstack.com/reference/QueryClient) and the [query options](https://react-query-v3.tanstack.com/reference/useQuery) and [mutation options](https://react-query-v3.tanstack.com/reference/useMutation) sections. -Use this prop to make all routes and links in your Admin relative to a "base" portion of the URL pathname that they all share. This is required when using the [`BrowserHistory`](https://github.com/remix-run/history/blob/main/docs/api-reference.md#createbrowserhistory) to serve the application under a sub-path of your domain (for example https://marmelab.com/ra-enterprise-demo), or when embedding react-admin inside a single-page app with its own routing. +The common settings that react-admin developers often overwrite are: ```jsx -import { Admin } from 'react-admin'; -import { createBrowserHistory } from 'history'; +import { QueryClient } from 'react-query'; -const history = createBrowserHistory(); -const App = () => ( - <Admin basename="/admin" history={history}> - ... - </Admin> -); +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + /** + * The time in milliseconds after data is considered stale. + * If set to `Infinity`, the data will never be considered stale. + */ + staleTime: 10000, + /** + * If `false`, failed queries will not retry by default. + * If `true`, failed queries will retry infinitely., failureCount: num + * If set to an integer number, e.g. 3, failed queries will retry until the failed query count meets that number. + * If set to a function `(failureCount, error) => boolean` failed queries will retry until the function returns false. + */ + retry: false, + /** + * If set to `true`, the query will refetch on window focus if the data is stale. + * If set to `false`, the query will not refetch on window focus. + * If set to `'always'`, the query will always refetch on window focus. + * If set to a function, the function will be executed with the latest data and query to compute the value. + * Defaults to `true`. + */ + refetchOnWindowFocus: false, + }, + }, +}); ``` -See [Using React-Admin In A Sub Path](./Routing.md#using-react-admin-in-a-sub-path) for more usage examples. - ## `ready` When you run an `<Admin>` with no child `<Resource>` nor `<CustomRoutes>`, react-admin displays a "ready" screen: @@ -681,33 +598,117 @@ const App = () => ( ); ``` -## `notification` +## `theme` -You can override the notification component, for instance to change the notification duration. A common use case is to change the `autoHideDuration`, and force the notification to remain on screen longer than the default 4 seconds. For instance, to create a custom Notification component with a 5 seconds default: +Material UI supports [theming](https://mui.com/material-ui/customization/theming/). This lets you customize the look and feel of an admin by overriding fonts, colors, and spacing. You can provide a custom Material UI theme by using the `theme` prop: ```jsx -// in src/MyNotification.js -import { Notification } from 'react-admin'; +import { defaultTheme } from 'react-admin'; -const MyNotification = () => <Notification autoHideDuration={5000} />; +const theme = { + ...defaultTheme, + palette: { + mode: 'dark', // Switching the dark mode on is a single property value change. + }, +}; -export default MyNotification; +const App = () => ( + <Admin theme={theme} dataProvider={simpleRestProvider('http://path.to.my.api')}> + // ... + </Admin> +); ``` -To use this custom notification component, pass it to the `<Admin>` component as the `notification` prop: +![Dark theme](./img/dark-theme.png) + +For more details on predefined themes and custom themes, refer to [the Theming chapter](./Theming.md#global-theme-overrides) of the react-admin documentation. + +## `title` + +On error pages, the header of an admin app uses 'React Admin' as the main app title. Use the `title` to customize it. + +```jsx +const App = () => ( + <Admin title="My Custom Admin" dataProvider={simpleRestProvider('http://path.to.my.api')}> + // ... + </Admin> +); +``` + +## ~~`menu`~~ + +**Tip**: This prop is deprecated. To override the menu component, use a [custom layout](#layout) instead. + +React-admin uses the list of `<Resource>` components passed as children of `<Admin>` to build a menu to each resource with a `<List>` component. + +If you want to add or remove menu items, for instance to link to non-resources pages, you can create your own menu component: + +```jsx +// in src/MyMenu.js +import * as React from 'react'; +import { createElement } from 'react'; +import { useMediaQuery } from '@mui/material'; +import { Menu, useResourceDefinitions } from 'react-admin'; +import LabelIcon from '@mui/icons-material/Label'; + +export const MyMenu = () => { + const isXSmall = useMediaQuery(theme => theme.breakpoints.down('xs')); + const resources = useResourceDefinitions(); + + return ( + <Menu> + {Object.keys(resources).map(name => ( + <Menu.Item + key={name} + to={`/${name}`} + primaryText={resources[name].options && resources[name].options.label || name} + leftIcon={createElement(resources[name].icon)} + /> + ))} + <Menu.Item to="/custom-route" primaryText="Miscellaneous" leftIcon={<LabelIcon />} /> + </Menu> + ); +}; +``` + +**Tip**: `<Menu.Item>` must be used to avoid unwanted side effects in mobile views. It supports a custom text and icon (which must be a Material UI `<SvgIcon>`). + +Then, pass it to the `<Admin>` component as the `menu` prop: ```jsx // in src/App.js -import MyNotification from './MyNotification'; -import dataProvider from './dataProvider'; +import { MyMenu } from './Menu'; const App = () => ( - <Admin notification={MyNotification} dataProvider={dataProvider}> + <Admin menu={MyMenu} dataProvider={simpleRestProvider('http://path.to.my.api')}> // ... </Admin> ); ``` +See the [Theming documentation](./Theming.md#using-a-custom-menu) for more details. + +## ~~`history`~~ + +**Note**: This prop is deprecated. Check [the Routing chapter](./Routing.md) to see how to use a different router. + +By default, react-admin creates URLs using a hash sign (e.g. "myadmin.acme.com/#/posts/123"). The hash portion of the URL (i.e. `#/posts/123` in the example) contains the main application route. This strategy has the benefit of working without a server, and with legacy web browsers. But you may want to use another routing strategy, e.g. to allow server-side rendering. + +You can create your own `history` function (compatible with [the `history` npm package](https://github.com/reacttraining/history)), and pass it to the `<Admin>` component to override the default history strategy. For instance, to use `browserHistory`: + +```jsx +import * as React from "react"; +import { createBrowserHistory as createHistory } from 'history'; + +const history = createHistory(); + +const App = () => ( + <Admin history={history}> + ... + </Admin> +); +``` + ## Declaring resources at runtime You might want to dynamically define the resources when the app starts. To do so, you have two options: using a function as `<Admin>` child, or unplugging it to use a combination of `AdminContext` and `<AdminUI>` instead. From fa682b38b387dba90bff553554b2c561ea7fef83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Fri, 5 May 2023 22:58:54 +0200 Subject: [PATCH 11/21] Remove deprecated props --- docs/Admin.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/Admin.md b/docs/Admin.md index 963f2d935a6..a5846f667fc 100644 --- a/docs/Admin.md +++ b/docs/Admin.md @@ -634,7 +634,6 @@ const App = () => ( </Admin> ); ``` - ## ~~`menu`~~ **Tip**: This prop is deprecated. To override the menu component, use a [custom layout](#layout) instead. From cb91e5ac6660ca7153a74971c142102d84b5cdf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Sat, 6 May 2023 00:33:00 +0200 Subject: [PATCH 12/21] Various Admin doc adjustments --- docs/Admin.md | 287 ++++++++++++++++++++++++++------------- docs/AuthProviderList.md | 2 +- docs/img/dark-theme.png | Bin 32360 -> 228163 bytes docs/img/not-found.png | Bin 20880 -> 32138 bytes 4 files changed, 196 insertions(+), 93 deletions(-) diff --git a/docs/Admin.md b/docs/Admin.md index a5846f667fc..d9a1c36eb44 100644 --- a/docs/Admin.md +++ b/docs/Admin.md @@ -10,14 +10,13 @@ The `<Admin>` component is the root component of a react-admin app. It allows to `<Admin>` creates a series of context providers to allow its children to access the app configuration. It renders the main routes and layout. It delegates the rendering of the content area to its `<Resource>` children. ![Admin Component](./img/dense.webp) + ## Usage `<Admin>` requires only a `dataProvider` prop, and at least one child `<Resource>` to work. Here is the most basic example: ```jsx // in src/App.js -import * as React from "react"; - import { Admin, Resource } from 'react-admin'; import simpleRestProvider from 'ra-data-simple-rest'; @@ -34,43 +33,113 @@ export default App; `<Admin>` children can be [`<Resource>`](./Resource.md) and [`<CustomRoutes>`](./CustomRoutes.md) elements. -In most apps, `<Admin>` takes many props. Here is a more complete example taken from [the e-commerce demo](https://marmelab.com/react-admin-demo/): +In most apps, you need to pass more props to `<Admin>`. Here is a more complete example taken from [the e-commerce demo](https://marmelab.com/react-admin-demo/): {% raw %} ```jsx +// in src/App.js +import { Admin, Resource, CustomRoutes } from 'react-admin'; +import { Route } from "react-router-dom"; + +import { dataProvider, authProvider, i18nProvider } from './providers'; +import { Layout } from './layout'; +import { Dashboard } from './dashboard'; +import { Login } from './login'; +import { lightTheme, darkTheme } from './themes'; +import { CustomerList, CustomerEdit } from './customers'; +import { OrderList, OrderEdit } from './orders'; +import { InvoiceList, InvoiceEdit } from './invoices'; +import { ProductList, ProductEdit, ProductCreate } from './products'; +import { CategoryList, CategoryEdit, CategoryCreate } from './categories'; +import { ReviewList } from './reviews'; +import { Segments } from './segments'; + const App = () => ( <Admin dataProvider={dataProvider} authProvider={authProvider} i18nProvider={i18nProvider} + layout={Layout} dashboard={Dashboard} loginPage={Login} - layout={Layout} theme={lightTheme} darkTheme={darkTheme} defaultToLightTheme > + <Resource name="customers" list={CustomerList} edit={CustomerEdit} /> + <Resource name="orders" list={OrderList} edit={OrderEdit} options={{ label: 'Orders' }} /> + <Resource name="invoices" list={InvoiceList} edit={InvoiceEdit} /> + <Resource name="products" list={ProductList} edit={ProductEdit} create={ProductCreate} /> + <Resource name="categories" list={CategoryList} edit={CategoryEdit} create={CategoryCreate} /> + <Resource name="reviews" list={ReviewList} /> <CustomRoutes> <Route path="/segments" element={<Segments />} /> </CustomRoutes> - <Resource name="customers" {...visitors} /> - <Resource name="commands" {...orders} options={{ label: 'Orders' }} /> - <Resource name="invoices" {...invoices} /> - <Resource name="products" {...products} /> - <Resource name="categories" {...categories} /> - <Resource name="reviews" {...reviews} /> </Admin> ); ``` {% endraw %} +To make the main app component more concise, a good practice is to move the resources props to separate files. For instance, the previous example can be rewritten as: + +```jsx +// in src/App.js +import { Admin, Resource, CustomRoutes } from 'react-admin'; +import { Route } from "react-router-dom"; + +import { dataProvider, authProvider, i18nProvider } from './providers'; +import { Layout } from './layout'; +import { Dashboard } from './dashboard'; +import { Login } from './login'; +import { lightTheme, darkTheme } from './themes'; +import customers from './customers'; +import orders from './orders'; +import invoices from './invoices'; +import products from './products'; +import categories from './categories'; +import reviews from './reviews'; +import { Segments } from './segments'; + + +const App = () => ( + <Admin + dataProvider={dataProvider} + authProvider={authProvider} + i18nProvider={i18nProvider} + dashboard={Dashboard} + loginPage={Login} + layout={Layout} + theme={lightTheme} + darkTheme={darkTheme} + defaultToLightTheme + > + <Resource {...customers} /> + <Resource {...orders} /> + <Resource {...invoices} /> + <Resource {...products} /> + <Resource {...categories} /> + <Resource {...reviews} /> + <CustomRoutes> + <Route path="/segments" element={<Segments />} /> + </CustomRoutes> + </Admin> +); +``` + ## Props +Three main props lets you configure the core features of the `<Admin>` component: + +- [`dataProvider`](#dataprovider) for data fetching +- [`authProvider`](#authprovider) for security and permissions +- [`i18nProvider`](#i18nprovider) for translations and internationalization + Here are all the props accepted by the component: | Prop | Required | Type | Default | Description | |------------------------|----------|----------------|----------------|----------------------------------------------------------| | `dataProvider` | Required | `DataProvider` | - | The data provider for fetching resources | +| `children` | Required | `ReactNode` | - | The routes to render | | `authCallbackPage` | Optional | `Component` | `AuthCallback` | The content of the authentication callback page | | `authProvider` | Optional | `AuthProvider` | - | The authentication provider for security and permissions | | `basename` | Optional | `string` | - | The base path for all URLs | @@ -84,7 +153,7 @@ Here are all the props accepted by the component: | `loginPage` | Optional | `Component` | `LoginPage` | The content of the login page | | `notification` | Optional | `Component` | `Notification` | The notification component | | `queryClient` | Optional | `QueryClient` | - | The react-query client | -| `ready` | Optional | `Component` | - | The content of the ready page | +| `ready` | Optional | `Component` | `Ready` | The content of the ready page | | `requireAuth` | Optional | `boolean` | `false` | Flag to require authentication for all routes | | `store` | Optional | `Store` | - | The Store for managing user preferences | | `theme` | Optional | `object` | - | The main (light) theme configuration | @@ -93,7 +162,27 @@ Here are all the props accepted by the component: ## `dataProvider` -The only required prop, it must be an object with the following methods returning a promise: +`dataProvider` is the only required prop. It must be an object allowing to communicate with the API. React-admin uses the data provider everywhere it needs to fetch or save data. + +In many cases, you won't have to write a data provider, as one of the [50+ existing data providers](./DataProviderList.md) will probably fit your needs. For instance, if your API is REST-based, you can use the [Simple REST Data Provider](https://github.com/marmelab/react-admin/tree/master/packages/ra-data-simple-rest) as follows: + +```jsx +// in src/App.js +import simpleRestProvider from 'ra-data-simple-rest'; +import { Admin, Resource } from 'react-admin'; + +import { PostList } from './posts'; + +const dataProvider = simpleRestProvider('http://path.to.my.api/'); + +const App = () => ( + <Admin dataProvider={dataProvider}> + <Resource name="posts" list={PostList} /> + </Admin> +); +``` + +If you need to write your own, the data provider must have the following methods, all returning a promise: ```jsx const dataProvider = { @@ -109,13 +198,54 @@ const dataProvider = { } ``` -Check [the Data Provider documentation](./DataProviderIntroduction.md) for more details. +Check the [Writing a Data Provider](./DataProviderWriting.md) chapter for detailed instructions on how to write a data provider for your API. + +The `dataProvider` is also the ideal place to add custom HTTP headers, handle file uploads, map resource names to API endpoints, pass credentials to the API, put business logic, reformat API errors, etc. Check [the Data Provider documentation](./DataProviderIntroduction.md) for more details. + +## `children` + +The `<Admin>` component expects to receive [`<Resource>`](./Resource.md) and [`<CustomRoutes>`](./CustomRoutes.md) elements as children. They define the routes of the application. + +For instance: + +{% raw %} +```jsx +const App = () => ( + <Admin dataProvider={dataProvider} dashboard={Dashboard}> + <Resource name="customers" list={CustomerList} edit={CustomerEdit} /> + <Resource name="orders" list={OrderList} edit={OrderEdit} options={{ label: 'Orders' }} /> + <Resource name="invoices" list={InvoiceList} /> + <Resource name="products" list={ProductList} edit={ProductEdit} create={ProductCreate} /> + <Resource name="categories" list={CategoryList} edit={CategoryEdit} create={CategoryCreate} /> + <Resource name="reviews" list={ReviewList} /> + <CustomRoutes> + <Route path="/segments" element={<Segments />} /> + </CustomRoutes> + </Admin> +); +``` +{% endraw %} -The `dataProvider` is also the ideal place to add custom HTTP headers, authentication, etc. The [Data Providers Backends ](./DataProviderList.md) chapters lists available data providers, and you can learn how to build your own in the [Writing a Data Provider](./DataProviderWriting.md) chapter. +With these children, the `<Admin>` component will generate the following routes: + +- `/`: the dashboard +- `/customers`: the customer list +- `/customers/:id`: the customer edit page +- `/orders`: the order list +- `/orders/:id`: the order edit page +- `/invoices`: the invoice list +- `/products`: the product list +- `/products/create`: the product creation page +- `/products/:id`: the product edit page +- `/categories`: the category list +- `/categories/create`: the category creation page +- `/categories/:id`: the category edit page +- `/reviews`: the review list +- `/segments`: the segments page ## `authCallbackPage` -React-admin apps contain a special route called `/auth-callback` to let external authentication providers (like Auth0, Cognito, OIDC servers) redirect users after login. This route renders the `AuthCallback` component by default, which in turn calls `authProvider.handleCallback`. +React-admin apps contain a special route called `/auth-callback` to let external authentication providers (like Auth0, Cognito, OIDC servers) redirect users after login. This route renders the `AuthCallback` component by default, which in turn calls `authProvider.handleCallback()`. If you need a different behavior for this route, you can render a custom component by passing it as the `authCallbackPage` prop. @@ -129,7 +259,7 @@ const App = () => ( ); ``` -**Note**: You should seldom use this option, even when using an external authentication provider. Since you can already define the `/auth-callback` route controller via `authProvider.handleCallback`, the `authCallbackPage` prop is only useful when you need the user's feedback after they logged in. +**Note**: You should seldom use this option, even when using an external authentication provider. Since you can already define the `/auth-callback` route controller via `authProvider.handleCallback()`, the `authCallbackPage` prop is only useful when you need the user's feedback after they logged in. You can also disable the `/auth-callback` route altogether by passing `authCallbackPage={false}`. @@ -137,7 +267,47 @@ See The [Authentication documentation](./Authentication.md#using-external-authen ## `authProvider` -The `authProvider` prop expect an object with 6 methods, each returning a Promise, to control the authentication strategy: +The `authProvider` is responsible for managing authentication and permissions, usually based on an authentication backend. React-admin uses it to check for authentication status, redirect to the login page when the user is not authenticated, check for permissions, display the user identity, and more. + +If you use a standard authentication strategy, you can use one of the [existing auth providers](./AuthProviderList.md). For instance, to use [Auth0](https://auth0.com/), you can use [`ra-auth-auth0`](https://github.com/marmelab/ra-auth-auth0): + +```jsx +// in src/App.tsx +import React, { useEffect, useRef, useState } from 'react'; +import { Admin, Resource } from 'react-admin'; +import { Auth0AuthProvider } from 'ra-auth-auth0'; +import { Auth0Client } from '@auth0/auth0-spa-js'; +import dataProvider from './dataProvider'; +import posts from './posts'; + +const auth0 = new Auth0Client({ + domain: import.meta.env.VITE_AUTH0_DOMAIN, + clientId: import.meta.env.VITE_AUTH0_CLIENT_ID, + cacheLocation: 'localstorage', + authorizationParams: { + audience: import.meta.env.VITE_AUTH0_AUDIENCE, + }, +}); + +const authProvider = Auth0AuthProvider(auth0, { + loginRedirectUri: import.meta.env.VITE_LOGIN_REDIRECT_URL, + logoutRedirectUri: import.meta.env.VITE_LOGOUT_REDIRECT_URL, +}); + +const App = () => { + return ( + <Admin + authProvider={authProvider} + dataProvider={dataProvider} + > + <Resource name="posts" {...posts} /> + </Admin> + ); +}; +export default App; +``` + +If your authentication backend isn't supported, you'll have to [write your own `authProvider`](./AuthProviderWriting.md). It's an object with 6 methods, each returning a Promise: ```jsx const authProvider = { @@ -156,7 +326,7 @@ const App = () => ( ); ``` -The [Auth Provider documentation](./Authentication.md) explains how to implement these functions in detail. +The Auth Provider also lets you configure redirections after login/logout, anonymous access, refresh tokens, roles and user groups. The [Auth Provider documentation](./Authentication.md) explains how to implement these functions in detail. ## `basename` @@ -257,6 +427,8 @@ const App = () => ( If you want to support light and dark mode, you can provide a `darkTheme` in addition to the `theme` prop. The `darkTheme` will be used when the user's browser is in dark mode, or when the user manually switches to dark mode using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). +![Dark mode](./img/dark-theme.png) + ```jsx import { Admin } from 'react-admin'; import { darkTheme, lightTheme } from './themes'; @@ -586,7 +758,9 @@ const App = () => ( ## `store` -The `<Admin>` component initializes a [Store](./Store.md) using `localStorage` as the storage engine. You can override this by passing a custom `store` prop: +The `<Admin>` component initializes a [Store](./Store.md) for user preferences using `localStorage` as the storage engine. You can override this by passing a custom `store` prop. + +For instance, you can store the data in memory instead of `localStorage`. This is useful e.g. for tests, or for apps that should not persist user data between sessions: ```jsx import { Admin, Resource, memoryStore } from 'react-admin'; @@ -598,6 +772,8 @@ const App = () => ( ); ``` +Check the [Preferences documentation](./Store.md) for more details. + ## `theme` Material UI supports [theming](https://mui.com/material-ui/customization/theming/). This lets you customize the look and feel of an admin by overriding fonts, colors, and spacing. You can provide a custom Material UI theme by using the `theme` prop: @@ -634,79 +810,6 @@ const App = () => ( </Admin> ); ``` -## ~~`menu`~~ - -**Tip**: This prop is deprecated. To override the menu component, use a [custom layout](#layout) instead. - -React-admin uses the list of `<Resource>` components passed as children of `<Admin>` to build a menu to each resource with a `<List>` component. - -If you want to add or remove menu items, for instance to link to non-resources pages, you can create your own menu component: - -```jsx -// in src/MyMenu.js -import * as React from 'react'; -import { createElement } from 'react'; -import { useMediaQuery } from '@mui/material'; -import { Menu, useResourceDefinitions } from 'react-admin'; -import LabelIcon from '@mui/icons-material/Label'; - -export const MyMenu = () => { - const isXSmall = useMediaQuery(theme => theme.breakpoints.down('xs')); - const resources = useResourceDefinitions(); - - return ( - <Menu> - {Object.keys(resources).map(name => ( - <Menu.Item - key={name} - to={`/${name}`} - primaryText={resources[name].options && resources[name].options.label || name} - leftIcon={createElement(resources[name].icon)} - /> - ))} - <Menu.Item to="/custom-route" primaryText="Miscellaneous" leftIcon={<LabelIcon />} /> - </Menu> - ); -}; -``` - -**Tip**: `<Menu.Item>` must be used to avoid unwanted side effects in mobile views. It supports a custom text and icon (which must be a Material UI `<SvgIcon>`). - -Then, pass it to the `<Admin>` component as the `menu` prop: - -```jsx -// in src/App.js -import { MyMenu } from './Menu'; - -const App = () => ( - <Admin menu={MyMenu} dataProvider={simpleRestProvider('http://path.to.my.api')}> - // ... - </Admin> -); -``` - -See the [Theming documentation](./Theming.md#using-a-custom-menu) for more details. - -## ~~`history`~~ - -**Note**: This prop is deprecated. Check [the Routing chapter](./Routing.md) to see how to use a different router. - -By default, react-admin creates URLs using a hash sign (e.g. "myadmin.acme.com/#/posts/123"). The hash portion of the URL (i.e. `#/posts/123` in the example) contains the main application route. This strategy has the benefit of working without a server, and with legacy web browsers. But you may want to use another routing strategy, e.g. to allow server-side rendering. - -You can create your own `history` function (compatible with [the `history` npm package](https://github.com/reacttraining/history)), and pass it to the `<Admin>` component to override the default history strategy. For instance, to use `browserHistory`: - -```jsx -import * as React from "react"; -import { createBrowserHistory as createHistory } from 'history'; - -const history = createHistory(); - -const App = () => ( - <Admin history={history}> - ... - </Admin> -); -``` ## Declaring resources at runtime diff --git a/docs/AuthProviderList.md b/docs/AuthProviderList.md index 90b65b3ce63..dbcd5dc2f57 100644 --- a/docs/AuthProviderList.md +++ b/docs/AuthProviderList.md @@ -12,7 +12,7 @@ It's very common that your auth logic is so specific that you'll need to write y - **[AWS Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/setting-up-the-javascript-sdk.html)**: [ra-auth-cognito](https://github.com/marmelab/ra-auth-cognito) - **[Directus](https://directus.io/)**: [marmelab/ra-directus](https://github.com/marmelab/ra-directus) - **[Firebase Auth (Google, Facebook, GitHub, etc.)](https://firebase.google.com/docs/auth/web/firebaseui)**: [benwinding/react-admin-firebase](https://github.com/benwinding/react-admin-firebase#auth-provider) -- **[Postgrest](https://postgrest.org/): [raphiniert-com/ra-data-postgrest](https://github.com/raphiniert-com/ra-data-postgrest) +- **[Postgrest](https://postgrest.org/)**: [raphiniert-com/ra-data-postgrest](https://github.com/raphiniert-com/ra-data-postgrest) - **[Supabase](https://supabase.io/)**: [marmelab/ra-supabase](https://github.com/marmelab/ra-supabase) - **[Keycloak](https://www.keycloak.org/)**: [marmelab/ra-keycloak](https://github.com/marmelab/ra-keycloak) - **[Azure Active Directory (using MSAL)](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-browser)**: [marmelab/ra-auth-msal](https://github.com/marmelab/ra-auth-msal) diff --git a/docs/img/dark-theme.png b/docs/img/dark-theme.png index 73ab22e580247ea26af677137d944f9fab8642bf..1d1e7a8bd792e9bc40a4843372188076eb6752e2 100644 GIT binary patch literal 228163 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π$gAV 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�lZhsWRIP&XLuavt?pO zAv3z~c#3wB+2Ol~$krn<Olt$&=ML+G*{sM53j|r`swB+ApG-b^yU(btr|EScLBEGk zp?^@zDA@BdjTO*nD#EM>)@VH+MshWOqQJ~%7_H5rh-d7tqLEB2N_Xu_sR}omD{56T z3dr1&_cqu*>b|=(3NFi5Q|EO#QCw4aN{Eklavy-vnQjVWY$;1S?)1!A!~Ms<akqF} zwM>g2jN{CRbFLKEqG^N2Nc3z9(`seVjT@-PVUY8AVid<?EOK00&P9agEtJ*oxG3y& zJC?_x|8z?UAhheJ30_wn^D_g)ib6K(@*_XjhP&$Q_;XIP$<WO%NDX;j9{Wl8byWHK zMD&m}IzmNDAAG}E%t>OikiiQ7nX4SWTY26Y9`kXSuN+C5tp4S#aoB3hZOc+Rdo@(~ z5^vX@)S<4o(=!fFgRjEyH8$ANlqGcOSy-SZV>&Idry#dQ#Ilj1iOe#_ea#>-Z(&;3 z<$i8jPb=I3=8+=|wDUB~`9Rm|{#utWt2!;jp49M9crE&tcRO?+%6>0$%pAWZvd>14 zhMtjdq+#Hcu4CIDo_QZf&v*154>@s2A#}Uf>s?l!{SKJqsn$Pd-&txERfN*2yk(Hq zJDjf?kHA(c?T5+2@stXT7%CZy>+|4f&EZ1Lw^Yu%1NW1Y_8~+jtLiu5GxJ`*w9tL( zKCMm6KYDc7Ln`IYPF!wwsw!J6+$^&27}W#_i({Sy;ndp-jOcuR*GS;fIrX-E<wY+i zMZ%q6B7g0*P4oeBhZ3O?O7}E4fP2j^g+Gef1G<q}9^p9!N5O1y6+EIz7^9EbD|xLJ zqV;h2w?Pqk><BOj7Pzzcj}BlUTdPLj|CZCXD_Ja$v@W$NoW>`lTj(|b^M~uH+*e4M zhN_T@sEGH|?T&<dU|z7-?=x5Myt#)>y3Lnc@`M&6-o&Bd^c+j+Ugtz`XZA}pV?g5Q z>p+FVQvT|uhi;o|JdI&9IoFQFu!v0gcI|a2wG7nhYlkJp2cUefw*dPfcW2(YS@k_} zN>Iqns>23)=X5oSaOahId?lrB)$F13k(e6&4Wiy~r@>HYIBXfhogYkAx4^dWJ_cj; zLYUA5y2hax8BNDl@~6>$e4~%yI!JK*0<viavUNIS^P@s%o9}^i3SV2NY)|rKOlZ!v zQ%!V9uoOaiJ^PUT^lR~*gXKy^1tF(p4(31v9i5);yNv7V-ZQG*mFncZd*3TsI@vPx zq>`p1tG)OPt#Z#8v&R4{#EK)U6r?<}@oi_qsb@=Pw>vCR{iITLy-UV}oNB!`g~oK< z{JVE{vw$n!T}9hA?<XEgVqGOWZvGn3ZMo|12dt-}Ry*Spw{vSo>n87RTp~TZxb*B? z%FHI|KIQv2Rq%BV_qGc!D=GZRyZPh&F;hri&0<0uXFs!gZ4gCiN*)dWx`#VqRhqiS z*4v?ux@%eo-o-|3<am5<?pL6*ZAKMME4sjpbcX~J^Ko#lE$~-{@kJ=Th6)=X`|%I1 zH@JJ%K?<2&+BNMl0z*z%u)LOOH1LgNdv7@-rvCJW5Q&GdckUc&Z>XC`UDwo)K@k-q zMA&PyDmn^<yW{b;X#Ni9$s=yWD+@O0`x5NIp6T+`hf}rN|NIv5r{IKC7v9}iNo~M) zb4WhlY3Z=TuV+`vigK})7SC$9e(X6v3iwM0C!cq6NGgy0Fe{n%vM~>W-;GD=UHahE zDsQ@eA3xi!7VvESppW~#Q|mdCZ?81qvHbk>sY{o`{2}JvrBvq+{t->nbkjS_o9ALo zpH{OJI6V3yVgrLa^Bs8|-3PbdSI6Kn>#Ir<g{=6R0rz*yD$9;ZtwMG_+MiZqG^QFc z97aEeJR3#JJ5t*K1}`O33>8Fic&uA6kd(%y%y0(j^-`m2+0XMbkhh6)@VlOrgjCs| z4g@1Z5p5yRVOlYC+Pr4;E#A(R>Y2ev5!1f65A44jClua?Fp_<*IMp2_z2iRCX?gh5 zJL*Z+r8K~7EBssd!F`O>f8Zq2svo^xOuOa+QM)OO=1cjT{g2Z&v^qA2UHad5O3&gZ z5rcr+kw|j?rE}AW!#Vma90fsDGx8ZEO!vZ`+k`eTE;1dSItUBK!g8*_R!c~Qg;c8Y zwnk%3xadyn!)8WGH#zki?`W0$?^q{&Gk7A=q7oIJ5DQUkQCWwqhly+zWqk)y+rP2X z7w?7*I#WJ1y@_GkX9v<L5e0kq*KjZa0o@`VKaQ)|1u|>4`hVA$##D~en#;x#*r$ey zemOlImx`5iQN$0r(ctC9c!_jyF&O?u#<VIz9<NWe`TuHpj@|i0q0%W6SCthN1o6=& zR_BzdGFFxRMR=!MFB~YKRnm8=oQqIu_=_0~?FOVbc4@>2?q#F@#nhM+yz)2oJ}Yag z)XbFC$ACUa?$N_nn_?p6uXe0DtU&Y7E2?83R~s@DWTSz)y0N!CdmB_tUenu0F@2j< zN~hdZXX<s4Nv@<W=RV%T&_v25;Shpqe(2Y<*nH$$ta$rXWIpd;;{%_IEFdmr)%D|! ziTiw&a#NMTn8HU<!zj<2FUC;F*S$ZP6qNob<Ggn~9MSrFw3}e4?|@_=duwTV|5qw% zKkErAE}&2_7EKRNB%>Lq&uQAw>qZWV3Q~yeag)%s)e#M|O?nJ;5N>tzscXOd=x*B> zgUSg0XH9<nEN9aYBalAnx}W7M4Z{0<%=N-pQrv;|5gUQ5<-7oPxY@{~B`48R<;5+m z`f$wmiiUN_ko2;!`>T?{+&(Sk8oxz6I>WE2jb<T?bn41Fm>Z4sEYf=75>$AdUdnkz zHcLfbh=?9(^E~bfPAGKclyYmW;=de*E^NcrJvg2nw#3VC@(F95+j@HohCU=swv=qp zU^emLR^z#xsLN_+4&pEs4do-lH5_1mLJh`*VX`3>^}hjIR77>*umTbG%R9T-vt&pw zgE_-g+Go2N_+qbE3U*a!Gc}wXqq-Moz3%ZhdVsyw96JGhDDw<t9`xrvYo3rghg?Hp zJCyjPuMC#e!p0l>!5*;943Tmc!|+cw3NpqFLYl!yD7~5AxN0NQ*{zZ*4g=8rrhCU; zEBkZvg|llDvVi^{BXo;EIc9<aLiha978xzkI5>YO3<A3C6G}lT`YO>0gV^}kw8$fM z9LcsqoijP1Tllb%9ujN)L<Y^t1}0UPmb+7iOMaul*BkLtZDRA?ye+1_=OF~e+(k}# z`CaXzcW0<X@X=2aT}G85;c*-vvU0hCu*FTJo(C?oe5d4ZZNNzN_9t;7$zQUc24+Ym zV_1J>b7#U>lbPG-{Y`%L(c5t4U*#Lhl4P_94AjLfs2Up^qhx=GcMbY((M|hrcKe*z zq_h^;0ucjquFZ9QEzTJRg(6u>Fqr%r+P~<vRL697WcQ2;jKeP++j?e8njR5F#;%<{ zHeosl1l*Y3pJ)6;U`%_Aq^MyfQcBU4z!*k>!JW5G{~L4c)zHYnv{t;<EKxEZ#qMMp z9I$w^CSUofO=Zc2WTN?bOX+b^n#Y4oxK=ujPEDh=RmNyct42E_CG*YU`~1|9AC5Fx zKKOJ5;{jfEC0A-Z1zU}>lM7B~IyXgInyxXT-FW^#rBClD7?kNBWA!Y=Bhr?B2T|;k zI(%NvXef%yy3YM<{5363AUFeWpQ_r^z$KZgxhumN#&&6S-Uk;;YEV%*S>)!go&<_B z$p;ZB2GyoeMAj+!LVa={q7N<l?02m?^l(-rI-Q_IEI>#RU881x)&~6=in0*DjeA&n z!TFLZauS-XqRnLV$PwMR|K4vtfIH-U-(QvOjw^HfhZb((KtA$oZ}18k8I+X8<Wd+4 z>*s~-PTM&(9LODqNWkfHQ*(G&_1D)$>u)X)`DaA6QS#~xw|<k5MRzG$=r9DU9{r~< zi~uj(yeKS&VNTv9-298*=)0c8{y64AI(HW0WFX6W%yJ_>Of5A1sO=COR{-DJi#${! zUJJF@<ddy_7_MAgPG9bG*}GWJtA2k)Iyw8!ll@_?&r<nq%!f_xqA|~yJw?NKE!S^S zq(0lvp=UyyY#NiBVm%gi7jtFYf-o}4+5-PhhtXLPZd6zcY0fKl=7-0v>);$-Id-Wm z>}~V&Z^@2#RIojM!!Dvhajg~wSQ$DtNG4uMYDEbOAWQouWBPA(M4xcfA_2eQYp&$i z8=R`Du?Aqt#4x`R*kOS&<<}FggIC3tDmp3r1yVYo7I09~T0#b=txa2*xV%j@(Nf6i zEva9K$KvXngO2dtKR5%<0cFw<ROjNQ^1K@_+WM+|i~N?Zy#WdLM|n9Rw(1xi6_~ap zIa+oW@_lqvmGk7Q_JWPDJf1U3YOpQBWzekpcJER|W$|(@{kLnv-x$W8;DX<VqwSBu zPcwxnJ~ds%zCS<kWWQJya_VX`Z;fpYK+r1?U|{{lnLkd;wTw7uS6>h72HgI^id47& znKEk-Mdy!UbtT@ykZy8a_|6O33bJl{-U|TD_G4RM1^QtnaIwC5HiKd}T)hu<R&2CX z!<v|!JBmf}Z#k2j`?@N!3?(1&A>xceR6lD_G`gDy<?nKSTKG%gB|BzKO{w1b8M@=| zHdmG=OEqR+U!%dTIzX_%f{#xHNk+A$7aM~F90up!m+~h(J7z51qxgU09Dbr?c#v+b z(0Tcu-|<7jdO;th%Z0lard+4)WOI)DMnW#XvVk0r%p1X&-e3H$fYck`FDC-81p_Gx zVjDr#3gKMV1%5bfG~(d%!Xj9?8A462AMYptvIMK2Odk^2#pxg{H3WJ&9k!w>O{PTr zlL-CA6=kBCsh^Un-Ot4YLOsQ0p;fi|p#wLOIFR9>BCy;6ut+&kb5e!O%kswP<-OV% zIkABXN)m3#R<X%1?mN?%4NP)y^_me=sZj_~gOy}J-nnFnP!9rDjoU~v3gN>j)}8lu zq^!gu)y{w0R)lQD{HES&LSv|AyLD+ARD>wLtCg1>Gx@7}3vr=1;5n1$uInA<MYa=} z7t)2blHI82?(OJ<*z+J56Zt!j^Iz|R7*^0^6=JP_<Go-ZFZRJsUj|$I&Cri9nwAG| zAh`L?=rJtM{T5mzkSro|_zbWRq56L95eKnK9P+rg5Ng~_oF9y50TJjwXboNd=qBPq zMHrbtCKcTru<48K(GgNqP(gQSRbXasZ<yR6VJv5W6I=!?w7)pIVdNBbDg5g*Bu+-X zJOrpP716r8c`Z+|CW;!Uxd2Cce;h6`oge=%vhnKW59f&iT8@z8zx>`TB`Anv@}Ft2 zQ0bD4ElS3PnF1Mv1p-Y#&Jx8p$oFBi57l5&eCmy>jG{YKB^oi0YUYz<w~ObfC3vXF zk-0>>1oNLPHCJ<ArBdj>dkYeMSJ6mxH{uNhQ0}>u(Z%fz4P`l+%Cf!I->@zw2Gz7= z^rPe25v?D;3u8V@|MWp{o&g_$Ap-Gq$X>2dB1^@r#R-%7IT%k@vDR<^^pDXvF25I} zx)df>Q3ydL{@|1R&+;2j8KN}M>CJuRvECoHU7{Q9TSV;8N?AZ#m6e$+ZT&vrO!O-X z3EzB6_L&cY%(A2f5qf-kOan-vjP9Uq#uxTpWHVDk6NUeUi2RRVQUIdAHAPM6+nE=9 zqt?$}gnNs97$QSmnC{mG89_&IfkLiBBoBX9To#v<jKH^Q`K+aeeVp0SI5}8xd9t<^ ztJ=@Lf&F2<(V=&9BSx@lq27!LmKX-7=jt2U=kP94ufM{g@%(qY`Q#|a!T6VI`hVy~ z!V<4MlGQX&ec}LBX}{H)_rK6K-!NZ}>oe6Ncl!jGqSwR|NwlTi{_EZhgImluTmEtU zfhZ|yjx1YIS~xwgwXYH9qe`MD7|O2%B_CCwK|~c`H}7L|cRj%S@Yq}DevQBe5ogKe zx>}>5uVVTOUU5E2bZVd7=)b40gY3Y{-o@@en7seK_h|;dxOkBEwEunu9&99R+8hwh z?T6D>DW)*$L=xpRHUPIp_&R2&urdlhb9Vu#QaZG_*#om<8~?wGuip}W%mM&45qz6q zQ2prsKCFDafstsL%KjTNA&f{`cQ0&>^TF(PqU5rAm}4>t6tXyORY3nwa$Bu>)3He8 zTtO)0LL8Q6F8_W{q+At!6I~T~G=K3(-v7UV2p~}Qa|%*hjHw6}k^e|O&?C^={d0X$ zkicoDi^Hg`!RzvW2z%?Gs@}bCSm_Yhba%IabV#Ql-Ho(#w=_t1ilRt&h;(;%NOvPG z>2vM#Jm>t*%zeM}{^4wA*s<2t>-(uAzHPH?5$z^-J640nSHc5LK2w3<#wVYrHqHFA z4?t(r|81I(XHWz(P#z_PB}@S1h4D4{=KufrO@Zf-P*pp4FGH|XZ{a3KRi|Ykmqzp> zfo^yMTs9`39;*auq=o$+&iWb(uMJfGC(kV~I|5vjvuT-yS_Yt?DYiGw<%EdZ(^Q^- zECG!&O=)IL7OkrEuP7LC%AjcOIsu<nY&Ed~MTd3k8pRRONgP>w|NCx4!!RjGq=8l- znf`6givlMB3_3cx%y?1&lJ6_gL8(W=oSdA?V+iNZ@wN}=D)7x+{zcM>2DUt@G}zt3 zbacJzyAWBZxsW{eo0EJNQHpv@ZK#l3vrMn_>Tj8ft7|Rr{xL=>1;epe=~In*o~(+& zcx7n1qsV#xGev-2qS|z{{Fm8XV0PHEGed<GCS05zd0E+UaP?E!_~(jG!3z}IV7I{= z)^YW60b3FH%|XpSF0(^`vGy-E9<~(>)WL<yDnR!*R`5jjux!88VYc*jt=)ZqZu2EM z@Iz7z$LM3EWHbC#e>$#nWovtpZ)Y>RVX9G~s|Q*^OEq!2#uCJ&J-IZlZj=4@26;oJ zoF|K!!lJ`j_)Hd9Kmlu3wGp)pPIDY4Tioe$pix$=dvk&i4t5woKWnI(g;n2CzGZ+b z{KK|DAr6jYvxwxrU%)?QXyjYn^b#=xOo>cf&cVc{AzHw$1}?LvwxGv}s;W2$K3gdR zWEciYN;!=Z5QhB`7qE;t43=u^@?O%?(H3<qSbopEQEtrDUSI+^mH~tL!Zvh_B0*q& zBK_Nm2lf&ntyF^IhVsLZ0T^IG)oV^pPQ8z8v=W~TTYYc84ExAufCVxMkgrHoz1%b0 zklw*V8x$qkWk3*&Ed?e4xQ`jcK;vnpkjkPaF5WCc_*(w{=5z*7J8@GPwny-bepfn% zhKCbMX^z<7YBZYS&Xi2`Lv-fB+EWOqM0aH)HG0cm=Sj2bES}h(R~(Cwv(FNLI{0*% zvnSp&eO31P)x))m+K9yJ8S~|4KYi_9-&o@5_U))dzRlLMqN?9h^N(emCfkzKzt<YY zH(?uSz_3OI@atYVtO!AEc5v2vi5;fnDJ7z_!~wCP8~sNeAP%ZQIS1Bnp-FPZS{3EM z#7E;_ZY_TR7o-V_2an_k3*O#=kewnx5GwLK+qeVRQMdggNX_{!;&+$sljF5Rxa@l| zLgy|A6y>g$dnyKw9q?cQk4t7Z63Mmq-T$68+yYH?0uXIJNbM^IQ9JZo95{!RHRrxN z>s&LQT4qyomZ?vQCFkXXrFmSeq)V;{7-Xg3Cp4n)*?IOS*$jQpq}1Yo8_GC9>5a?T zjar3nTWT5E*H`NujHcWLhPgWb%>_`V(g#v{0q3m<Kp|sTB(ysOd1FfUdOQihw#gRc zcrmGb4FS<nP`iyHK=1_81b|A~*f(7-+Qy(xLk(!ouR2lL(+{EKKcJ6FvF7`uum{dm zue|QTS51TPAr}SU*&(T;Q)=ik!cG5E5_kludaU}@J7E;)UzUL_BU8l2Zf`u-X6a|u zC^#Wt8{YnMXe$D&&SJpQh1%l;j)06AXfl=y`E~(0C%V4xS&ylT<Feaah6n*BW^Nyu z4+|mJ-39=`D?pmm0J{j6#jrAfP~VUdGM}{l^<M@TO24EBmU!$Z1HiwTQUdl#aoFg@ zCe2^VpyhBF_JC`U^I-!hofag)+9su6?cy~7oe)+xJR^h84P5Sxxkci01yqomVvqCJ zACNkS!IWAmg8Ca=PEB!iQt7)dnC~l@0y-ySZyc1-+1)%~3)WtaO++&+zYon*h?Azt z8UDnw3MJJn@m`MBf^b35`VqWYS%_5*DAaz%O@poZ1f3QzoAhs{+lKJ=hl;Rk9sY`> zFc|84QFXc=X$Rrp<^TNVwBta1%Wj~bX5<_*m|FJE=3&0d6ZjMjbYr%Cnrf`MKAq2- zad~@eK>%>Jyu8g0>8{SMlr3z}=~M18E}=B6K(|vw7aTIe@AapAM#y~|YVW@%sN7DU z3}9R>Z1&*?(XpGX4{BA)E+UmyzWn5IY*0W^+4)|!KmLfZe%U=MBRh_eOBzbc1qZVN zht}I(h$_^gNn2E$=oJWjYw(4j)K>J72k5hW2)NzGuUUiQn<Fg*Az0Qmf2!vqst^|7 z*6RQjcBaC}=<Mt)ETR#(8;xxE{`tKg)^17({gR{tux{-E&GoDOr<>IPC_NdV#b2OB z%2g;Ih*ZdP9AetA+=*MRL@a3iCX@r=V>xl7je3uY7~&9c;9|my1_WSl&Oq~DxETiZ z_6F67ut6|bGoQu6UfIqL|72+aznRY}8Zlv*(XN#KvIF>Q``QAMt{UJ(qVYEZIxmRa z^rG{d#=n-F1%r77qMg?OqUokIITmkAb!rj^>V^^UUMPoFwHL7eCf}~|do~9YA_c^p zgG7JBn!k~Yv8k|~ztHJf-Aa=XqHt+OSchMS<FL5LZTsa-fezUspds2K%cJsJ(c}GT zE~bCxFH7715>$C4@wdpUA}Df=ytY%Y^&2Vp_r~H~X4APufR6;--)M;+_CL{c(FRUv zXIsp_J$WJ0Fi7G{E(F1&zQ`C&zXX(IFq<SY4E!>3$h^KQ0m3`(r95%3$6`<gW_Jsq zP3Kq0NJ$Z@HUQVHf=~@<WR^R?cp+Bu=IzGaOsL@C884@l*v9}ydH&~gW7fD7*yJL( zjA@Y-PICNk;waFwhPoTPhXpumEL|mKIi~?}czqa}+Eo5Xoy)GYAMY_Ut6qcr_F(Gt zxw);Yt5GSNooj5drWhM}`7uC9m$as?juhAnEv^K1LeQ-;1l(+H?eGj?N*>kB+^kmF zdejT^&AI4oPm*t@Jv!y>3>rl5J>F|Z%3CrCQK=HAjjD{$&Fz(qUf~j^XnC|eW~Dv~ z$nEMc=s36vC`2Onxel$d*P8dN7Q2fn0Coxb@nYp5fXTdDdRfL1h1u1PqbjD1l2$o@ z6s)4I!l`pL&CN%5X0%EDukULmfVveKn&I0FjA5&91~Dh6CtKlYn-|Z`(HeXnFIOx{ zX>*LG!)Vp>h)K__1O?s4ZB$ZWoD%P}A9JbO7aHHrH159a(&i7>qh%BWy?L>I*~R5y zI)1IiiR<#sfGVjlK}mz!3b!^~Q<cICm5>c&)#8A^PZnu}p`jW9m3yVY5sVRqp6iU) z21T8XfpG6FOW|#t6m`@Qh;3V7dD2<ag^5~zA3=vV1k9C@&&KoQuv6F!7Fm?407;L? zxx;p)r>14pH2I-&+|8W|#$e84rck~^#yCL%Zx?D+2&RKeY&Bwa=ylKmx+#J=PB+TC zB5ouC9CRoy(y&EqawN=>O8JaJzN`h%Du`bDH(P%Lep+04tSF_)U~!57?pV_~!amit zUSfYl3C{eV%mQN?QQ)_res$;0U<1p1k}*0<CGUJT>}XaHQ1uKEcF+zj6wf+0?=tiF zv`nv_Cj{!CV(V`R5;ZA5znvkc?0hWBk}UwHV`1v0diCX$1gw-&-p~-U0o3h~{zl*f zF`^9u@g}75kFNdCyXHeU-%l5+<Ujqn&vqH**f;+Ba1lp1G%9?f&y^a8eHPP>^8z^j z#D90oNJtCC@{+n$b?yMPjHNzl2@oJQJddvOrYY|c<R{O>XI;8160Tw<he8weir6Qg zV@Ie1K8Od{3eW--8{?-QdOZ-GQ%^(ZR8?6fDhN=0N5G$nvjm~B)0A&juqW9lWvwd; zarYgz@UifvsBfyS*Y*1IA;cU|+I&O3?OeHZhICWG@cU;_vp+iFJ0cn*z=eqxz)INz z<m1QU*Mw=4SmjjIcH_dE5F`y?c7$8ZjURIB4yOsxlxG`J1+=T3hpV)6$?ciq6jW}% zySR^Uqvy1+1IAGw8=07xblZk=z71vZP7ux%TX!Zq)IGE*7OU3e168j+Tio~1_JfN7 z)tJ3W<ue(Kl0p8Fx|36*M=ZHKOXU0@j_+=cr%J&4t8h8#8~0<d*r3*z2&T`=>NS0B zCK2Dz-^NW@#(@>Ay?CZJ#?-@pB0pev|LJV#$~%11p8g4`RLJX_+vB%W+lO{N*V%1e zLfrX{&-4t9jvQ|O+dolrZyK6pp2|I%c&9#f<sSy;q%m=Di2a0!Yl~TYa#}HG(x{7l zdhkvEm|T?CqBqOPWc1vP__ir*dA1#*?XaZE`)+B$k^2Dn;2|MJ9qc#k=5V1Z(+$1J zc3L%~e2>gB{Su;)ebn7a&;w_KsZRZ7RtIMjD}tFS3Y|UB9DjYqB)nGHCIJ!eIg5q% zGvmVA{$TE<SY_1eh^nx!sBVKGM)Q+`Oigl>-&xL%u8QOLA6pAp$@71xE4BNp3BE6{ zS4;RwC|8Y3xFJ%)Bb%U^hV-zVNXDBKUX&&v91rsLQpjT>kxq*<xHz%~Ka-0DoK0Fy z%E#dOFcwo-J8+v2i33xX%nnp|RLL5*4ysuEZnPcRN(xU3r#+WT44j0u=T6g29u6+A z+wOaxfh}VvkbB+_P$(B${qE)VU7m9j$+IKT+cJXK^OzoyO$5H0_CCMqOs(yms4}pq zWvqB^qH!sG0opPK+fp%8Fgb^((`YM?JUj0hJwQ|^j6rBYN-J$evzwnTvPDN1I2Cac zLs}8eLiCvYaJjMbSgsU}en?W;AI0m&$Ha3pe5LRM6b_08ie@uY(`Z3PKVfb+ysh|( z2|CI(Uo;q0d~s97GuE$0qC7f@Dfa_{n;67mm&nN$Kl{MS<g3EAqY-T$Zy$dS>1L1| zc)hA5YuV2-x$fV~*c!=zNQkJWO2CEpe(5I%s?9ujG=qThmtbJe+NVU<rOy8LJ(fS1 zK+^PkPQ`w}1dMwBoU@WxQvNSj#9G!Pjdk9Z-7+?Y6(8@G7UWhR@9J$dDsr1;+?h1J za6i|lhsFBpsobL4bcPIAY$OAP6CDh*Lm*Y-#>%e7cQGzSf@vK+t*0a)Rf+~|Lc<|T zC5^fZ_9-n1@1i^Sw36P?GB;p+IrSorY^kEC;`&U%Sd1_CYo`sjL&?oai+1?+$(xk+ z#?oIDj~wgZ*xe+-gMjyL2I|Cf7usjAT3KPZ|NWQY<6>Tvm)ZY?tPi;-hpX73tPK#% zL?}>eSuomg=iV}N%NNLfxg$V1l`?;3F*!n&vTS0iS!HGHk>RP%G8-voW*~9Y{cG)V zM#~~71_s7M0x6K+WhZ@C$G0-8*?b6Z)4hY{lS7@>ZMz@^wf0LhmK>d*_iD!LbYa9e zrx)CKKZmik`S=85MUN%wG+wn9THxOrJyaQY(a{3Cfy;t?@fhxaC*N<w)nS>4s*yZE z!UNA4rV4SM{ZW=Y7&{sD1GYiJmj;R8h13@}g-em4pd|ke7$N1}pjD=Eg7AGomg|b< zbNLJTL!}4>?5YOsKX<0mMwAs0!+5FG%etQ%Sjd`&obk4h`PrB_K4VBXWFXxQf6L*H zqxcoxrJ+I;45|lTPTj}iaB~0o?(gTtht1Y^SlWhC3^o(c=<A<Bi{3KJ;-q4Rxp!aR zJcOTz61<sab$N!vzF-HTXL#OH)yCr0<9S58Q!Q9g)bg2MgozhQo}eIAAzN=no(KsV zB|>3AGGBDnMP_N`@(s5tsHL79MG6d!VmVv&9Vuzg6!NN8i5AP8s6UcM9eX+ZTac~3 zR_ZQ;w$f_Xm$%G`y;ylsh=!T1IT_Z&Dw@Y`*^k#@<$dMX3W?f#F8x!=`D|!a?XLvI zFXYnNeyZE{&nF3GM{LwmmNy@e1<AXUeGd&_2MAy~M2#u2+4O!K$+4jlGOMh8KHp`- z{!_p6zzc-qB_0(ynHPubjTf!<ccz{AnSvfgC_BhgGVHJOVM5K4U0KAC<y2S1IRx+m zMCVo(w8G=M_jmVSGaIdJVmH(>RF?ZWrsp^N`aXveX1!~sbc(RFmsfI%I36oz6N2w& z)-&E-P4&~~<<S_-x7N4%AA43V?sam64WGvZ!k>kdtltZ>bKGFcluWJ35#1~6wb`%$ zj?o=Ft48CU&Yj;<36p+tvw(=;(_dU|=1cEzT{=UpGZbLZy2-RD?#TpW+fiH9c#`13 zogYAq%b+W6u=>D3gUqr4%OSRt6>b9?3X|kw%TNSzvSVx!qD+GfYmmCNX*i24He!g$ z&&&yGj;O*&-RNcu4Yc>FBWicpf8cF$Me)iq;o%&KU+_jL<KQ1@>q+4D@@6%Q3VkX3 zVC6!W62)BLeSf%rkM)Ev)DZ+K&QkY*rR^*eoo$r5%38VA#*}*wYDw2Jf;4o*Ht@;( z5Q3*+g;=q*FA-~5A2tROc^O(uQOSzM539pfgWLy$xReo8;BrlZr6k02pVe%Yjl4FO zwtF|D4H5lGnrpfxiZC6+Lx#77LyR4-0+D5q)sEH+mNj|t8_S<1Q-$-9+-LVWnZ}va zS<OB~99ha6TkxYnRnSLLLG6w(TwL(nc@t)U>EjU5a#LQ2#3K-*<o)aKP1XZ_D@)cp zY^-_3ldB6@_tnuXezlb)uHBVzsw5r>h$x=;b?(MTJSJ_@z@DXW78%B%^N(#30>%@` z8Dj6Lky+Hg#BY`=ToOL+l6qcy7>3IH4W`b02cd;%8Hbvp!JvI*CX43AH75y&D|Okj zG#lA0^NM^25iIRVz@w?`ck9&;v)T}at;6*vLlKK$kY$Nbn^r1JN6Nhjr@JH^D=|i* z93w{;p{VBfHHn>;G+t-tT%n4oQW|ZNMa9w{#>_Ees8*IxvCK&$S%Q!uG4^mxzAg|7 z3}uS0Cl^mYCq1UrPiPP)6k?}b^D;C|j@iHxkMZie;l|Vs`Rfw#&H{-5WNO4i;8H8t zuv<hBsye%-Uq>%gUbMe6iNWuBE;`!s)!{@t<v0=%CTfHbLx#-tibF}sQ}lM}#TDbX zAFJ_|GoPu512u?sukKs<A=+iS=EVkwvjY2D)R%vf*b6D@WzD~T7x4KLyZCO6A_Z@o zSv@;1b>Wjns!F+7S6u4g5V!l00ntliE>?pd>U#E7Ug{r$`73`2U$WQ<T{7HgcJbQ3 zHb{Ey*8);X;12p;U#3u(Sv)>{67jjyOry3<ODdnzg}re!@p+r``VA`ZC?g518}qu^ zFKZfeq4Zl(BKsRPR94qDkyiLOwo4=X^WpTndeYk1AUM1^a{nQ?y5l7Um#05sc8!<L zaGILo<pLXkiFi8qd9}4-&Ozk6CJZY4Y(jn8H=dF!N3SM<tK$km^yANtC@e2218}?~ z=aDuEO!<`gZr)cr6;~Q_y2S|>^vA1|YIML2`@XgMf<YPm0+B{CVb!ZEx7UQyn%hCJ zYvM!U2mPqwj8M~POR9B?_o{sF#dC2Ff8`$3+tBn@h@(U{Yl->f|Kb`{9F1v0ki^oa zai@QS^A#R9NNYnZ$5|FRq2}rCu;~=Jgwi#-3T6U1VRMy2HiBStfw&u;9riau)w+a- zvcjL=Y7yuWOug8#wHS5OTgZI`yIK4nTo$y$8X5l3y}I^|f4OyR8ZCkKMU~PQpIbLR z&rIZOM?AXOh3_xH@fxf9Fr%}W*!9bLFP)(Jetzj3hJL0US|-c`NmWnTlzv;vL`w3? z1Hc%4p&IkL;dQJa!U}|>wc_@L6c!CS94?-m@fo4tn|^%1sEs5)QZs7VL=fu^5$}bi zf%W{VZL-vz6!<wn<(Z`B*K+d&{>k=quP&0{_ua~!RioHH(2-G9Bv$C3Vj`X;A|)bL zr$6%CoAh$pisZ56F}b8%!E{FJTSja3;(We6{d&dj^O_us_|~ts@q#1-a%CfoZbwn8 zB87F(r@i5C`1=F-zD9N{+fq0zUN4noalj$dA<7|%OOW#|Z|~3i_lYClm_i*9sCRr` zMd4u)zBT)GV2V_V0*3{RtCEohRm|X{lMM0l)((A5{^%HUL{O8tXYV;Vw~L1+e^SIQ z<*V2;&ox&YxnU7vv7(s`hBLcpm(GTt-9=fu(TCj}GaVkFHm^#r5nJ@y{j`jLvd@^P z-cQbRUYih-HI2&|_AXVZ5_{bQe+&+<VqoVoCkFdbk-WzGU6KOQ3wn=B>MY}P=Xmxm zVhntq)c4(ZZ2EiZFS45}*LMVXeBVFq`6xN^#hf`HZA`~hFC<qlY*0$`zc*d50-<Hs zWFmbH)Uzw^doZog;qVyjn%AElx9(mO`J8SJ4i3ATIi<yD&aJT`7Mklao6~$}Dv@Dd zzWq~^`DdS3UQuqsgc^Mkgk8Ih)XnXkIpO8BY<w%*PZmYOekX2#)|WZuLL$p0VJwB& zj!CnM-fip0nht4fH7^}pbuw09_>Li1tYAPPKQHqYg(Hd_PI=|ac%aoA_23Vt_Oo-p z*F7(2XgKcI4mx)Z^!ydyVMyX0ic=BV49SY~CmcAqal;Xz28K{oK6}p7DpJu)D}z`n zG-;uf+hX9o|2=lvcyq)WHwu0WP7?Q)hp#1A8^qAmq9F62vPHct(12)Xi(d%RtYzbf zzNh@OJ&htmR3tDgm=~!PM5*wdB|scc-8jML!)XHP#eu1F9E6MP6t4mfPt{OKte?7L z0E1tjg1O}m**Ov$*D)@?eFKL8D`AQ}`&ERz(l|ksuhQRdI3K>4PRT~V#!_TCMyS#J z&1Mq&${|99tDVi{j78|%<Jo-U);w2Hh0HRGjq^Og!Q*3C)LWrNg7ohN1=d?8K8IJl zBC2xMMTruWwDh$5!zRHgpC-f&q85u?AMJ_!cW~w9lr)DfUmZ8yD97;K!P!+U(8Z|G zGEYHX!o7Gd(GFfR8DJ)o-?&*bh4;mm6lM`k&d1&UzBw2)m}umE=V!(^G_6(j<=xyX z891!i_6;<QtC8U6>mRnTi#SkNBIsmkHa@k8xl&l8B`VOMN`2ZyF8#tH=t)Y0ZNn77 zX~;dw2#YWwWsgYHt>4wcL9<yHSV<8GZvta2ZNP}i$&ATjh|E$c!6>!rTpUS-u8KMN z5nIXhO0E#818kL2doS8#q!7Kt2$;gMKR==EEQy-*bY}u9Xf=B==QDS*URD|%H_DJ? zc%2M}N76B~YS2(PF7b<11e9q0qkYbP1{M3i3bIn!MznNoGQ}zRv6xx;^RmYH#7P^k zXES)0N{s0K?!P<AV4bWxRQh$0+xNNR(C*0lUk&rG_OaSQf^f>tTMH33tRW4Qj3BK> zxt(h2>BKy?y#2j0e^Ygi7APr6k&DE_M0|`}UiUoi9gb@IkUR1Xl`94n3d~1>tuKDp z3zlpFAKo75Xu(81$T5`rwjvDfsDBu*)kb15!Z$5L<_>YB#E@&&YX)|DR>;pm*w|4V z@3p8g<_>a0yKO1*v82fi1P(8R0Yeo_izu+pM%vB{Te~D*V`jC^?-vgWedsi&a2KtO zR-(Elo+d-`R)o&q{F2M$_?<0vnmrz_fA=-Gr7z`3jugEeECJ;<)E!<gtMh-{0iy;b z0t~l`@^Z-t8u5el#mXP2Xo0=r(7SThnb}RLfnaY@iHikSS>3{=G2|=D=caZb(QlGL z^h6fu9fl|>R7z1;HX4HmS@0A-?2Pb(bHP@NxT-=r^}1X<1q~L>Q9MoRnf;l#al#wS z?_>xkTkuqrOp>^ASSrf7AJ4rCJ&_~?64Y@_qqMdWjM}29%6Z`NY}lMN#!m|yC`S5C z@M79GSkoDtJw@S@erCaxtV?^kP*(~$m$+F~OjcJ8cABGvCoT0st|8h|Qt-%+i4kGM zq?(D8#^7KQ_5r+<0t8JpM(O}9<oQ*dr@C3jL2+w~b(^g{63vT1_}oq8!aG;2$axiq z_5NF}*2MU%o-|*Lt;&s42ywG;B!OMx4_L_DnV$h@5ZVNC)NNpf9Y%~rt|?<Y!6S>Y zLepgp6N1!@>PD*{$t%>;)B_tBT7!<fk9LL3#7w5%T#Pq4$Xr3edHW(;MZwECX-T75 zv5(kXoQ4zO51NDgxnwbWl<lqHJA%j?Ld%)QSWYBdnyS}V=U&f(%zJ!{`g|TUnFF`) zX+5j=R&%gV{VcBjyGx<77}~RRa9Ba@K_9Fl(#^94A|kA+-&7=ighRy&5|RT1^|viZ zwFiSSvy2IIv)lD&FNZe++dm?bl%kiA1@0&rm)((768*o{`tO(VN~BU}m=cq$DaY># z*hN71EIvBG9O*Tc-9tSWU4f~M#`{#7hbz&JREpa*=5P1!7XRlvM4Ks%;WW{N#R~~c z0zx3V1WLyeb4aC&9M#O4=rGd8WhB|hZ2#(|e?IfCK4XE4Zr9b3<qf_k2%LE#z%Q1m zjSpix{zVLVlBp#BpU(Zy$42l2p}7>3d2&O~+kI5Jd^10NTK1i&N}WS~PF;Bbmu9dO zfixZ3E^clOJ+l6f--N6prNc0{-qYvWSi)(FyJ;nrmttxwHu{t~{g3yKzrcJ6Q$pzO zZN|NTRN5;(J6OgHZe|9TqiN-z#r6NKu`dGuNP`CYbMiT)_!Fi!@{ECEWA#Wz`$i}> z?e=$7zEVf8231wnl<efCy!&57mjC186v@F2Wcrg=)Z&5ZKl$Yc@l24Y3r*#qM*dQ> zP-r5F$9H9hyvykL#H1t*Wqkk=;nc~>tI6i^z54Hw^5qGs)?w8UB*&BlJZJtr^z|zh z@Q-=>prd6L0EPBIDoJDcYrE;gg{GaYt@*4|VqA0PW=0Coe`<R@eAdC3+D?<0nrPg- zFeNPfay_)6Opkx1%k6&6%FD^A3|-=|>i&?V{k}ao#;SUMVyBUVuj=L05QFv4dioOX zAX-#fI;_#-)Npr|yB7oaCv%(iMyE%G)dF{Hwc)vnkEoP8^L?3wFkzyuU<6brOn_+| zIAg4=E5;ll3f4WSk-l!N6{ZVooWMb0dPUh`==vK*VPUz80(MOhtDC5nR43ggq7*a3 zL~S6|6Pn3EFVl1Tok>AFBPDN^kX12KL+i`&e-`;K8Px471pt+I3KiGU$#{CYKh-@9 z(S0$aO*P*cirVwn0(5?*5a`^6LaUc>8-eW`>$TwIto5U)xmh1rp39ZlExAr9as!ZS z*>f{y(LBxImD5JIZh#qnH#<y>qOtJhxP-uAX-%zhN06@A+F~zNrTmaQt`ZuvFn?Z8 z6e<o%=uD#q>L;(uTqfrJsnx#^Wpl6Z#TW^TGMio+<zA}GZKI^6GBR`5%r^dl|JP8Y zp@NCOg#y<ALyM1?sTUxIaf*C)QS7kV>ZDWu@Zbw@%aX;$T=`Srd7?kt(kTB3(9}*9 zUN9U2i$QyuQ-AG%L?FW0HXZ+%G6^Tm*K=r@sf!Akg$B5k*}cHh4kz<2?2RKgI&?S+ z`XlwF0ir#G;+!%qpz*yyN`6#U#X0cR`}#7saglo_RvgVl@w@%|F}E=Vhy7E+D4aox z+@`#|O7-Nt=-OyqL8p1z&CA~70%ivlrLsAmUiiM)M@fuWveN2FtncRU4*CUGCj9#B z>%{q~&>K#qTD-fgQgF7c@4LpPx|_!AqKo?!GXNr9ht9tR5kBvyZoHgSFlYhB;T1q0 zX8`4p006s!$uq}gl>cNAASWnw>tsGhxmgaaIsn)7N#PL&i7(JNl*{cjBTavQkd?si zoVH}^(0mqlce($KYfMNDaQ3pBEC4h-gT}kGb|UzG{-u+1>!MAGb!P~&%~XC2y1*U< zG_c`B_oM*`d7%V95A#e7it!(%W!ITCX^Ddp-c^SRx{1v+Ctn&4ic4I7cOW)#xDPTG z{5+fau7K|c0!r8%&=94(yu8X+_<8`O+8l;XS`2i0W%7D_+TP&(b)ILY$CX{^y4CL@ ziS?pez_lnteOQRe#ky3?kIL$1bp`hGk}iRff=!m)4<`^|x?s8dJ=(f6g3Nzqr_bWw zT!23&ASLQ8d-Lz0A>#h|-TD}7QUTX->w-`Dz#d)|9v=Qg6JiGl7`0s%a|Rx`qd)5v z*cv2(ze2`6y@?)_4IC?U-amMnp+?gB2n+xO);_=%^EI=#{`s2a0z6~f5M8z&3At^O zSA0%|Z|<R9Lgz#5bD*2H@1i7LXZyZXP*9ix?rP99B>wl>sC(p<P#irqIKusm-}cQ* z_K6?A><{nO+hH;EPk2dApfrFx04&!5O?^{qsOJl!IY6!8)e!jwW|bSr@oM<XanQ&2 zOy=6r2v8!-+)aX06^VOeNq>DY=g~BYe%*-}EdBYD_d(IgHxLBWRG01MCv^mb`!j&y zqrFQ7b;Gi`K@f^6v>hin1d%;$_h_3B$Mvi3E);m18QnFd9ITq=I%cySgFJ8>m|(@- zsM5l!RRZUhV}MiGgFH@}E>O?RE8H9vJS|;X(igs-Hv^ea_1OYphb=IN0A8L@5<K4W z7xBKds-M^j;BkGw5>XcbFtl1=d_iyZmiy6$7ZIjJ-((vX|K|v(6udI88`C^H>H%8$ zr@_&aJUbpkE$r8SBrlxtY)&SnGGE!{epDFDd)aND(aFeY^GUM_<uKmXXq<WO^OvPi z7p;MI{{6Ghu49;4KizXUpDdSMrY)G*3LSk9ZFAandD`x#7VlC?9oo!<x4KEr_b;d3 z&h35<I6*1^*x@MVvqDWu!XIFS4;D+@Rn&|M2<)VrkwjjB!^&Q&p8W)Hu&My8m>C1a z{WuAQ4B)?Ez3qU!*{<>j%%a)_i!6Rb(n%QlK(7G-6tAid1md6Ppncxq-*q@t0yV1^ zVBkywQ}n}=(4gxOY$eB0FBY3c&#t!I!!88^X(jR^86Tm8k0Q>C3En?<yU_fyaG5Y* zOctum?U#Og^ghcAKeZH(2T??Rb`9I9CnCNgfHN`zqF@^CISp^o6Kw~R8BZEes|GIa zLFL(T%(1^PF)?v)Ra}+S?{dPv`HWb7VJWJTK7bFt2qf(~{RZ>R3iv{~wuO(ImP%Ce zgozP|5dc_naS;qOW@Hu;heZS)2uIUttIzf^rCH%?x8Td*J+oM22=B1vU{GanVc73Z z$JvaUBd3SvjSCQEHB^Sos`tY+59BV|KEL@1MsA6I6bu~wU*Hes@;IPxX%uqzr>G#O zxO5X!hGhNV1xM?IG_eK{1_AaZHEBh|PUiO7Rt_ZX;q9s@g7V*gJuKKeXzJ_h-*Uj= z9}@D3R+>OOq5K-#UjV^B`K<^S+$;d_QPL;CIQn?cBylaRYhzPPj7>sfX<>mfne2D{ zQQHr>^gvyEILXS#J;y9s2mO7c`|&}q$`*lsg8Qp(2V1IbqOZQpT@YDGIHK(K4Y3Fp zBmB)kFOW+$y-n|KM?wW*hr>h1C1#CI@+Bcx!e3Z3@u$84bF<0mW<rLX-x2^4PxlGb zGL4E{7(6^Sp!t8Q!B#%+VSE*31eXaLs6oO6R@q#Eo0HO1odFbP9i3y{Vi}WaPQ4$q z?O;w%OorMla~h1b+?Tgz3CJ{rnlq_23<al5Q%RM{PuU!IQ~av{S0XW1H(hP#v&`*G zebd-w*6aT@`SQiG$FS)4y7y&W4qj?Kp<bE7w}LJ1Qv(Mr>pzGphjI_5>)UjHSXb1a z2x$ExaZlyct()M&C(WzHE32J22|r9BR#JDbZzXbG((u092xdOqMlQuBdy<ZeCj7b- zda>kDAS@_V|3dHE;A)@HRhGS=73s}F(b${WvaY$we4m&}I-eL-XZhllhEuA?vjyUF zI8AGnRs>R~1iB@sFa&f#9awkaHv^2;cUuF*SDRUi5}}b)DD=+PM+>pZAWQUH#6b`@ zIx3bdUmb%e1<4<Bs%L#4E$`{F-fv{%%u10w0B(xm`*PvHP#9QCURBoTVqvCmRL}de zDs_hicRIufTx%b98R{IDi1i574&Oy|p~hzW=aHRY8UcKnP8O{fJ_LL7SvB$n4a(RG z(A_O2@LW16DmBw*QoR2$Z;GmgK4#X-gZOrZ0oBwP_*NWDd<#cqHhln3Gl~E~$0TFs zQb)u>m?UtHyX|fkFTz{;_S-|&ID)700xz37UaHWPB8&s6iF>wC8$aXlsE-<3-{(lB zR!lP2zf*ZkGzgycC(oZT$~6imKAh-R*Ls&lTE=1@CJ@w}F0p%aqFU5nwqf`Mvp-|p zj#(9z7UvOHpO}qeYwY)nLD`F>&ncv-6q@MuC^fqDGE0a@t9#*jjxs}l(&bryfK`tO zQYzX7Mw-V)M`vL%gx01N3qL?lEC!zIp(p&$DCN%G(3zCU098>xx$EMf8~bfCeI?%; z1p4U@4EO20zJ1O7r_C2jPa;+%t{kn@WsOT(VlYvwqI=Hmoi&N~VhrC<q_6t9usPkA zemb2j49rWOA*n#UI2z7|(}Rt}-)w(C*xn-bSX!T@nl=DgSx(_R@jWD^TxrVK&a6yw z=-yN#&L%zg!<BbsDA2j}k(T~VZ5W-rYKz8%T%_}uCuQYV#>(pI>PtWpv;mYiHw>C= zpsnH&c%S(VQ#<=)Bin?}?fvY0@>%;OQ;6h#){f@bj;Jv!t07%Vio!Of+sTv)KNnu{ zn2lZXXT3t=F%dZzm!afjUM&SY_Q`J!0marAAn;M6v9pL#UO`bs$G%Ecp?GlrTMYJF zV{?zwf}BIU+_yQ+I%U;bQ=|0y-_j}sm1I_K%gOls1#i^e5}kQOl<u;T7sa;Bs%qY| z-Q6x*PP>)G)Q#j?9%MvesNA1C)*eT=TuyTL?M)X1%#|UQmp!t1OR^h!C3mj>rFnp8 zL(ILRcJ|lR!qhc6!1Kx>Bk#en@N{K{_h4EF9x!3wc`L4g0C{>Rb3bVPw}2V4Pr zKZ0j9e>Usuk-XG367kSVO6LI{JwMg>z6gZsQ`JU|@S?Dg(DRIxx{2^29a6=ze#GNh z;!EZu(jT%QMLY+_NKUz$e7RyULnX37?J6QluMpuvJk;3GQFl@dpS($?Im~*IxWjo# z)TRYG;*01eIMBu;+)!pUy%<Ud2$P7v)P}JKwFc*PKkxp-%Y+nx+|Q8H6;gv~iXzq_ zhG~Xj$v)|bhs<p@42P@sfX)eDFi9K&K@lY}mDS2YjBW!3>}f5C=rCqyswP4Pgr<_> zi=%OiGn1^c7rZVcZtW(%X{z9D#fuD7e?$)aqV&KoLG8Ux76u>k=-y*S(Zo?AA|FEe zYs?ODHRuz#ijiGX32=DkUt3Kv;P(j#rThJ(A92#T{sv!nAd>%d!emWwqX`V9LOq8) zhxtw?iF_#CoJn6n;exeo=W=ugsEo}ddBa@4cfSy9e3URkngblxg@ibQF|2+D^(Kh= zu*!5?9j5jYwg&DddQcK<%Hp(6^u4UviHy$~x=%okLj2F^PnN{%bqQ{k1|K|u+eDd( zJp^xzD<RksJ(A+U3fpBNNuzMWbEgV{v+eftZQlj<3x;s+nB6UK<R*0cIeWz#btbS= zW*8<aK{Z|or>T5STsHagVC6spFeEcfmUV;<%#v%qo-JNAIH=t#3Snz^pgAZ9YG4QA zzM#GI>)9Cs&&%WuBZ2KqgG^cz&E}wzsb(#gFepAbdw4Zo-!?LhDd_OECu&GtQ~66k z8r!tP)NV=qmezoryrP0eQ>>kaYH~&5ZQZW-Z@AffiMZLYCUV1uQMSyhwBFAx_2_L^ zio&jwvGQ_?b50n(xlQO5j^eZPrj{wGIL!Kn`NQs?UhM-o&N`InumzD_&D(+)P51&` z*keKV*zcsp`#7J2=yA`Z@iG3Y_{B@4(gJpZa?-d~_1CQz$^Q3+;_JjQ?KV?I;XhtK z__C(+YkYp~S28#>SUWVpYjs?9Jsq^4G*dO^tyG5#-j^_=^zGzUIXCYe$ap}--QDf| zD;k#@mi+;nDh3<LtKA|io=W`By#Br7PmBs<>Qii^&5+8S_4%5KzULk5w0W5$Lc{^G z%(Cp+1mf_)xe@QjZ&$(*H-<%dM2k)M&Q`2xePIip*GcE8Ad+aJQw}phtn^ki1-Fm# zb~Q`-S@9}*1F_yAqEKhcPV<I@CRAX-L<uP~;1PUoULl)=krE$Q7Wo246@tD=cw{sS z6WC>#RE0f4@oHAjL0Be79dKR)`u@n!;uY!ISosFS;f*reU}ftLpQ_AfebuLa!DS`( zHBy<C=Uk*9<uAJGi$oOK2wofxeVLy`VQOgmYq-oE&iqFbCWJ*imLd{=H0mv5X)4nX zOR=?;X>lXzy?!f?CX@{8y%Jvvzz1j$|KQu}TnOBjViaOmy~!{aLW|e=$1!a^>>eAc zN?#<(3kWWz8P?ZGM<s`NULhX>ttu>SebfeI#sNx%zjGjd`W7aV$XX0Ob@jr9bgY*G zQ~F+6r^>KOb6xF^CH?ImXXmFO%)vUz_YmaHi+IazaP&Wn&|N%sxl_SEw|7eKUX<Z; zeI;SX<FYd>Nl2&pR>Jr@1$2np<*6%|Y5c027#GFtvIvgh!qCGDyrY>m;|QGL)#HHM z2yHi2>y;QI&Z6V75R&!$K!p)26&PyPV~yEnh8=;EuBK02srf#;G}?$46^6Ot&3331 z6FZxR7X$Fy_5Z|K_p)A{RF}r~GU5@JiE;Y&=5@iwWTkjfk<HY%mYu&@-|#Z_RaG-o zQNM;mV!aML3Zy$_GoR+In@U!9B&N%4$^Fjs*ItRx)+M%YEUuk0MO0wV<n9vHVQGh; zqYGcKv8G>#8#bB0Nuk`3K$6=)@3@-Z_pw?CT2Mh|(F&&z(D3@H??EzYBsah)V7-I^ zhW=Cea3+qn9_cIT&%$n5LyRux*h#MU9f#%7xr=)@6h)j_@02`r?kTXf=b95x!;>u4 z@g5@0jwSr~&UONDbhmOhTu6M#ze?Iu@tl;_$G^#bgNTvn7~Sys?Z;oh@T}kmrTWKR z_}d8CrD*Zgmy)vF4h*J9%qAD3Cin-$>bMrF-h2jK7U)x(%ghn&o?JKtTUV6PQLSda ze`v<0Q{El$1sydh>#z5Jd;h`M<n@jQv3}GbhIrJ|O_)pM$9N&VX31wTEPHG4T`S7l z5R~q^LS|(dW1%t1Nyk_@!;?c9zn|m{jzm)c=Di8@?a1i$WgvHxDkCTwN5)btTu5&! zEYfbGfKZfE_^5E+-O9d(tl$iz!LP*s;+uO&y_J0;-=RLBH6o9L&CMdYo59&3lrxqZ za@ZY`SeARFKv3=z&G#}*{4F}m)`ll_E%gd!$Y@i7hPdYMfhx~q=*Ni4S9i$OoD==b zi^K{@lyfiZb$0oWej`s(s(ZQrCM*^ZzthGi*t~o#$=Ho~!A2myH^780La+-Kc4jPb zB#xoRPM6+rtV#PE4M@y%O2c-SzHnd<$yWo2A*5<6hUO^kD(u?jLl@WFZXNYNOMnji zW)AGPOe7ZHZOQ&P%`|?KIU*S5kD}kOwB3sI{g7FB$W|z7gZ^4{TsSloDHz1R!QR!^ zq8^iYweMpvBsYBsD#}5_TVjw`cmX^PTMHD~f#Ect&z_lI3?h6~q?oH5FlO;~PO;@L z3t=#4Idim_EFIP-j1(Z#G;hfQ-lKGpJ|;P!3_4S7CmZF0GF>8(FE2khU7)5{mip;C zd%&k$b2(LO=fuIGJk9+9CKhI`l_1}`!xg3Ps9)Q1yvC*+w8qeWXnN@sDeDURsq_f= zOdFgwIf_inhaisry}4n6)2w&nnG)Gu-d#DVr?CvnY5h%+23rEa26G9vgc>FSk^WsV z7*z3tWP19B!!V=kkVV&%qRUhr`4KCf3=G?vmN*UfIR8vf%bq9_BwLn2gW_pCRs;W% z103z9Y|pYg`^InLl=~H@BGXwO*$qtLj={^seK@qRS+<>Ue$_S+%p{1}(&W|n84u}G zrv81WPNI(OLA@5M;SdCka{bMVG0*P^Hf$uYI6QoW$$jh3#@=M>=QOM=(3!j%eQxfZ zf`|S&z)UYVFzEw)LieZc<IsW7l)8Y1i=jaU!zz4Gp1@%U@9*h$!B$PQWPrmOC6Yv= zbl`KznGd-%CULCXO8F2nBl=_Q0a2o#PjZ9*trh9&*^=}K?kib#=M#u`*ToXOkj(mr z;DL)QOJT37mz~(iWt)U?o5*6shgtmxQF=6i@ax@6k}*BLAuJzXR9)SCd~roRM}HB1 zdn~v81$Oi_y?}4M)ga_bd_(NovoreL>{@5;=T+h}JtVdW;Rva=f*t=$sXQqxZOH1w zn1EzDE)Ai)VuWqZ)HJF&iX`uPj$s1Mg0y&D;pc!Tn^!PVXT2gg;uJZ_inXL~I#Pwr zsS>qXKiev7jJo|Xg}Bw?Q*jClFNdO>Cn9tsgb<4lC#K=4BB|n3V+DPbNTmquNni64 zU6Dj`5WlriHP%S${^TuH;^W3&`I}q?PL(WtL*#1&$FOg^P@vRb@kJH9cLFXLX0cUx zXC$GuU+oA?(uX}}#T=i9XCjqaQ6^j&cpQ0ziK>ZxQ9&+Ulr0KVHik!L#*@#ReILaC zJOtB{x|0#x1Y0a9swWZKS}8yHvrAC)7GZU858k%oZ=a`Fp=31NL{FY)FE^L6d^(Gh zd?*dKhL~Nx^uh+#asINs`S`DAXZSmXk7<nA*`=u&j7%f!YOC&qgUn1*9ly%I+Z!|< z{Lm7aXl@q&{?5D*YzXF|p-gJpMTAB2gDI0!lO@NJJm!`BTOlY!G+5o5ig-iZ32m>> zCQe;%)-@!;ZHP^1EMzh?vM^U<)6MNP4YF+S4XAwMz8UFhw~d`)E|4Jwuj#E&wOL+_ zNPluH(2j-;*2Z}5=<h4Or#<+?b^|f6@zTK27sNVG@E3Q~FG<;IC~hX6D~n1NA3D)x z>`sWU*%0r>#Jqp`30{(zpt3%?C&(?lJILxIccd4Ktptl(;R#WF`Nx{LkFUrd1PiC% zAKh2TE)$>E$2&*9F$|P)YsfS0iS)H%7)SD>EyZXnqAa7UMhr@`d`m@mh=V8uEygS3 z21?Ub9>BQUz0<0#rbvq5u#gb<ho#widBqaVQY~T>ME@m1kiItqo1AAc+u4Z-_aR43 z;<G|~0Qv%aQ4bwa2ERP>%1Ngs&DtgnF%=pD*=BNPQq7Kqv@v%*S={P14?awZ`nJt7 zvs#Je_x*x^)Ix>g%bO)3yC2^4q};BRIqAP6MREj&w!PmvWE3ZB7BMk0XhdmRGeuGU zof+I)FTMWcHXl>5pK=&CH@w=aLs(zy1MntM66z1~@Y}%|0K4kOhl!6fq}BPHnfqS6 z0g-WPoLwTQwv25nxltT)?;CwpbYJ`jjZY_bM<cL#nQH~pN*$(zN41y|M|(@B-LnR( z>Yku#u3sq_p`#lams4G~;Qpj(Opcf1t-2HE+G_V!z|bj0VLUtb+^{vl<lAJ!hh^sW z_#rBp-H=cr1@2FpefM7q9Ui0Gi`kv8o5G~O0O(xlS_Qw`hK9|KMd5H-yvcsT$mq?z znv~kEt-DeV-|kMxuTQSw;!GIfDJ%J*o!j4;23b{_G|My$HQUk*Uug=K>i+}uL^!|| z4~5n-*^-v1M&fWV2w`_1l^7B_NGigyl*WdM(!j*X8_&R>EcTaMnZrxmM`VOSsLM0! zC*zreAIK7V9h9{bC{iIEfGu#=<3SUQL8P<>%8{q%yrTM;HHtzmab&{!WC#aJBG1|- zu@p?j|IVf~8prR=5e25~3D3J8tj@z}HdD?N*%d!!wDpI=;jz&2Drv8e|CQiTO-f15 z{CfTsD|D!9&?e)1-rsQ7Zau+Lk$+G=00ly>2Nd`>I&21gaLfD)+dUH`g@~W5g|?ld zEK5u6N3a7C=qqL4=zNy4lR{>ZrNdDvtW=i%ec-6BQwWj$xtlbdsAddA4JQKR!KaZg zSDHJssQPVtV0b~S%-{oZ2sM?W)S1+6x1EG)$KAybfx%r?{w*?!3EK6KBO}r6Hul0~ zZO3-@aCpLEsy9my`k{kexVCz#q37~N1M&)QHGWpUVdY8<h;e<m{yH=K59GLk``l1K zR5wM#q&d$7#M{^HxJPU9`bwWuUvL(9aym05nenGnv*jFEx`87pJoGL+ZC_M$m6yzf zw-W&m&lOOzAJjYhL7c3$RVBWGqSN!a`7t7NG%Fw~^sh%HN#X=>&Yt%R9UP=@p|vL} zm=710UdehXu_D^B(M8NjbdSd4*5hHW?*KPDD7tWhi3&54(0=~2@+?q$7i739$*DLq zFyhT05&bh*{zFFDz=K}T!KA7zx#8a^a6!dGEk}#JG5|d7?VCS=5W@h}^dlN&)8Ich z{2z?9TiiGWOIvhXj)l4s%XUq&qzqF#ay4A>J3N@zDLJ+7{|n@+44yCPD}^FKQb2&t zXBs|$^3i%C^5h;62hM~DOl6w>4=6TFv>Bp3i>(L?MP#L4^Mq;wL>b8Bl+~=N>pK3I z%c6^E2jWW*k&w5&NZ`y~m$;-yH2fk^8}br{887)LGbK<I@CsH$Z2rG6>24_`6JLpU zby2wBCrzaW%WdBST-4@$NSW{d(uA69;2z5Ko3k#L!J8(Rvy@}FV3>0ohnQ^tmwPD# zP@o30q`O!t_zy0#s=I+1_4pEUY4y1?KCBXpCj*YEYD8NG0Arz${C_uK{7)pHt1-8< zY$DON2owG9&yygRI`WlfT;Ma}$UEn0FmUVSIu<SF7ucHkS1r~LsCzrhn@Koq6aVK+ zMY%*NgoO=&#MR1~)%-OO#JJ+(<Ik1Y4Gat%%$8+MPEH<N-Q(V3#y&<9a&>>cs+yiw zcRO7%sHHS~56Y^8Lqkz%2in3L&!C{q7wk-VTyXD9!Wn;#t?c16OEd@Wjw`(6<rOsw zSxT=2^R0Key_o~{_1&x!zNS4H6j$t~75X*d*%0d95*K%qtIWdu)3DD10pI%S_*cEo zhcf`3polYT9?q1cQ3Pt%rKF_ngPMG~8uy;s9gpELkaQLCa^P3kReR51fGar&&w6A+ z0o}1s8G#Q+l-1sN{NoqS;V;yop&@RY=|bsX3mw(!MO@a|*HH?9s-;;U9q)deRK`6! zFKTVBkfNDg(Y(|naC4y}uOz227t>VuelStGBo6oeKRuy{9hjVqb9J)ZWX)5asR__Y zBU5&*ECBsg{7}%myHP7pirLRO)4s97{mk!@kAi|?YLjFz?FwZt>|Y<tJ7j>T1ybiG z6K<qeJb_o^5*Yi53T!|u6=icA40O8&GNf+mWpgvTLDkB#{9aPJ6?(*vmvj2G;o^-} z#zti|*9bN#%TiIhBkHP7IqJ2dT5UH;PYkk}O-DQjm4@W3cPBS@OOyU)&`TCwq825% zk|FoYv#Vd`IXSe!eFcYw94JXCKtwdP81V(j(8?3zI~ErSqp+A)QnV86O3T=7y1HB6 z`hpQJ{~!{bh4%_Buns^d{FVVgAv=NnR){hJh6_q-Dt!S1F!s?&pqsQQBQpD0g;bic zO^d>6Sj;+mR6G{&xg@U^2j~@z+^kon+n)HPn(W7omTS1Kj(FRwufK-g2^1)o>DEnW z2J@;twYk*3TO1}jY&+aLyxLc*hdu_MG%B^sO?)swpZaCSJ|01AH1m@ye0I_Qrm6MN zdXLb<W+6z&`#Q1ffTk~QA0aR*)@RKnhLl_R+sUIg28qKc^LVyXFCi30bp?qUwxGbA zVwKRg1thW4z?fVEeh0XWX#;|J&d%tk5)i_n^Kicr#Xc)|+PqnA_D#h9!Luq7AhOgY z57&7~N|PX#W7j!c=+9cPuFrAZGIzkkS$LB@s3^|>Q}PlZ+13Z)GqLy4@u9mpK1yH! z&y_cw=z2AJ4|DYGf#UP*e3jW1$hVnuV|cZHD1l;KpS^r3-N(Dp`00{)vmh@|5*Fdb zIPiSY(OJ!vV4lV3?EprX-+WFQWPrcA_Vl$rAY$0R{SAyvH2qf_-E4VN0X!eS?JuDd z{T-mHhCq5d1wf6jK$ZtZ&`%b{f)N-61@)kiH0sUzTiFUVC4Q+wR-!2Y)k)j6T+KHA z?nJ!;68lEIT&r9^hnA~UwwB9Drux?#5!6r}?9VZ%`>);4^)Q&GwdW}4RzTT%1pr=+ zTh<%XSTiV?4I%_KW`lsVy<v=J-WWEV^5WB-@!D^ImNQXPO91}9hxtjyl#-w#NKC;u z2Ws?-Au*ss#J2`rf<FgUYNf1lRe+QO^)o-W>q!On29C9udmo98VO^Y8&ZwUPo^FRs z>cAH?oQ-RbE!{;&4G+K3dVBpM0V+6e<j7>0ZE&&FsGocNyB&5}-y1k|*uGZ+{xq%t zz-GN!Dq==3CgRsR(3LhQw=~+{RoprST$XibLwGb6fF@(yV2-r`$hD5GKFZr}ODM8V z^g!|P8{r{>pQ^!fQGI}apL3h=&5{~GEp=JaX74irhbQgZaOo`-An9Bj-y=BOeuQZA zG4jbWk!rR4n+q_(LQgNFXW#I>N0`?$j(ZsfJa22zS-YDgs9vC^WaoVC48r=JA6hGR z&oZK1?S7nGX24@;)b=1Og`Gyr=rX!`SM^eZ7M}KC$(Gygr0qw3%U|o5;I-)j|GDXk zl}TIP&l}}HNsw_YzyxJ@1Q(w62G{Pd^c{qj#H!m!=f}33sx7;Z3)DT8x8j2x2e$!) z>~!)!@@3brc$c_LJ7w}LyQ&$0aU82}9D}w9MsF!t$yWIX;x%%#KUf*tuj`*cNfBni z32unBp08krn4ih97a*{<$3T0^mT?4iX#lv)#3NoG-mV{@F*qFx9EwQJ1LKF%&Q9@q zm7N>#^=Z_#pj;zd=#l4QxXO{Z*CzOW$0T#YChU%Fza-qd_mpxB(5vZXWo6$WjQ~fc zrI_cv<UfE&yx`p<7(<skSq=i7NgRaxEOoYXqcN1Skx)WF^?fTy4@t8kz@oE?7m6<g zSJZU>`QD*!Msu_y#Ixsm*~3W2N-P$LB+J)vIDRa|y|gFpqA2W*Cfq!Lr+gu@L{6XJ z{?by@$j{Bd?`lS4abTTnR3Kyx_@vXFpF4ii(h?Qr&<gsa{Olr!^A_#G9$@5|oaP_1 z%pmhncZsY+p!jw<2IBlQgN5nP=GV{&tj{8TB+o;!AGVS}<RI!&&|}DC3@0T!6i?S8 zI|MdVIeW92ndrVetG+HWr4@i!Qa%z=7>F7|`~z5BFs<uN?}I+Tm;VBE!xdQc0RBW5 z9Ij)3{kn~#vBJ=Nk__Z16csSZ`Jmh#)r>7Qe|V#aQ=;T|b^Xhs>2}1^_i{p}?w5U& zhL7?L;Fj?s3YqAx{*bV_mx#YhRhe7WD0qm>Z>1XPhT?cTqQI?vdDZKrETYOnbaHm) z|FHGeVOd0Bx3?0K(k0!ElyrAVNOyOKbP3W8(%s$NEgjMl(j_U~@NM4jt?Qig7Z+Uf zF!Rjpn!VQjTb7CjHBo|^Fp;gmb?`TeNzbNX?(3pSQVSPBxPv$O2L9;jfk$LX^+A~W zOzSFadEs1ESv}hoV5Fft1Jg+OiZJ~@YhtdyTgQ|>A_J7Oo0)1B*i>WVpy4-wMUAaP zY#bJYit2-lW+T14)>q5C@9e+T4=?rP3n+f3^8RJD=}^^Upq82&{86-@Gwd|W%__68 z?dZJr^;==*m2QLglIxEiX*t;ixj~&0�AI9c=Pyae?daC%7#+z=Yu3PjFf+TV$L1 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 literal 32360 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 OvpH{TS@t*2U;YQ{W2Nc< diff --git a/docs/img/not-found.png b/docs/img/not-found.png index c2149730d626377841a014cad8156b3dc39c9ffe..c934e9dbd4728063202afef1f6877b9551db84b5 100644 GIT binary patch literal 32138 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 S0t2L?x~HLcr(Eqp#Qy@b+(fqk literal 20880 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 From 427ad62a6b2664c8504fb46712de5ee3537d8acb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Sat, 6 May 2023 09:02:24 +0200 Subject: [PATCH 13/21] Add unit test for ToggleThemeButton --- .../src/button/ToggleThemeButton.spec.tsx | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 packages/ra-ui-materialui/src/button/ToggleThemeButton.spec.tsx diff --git a/packages/ra-ui-materialui/src/button/ToggleThemeButton.spec.tsx b/packages/ra-ui-materialui/src/button/ToggleThemeButton.spec.tsx new file mode 100644 index 00000000000..c2490bf06e7 --- /dev/null +++ b/packages/ra-ui-materialui/src/button/ToggleThemeButton.spec.tsx @@ -0,0 +1,26 @@ +import * as React from 'react'; +import { render, screen } from '@testing-library/react'; +import expect from 'expect'; + +import { Basic } from './ToggleThemeButton.stories'; + +describe('ToggleThemeButton', () => { + it('should display a button', () => { + render(<Basic />); + screen.getByLabelText('Toggle Theme'); + }); + it('should allow to change the theme between light and dark', () => { + const { container } = render(<Basic />); + const root = container.querySelector<HTMLDivElement>( + '.MuiScopedCssBaseline-root' + ); + if (!root) { + throw new Error('No root element found'); + } + expect(getComputedStyle(root).colorScheme).toBe('light'); + screen.getByLabelText('Toggle Theme').click(); + expect(getComputedStyle(root).colorScheme).toBe('dark'); + screen.getByLabelText('Toggle Theme').click(); + expect(getComputedStyle(root).colorScheme).toBe('light'); + }); +}); From e2c34041df118f6c2f77d39c1a1106bfb2a9dcf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Sun, 7 May 2023 10:44:32 +0200 Subject: [PATCH 14/21] Unit test ThemeProvider --- .../src/button/Button.stories.tsx | 4 +- .../src/layout/Theme/ThemeProvider.spec.tsx | 95 +++++++++++++++++++ .../src/layout/Theme/ThemeProvider.tsx | 19 +++- .../src/layout/Theme/types.ts | 2 + .../src/layout/Theme/useTheme.ts | 3 +- .../src/layout/ThemeTestWrapper.tsx | 49 ++++++++++ 6 files changed, 166 insertions(+), 6 deletions(-) create mode 100644 packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.spec.tsx create mode 100644 packages/ra-ui-materialui/src/layout/ThemeTestWrapper.tsx diff --git a/packages/ra-ui-materialui/src/button/Button.stories.tsx b/packages/ra-ui-materialui/src/button/Button.stories.tsx index 551befdc2ae..57e42daae70 100644 --- a/packages/ra-ui-materialui/src/button/Button.stories.tsx +++ b/packages/ra-ui-materialui/src/button/Button.stories.tsx @@ -85,10 +85,10 @@ const theme = createTheme({ declare module '@mui/material/styles' { interface Palette { - userDefined: PaletteColor; + userDefined?: PaletteColor; } interface PaletteOptions { - userDefined: PaletteColor; + userDefined?: PaletteColor; } } diff --git a/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.spec.tsx b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.spec.tsx new file mode 100644 index 00000000000..27795700cf9 --- /dev/null +++ b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.spec.tsx @@ -0,0 +1,95 @@ +import * as React from 'react'; +import { render, screen } from '@testing-library/react'; +import expect from 'expect'; +import { StoreContextProvider, memoryStore } from 'ra-core'; +import { Button, ThemeOptions } from '@mui/material'; + +import { ThemeProvider } from './ThemeProvider'; +import { ThemesContext } from './ThemesContext'; +import { ThemeTestWrapper } from '../ThemeTestWrapper'; + +const lightTheme: ThemeOptions = {}; +const darkTheme: ThemeOptions = { palette: { mode: 'dark' } }; + +const LIGHT_MODE_TEXT_COLOR = 'rgb(25, 118, 210)'; // text is dark blue in light mode +const DARK_MODE_TEXT_COLOR = 'rgb(144, 202, 249)'; // text is light blue in dark mode + +describe('ThemeProvider', () => { + it('should create a material-ui theme context based on the ThemesContext and theme preference light', () => { + render( + <StoreContextProvider value={memoryStore({ theme: 'light' })}> + <ThemesContext.Provider value={{ lightTheme, darkTheme }}> + <ThemeProvider> + <Button>Test</Button> + </ThemeProvider> + </ThemesContext.Provider> + </StoreContextProvider> + ); + const button = screen.getByText('Test'); + expect(getComputedStyle(button).color).toBe(LIGHT_MODE_TEXT_COLOR); + }); + + it('should create a material-ui theme context based on the ThemesContext and theme preference dark', () => { + render( + <StoreContextProvider value={memoryStore({ theme: 'dark' })}> + <ThemesContext.Provider value={{ lightTheme, darkTheme }}> + <ThemeProvider> + <Button>Test</Button> + </ThemeProvider> + </ThemesContext.Provider> + </StoreContextProvider> + ); + const button = screen.getByText('Test'); + expect(getComputedStyle(button).color).toBe(DARK_MODE_TEXT_COLOR); + }); + + it('should default to a light theme when no theme preference is set', () => { + render( + <ThemesContext.Provider value={{ lightTheme, darkTheme }}> + <ThemeProvider> + <Button>Test</Button> + </ThemeProvider> + </ThemesContext.Provider> + ); + const button = screen.getByText('Test'); + expect(getComputedStyle(button).color).toBe(LIGHT_MODE_TEXT_COLOR); + }); + + it('should default to light theme when the browser detects a light mode preference', () => { + render( + <ThemeTestWrapper mode="light"> + <ThemesContext.Provider value={{ lightTheme, darkTheme }}> + <ThemeProvider> + <Button>Test</Button> + </ThemeProvider> + </ThemesContext.Provider> + </ThemeTestWrapper> + ); + const button = screen.getByText('Test'); + expect(getComputedStyle(button).color).toBe(LIGHT_MODE_TEXT_COLOR); + }); + + it('should default to dark theme when the browser detects a dark mode preference', () => { + render( + <ThemeTestWrapper mode="dark"> + <ThemesContext.Provider value={{ lightTheme, darkTheme }}> + <ThemeProvider> + <Button>Test</Button> + </ThemeProvider> + </ThemesContext.Provider> + </ThemeTestWrapper> + ); + const button = screen.getByText('Test'); + expect(getComputedStyle(button).color).toBe(DARK_MODE_TEXT_COLOR); + }); + + it('should fallback to using theme prop when used outside of a ThemesContext (for backwards compatibility)', () => { + render( + <ThemeProvider theme={darkTheme}> + <Button>Test</Button> + </ThemeProvider> + ); + const button = screen.getByText('Test'); + expect(getComputedStyle(button).color).toBe(DARK_MODE_TEXT_COLOR); + }); +}); diff --git a/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx index 42b7ce89eae..c2fec9a325c 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx +++ b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx @@ -11,11 +11,23 @@ import { useTheme } from './useTheme'; import { useThemesContext } from './useThemesContext'; /** - * This sets the Material UI theme based on the store. + * This sets the Material UI theme based on the preferred theme type. * * @param props * @param props.children The children of the component. - * @param props.theme The initial theme. + * @param {ThemeOptions} props.theme The initial theme. Optional, use the one from the context if not provided. + * + * @example + * + * import { ThemesContext, ThemeProvider } from 'react-admin'; + * + * const App = () => ( + * <ThemesContext.Provider value={{ lightTheme, darkTheme }}> + * <ThemeProvider> + * <Button>Test</Button> + * </ThemeProvider> + * </ThemesContext.Provider> + * ); */ export const ThemeProvider = ({ children, @@ -50,5 +62,8 @@ export const ThemeProvider = ({ export interface ThemeProviderProps { children: ReactNode; + /** + * @deprecated Use the `ThemesProvider` component instead. + */ theme?: RaThemeOptions; } diff --git a/packages/ra-ui-materialui/src/layout/Theme/types.ts b/packages/ra-ui-materialui/src/layout/Theme/types.ts index 240b78f7d65..5f510a2c429 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/types.ts +++ b/packages/ra-ui-materialui/src/layout/Theme/types.ts @@ -11,3 +11,5 @@ export interface RaThemeOptions extends MuiThemeOptions { }; components?: ComponentsTheme; } + +export type ThemeType = 'light' | 'dark'; diff --git a/packages/ra-ui-materialui/src/layout/Theme/useTheme.ts b/packages/ra-ui-materialui/src/layout/Theme/useTheme.ts index e6d628a835d..ec3ead4cdd7 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/useTheme.ts +++ b/packages/ra-ui-materialui/src/layout/Theme/useTheme.ts @@ -1,7 +1,6 @@ import { useStore } from 'ra-core'; -import { RaThemeOptions } from './types'; +import { RaThemeOptions, ThemeType } from './types'; -export type ThemeType = 'light' | 'dark'; export type ThemeSetter = (theme: ThemeType | RaThemeOptions) => void; /** diff --git a/packages/ra-ui-materialui/src/layout/ThemeTestWrapper.tsx b/packages/ra-ui-materialui/src/layout/ThemeTestWrapper.tsx new file mode 100644 index 00000000000..de7712422c1 --- /dev/null +++ b/packages/ra-ui-materialui/src/layout/ThemeTestWrapper.tsx @@ -0,0 +1,49 @@ +import * as React from 'react'; +import { createTheme, ThemeProvider } from '@mui/material/styles'; + +/** + * Test utility to simulate a preferred theme mode (light or dark) + * + * Do not use inside a browser. + * + * @example + * + * <ThemeTestWrapper mode="dark"> + * <MyComponent /> + * <ThemeTestWrapper> + */ +export const ThemeTestWrapper = ({ + mode = 'light', + children, +}: ThemeTestWrapperProps): JSX.Element => { + const theme = createTheme(); + const ssrMatchMedia = query => ({ + matches: + mode === 'dark' && query === '(prefers-color-scheme: dark)' + ? true + : false, + }); + + return ( + <ThemeProvider + theme={{ + ...theme, + components: { + MuiUseMediaQuery: { + defaultProps: { + ssrMatchMedia, + matchMedia: ssrMatchMedia, + }, + }, + }, + }} + > + {children} + </ThemeProvider> + ); +}; + +export interface ThemeTestWrapperProps { + mode: 'light' | 'dark'; + children: JSX.Element; +} From 2cbc2c36ff5d602228cd83e5b908672173aa4383 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Sun, 7 May 2023 11:07:09 +0200 Subject: [PATCH 15/21] Add tesst for AdminContext --- .../src/AdminContext.spec.tsx | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 packages/ra-ui-materialui/src/AdminContext.spec.tsx diff --git a/packages/ra-ui-materialui/src/AdminContext.spec.tsx b/packages/ra-ui-materialui/src/AdminContext.spec.tsx new file mode 100644 index 00000000000..bbfea0f82fe --- /dev/null +++ b/packages/ra-ui-materialui/src/AdminContext.spec.tsx @@ -0,0 +1,76 @@ +import * as React from 'react'; +import { render, screen } from '@testing-library/react'; +import { Typography, ThemeOptions } from '@mui/material'; +import expect from 'expect'; +import { memoryStore } from 'ra-core'; + +import { AdminContext } from './AdminContext'; +import { ThemeTestWrapper } from './layout/ThemeTestWrapper'; + +const lightTheme: ThemeOptions = {}; +const darkTheme: ThemeOptions = { palette: { mode: 'dark' } }; + +const LIGHT_MODE_TEXT_COLOR = 'rgb(25, 118, 210)'; // text is dark blue in light mode +const DARK_MODE_TEXT_COLOR = 'rgb(144, 202, 249)'; // text is light blue in dark mode + +describe('AdminContext', () => { + it('should default to light theme', () => { + render( + <AdminContext theme={lightTheme} darkTheme={darkTheme}> + <Typography color="primary">Test</Typography> + </AdminContext> + ); + const text = screen.getByText('Test'); + expect(getComputedStyle(text).color).toBe(LIGHT_MODE_TEXT_COLOR); + }); + it('should default to dark theme when the browser detects a dark mode preference', () => { + render( + <ThemeTestWrapper mode="dark"> + <AdminContext theme={lightTheme} darkTheme={darkTheme}> + <Typography color="primary">Test</Typography> + </AdminContext> + </ThemeTestWrapper> + ); + const text = screen.getByText('Test'); + expect(getComputedStyle(text).color).toBe(DARK_MODE_TEXT_COLOR); + }); + it('should default to light theme when the browser detects a dark mode preference', () => { + render( + <ThemeTestWrapper mode="light"> + <AdminContext theme={lightTheme} darkTheme={darkTheme}> + <Typography color="primary">Test</Typography> + </AdminContext> + </ThemeTestWrapper> + ); + const text = screen.getByText('Test'); + expect(getComputedStyle(text).color).toBe(LIGHT_MODE_TEXT_COLOR); + }); + it('should default to dark theme when user preference is dark', () => { + render( + <AdminContext + theme={lightTheme} + darkTheme={darkTheme} + store={memoryStore({ theme: 'dark' })} + > + <Typography color="primary">Test</Typography> + </AdminContext> + ); + const text = screen.getByText('Test'); + expect(getComputedStyle(text).color).toBe(DARK_MODE_TEXT_COLOR); + }); + it('should default to light theme when user preference is light', () => { + render( + <ThemeTestWrapper mode="dark"> + <AdminContext + theme={lightTheme} + darkTheme={darkTheme} + store={memoryStore({ theme: 'light' })} + > + <Typography color="primary">Test</Typography> + </AdminContext> + </ThemeTestWrapper> + ); + const text = screen.getByText('Test'); + expect(getComputedStyle(text).color).toBe(LIGHT_MODE_TEXT_COLOR); + }); +}); From 0853cc222d1f7534c0511464cc81dd03405419bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Sun, 7 May 2023 11:20:33 +0200 Subject: [PATCH 16/21] Adapt theming documentation --- docs/Admin.md | 12 ++++---- docs/Theming.md | 76 ++++++++++++++++++++++++++++++++++--------------- 2 files changed, 60 insertions(+), 28 deletions(-) diff --git a/docs/Admin.md b/docs/Admin.md index d9a1c36eb44..2cdf6313702 100644 --- a/docs/Admin.md +++ b/docs/Admin.md @@ -425,7 +425,7 @@ const App = () => ( ## `darkTheme` -If you want to support light and dark mode, you can provide a `darkTheme` in addition to the `theme` prop. The `darkTheme` will be used when the user's browser is in dark mode, or when the user manually switches to dark mode using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). +If you want to support both light and dark mode, you can provide a `darkTheme` in addition to the `theme` prop. The `darkTheme` will be used when the user's browser is in dark mode, or when the user manually switches to dark mode using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). ![Dark mode](./img/dark-theme.png) @@ -776,16 +776,16 @@ Check the [Preferences documentation](./Store.md) for more details. ## `theme` -Material UI supports [theming](https://mui.com/material-ui/customization/theming/). This lets you customize the look and feel of an admin by overriding fonts, colors, and spacing. You can provide a custom Material UI theme by using the `theme` prop: +Material UI supports [theming](https://mui.com/material-ui/customization/theming/). This lets you customize the look and feel of an admin by overriding fonts, colors, and spacing. You can provide a custom Material UI theme by using the `theme` prop. + +For instance, to use a dark theme by default: ```jsx import { defaultTheme } from 'react-admin'; const theme = { ...defaultTheme, - palette: { - mode: 'dark', // Switching the dark mode on is a single property value change. - }, + palette: { mode: 'dark' }, }; const App = () => ( @@ -797,6 +797,8 @@ const App = () => ( ![Dark theme](./img/dark-theme.png) +If you want to support both a light and a dark theme, check out [the `<Admin darkTheme>` prop](#darktheme). + For more details on predefined themes and custom themes, refer to [the Theming chapter](./Theming.md#global-theme-overrides) of the react-admin documentation. ## `title` diff --git a/docs/Theming.md b/docs/Theming.md index 85560938482..01d95f688e8 100644 --- a/docs/Theming.md +++ b/docs/Theming.md @@ -243,7 +243,7 @@ Note that you don't need to call `createTheme` yourself. React-admin will do it Again, to guess the name of the subclass to use (like `.RaDatagrid-headerCell` above) for customizing a component, you can use the developer tools of your browser, or check the react-admin documentation for individual components (e.g. the [Datagrid CSS documentation](./Datagrid.md#sx-css-api)). -You can use this technique to override not only styles, but also default for components. That's how react-admin applies the `filled` variant to all `TextField` components. So for instance, to change the variant to `outlined`, create a custom theme as follows: +You can use this technique to override not only styles, but also defaults for components. That's how react-admin applies the `filled` variant to all `TextField` components. So for instance, to change the variant to `outlined`, create a custom theme as follows: ```jsx import { defaultTheme } from 'react-admin'; @@ -367,58 +367,88 @@ const App = () => ( ## Letting Users Choose The Theme -The `<ToggleThemeButton>` component lets users switch from light to dark mode, and persists that choice by leveraging the [store](./Store.md). +It's a common practice to support both a light theme and a dark theme in an application, and let users choose which one they prefer. + +React-admin's `<Admin>` component accepts a `darkTheme` mode in addition to the `theme` prop. + +```jsx +import { Admin, defaultTheme } from 'react-admin'; + +const lightTheme = defaultTheme; +const darkTheme = { ...defaultTheme, palette: { mode: 'dark' } }; + +const App = () => ( + <Admin + dataProvider={...} + theme={lightTheme} + darkTheme={darkTheme} + > + // ... + </Admin> +); +``` + +With this setup, the default application theme will depend on the user's system settings. If the user has chosen a dark mode in their OS, react-admin will use the dark theme. Otherwise, it will use the light theme. + +In addition, you can let users switch from one theme to the other: [the `<ToggleThemeButton>` component](./ToggleThemeButton.md) lets users switch from light to dark mode, and persists that choice by leveraging the [store](./Store.md). <video controls autoplay muted loop> <source src="./img/ToggleThemeButton.webm" type="video/webm"/> Your browser does not support the video tag. </video> - -You can add the `<ToggleThemeButton>` to a custom App Bar: +Add the `<ToggleThemeButton>` to a custom App Bar: ```jsx +// in src/MyLayout.jsx import * as React from 'react'; -import { defaultTheme, Layout, AppBar, ToggleThemeButton, TitlePortal } from 'react-admin'; -import { createTheme, Box, Typography } from '@mui/material'; - -const darkTheme = createTheme({ - palette: { mode: 'dark' }, -}); +import { Layout, AppBar, ToggleThemeButton, TitlePortal } from 'react-admin'; +import { Box, Typography } from '@mui/material'; const MyAppBar = () => ( <AppBar> <TitlePortal /> - <ToggleThemeButton lightTheme={defaultTheme} darkTheme={darkTheme} /> + <ToggleThemeButton /> </AppBar> ); const MyLayout = props => <Layout {...props} appBar={MyAppBar} />; ``` +Then, pass the custom layout to the `<Admin>` component: + +```jsx +import { Admin, defaultTheme } from 'react-admin'; + +const lightTheme = defaultTheme; +const darkTheme = { ...defaultTheme, palette: { mode: 'dark' } }; + +const App = () => ( + <Admin + dataProvider={...} + theme={lightTheme} + darkTheme={darkTheme} + layout={MyLayout} + > + // ... + </Admin> +); +``` + ## Changing the Theme Programmatically -React-admin provides the `useTheme` hook to read and update the theme programmatically. It uses the same syntax as `useState`. -Its used internally by `ToggleThemeButton` component. +React-admin provides the `useTheme` hook to read and update the theme programmatically. It uses the same syntax as `useState`. Its used internally by [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). ```jsx import { defaultTheme, useTheme } from 'react-admin'; import { Button } from '@mui/material'; -const lightTheme = defaultTheme; -const darkTheme = { - ...defaultTheme, - palette: { - mode: 'dark', - }, -}; - const ThemeToggler = () => { const [theme, setTheme] = useTheme(); return ( - <Button onClick={() => setTheme(theme.palette.mode === 'dark' ? lightTheme : darkTheme)}> - {theme.palette.mode === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'} + <Button onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}> + {theme === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'} </Button> ); } From ebb37ba743f0468bcfa4ece8bfe192891ebfd9fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Sun, 7 May 2023 12:12:33 +0200 Subject: [PATCH 17/21] Display the ToggleThemeButton automatically --- docs/Admin.md | 39 ++------- docs/AppBar.md | 68 +++++++++------- docs/Theming.md | 47 ++--------- docs/ToggleThemeButton.md | 23 +++++- docs/img/AppBar-children.png | Bin 7277 -> 19715 bytes examples/demo/src/layout/AppBar.tsx | 3 +- .../src/button/ToggleThemeButton.stories.tsx | 35 +++----- .../src/layout/AppBar.stories.tsx | 76 +++++++++++------- .../ra-ui-materialui/src/layout/AppBar.tsx | 4 + 9 files changed, 132 insertions(+), 163 deletions(-) diff --git a/docs/Admin.md b/docs/Admin.md index 2cdf6313702..0a42e92f56c 100644 --- a/docs/Admin.md +++ b/docs/Admin.md @@ -425,9 +425,12 @@ const App = () => ( ## `darkTheme` -If you want to support both light and dark mode, you can provide a `darkTheme` in addition to the `theme` prop. The `darkTheme` will be used when the user's browser is in dark mode, or when the user manually switches to dark mode using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). +If you want to support both light and dark mode, you can provide a `darkTheme` in addition to the `theme` prop. The app will use the `darkTheme` by default for users who prefer the dark mode at the OS level, and users will be able to switch from light to dark mode using a new app bar button leveraging [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). -![Dark mode](./img/dark-theme.png) +<video controls autoplay muted loop> + <source src="./img/ToggleThemeButton.webm" type="video/webm"/> + Your browser does not support the video tag. +</video> ```jsx import { Admin } from 'react-admin'; @@ -444,37 +447,7 @@ const App = () => ( ); ``` -To let users change the theme manually, add a `<ToggleThemeButton>` component to the AppBar, and add that AppBar to a custom layout: - -```jsx -// in src/MyAppBar.js -import { AppBar, TitlePortal, ToggleThemeButton } from 'react-admin'; - -export const MyAppBar = () => ( - <AppBar> - <TitlePortal /> - <ToggleThemeButton /> - </AppBar>> -); - -// in src/App.js -import { Admin, Layout } from 'react-admin'; -import { MyAppBar } from './MyAppBar'; -import { darkTheme, lightTheme } from './themes'; - -const MyLayout = (props) => <Layout {...props} appBar={MyAppBar} />; - -const App = () => ( - <Admin - dataProvider={dataProvider} - layout={MyLayout} - theme={lightTheme} - darkTheme={darkTheme} - > - ... - </Admin> -); -``` +**Tip**: To disable OS preference detection and always use the light theme, see the [`defaultToLightTheme`](#defaulttolighttheme) prop. ## `defaultToLightTheme` diff --git a/docs/AppBar.md b/docs/AppBar.md index 9a935ada1f4..c5eeb684108 100644 --- a/docs/AppBar.md +++ b/docs/AppBar.md @@ -17,6 +17,7 @@ By default, the `<AppBar>` component displays: - a hamburger icon to toggle the sidebar width, - the page title, - a button to change locales (if the application uses [i18n](./Translation.md)), +- a button to change the theme (if the application uses a [dark theme](./Admin.md#darktheme)), - a loading indicator, - a button to display the user menu. @@ -74,28 +75,29 @@ Additional props are passed to [the underlying Material UI `<AppBar>` element](h ## `children` -The `<AppBar>` component accepts a `children` prop, which is displayed in the central part of the app bar. This is useful to add buttons to the app bar, for instance, a light/dark theme switcher. +The `<AppBar>` component accepts a `children` prop, which is displayed in the central part of the app bar. This is useful to add buttons to the app bar, for instance, a settings button. ```jsx // in src/MyAppBar.js -import { - AppBar, - TitlePortal, - ToggleThemeButton, - defaultTheme, -} from 'react-admin'; +import { AppBar, TitlePortal } from 'react-admin'; +import SettingsIcon from '@mui/icons-material/Settings'; +import { IconButton } from '@mui/material'; -const darkTheme = { palette: { mode: 'dark' } }; +const SettingsButton = () => ( + <IconButton color="inherit"> + <SettingsIcon /> + </IconButton> +); export const MyAppBar = () => ( <AppBar> <TitlePortal /> - <ToggleThemeButton lightTheme={defaultTheme} darkTheme={darkTheme} /> + <SettingsButton /> </AppBar> ); ``` -![App bar with a toggle theme button](./img/AppBar-children.png) +![App bar with a settings button](./img/AppBar-children.png) **Tip**: Whats the `<TitlePortal>`? It's a placeholder for the page title, that components in the page can fill using [the `<Title>` component](./Title.md). `<Title>` uses a [React Portal](https://reactjs.org/docs/portals.html) under the hood. `<TitlePortal>` takes all the available space in the app bar, so it "pushes" the following children to the right. @@ -166,7 +168,11 @@ To override the style of `<AppBar>` using the [Material UI style overrides](http ## `toolbar` -By default, the `<AppBar>` renders two buttons in addition to the user menu: the language menu and the refresh button. +By default, the `<AppBar>` renders three buttons in addition to the user menu: + +- the [language menu button](./LocalesMenuButton.md), +- the [theme toggle button](./ToggleThemeButton.md), +- and [the refresh button](./Buttons.md#refreshbutton). If you want to reorder or remove these buttons, you can customize the toolbar by passing a `toolbar` prop. @@ -177,36 +183,37 @@ import { LocalesMenuButton, RefreshIconButton, ToggleThemeButton, - defaultTheme, } from 'react-admin'; -const darkTheme = { - palette: { mode: 'dark' }, -}; - export const MyAppBar = () => ( <AppBar toolbar={ <> <LocalesMenuButton /> - <ToggleThemeButton lightTheme={defaultTheme} darkTheme={darkTheme} /> + <ToggleThemeButton /> <RefreshIconButton /> </> } /> ); ``` -**Tip**: If you only need to *add* buttons to the toolbar, you can pass them as children instead of overriding the entire toolbar. +**Tip**: If you only need to *add* buttons to the toolbar, you can pass them as [children](#children) instead of overriding the entire toolbar. ```jsx // in src/MyAppBar.js -import { AppBar, TitlePortal, ToggleThemeButton, defaultTheme } from 'react-admin'; +import { AppBar, TitlePortal } from 'react-admin'; +import SettingsIcon from '@mui/icons-material/Settings'; +import { IconButton } from '@mui/material'; -const darkTheme = { palette: { mode: 'dark' } }; +const SettingsButton = () => ( + <IconButton color="inherit"> + <SettingsIcon /> + </IconButton> +); export const MyAppBar = () => ( <AppBar> <TitlePortal /> - <ToggleThemeButton lightTheme={defaultTheme} darkTheme={darkTheme} /> + <SettingsButton /> </AppBar> ); ``` @@ -346,23 +353,24 @@ export const i18nProvider = { To add buttons to the app bar, you can use the `<AppBar>` [`children` prop](#children). -For instance, to add `<ToggleThemeButton>`: +For instance, to add a settings button: ```jsx // in src/MyAppBar.js -import { - AppBar, - TitlePortal, - ToggleThemeButton, - defaultTheme, -} from 'react-admin'; +import { AppBar, TitlePortal } from 'react-admin'; +import SettingsIcon from '@mui/icons-material/Settings'; +import { IconButton } from '@mui/material'; -const darkTheme = { palette: { mode: 'dark' } }; +const SettingsButton = () => ( + <IconButton color="inherit"> + <SettingsIcon /> + </IconButton> +); export const MyAppBar = () => ( <AppBar> <TitlePortal /> - <ToggleThemeButton lightTheme={defaultTheme} darkTheme={darkTheme} /> + <SettingsButton /> </AppBar> ); ``` diff --git a/docs/Theming.md b/docs/Theming.md index 01d95f688e8..a62823ec61f 100644 --- a/docs/Theming.md +++ b/docs/Theming.md @@ -369,53 +369,13 @@ const App = () => ( It's a common practice to support both a light theme and a dark theme in an application, and let users choose which one they prefer. -React-admin's `<Admin>` component accepts a `darkTheme` mode in addition to the `theme` prop. - -```jsx -import { Admin, defaultTheme } from 'react-admin'; - -const lightTheme = defaultTheme; -const darkTheme = { ...defaultTheme, palette: { mode: 'dark' } }; - -const App = () => ( - <Admin - dataProvider={...} - theme={lightTheme} - darkTheme={darkTheme} - > - // ... - </Admin> -); -``` - -With this setup, the default application theme will depend on the user's system settings. If the user has chosen a dark mode in their OS, react-admin will use the dark theme. Otherwise, it will use the light theme. - -In addition, you can let users switch from one theme to the other: [the `<ToggleThemeButton>` component](./ToggleThemeButton.md) lets users switch from light to dark mode, and persists that choice by leveraging the [store](./Store.md). - <video controls autoplay muted loop> <source src="./img/ToggleThemeButton.webm" type="video/webm"/> Your browser does not support the video tag. </video> -Add the `<ToggleThemeButton>` to a custom App Bar: - -```jsx -// in src/MyLayout.jsx -import * as React from 'react'; -import { Layout, AppBar, ToggleThemeButton, TitlePortal } from 'react-admin'; -import { Box, Typography } from '@mui/material'; - -const MyAppBar = () => ( - <AppBar> - <TitlePortal /> - <ToggleThemeButton /> - </AppBar> -); - -const MyLayout = props => <Layout {...props} appBar={MyAppBar} />; -``` -Then, pass the custom layout to the `<Admin>` component: +React-admin's `<Admin>` component accepts a `darkTheme` mode in addition to the `theme` prop. ```jsx import { Admin, defaultTheme } from 'react-admin'; @@ -428,13 +388,16 @@ const App = () => ( dataProvider={...} theme={lightTheme} darkTheme={darkTheme} - layout={MyLayout} > // ... </Admin> ); ``` +With this setup, the default application theme depends on the user's system settings. If the user has chosen a dark mode in their OS, react-admin will use the dark theme. Otherwise, it will use the light theme. + +In addition, users can switch from one theme to the other using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md), which appears in the AppBar as soon as you define a `daerkTheme` prop. + ## Changing the Theme Programmatically React-admin provides the `useTheme` hook to read and update the theme programmatically. It uses the same syntax as `useState`. Its used internally by [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). diff --git a/docs/ToggleThemeButton.md b/docs/ToggleThemeButton.md index 135ec0b4ed3..5d2c67a4d0d 100644 --- a/docs/ToggleThemeButton.md +++ b/docs/ToggleThemeButton.md @@ -12,6 +12,7 @@ The `<ToggleThemeButton>` component lets users switch from light to dark mode, a Your browser does not support the video tag. </video> +It is enabled by default in the `<AppBar>` as soon as you define a dark theme via [the `<Admin darkTheme>` prop](./Admin.md#darktheme). ## Usage @@ -22,9 +23,8 @@ You can add the `<ToggleThemeButton>` to a custom App Bar: import { AppBar, TitlePortal, ToggleThemeButton } from 'react-admin'; export const MyAppBar = () => ( - <AppBar> + <AppBar toolbar={<ToggleThemeButton />}> <TitlePortal /> - <ToggleThemeButton /> </AppBar>> ); ``` @@ -51,6 +51,25 @@ const App = () => ( ``` {% endraw %} +## Removing The Button From The AppBar + +The `<ToggleThemeButton>` appears by default in the `<AppBar>` if the `<Admin darkTheme>` prop is defined. If you want to remove it, you need to set a custom [`<AppBar toolbar>` prop](./AppBar.md#toolbar): + +```jsx +// in src/MyAppBar.js +import { AppBar, LocalesMenuButton, RefreshIconButton } from 'react-admin'; + +export const MyAppBar = () => ( + <AppBar toolbar={ + <> + <LocalesMenuButton /> + {/* no ToggleThemeButton here */} + <RefreshIconButton /> + </> + } /> +); +``` + ## Creating A Dark Theme For this button to work, you must provide a dark theme to the `<Admin>` component. The `darkTheme` should be a JSON object that follows the [Material UI theme specification](https://material-ui.com/customization/theming/). diff --git a/docs/img/AppBar-children.png b/docs/img/AppBar-children.png index 77ebbdbdd4d00ad0d4e29ba637f7aa79fa5ec2d4..0ec82e71b7e65935c6cb4659cf34359ce722d10a 100644 GIT binary patch literal 19715 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%0Ai^z%Q=*eEl=5P1 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 literal 7277 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 diff --git a/examples/demo/src/layout/AppBar.tsx b/examples/demo/src/layout/AppBar.tsx index d9dabf99871..735a7defd8d 100644 --- a/examples/demo/src/layout/AppBar.tsx +++ b/examples/demo/src/layout/AppBar.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { AppBar, TitlePortal, ToggleThemeButton } from 'react-admin'; +import { AppBar, TitlePortal } from 'react-admin'; import { Box, useMediaQuery, Theme } from '@mui/material'; import Logo from './Logo'; @@ -13,7 +13,6 @@ const CustomAppBar = () => { <TitlePortal /> {isLargeEnough && <Logo />} {isLargeEnough && <Box component="span" sx={{ flex: 1 }} />} - <ToggleThemeButton /> </AppBar> ); }; diff --git a/packages/ra-ui-materialui/src/button/ToggleThemeButton.stories.tsx b/packages/ra-ui-materialui/src/button/ToggleThemeButton.stories.tsx index 7e4a8dec930..24c93fe3c34 100644 --- a/packages/ra-ui-materialui/src/button/ToggleThemeButton.stories.tsx +++ b/packages/ra-ui-materialui/src/button/ToggleThemeButton.stories.tsx @@ -85,48 +85,37 @@ const dataProvider = fakeRestDataProvider({ const history = createMemoryHistory({ initialEntries: ['/books'] }); -const BookList = () => { - return ( - <List> - <Datagrid> - <TextField source="id" /> - <TextField source="title" /> - <TextField source="author" /> - <TextField source="year" /> - </Datagrid> - </List> - ); -}; - -const MyAppBar = () => ( - <AppBar> - <TitlePortal /> - <ToggleThemeButton /> - </AppBar> +const BookList = () => ( + <List> + <Datagrid> + <TextField source="id" /> + <TextField source="title" /> + <TextField source="author" /> + <TextField source="year" /> + </Datagrid> + </List> ); -const MyLayout = props => <Layout {...props} appBar={MyAppBar} />; export const Basic = () => ( <Admin dataProvider={dataProvider} history={history} - layout={MyLayout} darkTheme={{ palette: { mode: 'dark' } }} > <Resource name="books" list={BookList} /> </Admin> ); -const LegacyAppBar = () => ( +const MyAppBar = () => ( <AppBar> <TitlePortal /> <ToggleThemeButton darkTheme={{ palette: { mode: 'dark' } }} /> </AppBar> ); -const LegacyLayout = props => <Layout {...props} appBar={LegacyAppBar} />; +const MyLayout = props => <Layout {...props} appBar={MyAppBar} />; export const Legacy = () => ( - <Admin dataProvider={dataProvider} history={history} layout={LegacyLayout}> + <Admin dataProvider={dataProvider} history={history} layout={MyLayout}> <Resource name="books" list={BookList} /> </Admin> ); diff --git a/packages/ra-ui-materialui/src/layout/AppBar.stories.tsx b/packages/ra-ui-materialui/src/layout/AppBar.stories.tsx index 33814f9b4fb..90082bdc662 100644 --- a/packages/ra-ui-materialui/src/layout/AppBar.stories.tsx +++ b/packages/ra-ui-materialui/src/layout/AppBar.stories.tsx @@ -2,13 +2,14 @@ import * as React from 'react'; import { Box, createTheme, - ThemeProvider, + ThemeProvider as MuiThemeProvider, MenuItem, ListItemIcon, ListItemText, TextField, Skeleton, MenuItemProps, + IconButton, } from '@mui/material'; import SettingsIcon from '@mui/icons-material/Settings'; import { QueryClientProvider, QueryClient } from 'react-query'; @@ -21,11 +22,7 @@ import { TitlePortal } from './TitlePortal'; import { UserMenu } from './UserMenu'; import { useUserMenu } from './useUserMenu'; import { defaultTheme } from '../defaultTheme'; -import { - ToggleThemeButton, - RefreshIconButton, - LocalesMenuButton, -} from '../button'; +import { ThemesContext, ThemeProvider } from './Theme'; import { Logout } from '../auth'; export default { @@ -53,12 +50,12 @@ const Content = () => ( const Wrapper = ({ children, theme = createTheme(defaultTheme) }) => ( <MemoryRouter> <QueryClientProvider client={new QueryClient()}> - <ThemeProvider theme={theme}> + <MuiThemeProvider theme={theme}> <AuthContext.Provider value={undefined as any}> {children} </AuthContext.Provider> <Content /> - </ThemeProvider> + </MuiThemeProvider> </QueryClientProvider> </MemoryRouter> ); @@ -159,6 +156,21 @@ export const WithAuthIdentity = () => ( </Wrapper> ); +export const WithThemes = () => ( + <Wrapper> + <ThemesContext.Provider + value={{ + darkTheme: { palette: { mode: 'dark' } }, + lightTheme: { palette: { mode: 'light' } }, + }} + > + <ThemeProvider> + <AppBar /> + </ThemeProvider> + </ThemesContext.Provider> + </Wrapper> +); + export const Toolbar = () => ( <Wrapper> <AppBar @@ -251,25 +263,24 @@ export const Complete = () => ( changeLocale: () => Promise.resolve(), }} > - <AppBar - userMenu={ - <UserMenu> - <SettingsMenuItem /> - <Logout /> - </UserMenu> - } - toolbar={ - <> - <LocalesMenuButton /> - <ToggleThemeButton - darkTheme={{ palette: { mode: 'dark' } }} - lightTheme={{ palette: { mode: 'light' } }} - /> - <RefreshIconButton /> - </> - } - /> - <Title title='Post "Lorem Ipsum Sic Dolor amet"' /> + <ThemesContext.Provider + value={{ + darkTheme: { palette: { mode: 'dark' } }, + lightTheme: { palette: { mode: 'light' } }, + }} + > + <ThemeProvider> + <AppBar + userMenu={ + <UserMenu> + <SettingsMenuItem /> + <Logout /> + </UserMenu> + } + /> + <Title title='Post "Lorem Ipsum Sic Dolor amet"' /> + </ThemeProvider> + </ThemesContext.Provider> </I18nContextProvider> </AuthContext.Provider> </Wrapper> @@ -290,14 +301,17 @@ export const WithSearch = () => ( </Wrapper> ); +const SettingsIconButton = () => ( + <IconButton color="inherit"> + <SettingsIcon /> + </IconButton> +); + export const Children = () => ( <Wrapper> <AppBar> <TitlePortal /> - <ToggleThemeButton - darkTheme={{ palette: { mode: 'dark' } }} - lightTheme={{ palette: { mode: 'light' } }} - /> + <SettingsIconButton /> <Title title="Custom title" /> </AppBar> </Wrapper> diff --git a/packages/ra-ui-materialui/src/layout/AppBar.tsx b/packages/ra-ui-materialui/src/layout/AppBar.tsx index 58fbd6ce63f..bc3b8ff42d8 100644 --- a/packages/ra-ui-materialui/src/layout/AppBar.tsx +++ b/packages/ra-ui-materialui/src/layout/AppBar.tsx @@ -18,6 +18,8 @@ import { UserMenu } from './UserMenu'; import { HideOnScroll } from './HideOnScroll'; import { TitlePortal } from './TitlePortal'; import { LocalesMenuButton } from '../button'; +import { useThemesContext } from './Theme/useThemesContext'; +import { ToggleThemeButton } from '../button/ToggleThemeButton'; /** * The AppBar component renders a custom MuiAppBar. @@ -93,9 +95,11 @@ export const AppBar: FC<AppBarProps> = memo(props => { const DefaultToolbar = () => { const locales = useLocales(); + const { darkTheme } = useThemesContext(); return ( <> {locales && locales.length > 1 ? <LocalesMenuButton /> : null} + {darkTheme && <ToggleThemeButton />} <LoadingIndicator /> </> ); From 34452f5b41e68592c696ded9fbc97f7961def7f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Sun, 7 May 2023 12:20:17 +0200 Subject: [PATCH 18/21] Fix typos --- docs/Theming.md | 2 +- docs/ToggleThemeButton.md | 8 +++----- .../ra-ui-materialui/src/button/ToggleThemeButton.tsx | 9 +++------ 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/docs/Theming.md b/docs/Theming.md index a62823ec61f..babbeb3b908 100644 --- a/docs/Theming.md +++ b/docs/Theming.md @@ -396,7 +396,7 @@ const App = () => ( With this setup, the default application theme depends on the user's system settings. If the user has chosen a dark mode in their OS, react-admin will use the dark theme. Otherwise, it will use the light theme. -In addition, users can switch from one theme to the other using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md), which appears in the AppBar as soon as you define a `daerkTheme` prop. +In addition, users can switch from one theme to the other using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md), which appears in the AppBar as soon as you define a `darkTheme` prop. ## Changing the Theme Programmatically diff --git a/docs/ToggleThemeButton.md b/docs/ToggleThemeButton.md index 5d2c67a4d0d..7db5b7ab861 100644 --- a/docs/ToggleThemeButton.md +++ b/docs/ToggleThemeButton.md @@ -16,16 +16,14 @@ It is enabled by default in the `<AppBar>` as soon as you define a dark theme vi ## Usage -You can add the `<ToggleThemeButton>` to a custom App Bar: +You can add the `<ToggleThemeButton>` to a custom [`<AppBar toolbar>`](./AppBar.md#toolbar): ```jsx // in src/MyAppBar.js -import { AppBar, TitlePortal, ToggleThemeButton } from 'react-admin'; +import { AppBar, ToggleThemeButton } from 'react-admin'; export const MyAppBar = () => ( - <AppBar toolbar={<ToggleThemeButton />}> - <TitlePortal /> - </AppBar>> + <AppBar toolbar={<ToggleThemeButton />} /> ); ``` diff --git a/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx b/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx index f17bd3c09bf..ecd1ffd05ff 100644 --- a/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx +++ b/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx @@ -10,16 +10,13 @@ import { RaThemeOptions, useThemesContext, useTheme } from '../layout'; /** * Button toggling the theme (light or dark). * - * Uses the light and dark theme defined in the <Admin> component. + * Enabled by default in the <AppBar> when the <Admin> component has a darkMode. * * @example - * import { AppBar, TitlePortal, ToggleThemeButton } from 'react-admin'; + * import { AppBar, ToggleThemeButton } from 'react-admin'; * * const MyAppBar = () => ( - * <AppBar> - * <TitlePortal /> - * <ToggleThemeButton /> - * </AppBar> + * <AppBar toolbar={<ToggleThemeButton />} /> * ); * * const MyLayout = props => <Layout {...props} appBar={MyAppBar} />; From f470438d581fd324ef5d17856dc32d72cdbb5816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Zaninotto?= <fzaninotto@gmail.com> Date: Sun, 7 May 2023 12:30:58 +0200 Subject: [PATCH 19/21] Remove useless instance of ToggleThemeButton --- .../src/layout/Menu.stories.tsx | 85 +++++++------------ .../list/filter/SavedQueriesList.stories.tsx | 31 ++----- 2 files changed, 38 insertions(+), 78 deletions(-) diff --git a/packages/ra-ui-materialui/src/layout/Menu.stories.tsx b/packages/ra-ui-materialui/src/layout/Menu.stories.tsx index f06569e27d2..cea7e07c307 100644 --- a/packages/ra-ui-materialui/src/layout/Menu.stories.tsx +++ b/packages/ra-ui-materialui/src/layout/Menu.stories.tsx @@ -2,33 +2,14 @@ import * as React from 'react'; import { Resource, testDataProvider } from 'ra-core'; import { defaultTheme, Admin } from 'react-admin'; -import { AppBar, Typography, Box } from '@mui/material'; -import { createTheme } from '@mui/material/styles'; -import { ToggleThemeButton } from '../button'; -import { Layout, Menu, SidebarToggleButton, Title } from '.'; +import { Typography, ThemeOptions } from '@mui/material'; +import { Layout, Menu, Title } from '.'; export default { title: 'ra-ui-materialui/layout/Menu' }; const resources = ['Posts', 'Comments', 'Tags', 'Users', 'Orders', 'Reviews']; -const DemoAppBar = () => { - const darkTheme = createTheme({ - palette: { mode: 'dark' }, - }); - return ( - <AppBar elevation={1} sx={{ flexDirection: 'row', flexWrap: 'nowrap' }}> - <Box sx={{ flex: '1 1 100%' }}> - <SidebarToggleButton /> - </Box> - <Box sx={{ flex: '0 0 auto' }}> - <ToggleThemeButton - lightTheme={defaultTheme} - darkTheme={darkTheme} - /> - </Box> - </AppBar> - ); -}; +const darkTheme: ThemeOptions = { ...defaultTheme, palette: { mode: 'dark' } }; const DemoList = ({ name }) => ( <> @@ -38,47 +19,43 @@ const DemoList = ({ name }) => ( ); export const Default = () => { - const DefaultLayout = props => ( - <Layout {...props} menu={MenuDefault} appBar={DemoAppBar} /> - ); - const MenuDefault = () => { - return <Menu hasDashboard={true} dense={false} />; - }; + const MenuDefault = () => <Menu hasDashboard={true} dense={false} />; + const DefaultLayout = props => <Layout {...props} menu={MenuDefault} />; return ( - <Admin dataProvider={testDataProvider()} layout={DefaultLayout}> - {resources.map((resource, index) => { - return ( - <Resource - name={resource} - key={`resource_${index}`} - list={<DemoList name={resource} />} - /> - ); - })} + <Admin + dataProvider={testDataProvider()} + layout={DefaultLayout} + darkTheme={darkTheme} + > + {resources.map((resource, index) => ( + <Resource + name={resource} + key={`resource_${index}`} + list={<DemoList name={resource} />} + /> + ))} </Admin> ); }; export const Dense = () => { - const LayoutDense = props => ( - <Layout {...props} menu={MenuDense} appBar={DemoAppBar} /> - ); - const MenuDense = props => { - return <Menu {...props} hasDashboard={true} dense={true} />; - }; + const MenuDense = props => <Menu hasDashboard={true} dense={true} />; + const LayoutDense = props => <Layout {...props} menu={MenuDense} />; return ( - <Admin dataProvider={testDataProvider()} layout={LayoutDense}> - {resources.map((resource, index) => { - return ( - <Resource - name={resource} - key={`resource_${index}`} - list={<DemoList name={resource} />} - /> - ); - })} + <Admin + dataProvider={testDataProvider()} + layout={LayoutDense} + darkTheme={darkTheme} + > + {resources.map((resource, index) => ( + <Resource + name={resource} + key={`resource_${index}`} + list={<DemoList name={resource} />} + /> + ))} </Admin> ); }; diff --git a/packages/ra-ui-materialui/src/list/filter/SavedQueriesList.stories.tsx b/packages/ra-ui-materialui/src/list/filter/SavedQueriesList.stories.tsx index c088d8c7e71..1e5203fd8d8 100644 --- a/packages/ra-ui-materialui/src/list/filter/SavedQueriesList.stories.tsx +++ b/packages/ra-ui-materialui/src/list/filter/SavedQueriesList.stories.tsx @@ -3,15 +3,11 @@ import merge from 'lodash/merge'; import { Admin, - AppBar, defaultTheme, - Layout, - LayoutProps, Resource, Datagrid, List, TextField, - TitlePortal, NumberField, DateField, FilterList, @@ -26,7 +22,6 @@ import frenchMessages from 'ra-language-french'; import { createMemoryHistory } from 'history'; import { SavedQueriesList } from './SavedQueriesList'; -import { LocalesMenuButton, ToggleThemeButton } from '../../button'; import { RaThemeOptions } from '../..'; import fakeRestProvider from 'ra-data-fakerest'; @@ -185,8 +180,13 @@ const i18nProvider = polyglotI18nProvider( locale === 'fr' ? merge(frenchMessages, frenchAppMessages) : englishMessages, - 'en' // Default locale + 'en', // Default locale + [ + { locale: 'en', name: 'English' }, + { locale: 'fr', name: 'Français' }, + ] ); + const darkTheme: RaThemeOptions = { ...defaultTheme, palette: { @@ -200,29 +200,12 @@ const darkTheme: RaThemeOptions = { }, }; -const MyAppBar = () => ( - <AppBar> - <TitlePortal /> - <ToggleThemeButton lightTheme={defaultTheme} darkTheme={darkTheme} /> - <LocalesMenuButton - languages={[ - { locale: 'en', name: 'English' }, - { locale: 'fr', name: 'Français' }, - ]} - /> - </AppBar> -); - -const MyLayout = (props: LayoutProps) => ( - <Layout {...props} appBar={MyAppBar} /> -); - export const WithThemeAndLocale = () => ( <Admin history={createMemoryHistory()} i18nProvider={i18nProvider} dataProvider={dataProvider} - layout={MyLayout} + darkTheme={darkTheme} > <Resource name="songs" list={SongList} /> </Admin> From b91969760429f31e3fe2c69f5962dfe88178b1e2 Mon Sep 17 00:00:00 2001 From: Francois Zaninotto <francois@marmelab.com> Date: Tue, 9 May 2023 12:38:53 +0200 Subject: [PATCH 20/21] Apply suggestions from code review Co-authored-by: Gildas Garcia <1122076+djhi@users.noreply.github.com> --- docs/Theming.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Theming.md b/docs/Theming.md index babbeb3b908..c433d112844 100644 --- a/docs/Theming.md +++ b/docs/Theming.md @@ -375,7 +375,7 @@ It's a common practice to support both a light theme and a dark theme in an appl </video> -React-admin's `<Admin>` component accepts a `darkTheme` mode in addition to the `theme` prop. +React-admin's `<Admin>` component accepts a `darkTheme` prop in addition to the `theme` prop. ```jsx import { Admin, defaultTheme } from 'react-admin'; From 1c26c547fb0f3419129c61811a8413c1af84ae8e Mon Sep 17 00:00:00 2001 From: fzaninotto <fzaninotto@gmail.com> Date: Tue, 9 May 2023 12:51:40 +0200 Subject: [PATCH 21/21] Rename default theme prop to defaultTheme --- docs/Admin.md | 56 +++++++++---------- examples/demo/src/App.tsx | 2 +- .../ra-ui-materialui/src/AdminContext.tsx | 6 +- .../src/button/ToggleThemeButton.tsx | 4 +- .../src/layout/Theme/ThemeProvider.tsx | 4 +- .../src/layout/Theme/ThemesContext.ts | 2 +- .../src/layout/Theme/useThemesContext.ts | 5 +- packages/react-admin/src/Admin.tsx | 6 +- 8 files changed, 43 insertions(+), 42 deletions(-) diff --git a/docs/Admin.md b/docs/Admin.md index 0a42e92f56c..8ddf8404445 100644 --- a/docs/Admin.md +++ b/docs/Admin.md @@ -64,7 +64,7 @@ const App = () => ( loginPage={Login} theme={lightTheme} darkTheme={darkTheme} - defaultToLightTheme + defaultTheme="light" > <Resource name="customers" list={CustomerList} edit={CustomerEdit} /> <Resource name="orders" list={OrderList} edit={OrderEdit} options={{ label: 'Orders' }} /> @@ -111,7 +111,7 @@ const App = () => ( layout={Layout} theme={lightTheme} darkTheme={darkTheme} - defaultToLightTheme + defaultTheme="light" > <Resource {...customers} /> <Resource {...orders} /> @@ -136,28 +136,28 @@ Three main props lets you configure the core features of the `<Admin>` component Here are all the props accepted by the component: -| Prop | Required | Type | Default | Description | -|------------------------|----------|----------------|----------------|----------------------------------------------------------| -| `dataProvider` | Required | `DataProvider` | - | The data provider for fetching resources | -| `children` | Required | `ReactNode` | - | The routes to render | -| `authCallbackPage` | Optional | `Component` | `AuthCallback` | The content of the authentication callback page | -| `authProvider` | Optional | `AuthProvider` | - | The authentication provider for security and permissions | -| `basename` | Optional | `string` | - | The base path for all URLs | -| `catchAll` | Optional | `Component` | `NotFound` | The fallback component for unknown routes | -| `dashboard` | Optional | `Component` | - | The content of the dashboard page | -| `darkTheme` | Optional | `object` | - | The dark theme configuration | -| `defaultTo LightTheme` | Optional | `boolean` | `false` | Flag to default to the light theme | -| `disableTelemetry` | Optional | `boolean` | `false` | Set to `true` to disable telemetry collection | -| `i18nProvider` | Optional | `I18NProvider` | - | The internationalization provider for translations | -| `layout` | Optional | `Component` | `Layout` | The content of the layout | -| `loginPage` | Optional | `Component` | `LoginPage` | The content of the login page | -| `notification` | Optional | `Component` | `Notification` | The notification component | -| `queryClient` | Optional | `QueryClient` | - | The react-query client | -| `ready` | Optional | `Component` | `Ready` | The content of the ready page | -| `requireAuth` | Optional | `boolean` | `false` | Flag to require authentication for all routes | -| `store` | Optional | `Store` | - | The Store for managing user preferences | -| `theme` | Optional | `object` | - | The main (light) theme configuration | -| `title` | Optional | `string` | - | The error page title | +| Prop | Required | Type | Default | Description | +|------------------- |----------|----------------|----------------|----------------------------------------------------------| +| `dataProvider` | Required | `DataProvider` | - | The data provider for fetching resources | +| `children` | Required | `ReactNode` | - | The routes to render | +| `authCallbackPage` | Optional | `Component` | `AuthCallback` | The content of the authentication callback page | +| `authProvider` | Optional | `AuthProvider` | - | The authentication provider for security and permissions | +| `basename` | Optional | `string` | - | The base path for all URLs | +| `catchAll` | Optional | `Component` | `NotFound` | The fallback component for unknown routes | +| `dashboard` | Optional | `Component` | - | The content of the dashboard page | +| `darkTheme` | Optional | `object` | - | The dark theme configuration | +| `defaultTheme` | Optional | `boolean` | `false` | Flag to default to the light theme | +| `disableTelemetry` | Optional | `boolean` | `false` | Set to `true` to disable telemetry collection | +| `i18nProvider` | Optional | `I18NProvider` | - | The internationalization provider for translations | +| `layout` | Optional | `Component` | `Layout` | The content of the layout | +| `loginPage` | Optional | `Component` | `LoginPage` | The content of the login page | +| `notification` | Optional | `Component` | `Notification` | The notification component | +| `queryClient` | Optional | `QueryClient` | - | The react-query client | +| `ready` | Optional | `Component` | `Ready` | The content of the ready page | +| `requireAuth` | Optional | `boolean` | `false` | Flag to require authentication for all routes | +| `store` | Optional | `Store` | - | The Store for managing user preferences | +| `theme` | Optional | `object` | - | The main (light) theme configuration | +| `title` | Optional | `string` | - | The error page title | ## `dataProvider` @@ -447,13 +447,13 @@ const App = () => ( ); ``` -**Tip**: To disable OS preference detection and always use the light theme, see the [`defaultToLightTheme`](#defaulttolighttheme) prop. +**Tip**: To disable OS preference detection and always use one theme by default, see the [`defaultTheme`](#defaulttheme) prop. -## `defaultToLightTheme` +## `defaultTheme` If you provide both a `lightTheme` and a `darkTheme`, react-admin will choose the default theme to use for each user based on their OS preference. This means that users using dark mode will see the dark theme by default. Users can then switch to the other theme using [the `<ToggleThemeButton>` component](./ToggleThemeButton.md). -If you prefer to always default to the light theme regardless of the user's OS preference, you can set the `defaultToLightTheme` prop to `true`: +If you prefer to always default to the light or the dark theme regardless of the user's OS preference, you can set the `defaultTheme` prop to either `light` or `dark`: ```jsx import { Admin } from 'react-admin'; @@ -463,7 +463,7 @@ const App = () => ( dataProvider={dataProvider} theme={lightTheme} darkTheme={darkTheme} - defaultToLightTheme + defaultTheme="light" > ... </Admin> diff --git a/examples/demo/src/App.tsx b/examples/demo/src/App.tsx index 87c237c9a89..09e072f6809 100644 --- a/examples/demo/src/App.tsx +++ b/examples/demo/src/App.tsx @@ -48,7 +48,7 @@ const App = () => ( disableTelemetry theme={lightTheme} darkTheme={darkTheme} - defaultToLightTheme + defaultTheme="light" > <CustomRoutes> <Route path="/segments" element={<Segments />} /> diff --git a/packages/ra-ui-materialui/src/AdminContext.tsx b/packages/ra-ui-materialui/src/AdminContext.tsx index 2d70bc232f7..fddc20645d5 100644 --- a/packages/ra-ui-materialui/src/AdminContext.tsx +++ b/packages/ra-ui-materialui/src/AdminContext.tsx @@ -9,7 +9,7 @@ export const AdminContext = (props: AdminContextProps) => { theme, lightTheme = defaultLightTheme, darkTheme, - defaultToLightTheme, + defaultTheme, children, ...rest } = props; @@ -19,7 +19,7 @@ export const AdminContext = (props: AdminContextProps) => { value={{ lightTheme: theme || lightTheme, darkTheme, - defaultToLightTheme, + defaultTheme, }} > <ThemeProvider>{children}</ThemeProvider> @@ -31,7 +31,7 @@ export const AdminContext = (props: AdminContextProps) => { export interface AdminContextProps extends CoreAdminContextProps { lightTheme?: RaThemeOptions; darkTheme?: RaThemeOptions; - defaultToLightTheme?: boolean; + defaultTheme?: 'light' | 'dark'; } AdminContext.displayName = 'AdminContext'; diff --git a/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx b/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx index ecd1ffd05ff..916aa91eef8 100644 --- a/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx +++ b/packages/ra-ui-materialui/src/button/ToggleThemeButton.tsx @@ -23,12 +23,12 @@ import { RaThemeOptions, useThemesContext, useTheme } from '../layout'; */ export const ToggleThemeButton = (props: ToggleThemeButtonProps) => { const translate = useTranslate(); - const { darkTheme, defaultToLightTheme } = useThemesContext(props); + const { darkTheme, defaultTheme } = useThemesContext(props); const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', { noSsr: true, }); const [theme, setTheme] = useTheme( - prefersDarkMode && !defaultToLightTheme && darkTheme ? 'dark' : 'light' + defaultTheme || (prefersDarkMode && darkTheme ? 'dark' : 'light') ); // FIXME: remove in v5 diff --git a/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx index c2fec9a325c..243f8023a3f 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx +++ b/packages/ra-ui-materialui/src/layout/Theme/ThemeProvider.tsx @@ -33,13 +33,13 @@ export const ThemeProvider = ({ children, theme: themeOverride, }: ThemeProviderProps) => { - const { lightTheme, darkTheme, defaultToLightTheme } = useThemesContext(); + const { lightTheme, darkTheme, defaultTheme } = useThemesContext(); const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)', { noSsr: true, }); const [mode] = useTheme( - prefersDarkMode && !defaultToLightTheme && darkTheme ? 'dark' : 'light' + defaultTheme || (prefersDarkMode && darkTheme ? 'dark' : 'light') ); const themeValue = useMemo(() => { diff --git a/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts b/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts index 21a96ea0b6b..a2bce9111d5 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts +++ b/packages/ra-ui-materialui/src/layout/Theme/ThemesContext.ts @@ -6,5 +6,5 @@ export const ThemesContext = createContext<ThemesContextValue>({}); export interface ThemesContextValue { darkTheme?: RaThemeOptions; lightTheme?: RaThemeOptions; - defaultToLightTheme?: boolean; + defaultTheme?: 'dark' | 'light'; } diff --git a/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts b/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts index e3783042a09..16046974975 100644 --- a/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts +++ b/packages/ra-ui-materialui/src/layout/Theme/useThemesContext.ts @@ -4,17 +4,18 @@ import { ThemesContext } from './ThemesContext'; import { RaThemeOptions } from './types'; export const useThemesContext = (params?: UseThemesContextParams) => { - const { lightTheme, darkTheme, defaultToLightTheme } = params || {}; + const { lightTheme, darkTheme, defaultTheme } = params || {}; const context = useContext(ThemesContext); return { lightTheme: lightTheme || context.lightTheme, darkTheme: darkTheme || context.darkTheme, - defaultToLightTheme: defaultToLightTheme ?? context.defaultToLightTheme, + defaultTheme: defaultTheme ?? context.defaultTheme, }; }; export interface UseThemesContextParams { lightTheme?: RaThemeOptions; darkTheme?: RaThemeOptions; + defaultTheme?: 'dark' | 'light'; [key: string]: any; } diff --git a/packages/react-admin/src/Admin.tsx b/packages/react-admin/src/Admin.tsx index c458193c9fd..32e36c59979 100644 --- a/packages/react-admin/src/Admin.tsx +++ b/packages/react-admin/src/Admin.tsx @@ -112,7 +112,7 @@ export const Admin = (props: AdminProps) => { theme, lightTheme, darkTheme, - defaultToLightTheme, + defaultTheme, title = 'React Admin', } = props; @@ -134,7 +134,7 @@ export const Admin = (props: AdminProps) => { theme={theme} lightTheme={lightTheme} darkTheme={darkTheme} - defaultToLightTheme={defaultToLightTheme} + defaultTheme={defaultTheme} > <AdminUI layout={layout} @@ -167,6 +167,6 @@ export interface AdminProps extends CoreAdminProps { theme?: RaThemeOptions; lightTheme?: RaThemeOptions; darkTheme?: RaThemeOptions; - defaultToLightTheme?: boolean; + defaultTheme?: 'light' | 'dark'; notification?: ComponentType; }