Files
grafana/packages/grafana-ui/.storybook/config.ts

42 lines
1.5 KiB
TypeScript
Raw Normal View History

2019-02-06 17:03:42 +01:00
import { configure, addDecorator } from '@storybook/react';
import { withKnobs } from '@storybook/addon-knobs';
import { withTheme } from '../src/utils/storybook/withTheme';
import { withPaddedStory } from '../src/utils/storybook/withPaddedStory';
import 'jquery';
import '../../../public/vendor/flot/jquery.flot.js';
import '../../../public/vendor/flot/jquery.flot.selection';
import '../../../public/vendor/flot/jquery.flot.time';
import '../../../public/vendor/flot/jquery.flot.stack';
import '../../../public/vendor/flot/jquery.flot.pie';
import '../../../public/vendor/flot/jquery.flot.stackpercent';
import '../../../public/vendor/flot/jquery.flot.fillbelow';
import '../../../public/vendor/flot/jquery.flot.crosshair';
import '../../../public/vendor/flot/jquery.flot.dashes';
import '../../../public/vendor/flot/jquery.flot.gauge';
2019-03-21 16:06:55 +01:00
// @ts-ignore
import lightTheme from '../../../public/sass/grafana.light.scss';
// @ts-ignore
import darkTheme from '../../../public/sass/grafana.dark.scss';
2019-01-09 09:40:57 +01:00
2019-03-21 16:06:55 +01:00
const handleThemeChange = (theme: string) => {
if (theme !== 'light') {
lightTheme.unuse();
darkTheme.use();
} else {
darkTheme.unuse();
lightTheme.use();
}
};
2019-01-09 09:40:57 +01:00
// automatically import all files ending in *.stories.tsx
const req = require.context('../src/components', true, /.story.tsx$/);
2019-01-09 09:40:57 +01:00
2019-02-06 17:03:42 +01:00
addDecorator(withKnobs);
addDecorator(withPaddedStory);
2019-03-21 16:06:55 +01:00
addDecorator(withTheme(handleThemeChange));
2019-02-06 17:03:42 +01:00
2019-01-09 09:40:57 +01:00
function loadStories() {
req.keys().forEach(req);
}
configure(loadStories, module);