Interactive Dashboard Widgets
Modern dashboard with draggable, resizable widgets and real-time data visualization, perfect for admin panels and analytics interfaces.
Responsive Design
Yes
Dark Mode Support
No
lines
709
Browser Compatibility
Chrome · Firefox · Safari · Edge
Live Preview
Interact with the component without leaving the page.
HTML
134
lines
CSS
310
lines
JavaScript
265
lines
<div class="dashboard-container">
<div class="dashboard-header">
<h2>Analytics Dashboard</h2>
<div class="dashboard-controls">
<button class="control-btn" id="addWidgetBtn">Add Widget</button>
<button class="control-btn" id="resetLayoutBtn">Reset Layout</button>
</div>
</div>
<div class="dashboard-grid" id="dashboardGrid">
<!-- Widget 1: Traffic Overview -->
<div class="widget" data-id="traffic">
<div class="widget-header">
<h3>Traffic Overview</h3>
<div class="widget-controls">
<button class="widget-btn expand-btn">↕</button>
<button class="widget-btn close-btn">×</button>
</div>
</div>
<div class="widget-content">
<div class="chart-container">
<canvas id="trafficChart"></canvas>
</div>
<div class="widget-stats">
<div class="stat-item">
<span class="stat-value">24.8K</span>
<span class="stat-label">Visitors</span>
</div>
<div class="stat-item">
<span class="stat-value">+12.4%</span>
<span class="stat-label">Growth</span>
</div>
</div>
</div>
</div>
<!-- Widget 2: Revenue -->
<div class="widget" data-id="revenue">
<div class="widget-header">
<h3>Revenue</h3>
<div class="widget-controls">
<button class="widget-btn expand-btn">↕</button>
<button class="widget-btn close-btn">×</button>
</div>
</div>
<div class="widget-content">
<div class="chart-container">
<canvas id="revenueChart"></canvas>
</div>
<div class="widget-stats">
<div class="stat-item">
<span class="stat-value">\$42.6K</span>
<span class="stat-label">Total</span>
</div>
<div class="stat-item">
<span class="stat-value">+8.2%</span>
<span class="stat-label">This Month</span>
</div>
</div>
</div>
</div>
<!-- Widget 3: User Activity -->
<div class="widget" data-id="activity">
<div class="widget-header">
<h3>User Activity</h3>
<div class="widget-controls">
<button class="widget-btn expand-btn">↕</button>
<button class="widget-btn close-btn">×</button>
</div>
</div>
<div class="widget-content">
<div class="activity-list">
<div class="activity-item">
<div class="activity-icon">👤</div>
<div class="activity-details">
<div class="activity-title">New user registered</div>
<div class="activity-time">2 minutes ago</div>
</div>
</div>
<div class="activity-item">
<div class="activity-icon">🛒</div>
<div class="activity-details">
<div class="activity-title">New order received</div>
<div class="activity-time">15 minutes ago</div>
</div>
</div>
<div class="activity-item">
<div class="activity-icon">✉️</div>
<div class="activity-details">
<div class="activity-title">New message</div>
<div class="activity-time">1 hour ago</div>
</div>
</div>
</div>
</div>
</div>
<!-- Widget 4: Performance -->
<div class="widget" data-id="performance">
<div class="widget-header">
<h3>Performance Metrics</h3>
<div class="widget-controls">
<button class="widget-btn expand-btn">↕</button>
<button class="widget-btn close-btn">×</button>
</div>
</div>
<div class="widget-content">
<div class="metrics-grid">
<div class="metric-card">
<div class="metric-title">Response Time</div>
<div class="metric-value">124ms</div>
<div class="metric-trend positive">↓ 12%</div>
</div>
<div class="metric-card">
<div class="metric-title">Uptime</div>
<div class="metric-value">99.9%</div>
<div class="metric-trend positive">↑ 0.1%</div>
</div>
<div class="metric-card">
<div class="metric-title">Error Rate</div>
<div class="metric-value">0.2%</div>
<div class="metric-trend negative">↑ 0.05%</div>
</div>
<div class="metric-card">
<div class="metric-title">Throughput</div>
<div class="metric-value">1.2K/s</div>
<div class="metric-trend positive">↑ 8%</div>
</div>
</div>
</div>
</div>
</div>
</div>
Browser Compatibility
Chrome
≥ 50
Firefox
≥ 45
Safari
≥ 10
Edge
≥ 15