Tables

Tables should be used to arrange and display data to the user. Tables often contain or work in conjunction with other components that are listed throughout Style Guide. Refer to statistics tables for examples of advanced tables with various sets of significant data for the user.

Standard

Contacts Date Added Last Opened Last Clicked Actions
todd.moy@sendgrid.com 02/02/2015 02/10/2016 02/08/2016
tyler.hale@sendgrid.com 04/22/2015 01/02/2016 11/26/2015
travis.terwilligar@sendgrid.com 05/06/2015 12/31/2015 10/31/2015
Container(s) .table-wrap
Modifier(s) .has-checkboxes
HTML Elements th.table-checkbox td.actions
Optional Elements th.sort td.contact td.stats
States .is-selected
<table class="table-wrap has-checkboxes">
<thead>
<tr>
<th class="table-checkbox">
<div class="input-checkbox-wrap">
<input type="checkbox" id="table-default-select-all" value="Select All">
<label class="input-checkbox-label" for="table-default-select-all"></label>
</div>
</th>
<th class="sort">Contacts</th>
<th class="sort">Date Added</th>
<th class="sort">Last Opened</th>
<th class="sort">Last Clicked</th>
<th class="actions">Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td class="table-checkbox">
<div class="input-checkbox-wrap">
<input type="checkbox" id="table-default-select-row1" value="Select">
<label class="input-checkbox-label" for="table-default-select-row1"></label>
</div>
</td>
<td class="contact"><a href="#">todd.moy@sendgrid.com</a></td>
<td class="stats">02/02/2015</td>
<td class="stats">02/10/2016</td>
<td class="stats">02/08/2016</td>
<td class="actions">
<i class="sg-icon sg-icon-ellipsis"></i>
<div class="action-icons">
<span data-tooltip="View" data-tooltip-pos="up"><i class="sg-icon sg-icon-view"></i></span>
<span data-tooltip="Edit" data-tooltip-pos="up"><i class="sg-icon sg-icon-pencil"></i></span>
<span data-tooltip="Copy" data-tooltip-pos="up"><i class="sg-icon sg-icon-copy"></i></span>
<span data-tooltip="Delete" data-tooltip-pos="up"><i class="sg-icon sg-icon-trash"></i></span>
</div>
</td>
</tr>
</tbody>
</table>

Loading

Contacts Date Added Last Opened Last Clicked Actions
Container(s) .table-wrap
Required td:empty
<table class="table-wrap has-checkboxes">
<thead>
<tr>
<th class="table-checkbox">
<div class="input-checkbox-wrap">
<input class="table-select-all" id="table-loading-select-all" type="checkbox" value="Select All">
<label class="input-checkbox-label" for="table-loading-select-all"></label>
</div>
</th>
<th class="sort">Contacts</th>
<th class="sort">Date Added</th>
<th class="sort">Last Opened</th>
<th class="sort">Last Clicked</th>
<th class="actions">Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td class="table-checkbox"></td>
<td class="contact"></td>
<td class="stats"></td>
<td class="stats"></td>
<td class="stats"></td>
<td class="actions"></td>
</tr>
</tbody>
</table>

Sort

Contacts Date Added Last Opened Last Clicked Actions
jason.walker@sendgrid.com 01/31/2015 02/04/2016 02/04/2016
evan.huwa@sendgrid.com 01/31/2015 02/04/2016 02/04/2016
Required .sort
Modifiers .sort-asc .sort-desc
<th class="sort">Contacts</th>
<th class="sort sort-asc">Date Added</th>
<th class="sort">Last Opened</th>
<th class="sort">Last Clicked</th>
<th class="actions">Actions</th>

Checkboxes

Desktop Clients
Apple Mail
Outlook
Container(s) .table-wrap.has-internal-checkboxes
HTML Elements td.list-name td.checkbox-grid .input-checkbox-wrap input[type="checkbox"] label.input-checkbox-label
Optional Elements span.input-checkbox-info
<table class="table-wrap has-internal-checkboxes">
<thead>
<tr>
<th colspan="2">Desktop Clients</th>
</tr>
</thead>
<tbody>
<tr>
<td class="list-name">Apple Mail</td>
<td class="checkbox-grid">
<div class="input-checkbox-wrap">
<input type="checkbox" id="checkbox-os-1" value="OS" checked>
<label class="input-checkbox-label" for="checkbox-os-1">Client <span class="input-checkbox-info">OS</span></label>
</div>
<div class="input-checkbox-wrap">
<input type="checkbox" id="checkbox-os-2" value="OS" checked>
<label class="input-checkbox-label" for="checkbox-os-2">Client <span class="input-checkbox-info">OS</span></label>
</div>
...
</td>
</tr>
</tbody>
</table>

