Web Awesome (ViUR)

Font Awesome
Try SSR Server-side rendering (SSR) generates component HTML on the server before the page loads, improving SEO and initial load time. Use the switch to see Web Awesome components render with and without SSR.
Search this website ⌘KCtrl+K Light Dark System Docs Select Color Scheme Default Awesome Shoelace Active Brutalist Glossy Matter Mellow Playful Premium Tailspin Docs Select Theme View Project on GitHub Star Project on GitHub
Start Components Docs Help
Web Awesome Font Awesome Build Awesome
Search this site… /
Try SSR Server-side rendering (SSR) generates component HTML on the server before the page loads, improving SEO and initial load time. Use the switch to see Web Awesome components render with and without SSR.
Light Dark System Docs Select Color Scheme Default Awesome Shoelace Active Brutalist Glossy Matter Mellow Playful Premium Tailspin Docs Select Theme

Getting Started

  • Installation
  • Usage
  • Forms
  • Localization
  • Frameworks
  • Using with AI
  • Figma Design Kit ProThis requires access to Web Awesome Pro
  • Server Rendering

Resources

  • Accessibility
  • Browser Support
  • Contributing
  • Patterns ProPatterns require access to Web Awesome Pro
  • Migrating from Shoelace
  • Visual Tests
  • Changelog
  • Help & Support

Theming & Utilities

  • Overview
  • Built-in Themes
  • Color Palettes
  • Design Tokens
  • Customizing & Theming
  • CSS Utilities

ViUR Components

  • Alert
  • Combobox
  • Pagination
  • Table Wrapper

Actions

  • Button
  • Button Group
  • Copy Button
  • Dropdown
    • Dropdown Item

Forms

  • Checkbox
  • Checkbox Group
  • Color Picker
  • Input
  • Known Date
  • Number Input
  • Radio Group
    • Radio
  • Rating
  • Select
    • Option
  • Slider
  • Switch
  • Textarea
  • Time Input
  • Data Grid Planned A Web Awesome Kickstarter stretch goal!

Layout

  • Accordion
    • Accordion Item
  • Card
  • Details
  • Dialog
  • Divider
  • Drawer
  • Page
  • Scroller
  • Split Panel

Navigation

  • Breadcrumb
    • Breadcrumb Item
  • Tab Group
    • Tab
    • Tab Panel
  • Tree
    • Tree Item

Feedback

  • Badge
  • Callout
  • Progress Bar
  • Progress Ring
  • Skeleton
  • Spinner
  • Tag
  • Tooltip

Media

  • Animated Image
  • Avatar
  • Carousel
    • Carousel Item
  • Comparison
  • Icon
  • Markdown
  • QR Code
  • Zoomable Frame

Data Viz

  • Advanced Usage

Helpers

  • Animation
  • Format Bytes
  • Format Date
  • Format Number
  • Include
  • Intersection Observer
  • Mutation Observer
  • Popover
  • Popup
  • Random Content
  • Relative Time
  • Resize Observer
On This Page...

Browse Components

Press ⌘KCtrl+K to search from any page

Accordion

Accordions are a vertically stacked set of interactive headings that each contain a title, representing a section of content.

Experimental Since 3.7
Accordion Item

Accordion items are used inside <wa-accordion> to create expandable sections with accessible headers.

Experimental Since 1.0
Alert

Alerts are used to display important messages inline.

Experimental Since 3.0
Animated Image

Animated images display GIFs and WEBPs with controls to play and pause them on demand. Use them when you want motion but need to give users control over when it plays.

Stable Since 2.0
Animation

Animate elements declaratively with nearly 100 baked-in presets, or roll your own with custom keyframes. Powered by the Web Animations API.

Stable Since 2.0
Avatar

Avatars represent a person or object with an image, initials, or icon. Use them in lists, comments, and profiles to give users visual context at a glance.

Stable Since 2.0
Badge

Badges draw attention to adjacent content by displaying a status, count, or label. Use them to highlight notifications, categorize items, or flag new activity.

Stable Since 2.0
Breadcrumb

Breadcrumbs display a trail of links that show users where they are in a site's hierarchy. They help users understand the current location and navigate back to parent pages.

Stable Since 2.0
Breadcrumb Item

Breadcrumb items represent individual links inside a breadcrumb, typically one per level of the site hierarchy.

Stable Since 2.0
Button

Buttons represent actions the user can take, such as submitting a form, opening a dialog, or navigating to another page.

Stable Since 2.0
Button Group

Button groups combine related buttons into a single visual unit. Use them for toolbars, segmented controls, or any set of actions that belong together.

Stable Since 2.0
Callout

