Feedback & status
How the app reports what is happening: messages that stay on the page, transient
notifications, progress for work in flight and placeholders while data loads.
Status colour always comes from the semantic scales — blue info, green
success, yellow warning, red danger.
Alert
Inline, persistent messages tied to a page or form. Light is the default variant.
color="blue | green | yellow | red" resolve to the info / success / warning / danger scales; light tints the 50 stop and promotes text to the 700 stop. withCloseButton dismisses — try it.Alert variants
Filled for the one message that must not be missed, outline and default for quieter emphasis.
Notification
The card a toast is made of — rendered statically here; colour bar or icon, loading and bordered forms.
color, title and message, close button. Shadow is --ds-shadow-lg.icon replaces the bar with a filled circle in the same colour.withBorder adds a hairline; the shipped globals.css colours its left edge for variant="success | error | warning | info".loading swaps the bar for a Loader; withCloseButton={false} for notifications the user cannot dismiss.Toast stack
Several notifications composed into the top-right stack an app shows after actions.
Purchase orders
| Order | Supplier | Status |
|---|---|---|
| PO-2041 | Atlas Packaging | Pending approval |
| PO-2040 | Keystone Logistics | Approved |
| PO-2039 | Brightline Electrical | Draft |
| PO-2038 | Meridian Foods | Shipped |
| PO-2037 | Cobalt IT Services | Approved |
Notifications stacked top-right, 340px wide, newest first, max four. @mantine/notifications is not part of the kit — this is the composed equivalent.Progress
Linear progress for a known ratio — sizes, semantic colours, stacked sections and striped work in flight.
xs
sm
md
lg
xl
size="xs" → "xl". The fill is primaryColor — ember.On-time delivery
92%
Budget used
79%
Storage quota
100%
Q4 sourcing plan
45%
color="green | yellow | red | blue" for status meaning — healthy, nearing a limit, over it, informational.Spend by category
80% of budget
Freight
Packaging
Software
Facilities
Progress.Root + Progress.Section with Progress.Label; legend uses ColorSwatch.Importing suppliers.csv
1,240 / 2,000 rows
Approval progress
2 of 3
striped, animated for work in flight; a label row above for the value and context.Ring & semi-circle
Circular forms for a KPI or a single headline ratio.
66%
80%
budget
sections with a centred label; a ThemeIcon marks completion.79% budget
92% on time
filledSegmentColor follows the same semantic colours.Loader
Indeterminate activity indicators for when the duration is unknown.
oval
bars
dots
type="oval" (default), "bars", "dots".xs
sm
md
lg
xl
size="xs" → "xl" (18–58px).primary
secondary
blue
green
yellow
red
color="secondary" for ink, or a semantic hue.Button loading
Buttons report their own pending action instead of a separate spinner.
loading: keeps the button's width, swaps the label for a Loader and blocks clicks. loaderProps picks the loader type.Idle
Skeleton
Placeholders shaped like the content that is about to load.
Priya Raman
Approver · Finance
visible wraps the real content so the layout does not shift when data arrives — toggle it.| Order | Supplier | Owner | Amount |
|---|---|---|---|
Loading overlay
Blocks a region that is saving or refreshing while keeping its content in view.
pos="relative") and blocks input; overlayProps={{ blur: 2 }} softens the content behind.