shadcn.io is not affiliated with official shadcn/ui
No Performance Data Empty State Block for React
A performance monitor's empty dashboard as the target before the data: tabs for four metrics, a chart of axes with a dashed flat line and target band, a slider that moves the target, a strip of four targets and one Set up monitoring button.
Installation
Overview
Turn an empty performance page into the targets that will fill it, with this no performance data empty state for React with Base UI. A header sits over one framed panel ruled by Guides. The first band is Tabs for four metrics: Response time, P95, Throughput and Error rate. Under it a chart that is only axes: a flat dashed line where the data will start, a dashed band on the good side of the target, and the target itself as a solid line labelled in words, such as "P95 under 300 ms". A Slider below moves that line, and the labels, the words under the chart and a strip of the four targets follow it. The Shine Button, the only colored control, Set up monitoring, turns the flat line solid, marks the four targets as set and locks the sliders. The chart is hand-drawn, and everything moves with CSS only. For the empty state of any performance, observability or web vitals page.
FAQ
Is anything measured, and how do I make it real?
No. There is no data and the page says so ("No data yet", "Waiting for data"). The targets are numbers in the page's state and a reload resets them. To wire it for real, create the monitors with your API where the code says so, and draw your own series over the same axes once data arrives.
How does the chart stay accurate?
Everything on it is worked out from the metric's typed range: the gridline labels from its top value, the target line's place from the slider's value, and the dashed band from which side of the target is good (under for times and errors, above for throughput). The picture is hidden from assistive technology; the words under it and the slider's own value text say the same thing, and the day marks are a fixed week.
How does the slider announce changes?
It is a real slider with a name and a value text ("under 300 ms"), and the foot's polite line speaks the new target once you let go, not on every step. Each metric has its own range and step, and the target you set stays when you move to another tab and back, because it lives in the page and not in the tab.
What does Set up monitoring do?
It turns the flat line solid, changes the strip's four cells from Draft to Waiting for data, locks the sliders and quiets the button, which stays in place and says "Monitoring set up". Nothing is created. Start over unlocks everything, resets the four targets and returns focus to the button.
Related
- Pro
No Uptime Checks Empty State
MonitoringAn uptime monitor's empty list as a setup form: an address, a check interval, three regions and a derived checks-a-day line, a flat heartbeat line with a dashed first spike, and one Add monitor button with a simulated check.
- Pro
No Logs Empty State
Developer toolsA log console window with nothing logged yet: a dashed pipe from an app to a console, four level chips with counts, a Follow switch, a dark console and one Send a test line button that prints the next of twelve typed lines.
- Pro
No Analytics Empty State
Data and analyticsA web analytics page with no visits counted yet: an empty chart with a dashed baseline that a Preview with sample data switch fills with 14 typed days, a 7 or 14 day range and a legend worked out from the data.
- Pro
No Metrics Empty State
Data and analyticsA KPI dashboard with nothing tracked yet: four tick cards over four dial tiles on shared hairlines, where each pick turns a dashed needle solid and rolls a typed sample figure into its tile before Track marks them.
- Pro
No Error Tracking Empty State
Developer toolsAn error monitor's empty list as an install guide: a code window with npm, pnpm and bun tabs and a copy button, an initialise snippet, a Send a test error button that lists one simulated row, and a calm lake whose ring turns solid.
- Pro
No Dashboards Empty State
Data and analyticsA reporting tool's dashboards page before the first one: a framed window with a list pane and a dashed New dashboard row, and a page that asks for a layout from three drawn thumbnails before it creates the dashboard.