Global Styles in Storybook
How to set global styles in Storybook environment.
Via Addons
There are some addons that allow you to set global styles. One that I use is addon-backgrounds. It allows you to set background colors to have your components appear upon.
To use it (or other style-affecting addons), install:
npm install @storybook/addon-backgrounds
Then register their existence inside .storybook/addons.js
:
import '@storybook/addon-backgrounds/register'
In your stories/index.js
file, you can use it as a decorator:
import backgrounds from '@storybook/addon-backgrounds'
import { storiesOf } from '@storybook/react'
const bg = backgrounds([
{ name: 'product color', value: '#181818', default: true }
])
storiesOf('something', module).addDecorator(bg)
.add('here', _ => {})
Via Head
If you don't have an addon at your disposal that makes adding a global style nicely controlled and declarative via a decorator, you can go the old-fashioned route and add your styles to the head
.
You could do this in order to setup up an environment that has a proper font face on the page or to set up a reset stylesheet.
Create and edit a file called .storybook/preview-head.html
and put whatever would usually go in the head
here:
<link rel="stylesheet" href="https://cloud.typography.com/abc/123/css/fonts.css" />
What other ways do you setup global styles or other environmental properties for your Storybook stories?