What is @storybook/addon-measure?
The @storybook/addon-measure npm package is a Storybook addon used for measuring and inspecting elements in a Storybook UI. This tool is particularly useful for developers and designers to ensure precise visual consistency directly within the Storybook environment. It allows users to measure dimensions, spacing, and alignment of components during the development process.
What are @storybook/addon-measure's main functionalities?
Element Measurement
This feature allows users to measure the dimensions and spacing of components. By adding the withMeasure decorator, users can toggle measurement tools in the Storybook UI to inspect the component presented in the story.
import { withMeasure } from '@storybook/addon-measure';
export default {
title: 'Your Component',
decorators: [withMeasure]
};
export const YourStory = () => <YourComponent />;
Alignment Inspection
This feature enables users to check the alignment of elements within components. The decorator adds visual guides that help in aligning text, icons, or other elements accurately within the component.
import { withMeasure } from '@storybook/addon-measure';
export default {
title: 'Another Component',
decorators: [withMeasure]
};
export const AnotherStory = () => <AnotherComponent />;
Other packages similar to @storybook/addon-measure
@storybook/addon-outline
Similar to @storybook/addon-measure, @storybook/addon-outline provides visual tools to enhance UI development in Storybook. While @storybook/addon-measure focuses on measuring and spacing, @storybook/addon-outline helps by drawing outlines around components, which is useful for visual debugging of layout and container boundaries.
storybook-addon-designs
This addon is used to embed Figma or Sketch designs next to your Storybook stories, facilitating a side-by-side comparison between design files and implemented components. Unlike @storybook/addon-measure, which is more focused on in-story measurements, storybook-addon-designs bridges the gap between design and development by directly integrating design visuals.
Storybook Addon Measure
Storybook addon for inspecting layouts and visualizing the box model.
- Hold down the modifier key:
- MacOS: ⌥ Option
- Windows: Alt
-
Hover over a DOM node
-
Storybook will display the dimensions of the selected element—margin, padding, border, width and height—in pixels.
Usage
-
This addon requires Storybook 6.3 or later. Install the latest with npx sb upgrade --prerelease
-
Install the addon:
npm i -D @storybook/addon-measure
- Add
"@storybook/addon-measure"
to the addons array in your .storybook/main.js
:
module.exports = {
addons: ["@storybook/addon-measure"],
};
Inspiration
Contributing
Development scripts
Clone the repository and install dependencies.
yarn
yarn start
runs babel in watch mode and starts Storybookyarn build
build and package your addon code
Release Management
Setup
This project is configured to use auto for release management. It generates a changelog and pushes it to both GitHub and npm. Therefore, you need to configure access to both:
NPM_TOKEN
Create a token with both Read and Publish permissions.GH_TOKEN
Create a token with the repo
scope.
Add them to the .env
file at the root of your project:
GH_TOKEN=<value you just got from GitHub>
NPM_TOKEN=<value you just got from npm>
Creating a releasing
To create a release locally you can run the following command, otherwise the GitHub action will make the release for you.
yarn release
That will:
- Build and package the addon code
- Bump the version
- Push a release to GitHub and npm
- Push a changelog to GitHub