Storybook Addon Highlight
Storybook addon allows for highlighting specific DOM nodes within your story.
Use it to call attention to particular parts of the story. Or use it to enhance other addons that you might be building. For example, Accessibility addon uses it to highlight DOM nodes that are failing accessibility checks.
Usage
This addon requires Storybook 6.5 or later. Highlight is part of essentials and so is installed in all new Storybooks by default. If you need to add it to your Storybook, you can run:
npm i -D @storybook/addon-highlight
Add "@storybook/addon-highlight"
to the addons array in your .storybook/main.js
:
module.exports = {
addons: ['@storybook/addon-highlight'],
};
Apply or clear highlights
Highlight DOM nodes by emitting the HIGHLIGHT
event from within a story or an addon. The event payload must contain a list of selectors you want to highlight.
import React, { useEffect } from 'react';
import { useChannel } from '@storybook/preview-api';
import { HIGHLIGHT, RESET_HIGHLIGHT } from '@storybook/addon-highlight';
import { MyComponent } form './MyComponent';
export default { component: MyComponent };
export const MyStory = () => {
const emit = useChannel({});
useEffect(() => {
emit(HIGHLIGHT, {
elements: ['.title', '.subtitle'],
});
}, []);
return <MyComponent />;
};
Highlights are automatically cleared when the story changes. You can also manually clear them by emitting the RESET_HIGHLIGHT
event.
emit(RESET_HIGHLIGHT);
Customize style
emit(HIGHLIGHT, {
elements: ['.title', '.subtitle'],
color: 'red',
style: 'solid',
});