- Prop
title- Type
string- Default
- —
- Requirement
- required
Docs Components Primitives
EmptyState
React example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
const emptyStateFixture = { id: "empty-state", icon: "∅", title: "No deployments yet", description: "Connect a repository to run your first pipeline.", action: "Connect repository",} satisfies { id: string; icon: string; title: string; description: string; action: string;}; import { EmptyState } from "@grassroot/ui-react"; export default function EmptyStateDemo() { return ( <div> <EmptyState icon={<span aria-hidden="true">{emptyStateFixture.icon}</span>} title={emptyStateFixture.title} description={emptyStateFixture.description} action={<button type="button">{emptyStateFixture.action}</button>} /> </div> );}- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script setup lang="ts">const emptyStateFixture = { id: "empty-state", icon: "∅", title: "No deployments yet", description: "Connect a repository to run your first pipeline.", action: "Connect repository",} satisfies { id: string; icon: string; title: string; description: string; action: string;}; import { EmptyState } from "@grassroot/ui-vue";</script> <template> <div> <EmptyState :title="emptyStateFixture.title" :description="emptyStateFixture.description"> <template #icon ><span aria-hidden="true">{{ emptyStateFixture.icon }}</span></template > <template #action ><button type="button">{{ emptyStateFixture.action }}</button></template > </EmptyState> </div></template>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { Component } from "@angular/core";const emptyStateFixture = { id: "empty-state", icon: "∅", title: "No deployments yet", description: "Connect a repository to run your first pipeline.", action: "Connect repository",} satisfies { id: string; icon: string; title: string; description: string; action: string;}; import { GrassrootEmptyState } from "@grassroot/ui-angular"; @Component({ selector: "app-empty-state-demo", standalone: true, imports: [GrassrootEmptyState], template: ` <div> <div grassrootEmptyState [title]="fixture.title" [description]="fixture.description"> <span icon aria-hidden="true">{{ fixture.icon }}</span> <button action type="button">{{ fixture.action }}</button> </div> </div> `,})export class EmptyStateDemoComponent { protected readonly fixture = emptyStateFixture;} export default EmptyStateDemoComponent;- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script lang="ts"> const emptyStateFixture = { id: "empty-state", icon: "∅", title: "No deployments yet", description: "Connect a repository to run your first pipeline.", action: "Connect repository", } satisfies { id: string; icon: string; title: string; description: string; action: string; }; import { EmptyState } from "@grassroot/ui-svelte";</script> {#snippet icon()}<span aria-hidden="true">{emptyStateFixture.icon}</span>{/snippet}{#snippet action()}<button type="button">{emptyStateFixture.action}</button>{/snippet} <div> <EmptyState title={emptyStateFixture.title} description={emptyStateFixture.description} {icon} {action} /></div>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
/** @jsxImportSource solid-js */const emptyStateFixture = { id: "empty-state", icon: "∅", title: "No deployments yet", description: "Connect a repository to run your first pipeline.", action: "Connect repository",} satisfies { id: string; icon: string; title: string; description: string; action: string;}; import { EmptyState } from "@grassroot/ui-solid";import type { JSX } from "solid-js"; export default function EmptyStateDemo(): JSX.Element { return ( <div> <EmptyState icon={<span aria-hidden="true">{emptyStateFixture.icon}</span>} title={emptyStateFixture.title} description={emptyStateFixture.description} action={<button type="button">{emptyStateFixture.action}</button>} /> </div> );}Installation
API Reference
Import
import { EmptyState } from "@grassroot/ui-react";
Props
Prop
Type
Default
Requirement
titlestring—
required
descriptionstring | undefined—
optional
- Prop
description- Type
string | undefined- Default
- —
- Requirement
- optional
Content regions
actionicon
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { EmptyState } from "@grassroot/ui-vue";
Props
Prop
Type
Default
Requirement
titlestring—
required
descriptionstring | undefined—
optional
- Prop
title- Type
string- Default
- —
- Requirement
- required
- Prop
description- Type
string | undefined- Default
- —
- Requirement
- optional
Content regions
actionicon
Import
import { Component } from "@angular/core";
import { GrassrootEmptyState } from "@grassroot/ui-angular";
Props
Prop
Type
Default
Requirement
titlestring—
required
descriptionstring—
optional
- Prop
title- Type
string- Default
- —
- Requirement
- required
- Prop
description- Type
string- Default
- —
- Requirement
- optional
Content regions
actionicon
Import
import { EmptyState } from "@grassroot/ui-svelte";
Props
Prop
Type
Default
Requirement
titlestring—
required
descriptionstring—
optional
- Prop
title- Type
string- Default
- —
- Requirement
- required
- Prop
description- Type
string- Default
- —
- Requirement
- optional
Content regions
actionicon
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { EmptyState } from "@grassroot/ui-solid";
import type { JSX } from "solid-js";
Props
Prop
Type
Default
Requirement
titlestring—
required
descriptionstring—
optional
- Prop
title- Type
string- Default
- —
- Requirement
- required
- Prop
description- Type
string- Default
- —
- Requirement
- optional
Content regions
actionicon
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.