mirror of
https://github.com/storybookjs/storybook.git
synced 2025-03-20 05:02:37 +08:00
# 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
78 lines
2.1 KiB
JavaScript
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);
|