PUI.Progress

Copy Markdown

PUI.Progress renders an accessible progress bar for completion and loading states. The host LiveView owns the value and can update it through assigns.

Usage

<.progress value={42} label="Upload progress" />
<.progress value={3} min={0} max={10} value_text="3 of 10 items" />
<.progress value={75} class="h-3" />

LiveView updates

def handle_info({:upload_progress, value}, socket) do
  {:noreply, assign(socket, upload_progress: value)}
end
<.progress value={@upload_progress} label="Upload progress" />

Attributes

NameTypeDefaultDescription
minfloat0.0Minimum progress value
maxfloat100.0Maximum progress value
valuefloat0.0Current progress value
labelstringnilAccessible label for the progressbar
aria_labelledbystringnilID of an element labelling the progressbar
value_textstringnilHuman-readable value announced by screen readers
classstring""Additional CSS classes

The canonical module is PUI.Progress. Existing PUI.Components.progress/1 calls remain available as deprecated compatibility wrappers.