Composite

Status Message Opens Clicks
Delivered 10/02/16 @ 04:24am UTC Boulder County Ballot Track - Ballot Update 2
Bounced 10/02/16 @ 03:216am UTC Your subscription payment was declined 3
Processed 10/02/16 @ 03:08am UTC See our new fall collection and save 20% on one item 1
HTML Elements td.cell-label
Optional Elements span.label span.date span.email span.subject
<tr>
<td class="cell-label">
<span class="label label-delivered">Delivered</span>
<span class="date">10/02/16 @ 04:24am UTC</span>
</td>
<td>
<span class="email">To: jason.walker@sendgrid.com</span>
<span class="subject">Boulder County Ballot Track - Ballot Update</span>
</td>
<td class="stats">2</td>
<td class="stats">&mdash;</td>
</tr>

Hierarchy

Type Name Contacts Actions
Global All Contacts 2,000
Segment Clicked last 30 days 999
List Friends 302
Segment Friends @ Gmail 240
Optimized Friends - Engagers 120
List Students @ CSU 1,280
Required .segment-item
HTML Elements td.table-checkbox td.cell-label td.list-name td.numeric td.actions
<tr class="segment-item">
<td class="table-checkbox">
<div class="input-checkbox-wrap">
<input type="checkbox" id="table-hierarchy-select-row2" value="Select">
<label class="input-checkbox-label" for="table-hierarchy-select-row2"></label>
</div>
</td>
<td class="cell-label"><span class="label label-segment">Segment</span></td>
<td><strong>Clicked last 30 days</strong></td>
<td class="numeric">999</td>
<td class="actions">
<i class="sg-icon sg-icon-ellipsis"></i>
<div class="action-icons">
<span data-tooltip="Export" data-tooltip-pos="up"><i class="sg-icon sg-icon-copy"></i></span>
<span data-tooltip="View List" data-tooltip-pos="up"><i class="sg-icon sg-icon-view"></i></span>
<span data-tooltip="Edit Segment" data-tooltip-pos="up"><i class="sg-icon sg-icon-segment"></i></span>
<span data-tooltip="Delete" data-tooltip-pos="up"><i class="sg-icon sg-icon-trash"></i></span>
</div>
</td>
</tr>

Basic

Server smtp.sendgrid.net
Ports 25, 587, 465
Username YOUR_USERNAME
Password YOUR_PASSWORD
Container(s) .table-wrap
Modifiers .is-auto-width
<table class="table-wrap is-auto-width">
<tr>
<td><strong>Server</strong></td>
<td><span class="mono">smtp.sendgrid.net</span></td>
</tr>
<tr>
<td><strong>Ports</strong></td>
<td><span class="mono">25, 587, 465</span></td>
</tr>
<tr>
<td><strong>Username</strong></td>
<td><span class="mono highlighter">YOUR_USERNAME</span></td>
</tr>
<tr>
<td><strong>Password</strong></td>
<td><span class="mono highlighter">YOUR_PASSWORD</span></td>
</tr>
</table>

Empty State

Get started adding contacts

Add and update your contacts via CSV upload or manually add them one at a time, then create static lists or dynamic segments for better targeting. Use the Add List or Segment button above to get started.

Need help? Get more info on adding and updating contacts.

Container(s) .table-state
Required .is-empty
<div class="table-state is-empty">
<i class="sg-icon sg-icon-contacts"></i>
<h2>Get started adding contacts</h2>
<p>Add and update your contacts via CSV upload or manually add them one at a time, then create static lists or dynamic segments for better targeting. Use the Add List or Segment button above to get started.</p>
</div>
<!-- optional help message -->
<p class="small is-center"><i class="sg-icon sg-icon-help"></i> <strong>Need help?</strong> <a href="#">Get more info</a> on adding and updating contacts.</p>