3.1 Spec doc.

Build

1 day

What is it?

Detailed specifications on the component and how to build it.

Why do we do it?

So that Developers know precisely how to build the component and all the states required for it. It also helps us best understand how to make this component in Figma.

How do we do it?

Depending on if you’re creating a new component vs. updating an existing one, there are two methods for your spec doc.

Create a new spec doc if your component update differs substantially from the original.

Updating existing

Updating existing components can be much simpler to document. Just include a before and after, highlight the changes and give the updated values. Before and after of updated button with areas that have been udpated. Text body / default, dropshadow updated

New components

For new components, use a complete spec doc outlining all of the specifications from the ground up.

Take each variation in the following list and run the Eightshapes Specs plugin in Figma to break down your designs into full specs. You’ll want to review the results to make sure they line up. Eightshapes plugin visual

You can do all of this manually, but a plugin will save you a lot of time — and this one is great.

If you want more information on these variants, head back to the exploration phase.

Type(s)

Include all of the different types available for this component.

Priority

Primary
Secondary
Tertiary
Accent

State

Default
Disabled
Hover
Active
Focus

Platform or screen size

Desktop / large
Tablet / medium
Mobile / small

Status

Positive
Negative
Warning
Default/neutral

Sizes

Small
Medium
Large
or pixel value

Booleans

Any elements that are shown/hidden or on/off

Selected — Yes/No
Optional Messages — show/hide

Dynamic text

Any text that is override-able
What text supports markup/markdown

Tokens

Colours
Text styles
Spacing
Scale — any applicable min/max sizes

Interaction and animation

You’ll need to add the details for these manually. Button hover to button pressed animation visual and infomration, ease in, 300ms

Working prototypes
Any tokens or values applicable to this, including animation duration and style

Accessibility

Visual text scaling and how the component changes with larger and smaller fonts
Voiceover guidance

Colour mode examples

Provide everything you’ve done above in different colour modes; this should be reasonably straightforward if you have variables set up for colour modes.

Light
Dark
Any other colour modes you might need

Outcomes

  • Alignment of final designs
  • Figma file with component specs

Hot tips

If you create a Figma master component file with all of your designs and changes, you’ll always have an up-to-date version of your file. Just be sure to mark the latest spec doc as ready for dev.