71 lines
2.0 KiB
JavaScript
Raw Normal View History

import React from 'react';
2019-06-17 19:04:51 +08:00
import { load, addDecorator, addParameters } from '@storybook/react';
import { Global, ThemeProvider, themes, createReset, convert } from '@storybook/theming';
2019-06-18 16:14:54 +08:00
import { DocsPage } from '@storybook/addon-docs/blocks';
import { withCssResources } from '@storybook/addon-cssresources';
2019-03-04 13:00:17 +08:00
import { withA11y } from '@storybook/addon-a11y';
import { withNotes } from '@storybook/addon-notes';
import 'storybook-chromatic';
import addHeadWarning from './head-warning';
2018-10-14 17:39:35 +02:00
if (process.env.NODE_ENV === 'development') {
if (!process.env.DOTENV_DEVELOPMENT_DISPLAY_WARNING) {
2018-12-29 19:50:44 +01:00
addHeadWarning('dotenv-env', 'Dotenv development file not loaded');
2018-10-14 17:39:35 +02:00
}
if (!process.env.STORYBOOK_DISPLAY_WARNING) {
2018-12-29 19:50:44 +01:00
addHeadWarning('env-glob', 'Global storybook env var not loaded');
2018-10-14 17:39:35 +02:00
}
if (process.env.DISPLAY_WARNING) {
2018-12-29 19:50:44 +01:00
addHeadWarning('env-extra', 'Global non-storybook env var loaded');
2018-10-14 17:39:35 +02:00
}
}
2018-12-29 19:50:44 +01:00
addHeadWarning('preview-head-not-loaded', 'Preview head not loaded');
addHeadWarning('dotenv-file-not-loaded', 'Dotenv file not loaded');
2017-12-27 10:39:31 +01:00
addDecorator(withCssResources);
2019-03-04 13:00:17 +08:00
addDecorator(withA11y);
addDecorator(withNotes);
2017-11-27 13:48:46 +11:00
addDecorator(storyFn => (
<ThemeProvider theme={convert(themes.light)}>
<Global styles={createReset} />
{storyFn()}
2018-12-29 19:50:44 +01:00
</ThemeProvider>
));
addParameters({
a11y: {
config: {},
options: {
checks: { 'color-contrast': { options: { noScroll: true } } },
restoreScroll: true,
},
},
options: {
hierarchySeparator: /\/|\./,
hierarchyRootSeparator: '|',
2019-06-18 16:14:54 +08:00
theme: themes.light, // { base: 'dark', brandTitle: 'Storybook!' },
},
backgrounds: [
{ name: 'storybook app', value: themes.light.appBg, default: true },
{ name: 'light', value: '#eeeeee' },
{ name: 'dark', value: '#222222' },
],
2019-06-18 16:14:54 +08:00
docs: DocsPage,
});
load(
[
require.context('../../lib/ui/src', true, /\.stories\.(js|tsx?|mdx)$/),
require.context('../../lib/components/src', true, /\.stories\.(js|tsx?|mdx)$/),
require.context('./stories', true, /\.stories\.(js|ts|tsx?|mdx)$/),
],
module
);