Storybook work with UI library
If your project use some UI library, e.g. MUI, Chakra UI, you need set Provider with preview.js
// .story/preview.js
import type { Preview } from '@storybook/react';
import withChakraUi from './custom-decoraters/withChakra';
const preview: Preview = {
parameters: {
nextjs: {
appDirectory: true,
},
actions: { argTypesRegex: '^on[A-Z].*' },
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/,
},
},
},
decorators: [withChakraUi],
};
export default preview;
import React from 'react';
import { ChakraProvider, extendTheme } from '@chakra-ui/react';
import { theme } from '../../src/app/[lng]/theme';
const withChakraUi = (Story: React.ComponentType) => (
<ChakraProvider resetCSS theme={extendTheme(theme)}>
<Story />
</ChakraProvider>
);
export default withChakraUi;