Alerts
<div class="alert alert-warning">
A helpful, actionable message.
</div>
<div class="{{modifier_class}}">{{modifier_class}}</div>
Avatars
Avatars are user profile pictures.
Add the avatar class to a <figure>
element. There are 4 additional sizes available, including avatar-xl
(64px), avatar-lg
(48px), avatar-sm
(24px), and avatar-xs
(16px). By default, the avatar size is 32px.
For users who don't have profile pictures, you may use their initials for avatars. Add the avatar class and avatar size class to <div>
or <figure>
element. The data-initial attribute is the name appear inside the avatar.
<figure class="avatar avatar-xl">
<img src="https://www.fillmurray.com/75/75" alt="...">
</figure>
<figure class="avatar avatar-xl" data-initial="AZ"></figure>
<figure class="avatar avatar-lg" data-initial="RS"></figure>
<figure class="avatar avatar-sm" data-initial="DS"></figure>
<figure class="avatar avatar-xs" data-initial="CO"></figure>
Badges
Add the badge
class to non self closing elements. And add the data-badge
attribute to define the content of a badge. The badge will appear in the top-right direction of the element.
If there is no data-badge or the attribute is not specified, the badge will appear as a dot.
<span class="badge">
Notifications
</span>
<span class="badge" data-badge="8">
Notifications
</span>
<button class="btn badge" data-badge="8">
Button
</button>
<figure class="avatar badge" data-badge="8" data-initial="YZ"></figure>
Bars
Bars represent the progress of a task or the value within the known range. Bars are custom components for displaying HTML5 <progress>
, <meter>
and input range elements.
<div class="bar bar-sm">
<div class="bar-item" role="progressbar" style="width:25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<div class="pad-1-2"></div>
<div class="bar">
<div class="bar-item tooltip" data-tooltip="25%" style="width:25%;">25%</div>
<div class="bar-item" style="width:15%;background:#6cc4e3;">15%</div>
</div>
Cards
Use cards to create slightly differentiated content. Add a container element with the card
class. And add child elements with the card-image
, card-header
, card-body
and/or card-footer
classes. The card-image
can be placed in any position.
Card Title
<div class="card">
<div class="card-header">
<h3 class="card-title">Card Title</h3>
<div class="card-subtitle text-gray">this is the subtitle</div>
</div>
<div class="card-body">
Cards are flexible content containers.
</div>
<div class="card-footer">
<button class="btn btn-primary">Card Action!</button>
</div>
</div>
Chips
Tiny pieces of content, usually short strings, that may be clearable
<div class="chip">
a chipppp
</div>
<div class="chip">
clearable chip
<a href="#" class="btn btn-clear" aria-label="Close" role="button"></a>
</div>
<div class="chip">
<figure class="avatar avatar-sm" data-initial="PQ"></figure>
Penelope Quix
<a href="#" class="btn btn-clear" aria-label="Close" role="button"></a>
</div>
Dropdown
Dropdown menus component is built entirely in CSS. It is triggered by :focus
event.
Add a container element with the dropdown
class. And add a focusable element with the dropdown-toggle
class for the button and a menu
component right next to it. You also need to add tabindex
to make the buttons focusable.
If the dropdown is close to the right edge of the browser, you can add the dropdown-right class
to the container to prevent it appearing off screen.
Also, you can implement your JS to interact with the dropdown menus by adding the active
class to the dropdown
container.
<div class="dropdown">
<a href="" class="btn btn-link dropdown-toggle" tabindex="0">
dropdown menu <i class="icon icon-caret"></i>
</a>
<ul class="menu">
<li class="menu-item">
<a href="">
<i class="fal fa-users"></i>
Users
</a>
</li>
<li class="menu-item">
<a href="">
<i class="fal fa-cog"></i>
Accounts
</a>
</li>
<li class="menu-item">
<a href="">
<i class="fal fa-money-bill-wave"></i>
Billing
</a>
</li>
</ul>
</div>
Empty states
Empty states/blank slates are used as placeholders for first time use, empty data and error screens.
An empty state component can include icons, messages (title and subtitle messages) and action buttons or any combination of those elements. Add empty-icon
, empty-title
, empty-subtitle
or empty-action
to the elements. HTML structure is exampled below.
You have no new messages
Click the button to start a conversation.
<div class="empty">
<div class="empty-icon">
<i class="icon icon-people"></i>
</div>
<p class="empty-title h5">You have no new messages</p>
<p class="empty-subtitle">Click the button to start a conversation.</p>
<div class="empty-action">
<button class="btn btn-primary">Send a message</button>
</div>
</div>
Labels
Labels are formatted text tags for highlighted, informative information.
<span class="label">default label</span>
<span class="label label-primary">primary label</span>
<span class="label {{ modifier_class }}">{{ modifier_class }}</span>
Rounded Labels
Add the label-rounded
class to have rounded labels.
<span class="label label-rounded label-default">default label</span>
<span class="label label-rounded label-primary">primary label</span>
Meters
Credit: CSS-Tricks HTML Meter Element
Meters represent the value within the known range.
<meter class="meter" value="20" min="0" max="100"></meter>
<meter class="meter" value="60" min="0" max="100" low="30" high="80"></meter>
<meter class="meter" value="85" min="0" max="100" low="30" high="80"></meter>
<meter class="meter" value="20" optimum="90" min="0" max="100" low="30" high="80"></meter>
Modals
Use for displaying an UI mode. Add a container element with the modal
class. And add a real container modal-container
and overlay modal-overlay
inside it. You can add child elements with the modal-header
, modal-body
and modal-footer
- any or all of them.
This does not include JavaScript code, you will need to implement your JS to interact with modals. To make a modal appear, add the active
class to the modal container.
<a class="btn btn-primary" href="#modal-1">Open Modal</a>
<div class="modal" id="modal-1">
<a href="#close" class="modal-overlay" aria-label="Close"></a>
<div class="modal-container">
<div class="modal-header">
<a href="#close" class="btn btn-clear float-right" aria-label="Close"></a>
<div class="modal-title h5">Modal title</div>
</div>
<div class="modal-body">
<div class="content">
</div>
</div>
<div class="modal-footer">
</div>
</div>
</div>
Pagination
Add a container element with the pagination
class. And add child elements with the page-item
class. The page-item
with the active class will be highlighted. You can add the disabled
class to the page-item
to have unclickable page links.
<ul class="pagination">
<li class="page-item disabled">
<a href="#" tabindex="-1">Previous</a>
</li>
<li class="page-item active">
<a href="#">1</a>
</li>
<li class="page-item">
<a href="#">2</a>
</li>
<li class="page-item">
<a href="#">3</a>
</li>
<li class="page-item">
<span>...</span>
</li>
<li class="page-item">
<a href="#">12</a>
</li>
<li class="page-item">
<a href="#">Next</a>
</li>
</ul>
Panels
Add a container element with the panel
class. And add child elements with the panel-header
, panel-nav
, panel-body
and/or panel-footer
classes. The panel-body
can be auto expanded and vertically scrollable.
<div class="panel">
<div class="panel-header">
<div class="panel-title">This is a panel</div>
</div>
<div class="panel-nav">
<div class="tab">
<div class="tab-item active"><a href="">Status</a></div>
<div class="tab-item"><a href="">Settings</a></div>
<div class="tab-item"><a href="">Extras</a></div>
</div>
</div>
<div class="panel-body">
Panel content
</div>
<div class="panel-footer">
<button class="btn btn-block btn-blue">Panel action</button>
</div>
</div>
<div class="panel">
<div class="panel-header">Table panel</div>
<table class="table">
<thead>
<th>Request Type</th>
<th>Request Counts</th>
<th>p99</th>
<th>p50</th>
<th>p25</th>
</thead>
<tbody>
<tr>
<td>200</td>
<td>2.6k</td>
<td>140ms</td>
<td>120ms</td>
<td>1400ms</td>
</tr>
<tr>
<td>201</td>
<td>10k</td>
<td>400ms</td>
<td>70ms</td>
<td>3200ms</td>
</tr>
<tr>
<td>404</td>
<td>334</td>
<td>102ms</td>
<td>10ms</td>
<td>500ms</td>
</tr>
<tr>
<td>500</td>
<td>12</td>
<td>10ms</td>
<td>1ms</td>
<td>100ms</td>
</tr>
</tbody>
</table>
</div>
Popovers
Wrap an element by a container with the popover
class. And add a container with the popover-container
next to the element. You can use (Cards)[link] component inside the popover-container
.
Also, you can add the popover-right
, popover-bottom
or popover-left
class to define the position. By default, the popovers appear above the element.
We often use popovers with info circle icons to help users with a feature or to clear clutter on the dashboard by moving warnings and alerts into the popover.
Information!
Section Title
A Popover within a header!
So neat!
A Popover within a header!
<div class="popover popover-right">
<button class="btn btn-blue">Generic Popover</button>
<div class="popover-container">
<div class="card">
<div class="card-header">
<h4>Information!</h4>
</div>
<div class="card-body">
Hey. You're hovering over something for more information.
</div>
<div class="card-footer">
<a href="#" class="btn btn-default">Read the docs <i class="fal fa-arrow-right"></i></a>
</div>
</div>
</div>
</div>
<h4>
Section Title
<span class="popover popover-right">
<i class="fal fa-question-circle c-hand"></i>
<div class="popover-container">
<div class="card">
<div class="card-header">
<h5>A Popover within a header!</h5>
</div>
<div class="card-body">
So neat!
</div>
</div>
</div>
</span>
</h4>
Progress
Credit: (CSS-Tricks HTML Progress Element)[https://css-tricks.com/html5-progress-element/]
The Progress indicates the progress completion of a task.
<progress class="progress" value="25" max="100"></progress>
<progress class="progress" max="100"></progress>
Sliders
Credit: CSS-Tricks Range inputs
The Sliders are for selecting values from ranges.
You can add the class tooltip to have tooltip labels. If no data-tooltip
is set, the value will be used instead.
<input class="slider" type="range" min="0" max="100" value="50">
<input class="slider tooltip" type="range" min="0" max="100" value="50" oninput="this.setAttribute('value', this.value);">
Status Dot
A helpful status component
<div class="status-dot"></div>
<div class="status-dot green"></div>
<div class="status-dot yellow"></div>
<div class="status-dot red"></div>
Tabs
Add a container element with the tab
class. And add child elements with the tab-item
class. You can add the tab-block
class for a full-width tab. The tab-item
or its child <a>
with the active class will be highlighted.
<ul class="tab tab">
<li class="tab-item active">
<a href="#">Users</a>
</li>
<li class="tab-item">
<a href="#">Clusters</a>
</li>
<li class="tab-item">
<a href="#">Resources</a>
</li>
<li class="tab-item">
<a href="#">Logs</a>
</li>
</ul>
<ul class="tab tab-block">
<li class="tab-item active">
<a href="#">Music</a>
</li>
<li class="tab-item">
<a href="#">Playlists</a>
</li>
<li class="tab-item">
<a href="#">Radio</a>
</li>
<li class="tab-item">
<a href="#">Connect</a>
</li>
</ul>
Timelines
The Timelines are ordered sequences of activities, perfect for history and messaging.
<div class="timeline">
<div class="timeline-item" id="timeline-example-1">
<div class="timeline-left">
<a class="timeline-icon" href="#timeline-example-1"></a>
</div>
<div class="timeline-content">
Thing 1
</div>
</div>
<div class="timeline-item" id="timeline-example-2">
<div class="timeline-left">
<a class="timeline-icon icon-lg" href="#timeline-example-2">
<i class="icon icon-check"></i>
</a>
</div>
<div class="timeline-content">
Thing 2
</div>
</div>
</div>
Tooltips
Tooltips are tiny text helpers less than 50 characters. Add class tooltip
to an element, with a data-tooltip
attribute for the helper text.
By default, tooltips display on top of the element. Add class tooltip-right
, tooltip-left
, or tooltip-bottom
for more options.
<span class="tooltip {{modifier_class}}" data-tooltip="{{modifier_class}}">{{modifier_class}}</span>