Dashboard widgets
Typography
rem | px | Purpose |
---|---|---|
0.875rem | Plex 14 | Widget title, link, header, body text size |
0.75rem | Plex 12 | Empty / no permission / error text size |
Spacing
Token | rem | px | Role |
---|---|---|---|
$spacing-lg | 1.5 | 24 | List line spacing, widget padding |
$spacing-md | 1 | 16 | All other spacing between elements |
Color
Carbon variable | Role | Value |
---|---|---|
$ui-01 | Background color | #ffffff |
$text-01 | Title, header, and text color | #152935 |
$brand-01 | Link color | #3d70b2 |
$text-02 | Empty / no permission / error text color | #5A6872 |
Bottom border of widget title | #F0F3F6 |
Specs
Padding
The widget padding should be 1.5rem (24px) for the top, left, right, and bottom of the content area. All widgets should have the same padding, regardless of size.
![Small Widget Normal State Small Widget Normal State](/static/ed5c27a2b1d0f5b9f30270661fbd575e/3f968/normal_state_small.png)
Lists
You can style lists with or without rulers separating the rows. In both cases, spacing between the rows should be 32 pixels.
![Widget List Widget List](/static/691cd5d401cea0ac02eed504665daf18/4ff8c/list_widget.png)
States
Widgets have five distinct states, each with their own styling: normal, empty, permission, error, and loading.
- In the normal state, text is left-aligned except for calls to action
- In every other state, content is center-aligned with an illustration and small, grey text
Normal state
The normal state is the primary state. It occurs when a widget has been populated with data that the user has permission to see.
![Normal State Normal State](/static/ed5c27a2b1d0f5b9f30270661fbd575e/3f968/normal_state_small.png)
Empty state
The empty state occurs when the user has no data to populate the widget.
![Empty State Empty State](/static/0e6b500872dc041d0b834e8f1621860e/3f968/empty_state_small.png)
Permission state
This state occurs when a user does not have permission to see the widget data. For example a user may not have permission to manage other users or view usage data.
![Permission State Permission State](/static/6425d63557bcfdfda25bd470f80ebae9/3f968/permission_state_small.png)
Error state
The error state occurs when data fails to load.
![Permission State Permission State](/static/4ea3d8c58d34d30e2e6a62ee54831605/3f968/error_state_small.png)
Loading state
The loading state appears while the widget data loads. Static headers are displayed as text and loading content is replaced by skeletons.
![Permission State Permission State](/static/2547885423e00e450eb6eada6325438f/3f968/loading_state_small.png)
Content
Widget tiles
Each widget has a tile that can be seen when users open the “Add widget” side panel during dashboard customization. Each tile features the widget icon, widget title, and short description (max characters: 35).
![Widget Tile Widget Tile](/static/5168ea84b91d6d13d7e9c8545825a4d9/013af/widget_tile.png)
Illustrations
All dashboard illustrations should be 72x72px and should match the illustration style of these sample dashboard illustrations.
![Dashboard Illustration Dashboard Illustration](/static/be3bc0a967b061efdb9579e61feb3a8e/3f968/small_empty_plain.png)
Icons
Use the Carbon icon library for icons within the widget itself.