Callouts display important messages inline with surrounding content. Use them to highlight tips, warnings, errors, or other information users should not miss.

Stable Since 3.0
Card

Cards group related content and actions inside a bordered container. Use them to present products, articles, user profiles, or any self-contained unit of information.

Stable Since 2.0
Carousel

Carousels display a series of content slides along a horizontal or vertical axis, one or more at a time. Users can navigate between slides with controls, pagination, or autoplay.

Experimental Since 2.2
Carousel Item

Carousel items represent individual slides within a carousel.

Experimental Since 2.0
Checkbox

Checkboxes let users toggle an option on or off, or select multiple items from a list. They also support an indeterminate state for partial selections in groups.

Stable Since 2.0
Checkbox Group

Checkbox groups wrap a set of related checkboxes or switches so they share a label, hint, and grouping semantics.

Stable Since 3.9
Color Picker

Color pickers let users choose a color from a visual palette or by entering a value. They support HEX, RGB, HSL, and HSV formats with optional alpha channel and swatch presets.

Stable Since 2.0
Combobox

A combobox lets you select an item from a list of dynamically retrieved options. You can also type in the field to quickly filter the list.

Stable Since 2.0
Comparison

Comparisons show the visual differences between two pieces of similar content using a draggable divider. Use them for before/after images, design revisions, or side-by-side previews.

Stable Since 2.0
Copy Button

Copy buttons copy text to the clipboard when the user activates them. They provide built-in success and error feedback so users know the copy worked.

Stable Since 3.6
Details

Details display a brief summary and expand to reveal additional content. Use them to progressively disclose information, group related FAQs, or hide advanced options.

Stable Since 2.0
Dialog

Dialogs appear above the page and require the user's immediate attention. Use them for confirmations, forms, or focused tasks that interrupt the main flow.

Stable Since 2.0
Divider

Dividers visually separate or group adjacent elements with a horizontal or vertical line. Use them to establish rhythm and hierarchy within menus, toolbars, and layouts.

Stable Since 2.0
Drawer

Drawers slide in from the edge of a container to expose additional options and information without navigating away. Useful for navigation menus, filters, and secondary content.

Stable Since 2.0
Dropdown

Dropdowns display a list of options triggered by a button or other element. They support keyboard navigation, submenus, and checkable items for building menus and context actions.

Stable Since 2.0
Dropdown Item

Dropdown items represent selectable entries within a dropdown menu, including standard actions, checkable items, and submenu triggers.

Stable Since 3.0
Format Bytes

Formats a number of bytes as a human-readable string with the appropriate unit, such as kB, MB, or GB. Supports both byte and bit units with configurable locale.

Stable Since 2.0
Format Date

Formats a date or time for display using the specified locale and options. Powered by the Intl.DateTimeFormat API for consistent, localized output.

Stable Since 2.0
Format Number

Formats a number for display using the specified locale and options, including currency, percent, and unit styles. Powered by the Intl.NumberFormat API.

Stable Since 2.0
Icon

Icons are scalable vector symbols that represent actions, content, or status throughout your application. They support Font Awesome and custom icon libraries with animation presets.

Stable Since 2.0
Include

Fetches an external HTML file and embeds its contents inline on the page. Useful for reusing shared markup like headers, footers, and partials across multiple pages.

Stable Since 2.0
Input

Inputs collect single-line data from the user, such as text, numbers, email addresses, and passwords. They support labels, hints, validation, and prefix or suffix slots.

Stable Since 2.0
Intersection Observer

Tracks immediate child elements and fires events as they move in and out of view. Useful for lazy loading, scroll-triggered animations, and viewport-aware interactions.

Stable Since 2.0
Known Date

Known dates let users enter dates they already know - birthdays, expirations, document dates - through three separate day, month, and year fields shown in the locale's natural order.

Experimental Since 3.8
Markdown

Markdown elements render markdown content as HTML directly in the browser, making it easy to display user-generated content or documentation without a server-side build step.

Experimental Since 3.4
Mutation Observer

Mutation observers watch for changes to an element's DOM tree and emit an event when they occur. Provides a thin, declarative interface to the browser's MutationObserver API.

Stable Since 2.0
Number Input

Number inputs let users enter and edit numeric values, with optional stepper buttons for incrementing and decrementing. Use them for quantities, measurements, and other numeric form fields.

Stable Since 3.2
Option

Options represent the individual choices inside a select or similar form control. Each option holds a value and the label shown to the user.

Stable Since 2.0
Page

Pages scaffold an entire application layout with header, navigation, sidebar, main content, aside, and footer regions. Use them to structure full pages with minimal markup and responsive behavior built in.

Stable Since 3.0
Pagination
Experimental Since 2.0
Popover

