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';

<sense-skeleton width="12rem" height="1rem" [loading]="pending()" />

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.
styleClassstring | nullnullExtra CSS classes on the host.
ariaLabelstring | nullnullAccessible name override; falls back to i18n skeleton.label.

Accessibility

  • While loading, host exposes role="status", aria-busy="true", and aria-live="polite".
  • Projected content is aria-hidden and inert until loading is false.
  • Override ariaLabel when the default i18n label is too generic.
  • Wave animation pauses under prefers-reduced-motion: reduce.