UI Showcase

Component Examples

Every MudBlazor component styled with the Mezzo Recovery design system.

Alerts & Notifications

Alert

Contextual feedback for user actions — info, success, warning, and error severity levels.

Info: Your session will expire in 5 minutes.
Success: Settings saved successfully.
Warning: Unsaved changes will be lost.
Error: Unable to connect to the server.

Snackbar

Brief, non-blocking messages that appear at the bottom of the screen and auto-dismiss.

Dialog

Modal overlays for confirmations, forms, and detail views.

Tooltip

Short contextual hints that appear on hover, revealing extra detail without cluttering the UI.

Buttons & FAB

Button

Primary call-to-action element available in filled, outlined, and text variants.

Icon Button

Compact button using only an icon — ideal for toolbars and action columns.

FAB – Floating Action Button

Prominent circular button for the primary action on a screen.

Button Group / Toggle Group

Groups of mutually-exclusive or multi-select options rendered as joined buttons.

Selected: grid

Inputs & Form Controls

Text Field

Single-line and multi-line text inputs in outlined, filled, and underlined modes.

Full Name
Email Address
Password
Disabled
Notes

Numeric Field

Number input with optional spin controls and validation.

Age

$

Amount ($)
Quantity

Select

Dropdown selection from a predefined list of options.

Status
Priority

Autocomplete

Text input with real-time search suggestions from a data source.

Search City

Checkbox

Boolean toggle for individual options or selecting rows in a list.

Radio Group

Mutually-exclusive options — only one can be selected at a time.

Switch

Binary toggle typically used for enabling or disabling a feature.

Slider

Range input for selecting a value or range along a continuous scale.

Volume: 65%
Min: 20
Max: 75

Rating

Star (or icon) rating input for collecting user feedback scores.

Your rating: 4 stars

Date Picker

Calendar overlay for selecting a single date or a date range.

Appointment Date
Date Range

Time Picker

Clock-face overlay for selecting hours and minutes.

Start Time

File Upload

Drag-and-drop or click-to-browse file input.

Navigation Patterns

Breadcrumbs

Shows the current page location within the site hierarchy.

Tabs

Switches between related content panels within the same page context.

Overview tab content — general summary of the record.

Stepper

Guides users through a multi-step workflow with clear progress indication.

Pagination

Breaks a long list into numbered pages with prev/next controls.

  • ...

  • ...

Current page: 1

Tree View

Hierarchical data displayed as an expandable nested list.

  • Mezzo Recovery

    • Clinical

    • Administration

Data Display

Data Table

Sortable, paginated grid for structured datasets with hover rows.

Client Admission Date Program Status
Alex Carter Apr 01, 2026 Residential
Active
Jordan Mills Mar 15, 2026 Outpatient
Active
Sam Rivera Feb 20, 2026 Aftercare
Active
Casey Lee Jan 10, 2026 Residential
Discharged
Morgan Owens Mar 28, 2026 IOP
Active
Riley Cruz Apr 05, 2026 Residential
Active

Card

Surface container for related content — supports header, media, body, and action areas.

Clinical Update

Dr. Vasquez

Week 2 assessment completed. Client progressing well.

Admissions Note

Intake Team

New referral from community partner. Pre-screening done.

Billing Alert

Finance Dept

Insurance pre-auth expires in 3 days. Action required.

Chip

Compact labels for tags, categories, status indicators, and filter pills.

Active
Pending
Critical
Completed
On Hold
Scheduled
Removable

Avatar & AvatarGroup

User or entity representations using initials, icons, or images.

Badge

Small numerical or status overlay on an icon or avatar.

3 12

Timeline

Chronological list of events with connectors and optional content.

Intake Assessment

Apr 1, 2026 — Initial evaluation completed.

Treatment Plan

Apr 3, 2026 — 90-day residential plan approved.

Week 1 Check-in

Apr 8, 2026 — Progress noted, no concerns.

Milestone: 30 Days

May 1, 2026 — First milestone reached.

Expansion Panel

Collapsible content sections that conserve vertical space.

What is residential treatment?
How long does the program last?
What aftercare support is available?

List

Structured rows of items — supports icons, avatars, secondary text, and click actions.

Alex Carter

Residential — Day 14

Jordan Mills

Outpatient — Week 3

Sam Rivera

Aftercare — Month 2

Casey Lee

Discharged

Progress Indicators

Linear and circular indicators for loading states and completion percentages.

Linear — determinate
Linear — indeterminate (loading)
72%
Loading
Done

Skeleton

Placeholder shapes that mimic content layout while data is loading.

Layout & Surfaces

Paper

The foundational surface element — used under cards, popovers, drawers, and dialogs.

Elevation 0

Flat, bordered surface.

Elevation 2

Subtle shadow depth.

Elevation 5 (gold)

Accent shadow depth.

Divider

Horizontal or vertical rule separating distinct sections of content.

Section A content


Section B content


Section C content

Left


Right

Grid

12-column responsive layout system with breakpoint control.

xs=12
xs=6
xs=6
xs=4
xs=4
xs=4
xs=3
xs=3
xs=3
xs=3

Typography & Iconography

Typography Scale

Complete type scale — headings use BrandonGrotLight, body uses AvenirLight.

H1 Display

H2 Section Title

H3 Subsection

H4 Label Header

H5 Card Title
H6 Small Header

Subtitle 1 — uppercase spaced label

Subtitle 2 — smaller spaced label

Body 1 — standard paragraph text in AvenirLight at 1rem / 1.7 line-height. Suited for long-form reading.

Body 2 — slightly smaller body text at 0.9rem for secondary paragraphs.

Caption — small print, timestamps, helper text. OVERLINE — widest tracking for eyebrow labels

Links

Inline text links inherit the gold accent colour with hover transition.

Icons

Material Design icon library — scale, colour, and size variants.

Colour Palette

All brand colours from the Mezzo design token set.

Background #0c0c0c
Surface Alt #111214
Card #161819
Accent #b8975a
Acct Light #d4b47a
Acct Dark #a07840
Text #f0ede8
Muted #9a9690
Border #2a2826
Error #cf6679
Success #6ba580
Warning #d4b47a
Info #7ea8c0
An unhandled error has occurred. Reload 🗙

Connection Interrupted

Your current session is still open. We'll keep trying to restore it.

Rejoining the server...

Rejoin failed. Trying again in s.

Failed to rejoin. Retry now or reload the page.

The session has been paused by the server.

Failed to resume the session. Retry now or reload the page.