Docs Components Feedback

Skeleton

React example follows below.
ts
const skeletonFixture = {
id: "skeleton",
avatarSize: "h-10 w-10",
lineSizes: ["h-3 w-3/4", "h-3 w-1/2"],
} satisfies { id: string; avatarSize: string; lineSizes: string[] };
import { Skeleton } from "@grassroot/ui-react";
export default function SkeletonDemo() {
return (
<div>
<Skeleton circle className={skeletonFixture.avatarSize} />
{skeletonFixture.lineSizes.map((size) => (
<Skeleton key={size} className={size} />
))}
</div>
);
}
ts
<script setup lang="ts">
const skeletonFixture = {
id: "skeleton",
avatarSize: "h-10 w-10",
lineSizes: ["h-3 w-3/4", "h-3 w-1/2"],
} satisfies { id: string; avatarSize: string; lineSizes: string[] };
import { Skeleton } from "@grassroot/ui-vue";
</script>
<template>
<div>
<Skeleton circle :class-name="skeletonFixture.avatarSize" />
<Skeleton v-for="size in skeletonFixture.lineSizes" :key="size" :class-name="size" />
</div>
</template>
ts
import { Component } from "@angular/core";
const skeletonFixture = {
id: "skeleton",
avatarSize: "h-10 w-10",
lineSizes: ["h-3 w-3/4", "h-3 w-1/2"],
} satisfies { id: string; avatarSize: string; lineSizes: string[] };
import { GrassrootSkeleton } from "@grassroot/ui-angular";
@Component({
selector: "app-skeleton-demo",
standalone: true,
imports: [GrassrootSkeleton],
template: `
<div>
<grassroot-skeleton [circle]="true" [className]="fixture.avatarSize" />
@for (size of fixture.lineSizes; track size) {
<grassroot-skeleton [className]="size" />
}
</div>
`,
})
export class SkeletonDemoComponent {
protected readonly fixture = skeletonFixture;
}
export default SkeletonDemoComponent;
ts
<script lang="ts">
import { Skeleton } from "@grassroot/ui-svelte";
const skeletonFixture = {
id: "skeleton",
avatarSize: "h-10 w-10",
lineSizes: ["h-3 w-3/4", "h-3 w-1/2"],
} satisfies { id: string; avatarSize: string; lineSizes: string[] };
</script>
<div>
<Skeleton circle className={skeletonFixture.avatarSize} />
{#each skeletonFixture.lineSizes as size (size)}
<Skeleton className={size} />
{/each}
</div>
ts
/** @jsxImportSource solid-js */
import { Skeleton } from "@grassroot/ui-solid";
const skeletonFixture = {
id: "skeleton",
avatarSize: "h-10 w-10",
lineSizes: ["h-3 w-3/4", "h-3 w-1/2"],
} satisfies { id: string; avatarSize: string; lineSizes: string[] };
export default function SkeletonDemo() {
return (
<div>
<Skeleton circle className={skeletonFixture.avatarSize} />
{skeletonFixture.lineSizes.map((size) => (
<Skeleton className={size} />
))}
</div>
);
}

Installation

API Reference

Import

import { Skeleton } from "@grassroot/ui-react";

Props

Prop
Type
Default
Requirement
Description
circle
boolean | undefined
false
optional
Render a full circle (avatars, dots).
Prop
circle
Type
boolean | undefined
Default
false
Requirement
optional
Description
Render a full circle (avatars, dots).

Native attributes

Standard DOM and ARIA attributes not listed above spread onto the root element.

Import

import { Skeleton } from "@grassroot/ui-vue";

Props

Prop
Type
Default
Requirement
circle
boolean | undefined
false
optional
className
string | undefined
optional
Prop
circle
Type
boolean | undefined
Default
false
Requirement
optional
Prop
className
Type
string | undefined
Default
Requirement
optional

Import

import { Component } from "@angular/core";
import { GrassrootSkeleton } from "@grassroot/ui-angular";

Props

Prop
Type
Default
Requirement
circle
boolean
false
optional
className
string
optional
Prop
circle
Type
boolean
Default
false
Requirement
optional
Prop
className
Type
string
Default
Requirement
optional

Import

import { Skeleton } from "@grassroot/ui-svelte";

Props

Prop
Type
Default
Requirement
circle
boolean
false
optional
className
string
optional
Prop
circle
Type
boolean
Default
false
Requirement
optional
Prop
className
Type
string
Default
Requirement
optional

Import

import { Skeleton } from "@grassroot/ui-solid";

Props

Prop
Type
Default
Requirement
circle
boolean
optional
className
string
optional
Prop
circle
Type
boolean
Default
Requirement
optional
Prop
className
Type
string
Default
Requirement
optional

Native attributes

Standard DOM and ARIA attributes not listed above spread onto the root element.