GitHub

Analyzing image

A visual placeholder for image analysis or computer-vision style loading.

AnalyzingImage is a scanning image placeholder for vision, OCR, upload review, and image-understanding flows. It pairs especially well with shimmer text components when the surrounding copy should feel like an active analysis state.

Analyzing image
import { AnalyzingImage } from "@/components/loading-ui/analyzing-image";

export function AnalyzingImageDemo() {

Installation

pnpm dlx shadcn@latest add @loading-ui/analyzing-image

Usage

import { AnalyzingImage } from "@/components/loading-ui/analyzing-image";
<AnalyzingImage className="size-16" />

Customization

AnalyzingImage scales from size-* utilities and inherits currentColor. The wipe mask defaults to var(--background); on filled surfaces, set --loading-ui-analyzing-image-background to the surface color so the scan feels native to the container.

Size

Use compact sizes for badges and buttons, and larger sizes for empty states or image-analysis panels.

Analyzing image
Analyzing image
Analyzing image
import { AnalyzingImage } from "@/components/loading-ui/analyzing-image";

export function AnalyzingImageSize() {

Color

Color comes from currentColor, so text utilities or inherited foreground colors are enough.

Analyzing image
Analyzing image
Analyzing image
import { AnalyzingImage } from "@/components/loading-ui/analyzing-image";

export function AnalyzingImageColor() {

Examples

These examples use the component where an image is being read, described, or processed. Pairing it with shimmer text keeps the visual and copy in the same analysis language.

Shimmer Text

Use TextShimmer beside the icon when the label itself should feel active.

Analyzing image

Analyzing image

Reading objects, text, and scene context.

import { AnalyzingImage } from "@/components/loading-ui/analyzing-image";
import { TextShimmer } from "@/components/loading-ui/text-shimmer";

Button

Buttons can use the icon for pending vision actions. Filled variants set the mask background to match the button surface.

import { Button } from "@/components/ui/button";
import { AnalyzingImage } from "@/components/loading-ui/analyzing-image";

Badge

Badges work well for compact OCR, vision, and analysis labels.

Analyzing image
Analyzing
Analyzing image
OCR
Analyzing image
Vision
import { Badge } from "@/components/ui/badge";
import { AnalyzingImage } from "@/components/loading-ui/analyzing-image";

Empty

Empty states can combine the icon with shimmer text while an uploaded image is still being inspected.

Analyzing image

Analyzing upload

Visual details are still being extracted from the image.

import { Button } from "@/components/ui/button";
import {
  Empty,