mirror of
https://github.com/mantinedev/next-app-template.git
synced 2025-11-10 04:22:01 +10:00
42 lines
1.0 KiB
TypeScript
42 lines
1.0 KiB
TypeScript
import '@mantine/core/styles.css';
|
||
|
||
import { ColorSchemeScript, MantineProvider } from '@mantine/core';
|
||
import { theme } from '../theme';
|
||
|
||
export const parameters = {
|
||
layout: 'fullscreen',
|
||
options: {
|
||
showPanel: false,
|
||
// @ts-expect-error – storybook throws build error for (a: any, b: any)
|
||
storySort: (a, b) => a.title.localeCompare(b.title, undefined, { numeric: true }),
|
||
},
|
||
backgrounds: { disable: true },
|
||
};
|
||
|
||
export const globalTypes = {
|
||
theme: {
|
||
name: 'Theme',
|
||
description: 'Mantine color scheme',
|
||
defaultValue: 'light',
|
||
toolbar: {
|
||
icon: 'mirror',
|
||
items: [
|
||
{ value: 'light', title: 'Light' },
|
||
{ value: 'dark', title: 'Dark' },
|
||
],
|
||
},
|
||
},
|
||
};
|
||
|
||
export const decorators = [
|
||
(renderStory: any, context: any) => {
|
||
const scheme = (context.globals.theme || 'light') as 'light' | 'dark';
|
||
return (
|
||
<MantineProvider theme={theme} forceColorScheme={scheme}>
|
||
<ColorSchemeScript />
|
||
{renderStory()}
|
||
</MantineProvider>
|
||
);
|
||
},
|
||
];
|