Component library

A component library is the collection of reusable interface parts, such as buttons, inputs, menus and cards, with all their variants and states. It lives in design files, in code, or ideally in both, and is the most visible part of a design system.

Also called
UI component library, UI kit, UI library, Figma component library
Updated

A component library holds the building blocks of an interface. Each component has a name, a purpose, configurable properties, and every state it can be in: default, hover, focus, disabled, loading, error. In Figma, a library is a file of components, styles and variables that other files reuse. In code, it is a package of components, often documented in a tool like Storybook, which renders each component in isolation so teams can review states and edge cases without running the whole app.

Nielsen Norman Group describes the component library as one of the core parts of a design system, alongside the style guide and pattern library.

Why it matters for a SaaS product

A component library is where consistency becomes cheap. When the table, modal and form field already exist with their states defined, a new feature is assembly, not invention. Engineers stop re-implementing the same dropdown, QA has fewer surprises, and accessibility fixes land once and apply everywhere. The library also makes prototypes faster, because realistic screens can be built from real parts.

How DesignMe handles it

On product design projects the UI phase produces a components library alongside the high-fidelity screens, and handoff covers components, variants, variables and state documentation. We think about components, states, edge cases and responsive behaviour from the start, so the Figma library matches what engineers will build. On AI MVP cleanup work, the first step is often bringing scattered styles, components and spacing back into one product system.

For N3XT, every component was built in full detail. The context menu alone ships in light and dark, with default, hover and disabled item states, checkbox and radio variants, nested levels and submenus.

Example

Say a SaaS dashboard has grown seven button styles across three teams. An audit maps them to three real needs: primary, secondary and destructive, each in two sizes with loading and disabled states. The library defines those once in Figma and in code, the old variants are removed, and new screens can only pick from the approved set.

Common mistakes

  • Designing happy-path components. A button without loading or disabled states gets those states improvised in code.
  • Detaching instances. Every detached Figma component is a future inconsistency.
  • One component per screen. If each new screen adds a “special” card, the library is a scrapbook, not a system.
  • No coded counterpart. A Figma-only library helps designers but leaves engineers rebuilding everything.

Questions

Is a component library the same as a design system?
No. The component library is one part of a design system. The system also includes design tokens, patterns for combining components, content and accessibility guidance, and the process for changing any of it. A team can have a component library without a real system, which is usually when components start multiplying.
Should we use an open-source component library or build our own?
For most SaaS teams, start from a well-tested open-source library for behaviour such as focus handling and keyboard support, then style it with your own design tokens. Build custom components where the product is distinctive: data views, editors, workflow builders. Rebuilding a date picker from scratch rarely beats a maintained one.

You've reached the end, so now…

Tell us what you’re building.

We’ll help you map the right scope, team, timeline, and next steps.

Book a call