Popovers display contextual content and interactive elements in a floating panel anchored to a trigger. Use them for rich tooltips, menus, or any content that appears on demand without navigating away.

Stable Since 3.0
Popup

Popups declaratively anchor one element to another and keep them positioned together as the page scrolls or resizes. Primarily a low-level building block for popovers, dropdowns, and tooltips.

Stable Since 2.0
Progress Bar

Progress bars show how far along an ongoing operation is as a horizontal fill. Use them for file uploads, multi-step flows, or any task with measurable progress.

Stable Since 2.0
Progress Ring

Progress rings show how far along a determinate operation is using a circular indicator. Use them as a compact alternative to progress bars when horizontal space is limited.

Stable Since 2.0
QR Code

QR codes encode a URL or other short text into a scannable image, rendered client-side using the Canvas API. Use them to share links, contact info, or Wi-Fi credentials that visitors can scan with a phone.

Stable Since 2.0
Radio

Radios represent a single option within a mutually exclusive set. Use them inside a radio group when users must pick exactly one choice from a small list.

Stable Since 2.0
Radio Group

Radio groups wrap a set of radios so they function as a single form control with one shared value. They handle keyboard navigation, labeling, and validation for the group as a whole.

Stable Since 2.0
Random Content

Selects one or more child elements at random and displays them, hiding the rest.

Experimental Since 3.9
Rating

Ratings display a numeric score as a row of selectable symbols, typically stars. Use them to capture quick feedback or show an average rating for a product or piece of content.

Stable Since 2.0
Relative Time

Relative times display a date as a localized phrase relative to now, such as "3 hours ago" or "in 2 days". The phrase updates automatically as time passes and respects the user's locale.

Stable Since 2.0
Resize Observer

Resize observers watch their slotted elements for size changes and emit an event when they occur. Provides a thin, declarative interface to the browser's ResizeObserver API.

Stable Since 2.0
Scroller

Scrollers wrap overflowing content in an accessible container with visual cues that help users recognize and navigate scrollable regions.

Stable Since 3.0
Select

Selects let users choose one or more values from a dropdown list of predefined options. Use them in forms when a fixed set of choices needs to fit in limited space.

Stable Since 2.0
Skeleton

Skeletons show placeholder shapes where content will appear once it finishes loading, reducing perceived wait time and preventing layout shift.

Stable Since 2.0
Slider

Sliders let users choose a numeric value within a defined range by dragging a thumb along a track.

Stable Since 2.0
Spinner

Spinners indicate that an operation is in progress when the duration is unknown. Use them for loading states where a determinate progress bar isn't practical.

Stable Since 2.0
Split Panel

Split panels display two adjacent panels separated by a draggable divider, letting users resize each side to suit their workflow.

Stable Since 2.0
Switch

Switches toggle a single setting on or off and apply the change immediately, without requiring a form submission.

Stable Since 2.0
Tab

Tabs label and activate an individual panel inside a tab group.

Stable Since 2.0
Tab Group

Tab groups organize related content into a single container that displays one panel at a time, with tabs for switching between them.

Stable Since 2.0
Tab Panel

Tab panels hold the content shown for a single tab inside a tab group.

Stable Since 2.0
Table Wrapper

Table Wrapper can be used to extend a simple Table with interactive functions

Experimental Since 3.0
Tag

Tags label, categorize, or represent selections with a compact visual marker. Use them for status indicators, filters, or removable chips.

Stable Since 2.0
Textarea

Textareas collect multi-line text input from the user, with optional resizing and character counting.

Stable Since 2.0
Time Input

Time pickers let users enter a time through a segmented field or select one visually from a popup column picker. They support 12- and 24-hour formats, optional seconds, and locale-aware segment order.

Experimental Since 3.8
Tooltip

Tooltips display brief contextual information when the user hovers, focuses, or taps a target element.

Stable Since 2.0
Tree

Trees allow you to display a hierarchical list of selectable tree items. Items with children can be expanded and collapsed as desired by the user.

Stable Since 2.0
Tree Item

Tree items represent a single hierarchical node inside a tree, and can contain nested items that expand and collapse.

Stable Since 2.0
Zoomable Frame

Zoomable frames embed iframe content with built-in controls for zooming, panning, and managing interaction.

Stable Since 3.0
No results found
Go Make Something Awesome
Version 0.17.0 © Fonticons, Inc.
  • Terms
  • Privacy
  • Refunds
  • Core License
  • Pro License

Quick Links

  • Components
  • CSS Utilities
  • Theming
  • Using with AI
  • Changelog
  • Help & Support

Recent Searches

    D'oh! No results for “”

    Suggest on GitHub Ask on Discord
    Navigate Select
    Close Esc