Build faster with the ui-kit.ai MCP server

Beautiful UI components
for AI-powered apps

Professionally designed components, optimized for fast iteration in AI workflows. Accessible, customizable, and ready for production.

Hello

Everything you need...

Themeable

Quickly customize your app's look & feel with our theme editor.

Composable

Simple component APIs that can be combined into powerful recipes.

Accessible

Built with React Aria, the foremost accessibility-first UI primitives library.

MCP server

Give your assistant UI super powers with our MCP server.

Dark mode

Automatic light/dark mode support for all custom themes.

Simple installation

Start building straight away with a single npm install.

Performant

Tree-shakeable, small footprint and minimal runtime overhead.

Developer experience

Thoroughly documented with examples and recipes.

48 beautifully designed components...

AlertAlert

Alert

An alert is a message that is displayed to the user. It makes use of the ARIA role "alert" to highlight the importance of the message to assistive technologies.

AvatarAvatar

Avatar

Renders an avatar. Falls back to initial letters if no image is provided.

BreadcrumbsBreadcrumbs

Breadcrumbs

Breadcrumbs display a hierarchy of links to the current page or resource in an application.

ButtonButton

Button

A button allows a user to perform an action, with mouse, touch, and keyboard interactions.

CardCard

Card

A Card is a container that groups and organizes content in a consistent manner.

ChatChat

Chat

A Chat contains a list of messages.

CheckboxCheckbox

Checkbox

A checkbox allows a user to select multiple items from a list of individual items, or to mark one individual item as selected.

CheckboxGroupCheckboxGroup

CheckboxGroup

A checkbox group allows a user to select multiple items from a list of options.

CodeBlockCodeBlock

CodeBlock

A syntax-highlighted code block component, built using react-syntax-highlighter.

CodeInlineCodeInline

CodeInline

A syntax-highlighted inline code component, built using react-syntax-highlighter.

ColorFieldColorField

ColorField

A color field allows users to edit a hex color or individual color channel value.

ColorSliderColorSlider

ColorSlider

A component for selecting a color using a slider. Provides interactive color selection with proper accessibility semantics.

ColorSwatchColorSwatch

ColorSwatch

A component for displaying a color swatch. Provides visual representation of a color with proper accessibility semantics.

ComboBoxComboBox

ComboBox

A combo box combines a text input with a listbox, allowing users to filter a list of options to items matching a query.

DescriptionDescription

Description

A Description is text with attributes that improve screen reader announcements, usually used to provide more context on a field or control.

DialogDialog

Dialog

A dialog is an overlay shown above other content in an application.

DisclosureDisclosure

Disclosure

A disclosure component that shows and hides content when triggered.

EmptyStateEmptyState

EmptyState

An empty state is a fallback UI shown in the absence of data, e.g. for a search with no results.

FieldButtonFieldButton

FieldButton

A field button can used inside a group component to add additional functionality to a field.

FieldErrorFieldError

FieldError

A field error displays validation errors for a field within a form.

FieldGroupFieldGroup

FieldGroup

A group represents a set of related UI controls, and supports interactive states for styling.

FormForm

Form

A form is a group of inputs that allows users to submit data to a server, with support for providing field validation errors.

FormCheckboxGroupFormCheckboxGroup

FormCheckboxGroup

A FormCheckboxGroup connects a CheckboxGroup to a Form component using react-hook-form.

FormComboBoxFormComboBox

FormComboBox

A FormComboBox connects a ComboBox to a Form component using react-hook-form.

FormResetOnSubmitFormResetOnSubmit

FormResetOnSubmit

A component that resets the form after a successful submission. Used to test that form fields are reset after a successful submission.

FormSelectFormSelect

FormSelect

A FormSelect connects a Select to a Form component using react-hook-form.

FormSubmitButtonFormSubmitButton

FormSubmitButton

A FormSubmitButton handles form submission, and listen's to react-hook-form's state to handle disabled * pending states appropriately.

FormTextFieldFormTextField

FormTextField

A form text field connects a <TextField /> to a <Form /> component using react-hook-form.

HeadingHeading

Heading

A heading renders a semantic heading with pre-determined typography styles

InputInput

Input

An input is a primitive component used when composing fields, like text fields, search fields, etc.

KbdKbd

Kbd

Signals that a keyboard shortcut is available for the user to use.

LabelLabel

Label

A Label is used when composing a form field, and handles associating the label with the field via the id and for attributes on your behalf.

LinkLink

Link

A link allows a user to navigate to another page or resource within a web page or application.

ListBoxListBox

ListBox

A listbox displays a list of options and allows a user to select one or more of them.

LoaderLoader

Loader

A loader icon to indicate that content is loading.

MarkdownMarkdown

Markdown

MenuMenu

Menu

A menu displays a list of actions or options that a user can choose.

PopoverPopover

Popover

A popover is an overlay element positioned relative to a trigger.

SearchFieldSearchField

SearchField

A search field allows a user to enter and clear a search query.

SelectSelect

Select

A select displays a collapsible list of options and allows a user to select one of them.

SkeletonSkeleton

Skeleton

An animated Skeleton component, for use as a loading placeholder.

TableTable

Table

A table displays data in rows and columns and enables a user to navigate its contents via directional navigation keys, and optionally supports row selection and sorting.

TabsTabs

Tabs

Tabs organize content into multiple sections and allow users to navigate between them.

TagTag

Tag

A Tag is a presentational component used to display short snippets of information, often in a group of tags.

TextAreaTextArea

TextArea

An TextArea is a primitive component used when composing fields, (e.g. TextField, SearchField, NumberField).

TextFieldTextField

TextField

TextFields are text inputs that allow users to input custom text entries with a keyboard. Various decorations can be displayed around the field to communicate the entry requirements.

TooltipTooltip

Tooltip

A tooltip displays a description of an element on hover or focus.

TopNavTopNav

TopNav

The top nav component is an ready-made nav that appears at the top of the page.