Alex Rivers Product Strategy

Product Strategy

Feedback

Progress indicators and notification systems for communicating task status, system feedback, and user alerts.

Progress Bar Components

Linear progress indicators showing completion percentage for tasks, uploads, downloads, and long-running operations.

Basic Progress Bar

Processing Document
65%

Progress Bar Sizes

Extra Small (0.25rem)
40%
Small (0.375rem)
50%
Medium - Default (0.5rem)
60%
Large (0.75rem)
70%
Extra Large (1rem)
80%

Progress Bar Variants

Default (Brand Color)
45%
Success (Completed)
100%
Warning (Needs Attention)
67%
Danger (Critical)
25%
Info
65%

Striped & Animated Progress Bars

Striped Pattern
70%
Animated Stripes (Processing)
55%

Indeterminate Progress (Loading State)

Use when operation duration is unknown

Loading Data...

Gradient Progress Bar

Upload Progress
78%

Buffered Progress Bar

For streaming media or downloads with buffer ahead of playback

Video Playback
45%

Progress Bar with Icon

Uploading Files
62%

Stacked Progress Bars (Multi-Segment)

Show multiple values that sum to 100%

Documents (45%)
Media (25%)
Archives (20%)
Other (10%)

Compact Progress Bar

For dense layouts and inline contexts

Sync Progress
85%

Interactive Demos

Manual Progress Control

Task Progress
0%

Simulated File Upload

Uploading document.pdf
0%

Loading State Toggle

Processing request...

Progress Bars in Context

Project Alpha

Active

Design and development phase in progress

Overall Progress
73%

Storage Usage

80% Full

8 GB of 10 GB used

Disk Space
80%

Team Goals

Completed

All quarterly objectives achieved

Q1 2025
100%

Notification Center Component

Centralized message inbox for user notifications, alerts, and system messages with filtering and management capabilities.

Notification Center Trigger

Click the bell icon to open the notification center panel

Programmatic Control

Add notifications and manage notification center via JavaScript API

Add Sample Notifications

Notification Center Controls

Notification Features

Supported Features

  • Notification Types - Info, Success, Warning, Danger with semantic colors
  • Filtering - View all, unread only, or read notifications
  • Date Grouping - Automatic grouping by Today, Yesterday, This Week, or specific dates
  • Mark as Read - Click notification to mark as read, or mark all read at once
  • Dismissal - Individual dismiss buttons for each notification
  • Unread Badge - Visual indicator showing count of unread messages
  • Categories - Optional category labels for notification organization
  • Actions - Custom action buttons within notifications
  • Responsive - Full-width panel on mobile, sidebar on desktop
  • Keyboard Support - Escape key closes the panel

JavaScript API

NotificationCenter API

JavaScript

// Add notification
VanillaUI.NotificationCenter.addNotification({
    title: 'Task Complete',
    message: 'Your export has finished',
    type: 'success',
    category: 'Exports'
});

// Control panel
VanillaUI.NotificationCenter.open();
VanillaUI.NotificationCenter.close();
VanillaUI.NotificationCenter.toggle();

// Manage notifications
VanillaUI.NotificationCenter.markAsRead(notificationId);
VanillaUI.NotificationCenter.markAllAsRead();
VanillaUI.NotificationCenter.dismiss(notificationId);
VanillaUI.NotificationCenter.clearAll();

// Get state
const count = VanillaUI.NotificationCenter.getUnreadCount();
const notifications = VanillaUI.NotificationCenter.getNotifications();

Real-World Integration Example

Notification center integrated into application header with live updates

Simulated Workflow

Click buttons to trigger events that generate notifications:

Open the notification center (bell icon) to see the messages generated by these actions.

Alerts & Toast Notifications

Inline alert components and toast notifications for contextual feedback, information, and system messages.

Alert Variants

Success!

Your changes have been saved successfully.

Warning

This action may have unintended consequences. Please review before proceeding.

Error

Unable to complete the operation. Please try again later.

Information

This is an informational message to help guide your next action.

Alerts with Actions

Your trial is expiring soon

Your trial period ends in 3 days. Upgrade to continue using premium features.

New update available

Version 2.0 is now available with new features and improvements.

Compact Alerts

File uploaded successfully.

Invalid email format.

Toast Notifications

Toast notifications appear in the top-right corner and auto-dismiss after 5 seconds.

Advanced feedback and utility components including loading overlays, error boundaries, feature flags management, and social sharing.

For Progress Bars, Alerts, Toasts, and Notification Center, see the main Feedback Components page

Loading Overlay Component

Page-level and section-level loading indicators with spinners, progress bars, and customizable messages.

Page-Level Loading Overlay

Covers the entire page with a loading indicator

Section-Level Loading Overlay

Loading indicator scoped to a specific section or card

Content Section

This is a sample content section that can show a loading overlay.

Simulated Upload with Progress

File Upload Simulation

Demonstrates a realistic file upload scenario with progress tracking.

JavaScript API

LoadingOverlay API

JavaScript

// Show page-level loading
const id = VanillaUI.LoadingOverlay.show({
    title: 'Loading',
    message: 'Please wait...',
    size: 'md' // 'sm', 'md', 'lg'
});

// Show with progress bar
const id = VanillaUI.LoadingOverlay.showWithProgress({
    title: 'Processing',
    message: 'Uploading files...',
    progress: 0
});

// Update progress
VanillaUI.LoadingOverlay.updateProgress(id, 50, 'Half way there...');

// Show section loading
const id = VanillaUI.LoadingOverlay.showSection('#my-section', 'Loading data...');

// Hide overlay
VanillaUI.LoadingOverlay.hide(id);

// Simulate progress
VanillaUI.LoadingOverlay.simulateProgress({
    duration: 3000,
    title: 'Processing',
    onComplete: () => console.log('Done!')
});

Error Boundary Component

Graceful error handling UI with recovery options, error details, and user-friendly messaging.

Full-Screen Error Boundary

Page-level error display with actions and collapsible details

Inline Error Boundary

Card-style error display for failed content sections

Content Section

This section can display an error state.

Error Alert Banner

Dismissible error alerts for contextual messages

Async Error Handling

Automatic Error Boundary for Async Operations

Wrap async functions to automatically catch and display errors.

JavaScript API

ErrorBoundary API

JavaScript

// Show full-screen error
VanillaUI.ErrorBoundary.showFullScreen({
    title: 'An Error Occurred',
    message: 'Something went wrong. Please try again.',
    details: errorStack, // Stack trace or error details
    code: 'ERR_500',
    icon: 'error', // 'error', 'warning', 'info'
    actions: [
        { label: 'Reload Page', variant: 'primary', action: () => location.reload() },
        { label: 'Go Home', variant: 'secondary', action: () => location.href = '/' }
    ]
});

// Show inline error
VanillaUI.ErrorBoundary.showInline('#container', {
    title: 'Failed to Load',
    message: 'Unable to fetch data',
    actions: [
        { label: 'Retry', variant: 'primary', action: retryFunction }
    ]
});

// Show error alert
VanillaUI.ErrorBoundary.showAlert({
    title: 'Error',
    message: 'Operation failed',
    dismissible: true,
    actions: [{ label: 'Retry', action: retryFunction }]
});

// Wrap async functions
const safeFunction = VanillaUI.ErrorBoundary.wrapAsync(
    async () => { /* ... */ },
    { title: 'Operation Failed' }
);

// Set custom global error handler
VanillaUI.ErrorBoundary.setGlobalErrorHandler((error) => {
    // Custom error handling logic
});