Font Awesome Build 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 Yoummday Light Yoummday Dark 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 Yoummday Light Yoummday Dark 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
  • Component Showcase
  • Changelog
  • Help & Support

Theming & Utilities

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

Actions

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

Forms

  • Checkbox
  • Checkbox Group
  • Color Picker
  • File Upload
  • Input
  • Known Date
  • Number Input
  • OTP Input
  • Radio Group
    • Radio
  • Rating
  • Select
    • Option
  • Slider
  • Switch
  • Textarea
  • Time Input

Layout

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

Navigation

  • Breadcrumb
    • Breadcrumb Item
  • Navigation Entry
  • Pagination
  • Tab Group
    • Tab
    • Tab Panel
  • Tree
    • Tree Item

Feedback

  • Badge
  • Callout
  • Empty State
  • Progress
  • Progress Bar
  • Progress Ring
  • Progress Ring Group
  • Skeleton
  • Spinner
  • Tag
  • Toast
    • Toast Item
  • 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.8
Accordion Item

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

Experimental Since 3.8
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. This subclass adds the Yoummday badge palette and sizing to Web Awesome's badge behavior.

Stable modified Since ymmd-0.3
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 modified 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
Button Row

Button rows align related actions while keeping primary and minor actions in predictable positions.

Experimental added Since ymmd-0.3
Callout

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

Stable modified 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 modified 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 related checkboxes so they keep Web Awesome's labeling semantics while also behaving as a single aggregate form control with a shared array value.

Stable modified Since ymmd-0.3
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
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
Content Header

Content headers introduce a page or major content region and align its contextual controls and actions.

Stable added Since ymmd-0.3
Copy Button

Copy buttons copy text to the clipboard when the user activates them. The Yoummday subclass preserves Web Awesome behavior and adds stronger success feedback styling.

Stable modified Since ymmd-0.3
Datepicker

Datepickers let users enter or choose dates, date ranges, weeks, and date/time values.

Stable added Since ymmd-0.3
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 modified 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 modified Since 3.0
Empty State

Communicates that a collection or view has no content, with an optional graphic and supporting text.

Experimental added Since ymmd-0.3
Expandable Table Row

Groups a table row with detail rows that can be expanded and collapsed.

Experimental added Since ymmd-0.3
File Upload

Drop or select a single file with Yoummday's legacy preview-oriented upload UI.

Experimental added Since ymmd-0.3
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 modified 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
Info Card

A compact summary card with optional title, info text, and tooltip.

Experimental added Since ymmd-0.3
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
Navigation Entry

Displays an icon, label, and optional indicator inside a navigation item.

Experimental added Since ymmd-0.3
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 modified Since 2.0
OTP Input

OTP inputs collect one-time passcodes, PINs, and other fixed-length codes, one character per segment. Use them for SMS verification, two-factor authentication, and invite codes.

Experimental Since 3.11
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
Page Header

Frames application-level navigation, controls, and actions at the top of a page.

Experimental added Since 3.11
Pagination

Pagination splits long lists of content into pages, letting users navigate between them.

Experimental Since 3.11
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
Profile Image

Displays an editable profile image with an image picker and square crop workflow.

Experimental added Since ymmd-0.3
Progress

Combines multiple progress values into a single segmented track and legend.

Experimental added Since ymmd-0.3
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 modified 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
Progress Ring Group

Progress ring groups render multiple progress rings together in nested or stacked layouts.

Stable added Since ymmd-0.3
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.10
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 modified 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. This subclass adds Yoummday's searchable, select-all, bounded-selection, and committed-value behavior.

Stable modified Since ymmd-0.3
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 modified 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 modified Since 2.0
Tab Group
modified
Tab Panel

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

Stable Since 2.0
Table

Presents structured data in rows and columns.

Experimental added Since ymmd-0.3
Table Cell

Displays a data or column-header cell inside a table row.

Experimental added Since ymmd-0.3
Table Row

Groups cells into a row for use inside a table.

Experimental added Since ymmd-0.3
Tag

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

Stable modified 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
Time Tracker

Tracks elapsed time as a stopwatch or remaining time as a countdown.

Experimental added Since ymmd-0.3
Toast

Toasts display brief, non-blocking notifications that appear temporarily above the page content.

Stable Since 3.3
Toast Item

Toast items are individual notifications displayed within a toast container.

Stable Since 3.3
Tooltip

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

Stable modified 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 modified 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 modified Since 2.0
User

Displays an avatar with a user's identity and optional secondary details.

Experimental added Since ymmd-0.3
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.5.1 © 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