Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Nettalco/nettalco-theme/llms.txt

Use this file to discover all available pages before exploring further.

Overview

p-skeleton renders a shimmering placeholder that mirrors the size and shape of real content while it loads. The Nettalco preset keeps the skeleton visually subtle using a light surface neutral ({surface.200}) as the base background in light mode and a low-opacity white layer in dark mode. The shimmer highlight that sweeps across the shape is a semi-transparent white, ensuring the animation is visible on both light and dark backgrounds without being jarring.

Usage

Text Placeholders

<!-- Single line, full width -->
<p-skeleton />

<!-- Multiple lines mimicking paragraph text -->
<p-skeleton class="mb-2" />
<p-skeleton width="80%" class="mb-2" />
<p-skeleton width="60%" />

Shapes

<!-- Circle avatar placeholder -->
<p-skeleton shape="circle" size="3rem" />

<!-- Rectangle image placeholder -->
<p-skeleton width="100%" height="12rem" borderRadius="8px" />

<!-- Square -->
<p-skeleton size="4rem" />

Card Skeleton

<p-card>
  <ng-template pTemplate="header">
    <p-skeleton width="100%" height="8rem" borderRadius="0" />
  </ng-template>
  <div class="flex items-center gap-3 mb-4">
    <p-skeleton shape="circle" size="2.5rem" />
    <div class="flex-1">
      <p-skeleton class="mb-2" />
      <p-skeleton width="60%" />
    </div>
  </div>
  <p-skeleton class="mb-2" />
  <p-skeleton width="80%" />
</p-card>

Table Skeleton

<p-table [value]="loadingRows">
  <ng-template pTemplate="body">
    <tr *ngFor="let row of loadingRows">
      <td><p-skeleton /></td>
      <td><p-skeleton /></td>
      <td><p-skeleton width="60%" /></td>
    </tr>
  </ng-template>
</p-table>
export class TableComponent {
  loadingRows = Array(5).fill({});
}

Design Tokens

Defined in src/lib/theme/skeleton/index.ts:

Root

TokenValueNotes
root.borderRadius{content.border.radius}Matches card/content corner rounding

Color Scheme — Light Mode

TokenValueNotes
colorScheme.light.root.background{surface.200}#e2e8f0 — neutral grey base
colorScheme.light.root.animationBackgroundrgba(255,255,255,0.4)40% white shimmer highlight

Color Scheme — Dark Mode

TokenValueNotes
colorScheme.dark.root.backgroundrgba(255, 255, 255, 0.06)6% white on dark surface
colorScheme.dark.root.animationBackgroundrgba(255, 255, 255, 0.04)4% white shimmer — very subtle

Nettalco Theme Notes

The skeleton deliberately avoids the Nettalco brand palettes. Because skeletons represent the absence of content, using brand colors would draw unwanted attention. Instead:
  • Light mode: {surface.200} maps to #e2e8f0 from the Nettalco light surface scale — a cool grey that sits quietly between the white page background and card borders.
  • Dark mode: The rgba(255,255,255,0.06) background blends seamlessly with the Nettalco dark surface (#0f1e35#152540 range), producing a barely-there placeholder shape.
The shimmer animation sweep is achieved via a CSS gradient using animationBackground as the highlight color, sliding across the background base. The dark-mode values are intentionally lower opacity (0.06 base, 0.04 highlight) to avoid the shimmer competing with actual content in dark interfaces.
Best practice: Match skeleton dimensions exactly to the real content’s dimensions using width, height, and borderRadius props. Use shape="circle" for avatar placeholders and the default rectangle for text or image areas.

Build docs developers (and LLMs) love