Skip to content
EspañolEnglish

Accessible React components,
with your brand and no dependencies.

@amset/ui is a React component library, from a button to a management table. It takes your colour, works with a keyboard and a screen reader, and pulls in not a single npm dependency. It is free and MIT-licensed.

Browse the componentsGet started

  • MIT licence
  • React 18 and 19
  • TypeScript
  • Light and dark theme
  • English and Spanish
Basic
ProfessionalPriority support
Company

Invoiced this month

12.480 €

+8.4%up

Unpaid orders

4

Of 128 this month

Uploading the invoice42%
Importing customers62%
Processing the order on the server
Uploading the delivery noteUpload failed
204
components, each with its own page
678
CSS variables you can change
2,134
icons, all with the same stroke
7
whole screens to copy
0
npm dependencies

Zero npm dependencies

It declares react and react-dom as peers and nothing else: no third-party library, neither installed nor copied in. Keyboard handling, focus and accessibility come from native browser elements and our own code, so you inherit no updates or security advisories from other people's packages.

Your brand, one command

Give it your palette in hex and it writes the whole theme: every colour role, in light and dark. And it refuses to emit any combination that fails the minimum contrast.

Accessible, and measured

Keyboard, focus and screen reader support in every component, checked with axe in light, dark and mobile on every page of the test bench.

You only pay for what you use

One file per component and no side effects: the bundler keeps what you import and drops the rest. A screen with a single field doesn't drag in the table.

Up and running in three steps

Works with Vite, Next and webpack. In Next, one provider takes every link through its router. There is no stylesheet to import: each component brings its own.

Create it or set it up

A new app with the library in place, or the library in yours. All it needs is React.

Code
npx amset-ui create my-app # in an existing project:npx amset-ui init

Use it

Components are used through their API: variant, tone and size, without writing classes.

Code
import { Button, TextField } from '@amset/ui' <TextField label="Email" type="email" /><Button variant="solid" tone="accent">Save</Button>

Give it your colour

Hand over your palette in hex and the command writes the theme, in light and dark.

Code
npx amset-ui theme

On public npm soon. Until then it installs from the AMSET package registry: the Get started guide walks through it. Installation guide

More than components

What comes in the same package, 0.17.1.

npx amset-ui creates an app, sets the library up in yours, diagnoses it, migrates your code and generates your theme.
7 whole screens (dashboard, customers, invoice, settings, sign in) and two starters, Next and Vite.
12 pieces for an assistant interface, and a rich text toolbar for Tiptap or Lexical.
Accessibility, weight against other libraries, security and licence, with what is measured and what is not.
AGENTS.md, llms.txt, api.json, a skill, the MCP server and the tokens in Figma.
npx amset-ui migrate rewrites your code when the library renames something.

What an application needs, piece by piece

From the button to the table with filters, the calendar or the shopping cart. Every component has its own page with when to use it and when not to, the keyboard, what a screen reader announces and a working example.

What the user presses to make something happen.
19 components
Data entry, with its label, hint and error.
26 components
Picking between options: one, several or none.
21 components
Calendars, schedules and available slots.
14 components
Moving around the app without getting lost.
16 components
The frame of a screen: header, columns and whatever sticks in place.
3 components
The pieces that position everything else.
6 components
Where content rests.
18 components
Whatever opens above the page.
14 components
Telling people what is going on: loading, done, error or offline.
2 components
Showing numbers and lists without making them hard to read.
19 components
The pieces of an admin panel: tables, boards and filters.
7 components
Everything that takes someone from a product to an order.
12 components
Headings, text, quotes and code in the same voice.
9 components
The pieces of an assistant interface: messages, reasoning, tools and text input.
12 components

Browse all components

Running, not in a screenshot

Everything you see here is a real component from the library: press, sort, filter and choose.

Data

Dates

Status

Choice

Actions

People

A whole assistant, not loose pieces

Messages, reasoning, tools, attachments, suggestions and an engine picker, working together. Type something, press a suggestion or attach a file: what it answers is a script, everything else is the library.

See the code and the other AI pieces

Made to work, not to show off

AMSET builds it for its own products and uses it every day, so what you see here is what those products run.

The AMSET assistant

A dense application with menus, tables, forms and floating layers, in light and dark.

Online shops

Catalogue, cart, checkout and order tracking, in each shop’s own brand.

Management dashboards

Invoices, appointments, boards and tables with thousands of rows, for teams who spend the day in front of them.

Built for the prompt-to-UI era For agents

The package describes itself for your coding assistant (Claude Code, Cursor or any other): AGENTS.md, llms.txt, the real props in api.json, a skill, and the @amset/mcp MCP server.

You ask your editor

Build me an admin panel to manage users with a paginated table, a dynamic filter and an edit drawer, using the corporate palette #00d4ff.

And the AI writes code with

  • Real components and props, read from the @amset/ui your project has installed (api.json), not made up.
  • Code compiled against the library before you get it: a prop that does not exist does not pass.
  • Accessibility built in: labels, keyboard and focus already handled.
  • Your brand applied through a theme generated from your colour, rejected if it fails contrast.

Which files the package ships, how to use them, and the MCP server: For agents and tools

Latest release

What arrived in the latest version, taken from the changelog in the package.

0.17.1, released October 19, 2026

  • Flag no longer breaks hydration when the server already had its region
  • migrate and doctor see the old stylesheets imported from CSS
  • npx amset-ui create: a new application with the library already set up
  • Blocks: seven complete screens that npx amset-ui add copies into the project
  • useLocale() is exported
  • Table with onRowPress: the row also opens with Enter.

All 6 changes in this release, and the earlier ones

Frequently asked questions

Want to try it?

Start with a single component and read its page: how to use it, when and when not to, the keyboard and accessibility.

Get startedBrowse the componentsTest bench