Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

No Widgets Empty State Block for React

A start page editor with nothing on it: a framed window with a canvas of twelve dashed slots, a tray of four widgets and one Add a chart button, where each widget draws a small chart, table, number or note in the next free slot.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Show an empty canvas as the canvas it is about to become, with this no widgets empty state for React with Base UI. A hairline frame with a plus mark on each corner holds the editor of Tiledrift, a start-page builder, as a window of one fixed height: a top bar with the page's name and the Shine Button, the only colored control, then a canvas of twelve dashed slots in four columns by three rows with a tray of four widgets at its end. Pressing a Button in the tray, or the top bar's button for a chart, draws a small widget (bars, a table, a big number or a note) in the next free slot, which the dashes mark a little firmer. The foot says how many slots are used and holds a quiet Clear. The window never changes height, and the whole block uses CSS transitions only. For the empty state of any dashboard, page or board builder.

FAQ

What happens when I add a widget, and what stays in the page?

The widget's kind goes into the page's state and a small drawing of it appears in the next free slot; a polite status message says "Chart added to slot 1." Nothing is saved: reload and the canvas is empty again, and Clear empties it without a reload. The Number widget shows a typed sample figure, not real data. To wire it for real, save the widget to your page where the code says so and render your own widget in its slot.

What happens when all twelve slots are taken?

The canvas never grows, since the window has one height. A thirteenth widget is refused with a sentence in the foot ("The canvas is full. Clear it first.") and the top bar's button stays in the tab order, marked as unavailable, instead of disappearing. In your own app a canvas would scroll or add rows; the twelve are this demo's limit.

Does the window change size as the canvas fills?

No. The window is a fixed height (36 rem on a phone, 46 rem from the medium breakpoint), the canvas is a grid whose rows share what is left, and every slot, empty or full, is the same box, so adding a widget swaps what is inside it and moves nothing. Only a region of its own would scroll; none needs to here.

Is it usable with a keyboard and a screen reader?

Tab runs through the top bar's button, the four tray buttons, then Clear, which stays quiet (and says so if pressed) until something is on the canvas. The canvas is a list named Canvas, twelve slots; each slot says its number and whether it is empty or holds a kind of widget. The small drawings are hidden from assistive technology and the status message announces every change.

How does it look on a phone?

The tray becomes a row of four buttons above the canvas, each an icon over its name, and the canvas is two slots across and six down, so all twelve stay on one screen inside the window. The widgets' captions and the slot count drop out to save room, and the status message and Clear stay.

  • Pro

    No Dashboards Empty State

    Data and analytics

    A 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.

  • Pro

    A full-height page for a planning tool with no templates yet: four drawn layouts as a choice group, a large drawn preview of the chosen one, and a strip of four slots that fills as templates are added.

  • Pro

    No Plugins Empty State

    Apps and integrations

    An extensions store with nothing installed: tabs over a list of five plugins, the chosen one's detail with a drawn isometric shelf where a dashed cube hovers over its bay and turns solid when it is installed, and its permissions.

  • Pro

    A full-height welcome page for a fresh workspace: an isometric plan of an empty studio whose four rooms are a choice group, one sentence about the room you picked, and one Create your first project link.

  • Pro

    A mail client in a fixed-height window: mailboxes and labels whose counts follow the mail you file, a searchable message list beside the open message, and Compose for a local draft.

  • Pro

    No Analytics Empty State

    Data and analytics

    A 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.