Icons
Buttons
Badges
Cards
Avatar
Progress
Tabs
Accordion
Forms
Range
Number Input
File Input
Tags
Segmented
Tables
List Items
Pagination
Breadcrumb
Stepper
Timeline
Alerts
Notifications
Empty State
Loading
Modals
Popover
Divider
Logs
Matrix
Meter
Layout
Colors
Dark Mode
Icons
Les icones utilisent mask-image et heritent automatiquement de la couleur du texte parent.
Navigation
Actions
Media / Audio
Audio Routing
Feedback
Fichiers & UI
Tailles
xs / sm / md / lg / xl
Heritage de couleur
Usage
<!-- Icone simple -->
<span class="icon icon-play"></span>
<!-- Avec taille -->
<span class="icon icon-play icon-lg"></span>
<!-- Dans un bouton -->
<button class="btn btn-primary">
<span class="icon icon-play"></span> Lecture
</button>
<!-- Couleur heritee du parent -->
<span style="color: var(--color-success);">
<span class="icon icon-check-circle"></span> Valide
</span>
Badges
Basic Badges
Default
Primary
Success
Warning
Danger
Active
Idle
<span class="badge">Default</span>
<span class="badge badge-primary">Primary</span>
<span class="badge badge-success">Success</span>
Status Badges (plus grands)
Running
Active
Paused
Error
Cards
Basic Card
This is the card content. You can put any content here.
Stat Cards
128 MB
Memory
Heap: 64 MB
Section Card
Name:
Example Value
Status:
Active
Date:
2025-10-10
Config Grid
Codec:
AAC
Bitrate:
256k
Channels:
2
Sample Rate:
48kHz
Avatar
Sizes
With Status
Colors
Group
<div class="avatar">JD</div>
<div class="avatar avatar-lg avatar-primary">
AB
<span class="avatar-status online"></span>
</div>
Progress Bars
Basic Progress
Storage Bars
Tabs
<div class="tabs-nav">
<button class="tab-button active">Tab 1</button>
<button class="tab-button">Tab 2</button>
</div>
<div class="tab-content active">...</div>
<div class="tab-content">...</div>
Accordion
Content for section 1. This accordion item is expanded by default.
Content for section 2. Click the header to expand this section.
Content for section 3. Each section can contain any content.
<div class="accordion">
<div class="accordion-item">
<button class="accordion-header" aria-expanded="false">
Section Title
<span class="accordion-icon">▼</span>
</button>
<div class="accordion-content" aria-hidden="true">
Content here...
</div>
</div>
</div>
Range / Slider
<div class="range">
<input type="range" class="range-input" min="0" max="100" value="50">
</div>
Segmented Control
Basic
Day
Week
Month
Primary Color
Option 1
Option 2
Option 3
Block (Full Width)
Left
Center
Right
<div class="segmented">
<button class="segmented-item active">Day</button>
<button class="segmented-item">Week</button>
<button class="segmented-item">Month</button>
</div>
Tables
Basic Table
Name
Email
Status
Actions
John Doe
john@example.com
Active
Edit
Jane Smith
jane@example.com
Pending
Edit
Mike Johnson
mike@example.com
Active
Edit
Striped Table
ID
Product
Price
1 Product A $19.99
2 Product B $29.99
3 Product C $39.99
<table class="table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>Active</td>
</tr>
</tbody>
</table>
List Items
2024-01-15 14:00 - 15:30
john@example.com
2024-01-16 10:00 - 11:00
team@example.com
<div class="list-container">
<div class="list-item">
<div class="list-item-header">
<h4 class="list-item-title">Title</h4>
<span class="badge">Status</span>
</div>
<div class="list-item-meta">Meta info</div>
</div>
</div>
Breadcrumb
Basic
Home
Products
Category
Current Page
With Chevron
Home
Section
Page
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item" aria-current="page">Current</li>
</ol>
Stepper
Horizontal
1
Account
Create your account
2
Profile
Set up your profile
3
Complete
Review and finish
<div class="stepper">
<div class="stepper-step completed">...</div>
<div class="stepper-step active">...</div>
<div class="stepper-step">...</div>
</div>
Timeline
Package was delivered successfully.
Package is out for delivery.
<ul class="timeline">
<li class="timeline-item success">
<div class="timeline-marker"></div>
<div class="timeline-content">
<h4 class="timeline-title">Event</h4>
<p>Description</p>
</div>
</li>
</ul>
Alerts
Basic Alerts
ℹ️
Info Alert
This is an informational message to help you understand something.
✓
Success!
Your changes have been saved successfully.
⚠️
Warning
Please review this warning before continuing.
✗
Error
An error occurred. Please try again.
Dismissible Alert
💡
This alert can be dismissed by clicking the × button.
✕
<div class="alert alert-success">
<div class="alert-icon">✓</div>
<div class="alert-content">
<div class="alert-title">Success!</div>
<div class="alert-message">Operation completed.</div>
</div>
</div>
Notifications (Toast)
Les notifications apparaissent en haut a droite de l'ecran.
Success
Error
Info
Warning
<div class="notification success show">
Operation completed successfully!
</div>
<!-- Classes: success, error, info, warning -->
<!-- Add 'show' class to display -->
Empty State
Basic
📁
No files found
Upload your first file to get started.
Upload File
With Color
🔍
No results
Try adjusting your search criteria.
<div class="empty-state">
<div class="empty-state-icon">📁</div>
<h3 class="empty-state-title">No files</h3>
<p class="empty-state-description">Description</p>
<div class="empty-state-action">
<button class="btn btn-primary">Action</button>
</div>
</div>
Loading States
Spinners
Dots & Pulse
Skeleton Loaders
<div class="spinner"></div>
<div class="spinner-dots">
<span></span>
<span></span>
<span></span>
</div>
<div class="skeleton-card">
<div class="skeleton-title"></div>
<div class="skeleton-text"></div>
</div>
Modals & Overlays
Modal Dialog
Open Modal
<div class="modal-backdrop show">
<div class="modal">
<div class="modal-header">
<h3 class="modal-title">Title</h3>
<button class="modal-close">✕</button>
</div>
<div class="modal-body">Content</div>
<div class="modal-footer">
<button class="btn">Cancel</button>
<button class="btn btn-primary">OK</button>
</div>
</div>
</div>
Dropdown Menu
Open Menu ▾
Tooltip
Hover me
I'm a tooltip!
Popover
Basic (Hover)
Hover me
This is a popover with rich content.
With Header
With Header
This popover has a header and body content.
<div class="popover-trigger popover-hover">
<button class="btn">Trigger</button>
<div class="popover popover-bottom">
<div class="popover-body">Content</div>
</div>
</div>
Divider
Simple
With Text
OR
Dashed
With Colors
Primary
Success
Vertical (in flex container)
<div class="divider"></div>
<div class="divider">OR</div>
<div class="divider divider-dashed"></div>
Logs
Info
Warning
Error
14:23:45
[system]
Application started successfully
14:23:46
[job-1]
Processing 156 files
14:23:47
[job-1]
High memory usage detected
14:23:48
[job-2]
Failed to process file: access denied
14:23:49
[system]
Backup completed successfully
Matrix
Matrice de routage audio avec cellules cliquables. Voir la demo complete .
Track 1
✓
Track 2
✓
Track 3
✓
Track 4
✓
<div class="matrix-wrapper">
<table class="matrix-table">
<tr>
<td class="matrix-cell"></td>
<td class="matrix-cell active">✓</td>
</tr>
</table>
</div>
Meter
Vu-metres audio avec variantes horizontales et verticales. Voir la demo complete .
Horizontal
Vertical (Stereo)
<div class="meter meter-horizontal">
<div class="meter-bar" style="width: 75%;"></div>
</div>
<div class="meter meter-vertical">
<div class="meter-bar" style="height: 80%;"></div>
</div>
Layout Utilities
Grid
<div class="grid grid-3 gap-4">
<div>Grid 1</div>
<div>Grid 2</div>
<div>Grid 3</div>
</div>
Flexbox
Left
Right
<div class="flex-between">
<span>Left</span>
<span>Right</span>
</div>
🌓 Dark Mode
💡
Dark Mode activé !
Le dark mode s'active automatiquement selon vos préférences système, ou manuellement avec le bouton dans le header. Le choix est persisté dans localStorage.
Contrôles
☀️ Light
🌙 Dark
🔄 Toggle
Installation
<!-- 1. Inclure le CSS -->
<link rel="stylesheet" href="dist/uikit.css">
<!-- 2. Inclure le script dark mode -->
<script src="js/dark-mode.js"></script>
<!-- 3. Ajouter un toggle (optionnel) -->
<button data-theme-toggle>
<span data-theme-icon>🌙</span>
</button>
API JavaScript
// Définir le thème
UIKitTheme.set('dark'); // ou 'light'
// Basculer le thème
UIKitTheme.toggle();
// Récupérer le thème actuel
const current = UIKitTheme.get();
// Écouter les changements
window.addEventListener('themechange', (e) => {
console.log('Theme:', e.detail.theme);
});
Fonctionnement
Auto : Suit les préférences système (prefers-color-scheme)
Persistance : Le choix est sauvegardé dans localStorage
Pas de flash : Le script s'initialise avant le rendu de la page
Personnalisable : Modifie les variables dans tokens.css