Skip to content

ViewLoading

Overview

Full-page loading placeholder for route-level async resolution. Composes a SystemMessageCard(tone="loading") with a spinner crest, an optional verb-path crest label, a body row for what is loading and one-line context, a LoadingSkeletonGhost claiming layout space, and a LoadingHeartbeatStrip showing elapsed time and dependency progress. Once elapsedMs exceeds slowAfterMs the card flips to tone="warning", the spinner swaps for an hourglass, the heartbeat dot turns amber, and the slow-path body is shown. A slow-actions slot populates the card actions footer (e.g. Cancel, View queue).

Theme entry: ViewLoading

Props

NameTypeRequiredDefaultDescription
iconOverrideObjectnullA partial icon registry ({ [componentName]: { [iconName]: { component, props } } }) merged with inherited and default icon entries; scopes icon overrides to this component and its descendants.
themeOverrideString|Object|ArraynullA partial theme object merged with the component's default theme; accepts a class string, class array, or theme object.
namestringundefinedWhat is being loaded (e.g. "Loading customer record").
verbstringundefinedHTTP verb of the in-flight request (e.g. "GET").
pathstringundefinedRoute path of the in-flight request (e.g. "/crm/customers/4218").
contextstringundefinedOne-line context beneath the name (e.g. "Northwind Logistics · 14 invoices · 3 contacts").
requestIdstringundefinedRequest identifier forwarded to LoadingHeartbeatStrip.
dependencies{ resolved: number, total: number }|undefinedundefinedResolved and total dependency counts forwarded to LoadingHeartbeatStrip.
slowBlurbstringundefinedRoute-specific explanation shown in the slow-path blurb once the wait exceeds slowAfterMs. E.g. "The aging report aggregates 14 k invoices across 380 customers."
slowAfterMsnumber() => { if (typeof window === "undefined") return 3000; const raw = window .getComputedStyle(document.documentElement) .getPropertyValue("--vueda-loading-slow-ms") .trim(); const parsed = parseInt(raw, 10); return Number.isFinite(parsed) ? parsed : 3000; }Milliseconds before the slow-path warning tone activates. Defaults to the --vueda-loading-slow-ms CSS token (3000ms). Override per-route for known-slow views (reports, exports) to avoid a premature flip.

Slots

slow-actions

Slot.

Source

client/lib/views/ViewLoading.vue

Documents matching: server v3.0.0a1.post1client v3.0.0-alpha.2