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 Active Brutalist Glossy Matter Mellow Playful Premium Tailspin Docs Select Theme View Project on GitHub Star Project on GitHub
Start Components Docs Help Pro
Login Log into your account
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

Actions

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

Forms

  • Checkbox
  • Checkbox Group
  • Color Picker
  • Combobox ProThis requires access to Web Awesome Pro
  • Date Input ProThis requires access to Web Awesome Pro
  • Date Picker ProThis requires access to Web Awesome Pro
  • File Input ProThis requires access to Web Awesome Pro
  • Input
  • Known Date
  • Number Input
  • OTP Input
  • Radio Group
    • Radio
  • Rating
  • Select
    • Option
  • Slider
  • Switch
  • Tag Input
  • Textarea
  • Time Input

Layout

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

Navigation

  • Breadcrumb
    • Breadcrumb Item
  • Pagination
  • Stepper
    • Step
  • Tab Group
    • Tab
    • Tab Panel
  • Tree
    • Tree Item

Feedback

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

Media

  • Animated Image
  • Avatar
  • Carousel
    • Carousel Item
  • Comparison
  • Icon
  • Markdown
  • QR Code
  • Video ProThis requires access to Web Awesome Pro
  • Video Playlist ProThis requires access to Web Awesome Pro
  • Zoomable Frame

Data Viz ProThis requires access to Web Awesome Pro

  • Bar Chart
  • Bubble Chart
  • Data Grid
  • Doughnut Chart
  • Line Chart
  • Pie Chart
  • Polar Area Chart
  • Radar Chart
  • Scatter Chart
  • Sparkline
  • Advanced Usage

Helpers

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

Step

  • API
  • Importing
  • Slots
  • Attributes & Properties
  • CSS Custom Properties
  • Custom States
  • CSS Parts
  • Dependencies
On This Page...
  • API
  • Importing
  • Slots
  • Attributes & Properties
  • CSS Custom Properties
  • Custom States
  • CSS Parts
  • Dependencies

Step

<wa-step>
Experimental Navigation Since 3.14

Steps represent a single stage inside a <wa-stepper>, showing its position, label, and status.

This component must be used as a child of <wa-stepper>. Please see the Stepper docs to see examples of this component in action.

Cart Shipping Enter your address Payment
<wa-stepper active="shipping">
  <wa-step name="cart" completed>Cart</wa-step>
  <wa-step name="shipping" data-anatomy-subject="true">
    Shipping
    <span slot="description">Enter your address</span>
  </wa-step>
  <wa-step name="payment">Payment</wa-step>
</wa-stepper>

API

Link to This Section

Importing

Link to This Section

If you're using the autoloader or a hosted project, components load on demand — no manual import needed. To cherry-pick a component manually, use one of the following snippets.

CDN npm Self-Hosted React

Import this component directly from the CDN:

import 'https://ka-f.webawesome.com/[email protected]/components/step/step.js';

After installing Web Awesome via npm, import this component:

import '@awesome.me/webawesome/dist/components/step/step.js';

If you're self-hosting Web Awesome, import this component from your server:

import './webawesome/dist/components/step/step.js';

To import this component for React 18 or below, use the following code:

import WaStep from '@awesome.me/webawesome/dist/react/step/index.js';

Slots

Link to This Section

Learn more about using slots.

Name Description
(default) The step's label.
description Optional text shown under the label.
icon An element, such as <wa-icon>, that replaces the step number, checkmark, or loading indicator.

Attributes & Properties

Link to This Section

Learn more about attributes and properties.

Name Description Reflects
active
active
Draws the step as the stepper's current step. The parent <wa-stepper> sets this from its own active attribute, so you only need to set it yourself for SSR.
Type boolean
Default false
attention
attention
Adds an animation to the step's marker to draw attention to it, e.g. the step the user should do next.
Type 'none' | 'pulse' | 'bounce'
Default 'none'
completed
completed
Marks the step done. Shows a checkmark instead of the step number.
Type boolean
Default false
disabled
disabled
Makes the step non-interactive. It can't be clicked or reached with next()/goTo(), and it renders as a disabled button when the stepper is clickable.
Type boolean
Default false
loading
loading
Shows a loading indicator instead of the step number, e.g. while an async transition is in progress.
Type boolean
Default false
name
name
Identifies the step. Matched against the stepper's active attribute and used in events.
Type string
Default ''
variant
variant
Colors the step's marker with a semantic color. Upcoming brand steps keep a neutral outline so a default stepper reads quietly. The color is cosmetic; pair it with an icon in the icon slot and a clear label when a step needs to read as failed or flagged.
Type 'neutral' | 'brand' | 'success' | 'warning' | 'danger'
Default 'brand'
withDescription
with-description
Only required for SSR. Set to true if you're slotting in a description element, so the server-rendered markup includes it before the component hydrates on the client.
Type boolean
Default false

CSS Custom Properties

Link to This Section

Learn more about CSS custom properties.

Name Description
--pulse-color
The color of the marker's pulse effect when using attention="pulse". Defaults to the step's accent color.

Custom States

Link to This Section

Learn more about custom states.

Name Description CSS selector
active Applied when this is the parent stepper's current step. :state(active)
clickable Applied by the parent stepper when its clickable attribute is set, allowing this step to be clicked or activated (Enter/Space) directly. :state(clickable)
completed Mirrors the completed attribute. :state(completed)
disabled Mirrors the disabled attribute. :state(disabled)
loading Mirrors the loading attribute. :state(loading)
locked Applied by the parent stepper when linear is set and this step can't be reached yet, i.e. it comes after the first incomplete step. :state(locked)

CSS Parts

Link to This Section

Learn more about CSS parts.

Name Description CSS selector
button The <button> wrapping the marker and content. Only rendered when the parent stepper is clickable; otherwise the same wrapper is a plain, non-focusable element. ::part(button)
connector The line connecting this step to its neighbors. Each step draws the half leading in and the half leading out, and both carry this part name. ::part(connector)
content The wrapper around the label, status text, and description. ::part(content)
description The step's description. ::part(description)
label The step's label. ::part(label)
marker The circular marker that shows the step's number, checkmark, or loading indicator. ::part(marker)
spinner The spinner shown in the marker while the step is loading. ::part(spinner)
status Visually hidden text that tells assistive technology whether the step is completed, not completed, or locked. ::part(status)
step The component's outer wrapper. ::part(step)

Dependencies

Link to This Section

This component automatically imports the following elements. Sub-dependencies, if any exist, will also be included in this list.

  • <wa-icon>
  • <wa-spinner>
Need a hand? Report a bug Ask for help
Go Make Something Awesome
Version 3.14.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

    We Have Cookies…

    We use cookies to make webawesome.com work better by storing limited information about your usage.

    We value your privacy, so we won't use them for evil or ask you to join the dark side.

    Customize
    Necessary Only Accept All
    Strictly Necessary
    Required to make the site function correctly — cannot be turned off
    Functionality Analytics
    Cancel Confirm Cookie Choices