title |
---|
Backgrounds |
The backgrounds toolbar addon allows you to set the background color in which the story renders in the UI:
By default, the backgrounds toolbar includes a light and dark background.
But you're not restricted to these backgrounds, you can configure your own set of colors with the parameters.backgrounds
parameter in your .storybook/preview.js
:
<CodeSnippets paths={[ 'common/storybook-preview-configure-background-colors.js.mdx', 'common/storybook-preview-configure-background-colors.ts.mdx', ]} />
If you define the default
property, the addon will apply it to all stories. Otherwise, it's only listed as an available color.
You can also define backgrounds per-component or per-story basis through parameter inheritance:
<CodeSnippets paths={[ 'angular/storybook-addon-backgrounds-configure-backgrounds.ts.mdx', 'web-components/storybook-addon-backgrounds-configure-backgrounds.js.mdx', 'web-components/storybook-addon-backgrounds-configure-backgrounds.ts.mdx', 'common/storybook-addon-backgrounds-configure-backgrounds.js.mdx', 'common/storybook-addon-backgrounds-configure-backgrounds.ts.mdx', ]} />
You can also override a single key on the backgrounds
parameter, for instance, to set a different default value for a particular story:
<CodeSnippets paths={[ 'angular/storybook-addon-backgrounds-override-background-color.ts.mdx', 'web-components/storybook-addon-backgrounds-override-background-color.js.mdx', 'web-components/storybook-addon-backgrounds-override-background-color.ts.mdx', 'common/storybook-addon-backgrounds-override-background-color.js.mdx', 'common/storybook-addon-backgrounds-override-background-color.ts.mdx', ]} usesCsf3 csf2Path="essentials/backgrounds#snippet-storybook-addon-backgrounds-override-background-color" />
If you want to disable backgrounds in a story, you can do so by setting the backgrounds
parameter like so:
<CodeSnippets paths={[ 'angular/storybook-addon-backgrounds-disable-backgrounds.ts.mdx', 'web-components/storybook-addon-backgrounds-disable-backgrounds.js.mdx', 'web-components/storybook-addon-backgrounds-disable-backgrounds.ts.mdx', 'common/storybook-addon-backgrounds-disable-backgrounds.js.mdx', 'common/storybook-addon-backgrounds-disable-backgrounds.ts.mdx', ]} usesCsf3 csf2Path="essentials/backgrounds#snippet-storybook-addon-backgrounds-disable-backgrounds" />
Backgrounds toolbar also includes a Grid selector. This way, you can quickly see if your components are aligned.
You don't need additional configuration to get started. But its properties are fully customizable, if you don't supply any value to any of its properties, they'll default to the following values:
<CodeSnippets paths={[ 'angular/storybook-addon-backgrounds-configure-grid.ts.mdx', 'web-components/storybook-addon-backgrounds-configure-grid.js.mdx', 'web-components/storybook-addon-backgrounds-configure-grid.ts.mdx', 'common/storybook-addon-backgrounds-configure-grid.js.mdx', 'common/storybook-addon-backgrounds-configure-grid.ts.mdx', ]} />
If you need to disable the grid for a specific story, set the backgrounds
parameter to the following:
<CodeSnippets paths={[ 'angular/storybook-addon-backgrounds-disable-grid.ts.mdx', 'web-components/storybook-addon-backgrounds-disable-grid.js.mdx', 'web-components/storybook-addon-backgrounds-disable-grid.ts.mdx', 'common/storybook-addon-backgrounds-disable-grid.js.mdx', 'common/storybook-addon-backgrounds-disable-grid.ts.mdx', ]} usesCsf3 csf2Path="essentials/backgrounds#snippet-storybook-addon-backgrounds-disable-grid" />
This addon contributes the following parameters to Storybook, under the backgrounds
namespace:
Type: string
Default background color. Must match the name
property of one of the available colors.
Type: boolean
Disable this addon's behavior. If you wish to disable this addon for the entire Storybook, you should do so when registering addon-essentials
. See the essential addon's docs for more information.
This parameter is most useful to allow overriding at more specific levels. For example, if this parameter is set to true
at the project level, it could then be re-enabled by setting it to false
at the meta (component) or story level.
Type:
{
cellAmount?: number;
cellSize?: number;
disable?: boolean;
offsetX: number;
offsetY: number;
opacity?: number;
}
Type: number
Default: 5
Specify the size of the minor grid lines.
Type: number
Default: 20
Specify the size of the major grid lines.
Type: boolean
Disable the grid.
Type: number
Default: 0
if story layout is 'fullscreen'
; 16
if story layout is 'padded'
Horizontal offset of the grid.
Type: number
Default: 0
if story layout is 'fullscreen'
; 16
if story layout is 'padded'
Vertical offset of the grid.
Type: number
Default: 0.5
Opacity of the grid lines.
Type: { name: string; value: string }[]
Available background colors. See above for a usage example.