Empty State

Displays an empty state with optional icon and title.

EmptyState.Action

asChild

boolean

color

grayyellowredpurple

ghost

boolean

highContrast

boolean

loading

boolean

radius

smallnonemediumlargefull

size

1234

state

deprecated
disablednormalloading

type

buttonsubmitreset

Also supports MarginProps: `m`, `mb`, `ml`, `mr`, `mt`, `mx`, `my`

EmptyState.Subtitle

align

centerleftright

as

divlabelpspan

asChild

boolean

color

rubygraygoldbronzebrownyellowamberorangetomatoredcrimsonpinkplumpurplevioletirisindigobluecyantealjadegreengrasslimemintsky

highContrast

boolean

size

123456789

trim

endnormalbothstart

truncate

boolean

weight

boldmediumlightregular

wrap

wrapnowrapprettybalance

Also supports MarginProps: `m`, `mb`, `ml`, `mr`, `mt`, `mx`, `my`

EmptyState.Title

align

centerleftright

as

divlabelpspan

asChild

boolean

color

rubygraygoldbronzebrownyellowamberorangetomatoredcrimsonpinkplumpurplevioletirisindigobluecyantealjadegreengrasslimemintsky

highContrast

boolean

size

123456789

trim

endnormalbothstart

truncate

boolean

weight

boldmediumlightregular

wrap

wrapnowrapprettybalance

Also supports MarginProps: `m`, `mb`, `ml`, `mr`, `mt`, `mx`, `my`

Use the title prop to display a basic empty state message.

Use the icon prop to display an icon above the title.

Use the subtitle prop to display a subtitle below the title.

You can also customize the subtitle by passing a React element.

We recommend using the EmptyState.Subtitle component and only making minor adjustments to the styling to avoid inconsistencies across the app.

Use the size prop to control the size of the empty state. Size 1 is reserved for smaller, more compact views (like a CardList), whereas Size 2 is the default used for empty tables.

Use the children prop to display additional text content below the title. This is useful for displaying additional information or instructions.

For actionable content such as buttons or links, use the action prop.

Use the action prop to display actionable content below the title, such as buttons. We recommend using the EmptyState.Action component to represent the action button for consistent styling.

In some cases you may want to customize the title for more granular control over the look and feel of the empty state. For example you may want only a portion of the title to be bold to place emphasis on it.

We recommend using the EmptyState.Title component and only making minor adjustments to the styling to avoid inconsistencies across the app.

Dashboard

10 variants found

size 2 emptystate in Content Paneldashboard

/:environmentId/roles-and-permissions/resource-types/edit/content-panel

size=2
size 2 emptystate in Add Provider Dialogdashboard
size=2
EmptyState in Audit Logs Empty Statedashboard
EmptyState in Audit Log Events Empty Statedashboard
Primary emptystate in Flags Empty Statedashboard
color=purple
Primary emptystate in Roles Sectiondashboard
color=purple
size 1 emptystate in Template Previewdashboard
size=1
size 1 emptystate in Radar List Tabledashboard
size=1
EmptyState in Overview Carddashboard
color=gray
EmptyState in Detections Overview Carddashboard
color=gray

Context

EmptyState.Action
PropTypeDefaultRequired
asChild
booleanno
color
"gray" | "yellow" | "red" | "purple"no
ghost
booleanno
highContrast
booleanno
loading
booleanno
radius
"small" | "none" | "medium" | "large" | "full"no
size
Responsive<"1" | "2" | "3" | "4">no
statedeprecated
"disabled" | "normal" | "loading"no
type
"button" | "submit" | "reset" | nullno

Also supports MarginProps: m, mb, ml, mr, mt, mx, my

EmptyState.Subtitle
PropTypeDefaultRequired
align
Responsive<"center" | "left" | "right">no
as
"div" | "label" | "p" | "span"no
asChild
booleanno
color
"ruby" | "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | ... 8 more ...no
highContrast
booleanno
size
Responsive<"1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9">no
trim
Responsive<"end" | "normal" | "both" | "start">no
truncate
booleanno
weight
Responsive<"bold" | "medium" | "light" | "regular">no
wrap
Responsive<"wrap" | "nowrap" | "pretty" | "balance">no

Also supports MarginProps: m, mb, ml, mr, mt, mx, my

EmptyState.Title
PropTypeDefaultRequired
align
Responsive<"center" | "left" | "right">no
as
"div" | "label" | "p" | "span"no
asChild
booleanno
color
"ruby" | "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | ... 8 more ...no
highContrast
booleanno
size
Responsive<"1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9">no
trim
Responsive<"end" | "normal" | "both" | "start">no
truncate
booleanno
weight
Responsive<"bold" | "medium" | "light" | "regular">no
wrap
Responsive<"wrap" | "nowrap" | "pretty" | "balance">no

Also supports MarginProps: m, mb, ml, mr, mt, mx, my

stateType: "disabled" | "normal" | "loading"

Usage

Used 75 times across 1 package

Dashboard
75

Variant Distribution

size

1
60%
2
40%

color

purple
60%
gray
40%

Where it's used

33 files

packages/dashboard/src/components/webhooks/webhooks-for-endpoint-table-with-detail/webhooks-table/empty-state.tsx5
packages/dashboard/src/components/flags/flags-empty-state.tsx4
packages/dashboard/src/components/permissions/permissions-section.tsx4
packages/dashboard/src/components/events/events-empty-state.tsx3
packages/dashboard/src/components/organizations/organization/organization-api-keys-table.tsx3
packages/dashboard/src/components/roles/roles-section.tsx3
packages/dashboard/src/legacy-pages/[environmentId]/api-logs/index.tsx3
packages/dashboard/src/legacy-pages/[environmentId]/directory-sync/connections/[directoryId]/groups.tsx3
packages/dashboard/src/legacy-pages/[environmentId]/directory-sync/connections/[directoryId]/users/index.tsx3

/:environmentId/applications

packages/dashboard/src/app/(private)/(sidebar)/[environmentId]/applications/applications-table.tsx4

Show 23 more files