Showcase
Fields
light
Used to sign in.
Pick something shorter than 40 characters.
Visible to the whole team.
After the start.
dark
Used to sign in.
Pick something shorter than 40 characters.
Visible to the whole team.
After the start.
Choices
light
Dropdown: three options, eight options with search, invalid, disabled
Segmented: auto and fill, with a count
Checkbox and switch
Every Monday, 9:00.
Ask for a code on new devices.
Up to 5 members.
dark
Dropdown: three options, eight options with search, invalid, disabled
Segmented: auto and fill, with a count
Checkbox and switch
Every Monday, 9:00.
Ask for a code on new devices.
Up to 5 members.
Badges and chips
light
Badge tones
Chips
Naming what is not built
dark
Badge tones
Chips
Naming what is not built
Cards and states
light
Monthly recurring revenue
Across all workspaces.
$48,210
▲ 12% vs last month
Notifications3 channels
Email, push and in-app. Slack arrives with integrations.
Portal adsSoon
Scheduled creatives on the captive portal.
Nothing to configure yet.
Nothing waiting
Requests appear here as people ask. Share the join link to get the first one.
dark
Monthly recurring revenue
Across all workspaces.
$48,210
▲ 12% vs last month
Notifications3 channels
Email, push and in-app. Slack arrives with integrations.
Portal adsSoon
Scheduled creatives on the captive portal.
Nothing to configure yet.
Nothing waiting
Requests appear here as people ask. Share the join link to get the first one.
Overlays
light
Dialog: 560 and 760, never closes on backdrop or Escape
Sheet, split button, menu, tooltip, popover
dark
Dialog: 560 and 760, never closes on backdrop or Escape
Sheet, split button, menu, tooltip, popover
Feedback
light
Toasts confirm; errors also live in place
Status strip (top of page): in flight, confirmed, failed
Staged changes bar (bottom of page)
dark
Toasts confirm; errors also live in place
Status strip (top of page): in flight, confirmed, failed
Staged changes bar (bottom of page)
Page and tabs
light
Surfing policies
Defaultdark
Surfing policies
DefaultLists
light
3 of 3 members · identity masked in lists
dark
3 of 3 members · identity masked in lists
Data table
light
| Status | |||||
|---|---|---|---|---|---|
| Door sensor | 00:1a:2b:3c:03:03 | IoT basic | 2027-04-13 | 111 MB | online |
| Door sensor 8 | 00:1a:2b:3c:08:08 | IoT wide | 2027-09-18 | 296 MB | offline |
| Door sensor 13 | 00:1a:2b:3c:13:03 | IoT wide | 2027-05-14 | 481 MB | online |
| Door sensor 18 | 00:1a:2b:3c:18:08 | IoT basic | 2027-01-10 | 666 MB | online |
| Door sensor 23 | 00:1a:2b:3c:23:03 | IoT wide | 2027-06-15 | 851 MB | online |
| Door sensor 28 | 00:1a:2b:3c:28:08 | IoT wide | 2027-02-11 | 136 MB | offline |
| Kiosk | 00:1a:2b:3c:04:04 | IoT wide | 2027-05-14 | 148 MB | offline |
| Kiosk 9 | 00:1a:2b:3c:09:09 | IoT basic | 2027-01-10 | 333 MB | online |
| Kiosk 14 | 00:1a:2b:3c:14:04 | IoT wide | 2027-06-15 | 518 MB | online |
| Kiosk 19 | 00:1a:2b:3c:19:09 | IoT wide | 2027-02-11 | 703 MB | online |
| Kiosk 24 | 00:1a:2b:3c:24:04 | IoT basic | 2027-07-16 | 888 MB | offline |
| Kiosk 29 | 00:1a:2b:3c:29:09 | IoT wide | 2027-03-12 | 173 MB | online |
| Lobby camera | 00:1a:2b:3c:00:00 | IoT basic | 2027-01-10 | 0 MB | offline |
| Lobby camera 5 | 00:1a:2b:3c:05:05 | IoT wide | 2027-06-15 | 185 MB | online |
| Lobby camera 10 | 00:1a:2b:3c:10:00 | IoT wide | 2027-02-11 | 370 MB | online |
| Lobby camera 15 | 00:1a:2b:3c:15:05 | IoT basic | 2027-07-16 | 555 MB | online |
| Lobby camera 20 | 00:1a:2b:3c:20:00 | IoT wide | 2027-03-12 | 740 MB | offline |
| Lobby camera 25 | 00:1a:2b:3c:25:05 | IoT wide | 2027-08-17 | 25 MB | online |
| Lobby camera 30 | 00:1a:2b:3c:30:00 | IoT basic | 2027-04-13 | 210 MB | online |
| Printer 2F | 00:1a:2b:3c:01:01 | IoT wide | 2027-02-11 | 37 MB | online |
| Printer 2F 6 | 00:1a:2b:3c:06:06 | IoT basic | 2027-07-16 | 222 MB | online |
| Printer 2F 11 | 00:1a:2b:3c:11:01 | IoT wide | 2027-03-12 | 407 MB | online |
| Printer 2F 16 | 00:1a:2b:3c:16:06 | IoT wide | 2027-08-17 | 592 MB | offline |
| Printer 2F 21 | 00:1a:2b:3c:21:01 | IoT basic | 2027-04-13 | 777 MB | online |
| Printer 2F 26 | 00:1a:2b:3c:26:06 | IoT wide | 2027-09-18 | 62 MB | online |
dark
| Status | |||||
|---|---|---|---|---|---|
| Door sensor | 00:1a:2b:3c:03:03 | IoT basic | 2027-04-13 | 111 MB | online |
| Door sensor 8 | 00:1a:2b:3c:08:08 | IoT wide | 2027-09-18 | 296 MB | offline |
| Door sensor 13 | 00:1a:2b:3c:13:03 | IoT wide | 2027-05-14 | 481 MB | online |
| Door sensor 18 | 00:1a:2b:3c:18:08 | IoT basic | 2027-01-10 | 666 MB | online |
| Door sensor 23 | 00:1a:2b:3c:23:03 | IoT wide | 2027-06-15 | 851 MB | online |
| Door sensor 28 | 00:1a:2b:3c:28:08 | IoT wide | 2027-02-11 | 136 MB | offline |
| Kiosk | 00:1a:2b:3c:04:04 | IoT wide | 2027-05-14 | 148 MB | offline |
| Kiosk 9 | 00:1a:2b:3c:09:09 | IoT basic | 2027-01-10 | 333 MB | online |
| Kiosk 14 | 00:1a:2b:3c:14:04 | IoT wide | 2027-06-15 | 518 MB | online |
| Kiosk 19 | 00:1a:2b:3c:19:09 | IoT wide | 2027-02-11 | 703 MB | online |
| Kiosk 24 | 00:1a:2b:3c:24:04 | IoT basic | 2027-07-16 | 888 MB | offline |
| Kiosk 29 | 00:1a:2b:3c:29:09 | IoT wide | 2027-03-12 | 173 MB | online |
| Lobby camera | 00:1a:2b:3c:00:00 | IoT basic | 2027-01-10 | 0 MB | offline |
| Lobby camera 5 | 00:1a:2b:3c:05:05 | IoT wide | 2027-06-15 | 185 MB | online |
| Lobby camera 10 | 00:1a:2b:3c:10:00 | IoT wide | 2027-02-11 | 370 MB | online |
| Lobby camera 15 | 00:1a:2b:3c:15:05 | IoT basic | 2027-07-16 | 555 MB | online |
| Lobby camera 20 | 00:1a:2b:3c:20:00 | IoT wide | 2027-03-12 | 740 MB | offline |
| Lobby camera 25 | 00:1a:2b:3c:25:05 | IoT wide | 2027-08-17 | 25 MB | online |
| Lobby camera 30 | 00:1a:2b:3c:30:00 | IoT basic | 2027-04-13 | 210 MB | online |
| Printer 2F | 00:1a:2b:3c:01:01 | IoT wide | 2027-02-11 | 37 MB | online |
| Printer 2F 6 | 00:1a:2b:3c:06:06 | IoT basic | 2027-07-16 | 222 MB | online |
| Printer 2F 11 | 00:1a:2b:3c:11:01 | IoT wide | 2027-03-12 | 407 MB | online |
| Printer 2F 16 | 00:1a:2b:3c:16:06 | IoT wide | 2027-08-17 | 592 MB | offline |
| Printer 2F 21 | 00:1a:2b:3c:21:01 | IoT basic | 2027-04-13 | 777 MB | online |
| Printer 2F 26 | 00:1a:2b:3c:26:06 | IoT wide | 2027-09-18 | 62 MB | online |
Shell pieces
Charts
light
Stacked area: parts of a whole over time (legend toggles and spotlights a series)
| Members | Guests | Assets | |
|---|---|---|---|
| 00:00 | 2 | 4 | 3 |
| 01:00 | 2 | 1 | 2 |
| 02:00 | 2 | 1 | 2 |
| 03:00 | 2 | 1 | 2 |
| 04:00 | 2 | 1 | 2 |
| 05:00 | 2 | 4 | 2 |
| 06:00 | 2 | 1 | 2 |
| 07:00 | 4 | 5 | 3 |
| 08:00 | 6 | 8 | 2 |
| 09:00 | 8 | 11 | 2 |
| 10:00 | 10 | 16 | 2 |
| 11:00 | 11 | 15 | 2 |
| 12:00 | 11 | 15 | 2 |
| 13:00 | 11 | 15 | 2 |
| 14:00 | 10 | 13 | 3 |
| 15:00 | 8 | 14 | 2 |
| 16:00 | 6 | 8 | 2 |
| 17:00 | 4 | 5 | 2 |
| 18:00 | 2 | 1 | 2 |
| 19:00 | 2 | 1 | 2 |
| 20:00 | 2 | 4 | 2 |
| 21:00 | 2 | 1 | 3 |
| 22:00 | 2 | 1 | 2 |
| 23:00 | 2 | 1 | 2 |
Lines: series compared, not summed
| Members | Guests | |
|---|---|---|
| 00:00 | 2 | 4 |
| 01:00 | 2 | 1 |
| 02:00 | 2 | 1 |
| 03:00 | 2 | 1 |
| 04:00 | 2 | 1 |
| 05:00 | 2 | 4 |
| 06:00 | 2 | 1 |
| 07:00 | 4 | 5 |
| 08:00 | 6 | 8 |
| 09:00 | 8 | 11 |
| 10:00 | 10 | 16 |
| 11:00 | 11 | 15 |
| 12:00 | 11 | 15 |
| 13:00 | 11 | 15 |
| 14:00 | 10 | 13 |
| 15:00 | 8 | 14 |
| 16:00 | 6 | 8 |
| 17:00 | 4 | 5 |
| 18:00 | 2 | 1 |
| 19:00 | 2 | 1 |
| 20:00 | 2 | 4 |
| 21:00 | 2 | 1 |
| 22:00 | 2 | 1 |
| 23:00 | 2 | 1 |
Stacked bars: magnitude by month, 2px seams, rounded data-end
| SMS | Top-ups | |
|---|---|---|
| Apr | 120 | 40 |
| May | 160 | 60 |
| Jun | 140 | 20 |
| Jul | 210 | 80 |
| Aug | 190 | 50 |
| Sep | 90 | 30 |
Horizontal bars: a ranking with long labels
| Sessions | |
|---|---|
| Lobby | 412 |
| Seaside Café | 268 |
| Dorm block B | 191 |
| Conference room | 97 |
| Staff LAN | 44 |
Donut: at most five parts, total in the centre, share in the legend
- Free Wi-Fi563%
- Members225%
- Voucher113%
Radial progress: one number against its ceiling, tone by threshold
Heat strip: state per 15 minutes, worst state wins when bucketed
- Up
- Degraded
- Down
- No data
Usage bars: 60% warns, 90% is critical, unlimited has no ceiling
Sparklines beside a number; the number carries the fact
Empty state at the chart's size
No data yet
Traffic appears once the gateway reports.
dark
Stacked area: parts of a whole over time (legend toggles and spotlights a series)
| Members | Guests | Assets | |
|---|---|---|---|
| 00:00 | 2 | 4 | 3 |
| 01:00 | 2 | 1 | 2 |
| 02:00 | 2 | 1 | 2 |
| 03:00 | 2 | 1 | 2 |
| 04:00 | 2 | 1 | 2 |
| 05:00 | 2 | 4 | 2 |
| 06:00 | 2 | 1 | 2 |
| 07:00 | 4 | 5 | 3 |
| 08:00 | 6 | 8 | 2 |
| 09:00 | 8 | 11 | 2 |
| 10:00 | 10 | 16 | 2 |
| 11:00 | 11 | 15 | 2 |
| 12:00 | 11 | 15 | 2 |
| 13:00 | 11 | 15 | 2 |
| 14:00 | 10 | 13 | 3 |
| 15:00 | 8 | 14 | 2 |
| 16:00 | 6 | 8 | 2 |
| 17:00 | 4 | 5 | 2 |
| 18:00 | 2 | 1 | 2 |
| 19:00 | 2 | 1 | 2 |
| 20:00 | 2 | 4 | 2 |
| 21:00 | 2 | 1 | 3 |
| 22:00 | 2 | 1 | 2 |
| 23:00 | 2 | 1 | 2 |
Lines: series compared, not summed
| Members | Guests | |
|---|---|---|
| 00:00 | 2 | 4 |
| 01:00 | 2 | 1 |
| 02:00 | 2 | 1 |
| 03:00 | 2 | 1 |
| 04:00 | 2 | 1 |
| 05:00 | 2 | 4 |
| 06:00 | 2 | 1 |
| 07:00 | 4 | 5 |
| 08:00 | 6 | 8 |
| 09:00 | 8 | 11 |
| 10:00 | 10 | 16 |
| 11:00 | 11 | 15 |
| 12:00 | 11 | 15 |
| 13:00 | 11 | 15 |
| 14:00 | 10 | 13 |
| 15:00 | 8 | 14 |
| 16:00 | 6 | 8 |
| 17:00 | 4 | 5 |
| 18:00 | 2 | 1 |
| 19:00 | 2 | 1 |
| 20:00 | 2 | 4 |
| 21:00 | 2 | 1 |
| 22:00 | 2 | 1 |
| 23:00 | 2 | 1 |
Stacked bars: magnitude by month, 2px seams, rounded data-end
| SMS | Top-ups | |
|---|---|---|
| Apr | 120 | 40 |
| May | 160 | 60 |
| Jun | 140 | 20 |
| Jul | 210 | 80 |
| Aug | 190 | 50 |
| Sep | 90 | 30 |
Horizontal bars: a ranking with long labels
| Sessions | |
|---|---|
| Lobby | 412 |
| Seaside Café | 268 |
| Dorm block B | 191 |
| Conference room | 97 |
| Staff LAN | 44 |
Donut: at most five parts, total in the centre, share in the legend
- Free Wi-Fi563%
- Members225%
- Voucher113%
Radial progress: one number against its ceiling, tone by threshold
Heat strip: state per 15 minutes, worst state wins when bucketed
- Up
- Degraded
- Down
- No data
Usage bars: 60% warns, 90% is critical, unlimited has no ceiling
Sparklines beside a number; the number carries the fact
Empty state at the chart's size
No data yet
Traffic appears once the gateway reports.