123456789101112131415161718192021222324252627282930313233343536 |
- import React from 'react';
- import { configure } from '@storybook/react';
- import { addDecorator, addParameters } from '@storybook/react';
- import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
- import { withInfo } from '@storybook/addon-info';
- import 'intersection-observer';
- import smoothscroll from 'smoothscroll-polyfill';
- import '../src/styles/global.scss';
- smoothscroll.polyfill();
- addParameters({ viewport: { viewports: { ...INITIAL_VIEWPORTS } } });
- addDecorator(withInfo);
- // automatically import all files ending in *.stories.js
- const src = require.context('../src', true, /.stories.js$/);
- const common = require.context('../__stories__', true, /.stories.js$/);
- function loadStories() {
- src.keys().forEach(filename => src(filename));
- common.keys().forEach(filename => common(filename));
- }
- // Gatsby's Link overrides:
- // Gatsby defines a global called ___loader to prevent its method calls from creating console errors you override it here
- global.___loader = {
- enqueue: () => {},
- hovering: () => {},
- };
- // Gatsby internal mocking to prevent unnecessary errors in storybook testing environment
- global.__PATH_PREFIX__ = '';
- // This is to utilized to override the window.___navigate method Gatsby defines and uses to report what path a Link would be taking us to if it wasn't inside a storybook
- window.___navigate = pathname => {
- action('NavigateTo:')(pathname);
- };
- configure(loadStories, module);
|