ContentComponentBeta

Image.

Pictures that load gracefully.

Image is a native img with lazy loading, a placeholder surface, one fallback source and a data-status of loading, loaded or error. The reveal fade is skipped under reduced motion.

Make it yours

Preparing the example…

PROPERTIES3

Composition

Anatomy

Image is a native img with lazy loading, a placeholder surface, one fallback source and a data-status of loading, loaded or error. The reveal fade is skipped under reduced motion.

Component structure
Image (native img, data-status)

A place to start

Usage

Import the stylesheet once at your application root. This complete example reflects the properties selected above.

Loading example…

Details that make a difference

Examples & states

Corner radii

Contextual rounding applies to the control or surface; large panels stay readable.

Example loads as it comes into view.

Loading source…

The finer details

API reference

Generated from Dixy’s local TypeScript interfaces. Native HTML attributes and refs are forwarded. The table covers Dixy’s own options.

Image

PropType / descriptionDefault
radius"none" | "sm" | "md" | "lg" | "full"

Inherits the nearest Theme.

—
asE

Override the semantic element, e.g. a title heading level.

—
alt*string

Required. Describe the image, or pass "" when it is purely decorative.

—
fallbackSrcstring

Shown once if src fails to load.

—
placeholderboolean

Show a subtle surface until the image has loaded.

true
loading"lazy" | "eager"

Native lazy loading.

lazy

Built from the same foundations

Styling tokens

Change Theme settings above to compare appearance, accent, neutral, radius, spacing density, motion and direction. Override component aliases on a Theme root so custom properties follow portaled content too. The wrapper merges className, style, refs and render composition with its owning primitive.

TokenPurpose
--dixy-color-background-subtleThe component-specific starting point.
--dixy-font-label-mdControl label font and line height; body roles remain readable in text inputs.
--dixy-color-background-selectedSelected surfaces use semantic color across appearances.
--dixy-color-border-focusFocus indication remains visible independently of shadows.
--dixy-spacing-inset-smDensity-aware component padding.
--dixy-motion-transition-feedbackShort state feedback, reduced by the inherited motion setting.
Explore theme customization

Consider everyone

Accessibility

alt is required: describe the image, or pass an empty string when it is decorative. Set width and height to prevent layout shift. Target WCAG 2.2 AA. Automated axe checks pass in unit tests; screen-reader, forced-colors and contrast verification in real browsers remains pending.

Target: WCAG 2.2 AA. Automated tests cover selected behavior; manual screen-reader, contrast, and zoom validation remain part of the release checklist.

THE THINKING BEHIND IT

Build it. Then understand it.

Images can finish loading before hydration, so React never sees onLoad; a ref checks img.complete to catch that case.

A token to follow--dixy-color-background-subtle

Nothing up our sleeves

Source
UP NEXTNavbar