Theme
Mantine theme is an object where your application's colors, fonts, spacing, border-radius and other design tokens are stored. You can either create your own theme object or use themes that provide from refine. Theme provides a way to your app's design to meet them.
Refer to the Mantine documentation for more information about theme object. →
Predefined Themes
RefineThemes
has predefined themes for you. You can use them by importing them from @refinedev/mantine
package. It is not required if you decide to use the default Mantine theme.
const { Blue, Purple, Magenta, Red, Orange, Yellow } = RefineThemes;
import { Refine } from "@refinedev/core";
import { ThemedLayoutV2, RefineThemes } from "@refinedev/mantine";
import { MantineProvider } from "@mantine/core";
const App: React.FC = () => {
return (
<MantineProvider theme={RefineThemes.Blue}>
<Refine
/* ... */
>
<ThemedLayoutV2>{/* ... */}</ThemedLayoutV2>
</Refine>
</MantineProvider>
);
};
Theme customization
<MantineProvider/>
component can be used to change the theme. It is not required if you decide to use the default theme. You can also use RefineThemes
provided by refine.
Refer to the <MantineProvider/>
documentation for more information. →
Overriding the refine themes
You can override or extend the default refine themes. You can also create your own theme. Let's see how to do this.
Refer to the Mantine colors documentation for more information. →
Theme switching
You can switch between themes as Mantine mentioned in its documentation. You can see an example of using local storage to store the theme below.
Refer to the Mantine dark theme documentation for more information. →
If you want to customize the default layout elements provided with @refinedev/mantine
package, check out the Custom ThemedLayout tutorial.