All Components

Browse and search through all available UI Thing components. Find the perfect component for your next project.

Search For Something

Search components by title, description, or label...

85 Components

Accordion

A vertically stacked set of interactive headings that each reveal an associated section of content.

Alert

A visually emphasized message that informs the user of an event.

Alert Dialog

A modal dialog that interrupts the user with important content and expects a response.

Animated Tooltip

New

A group of animated tooltips that display on hover with smooth spring animations and dynamic positioning based on mouse movement.

Aspect Ratio

Displays content within a desired ratio.

Autocomplete

Choose from a list of suggested values with full keyboard support.

Avatar

An image element with a fallback for representing the user.

Badge

A badge is a component that is used to highlight an item's status for quick recognition.

Breadcrumbs

Breadcrumbs are a great way to show hierarchy in a page.

Button

A button is a component that is used to trigger an action.

Button Group

A container that groups related buttons together with consistent styling.

Calendar

A calendar component allows you to display a calendar with events.

Card

A card is a flexible and extensible content container. It includes options for headers and footers, a wide variety of content, contextual background colors, and powerful display options.

Carousel

A carousel with motion and swipe built using Embla.

Checkbox

A control that allows the user to toggle between checked and not checked.

Chip

A component used to display some sort of indicator on another component.

Collapsible

An interactive component which expands/collapses a panel.

Combobox

Autocomplete input and command palette with a list of suggestions.

Command

A command menu component composed of the Combobox primitives from Reka UI.

Container

A container to wrap content in. It has a max-width and is centered by default.

Context Menu

Displays a menu located at the pointer, triggered by a right-click or a long-press.

Currency Input

Displays a form input field for currency values.

DataTable

DataTables is a plug-in for the jQuery Javascript library. It is a highly flexible tool, built upon the foundations of progressive enhancement, that adds all of these advanced features to any HTML table.

Date Field

Enables users to input specific dates within a designated field.

Datepicker

Allows the user to select a date from a calendar.

Description List

A description list is typically used to display pairs of terms and details, like in invoices or product specifications, enhancing clarity and organization of information.

Dialog

A window overlaid on either the primary window or another dialog window, rendering the content underneath inert.

Divider

A horizontal line to separate content. Similiar to the Seperator component, but with items in the middle.

Draggable

A wrapper component around Vue Draggable that makes any list of items sortable via drag and drop.

Drawer

A drawer component that can be used as a Dialog replacement on tablet and mobile devices.

Dropdown Menu

Displays a menu to the user—such as a set of actions or functions—triggered by a button.

Dropfile

Allows users to drag and drop files into the browser to upload them.

Editable

Displays an input field used for editing a single line of text, rendering as static text on load. It transforms into a text input field when the edit interaction is triggered.

Empty

A component used to display a message when there is no data to show.

Fancy Icon

Updated

An icon with a nice background color.

Field

Combine labels, controls, and help text to compose accessible form fields and grouped inputs.

Form

Building forms with VeeValidate and Zod.

Gradient Divider

A divider that has a gradient background

Heading

Displays a semantic heading with multiple levels of size and style customization.

Hover Card

For sighted users to preview content available behind a link.

Icon

New

A versatile icon component that supports Iconify icons, emojis, and custom images with automatic detection.

Iframe (Lazy)

New

A lazy-loaded iframe component that loads content only when it comes into view, with customizable placeholder and intersection options.

Input

Displays a form input field or a component that looks like an input field.

Input Group

Display additional information or actions to an input or textarea.

Item

A versatile component that you can use to display any content.

Keyboard Key

The <kbd> HTML element represents a span of inline text denoting textual user input from a keyboard, voice input, or any other text entry device.

Label

Renders an accessible label associated with controls.

List

Lists are used to group together related pieces of information so they are clearly associated with each other and easy to read.

Listbox

A control that allows the user to toggle between checked and not checked from a list of options.

Loader

A loader indicates an unknown wait time or process duration, keeping users informed and enhancing their experience by providing visual feedback during delays.

Menubar

A visually persistent menu common in desktop applications that provides quick access to a consistent set of commands.

Nav

A horizontal navigation bar for primary site links, branding, and interactive elements.

Navbar

A navbar to use in your app. It is rendered as a header element by default but can be changed to a div with the as props.

Navigation Menu

A collection of links for navigating websites.

Number Field

A number field allows a user to enter a number and increment or decrement the value using stepper buttons.

Pagination

Displays data in paged format and provides navigation between pages.

Pin Input

A sequence of one-character alphanumeric inputs. Useful for PIN codes, verification codes, etc.

Placeholder

A placeholder box that can be used as any filler content.

Popover

Displays rich content in a portal, triggered by a button.

Progress

Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.

Radio Group

A set of checkable buttons—known as radio buttons—where no more than one of the buttons can be checked at a time.

Rating

A component for displaying and selecting star ratings.

Scroll Area

Augments native scroll functionality for custom, cross-browser styling.

Scrollspy

A component for tracking scroll position and updating active links.

Select

Displays a list of options for the user to pick from—triggered by a button.

Select - Native

Display a dropdown list of options for users to choose from.

Separator

Visually or semantically separates content.

Sheet

Extends the Dialog component to display content that complements the main content of the screen.

Sidebar

A composable, themeable and customizable sidebar component.

Skeleton

Use to show a placeholder while content is loading.

Slider

An input where the user selects a value from within a given range.

Sonner

Sonner is an opinionated toast component for Vue. It's customizable, but styled by default. Comes with a swipe to dismiss animation.

Splitter

A component that divides your layout into resizable sections.

Stepper

A set of steps that are used to indicate progress through a multi-step process.

Switch

A control that allows the user to toggle between checked and not checked.

Table

A responsive table component.

Tabs

A set of layered sections of content—known as tab panels—that are displayed one at a time.

Tags Input

Tag inputs render tags inside an input, followed by an actual text input.

Tanstack Table

Updated

A powerful datatable for your app built with TanStack Table.

Textarea

Displays a form textarea or a component that looks like a textarea.

Timeline

A timeline component to display a series of events in chronological order.

Toggle

A two-state button that can be either on or off.

Toggle Group

A set of two-state buttons that can be toggled on or off.

Tooltip

A popup that displays information related to an element when the element receives keyboard focus or the mouse hovers over it.

Tree

A tree view widget displays a hierarchical list of items that can be expanded or collapsed to show or hide their child items, such as in a file system navigator.