ArtificialSenseDocs

Docs / Components

SenseSkeletonComponent

Loading placeholder from @artificialsenselabs/ui that preserves layout while async content streams in.

Live demo: run nx serve showcase and open /components/skeleton (port 4202).

Overview

Category: Feedback. Selector: sense-skeleton. Import: import { SenseSkeletonComponent } from '@artificialsenselabs/ui';

<div [attr.aria-busy]="pending()" aria-live="polite">
  <sense-skeleton width="12rem" height="1rem" />
</div>

Inputs

InputTypeDefaultDescription
loadingbooleantrueWhen true, shows shimmer and hides projected content.
shape'rectangle' | 'circle''rectangle'Placeholder geometry token.
widthstring'100%'Host width while loading (ignored when size is set).
heightstring'1rem'Host height while loading (ignored when size is set).
sizestring | nullnullEqual width and height shorthand (avatars, icons).
borderRadiusstring | nullnullOverride corner radius; circle shape uses full radius token.
animation'wave' | 'none''wave'Shimmer animation; wave pauses under reduced motion.

Accessibility

  • While loading, the host is decorative (aria-hidden="true") — it does not announce. Put aria-busy (and optional live status) on the parent region, or use sense-block-ui / sense-spinner for an announced busy state.
  • Projected content is aria-hidden and inert until loading is false.
  • Wave animation pauses under prefers-reduced-motion: reduce.