Мне нужно сделать response-admin, который использует material-ui под RTL, пока ничего не работает, потому что есть стили для каждого элемента, переопределяющего dir="rtl"
в теге body, создавая собственную тему, такую как:
const theme = {
direction: 'rtl',
isRtl: true
};
const themeWithDirection = createMuiTheme({...defaultTheme, ...theme});
и использование его в компоненте Admin, например:
<Admin locale="ar" dataProvider={dataProvider} i18nProvider={i18nProvider} theme={themeWithDirection} layout={layout}>
не работает.Кроме того, использование StyleProvider
в пользовательском макете не работает:
import React from 'react';
import { Layout } from 'react-admin';
import { create } from 'jss';
import rtl from 'jss-rtl';
import { jssPreset } from '@material-ui/core/styles';
import { StylesProvider } from '@material-ui/core/styles';
const jss = create({ plugins: [...jssPreset().plugins, rtl()] });
const MyLayout = props =>
<StylesProvider jss={jss}>
<Layout
{...props}
/>
</StylesProvider>;
Проблема заключается в том, что такие компоненты, как TextField
, используют text-align: left;
, так как я могу перевернуть их CSS, не переопределяя их в пользовательском файле CSS