Norbert de Langen a9ee8a5dad
Merge branch 'next' into tech/overhaul-ui
# Conflicts:
#	.babelrc.js
#	addons/a11y/package.json
#	addons/actions/package.json
#	addons/backgrounds/package.json
#	addons/cssresources/package.json
#	addons/events/package.json
#	addons/graphql/package.json
#	addons/info/package.json
#	addons/info/src/components/PropTable.js
#	addons/jest/package.json
#	addons/knobs/package.json
#	addons/links/package.json
#	addons/notes/package.json
#	addons/ondevice-backgrounds/package.json
#	addons/options/package.json
#	addons/storyshots/storyshots-core/package.json
#	addons/storyshots/storyshots-puppeteer/package.json
#	addons/storysource/package.json
#	app/angular/package.json
#	app/ember/package.json
#	app/html/package.json
#	app/marko/package.json
#	app/mithril/package.json
#	app/polymer/package.json
#	app/react/package.json
#	app/riot/package.json
#	app/svelte/package.json
#	app/vue/package.json
#	examples/official-storybook/stories/addon-a11y.stories.js
#	examples/official-storybook/stories/addon-actions.stories.js
#	lib/addons/package.json
#	lib/channel-postmessage/package.json
#	lib/channel-websocket/package.json
#	lib/components/package.json
#	lib/components/src/layout/mobile.js
#	lib/core/package.json
#	lib/core/src/server/common/babel.js
#	lib/ui/package.json
#	lib/ui/src/modules/ui/components/stories_panel/index.js
#	lib/ui/src/modules/ui/components/stories_panel/stories_tree/index.test.js
#	lib/ui/src/modules/ui/components/stories_panel/stories_tree/tree_decorators_utils.js
#	lib/ui/src/modules/ui/components/stories_panel/text_filter.js
#	yarn.lock
2018-12-06 16:49:52 +01:00

78 lines
2.1 KiB
JavaScript

import React from 'react';
import ThemeProvider from '@emotion/provider';
import styled from '@emotion/styled';
import { configure, addDecorator, addParameters } from '@storybook/react';
import { themes } from '@storybook/components';
import { withOptions } from '@storybook/addon-options';
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
import { cssResources } from '@storybook/addon-cssresources';
import 'react-chromatic/storybook-addon';
import addHeadWarning from './head-warning';
import extraViewports from './extra-viewports.json';
if (process.env.NODE_ENV === 'development') {
if (!process.env.DOTENV_DEVELOPMENT_DISPLAY_WARNING) {
addHeadWarning('Dotenv development file not loaded');
}
if (!process.env.STORYBOOK_DISPLAY_WARNING) {
addHeadWarning('Global storybook env var not loaded');
}
if (process.env.DISPLAY_WARNING) {
addHeadWarning('Global non-storybook env var loaded');
}
}
addHeadWarning('Preview head not loaded', 'preview-head-not-loaded');
addHeadWarning('Dotenv file not loaded', 'dotenv-file-not-loaded');
addDecorator(cssResources);
addDecorator(
withOptions({
hierarchySeparator: /\/|\./,
hierarchyRootSeparator: '|',
// theme: themes.dark,
})
);
const Reset = styled.div(({ theme }) => ({
fontFamily: theme.mainTextFace,
color: theme.mainTextColor,
WebkitFontSmoothing: 'antialiased',
fontSize: theme.mainTextSize,
}));
addDecorator((story, { kind }) => (kind === 'Core|Errors' ? story() : <Reset>{story()}</Reset>));
addDecorator((story, { kind }) =>
kind === 'Core|Errors' ? story() : <ThemeProvider theme={themes.normal}>{story()}</ThemeProvider>
);
addParameters({
viewports: {
...INITIAL_VIEWPORTS,
...extraViewports,
},
});
function importAll(req) {
req.keys().forEach(filename => req(filename));
}
function loadStories() {
let req;
req = require.context('../../lib/ui/src', true, /\.stories\.js$/);
importAll(req);
req = require.context('../../lib/components/src', true, /\.stories\.js$/);
importAll(req);
req = require.context('./stories', true, /\.stories\.js$/);
importAll(req);
}
configure(loadStories, module);