Components

Loading

Loading is the shared in-progress treatment used for submit buttons and standalone async surfaces.

Use this page to inspect the default spinner treatment and the browser attributes behind button loading.

Standalone loading

Standalone loading indicators use the same formie-loading class as loading buttons and can be reused in custom async surfaces that still follow the browser theme.

Button loading

Formie applies loading state during submission by marking the active form and submitter. The spinner is theme-driven rather than requiring separate DOM markup.

Sizes and colors

Use --formie-loading-size and --formie-loading-color when a custom async surface needs a different loading treatment.

Button variants

Loading states use the same mechanics across default, primary, secondary and ghost buttons.

Browser hooks

HookPurpose
.formie-loadingShared loading treatment class
data-formie-loading="true"Loading-state marker on form or submitter
data-formie-loading-indicatorLoading indicator style metadata
data-formie-loading-textLoading text metadata on submitters

Accessibility notes

  • Standalone indicators should use role="status" or equivalent surrounding copy when they need to announce activity.
  • Buttons in loading state should still communicate their current action context.
  • Loading treatment is visual only; disabled and submit lifecycle state should still come from real form behavior.
Last updated: May 6, 2026, 3:46 PM