NeonKit
esc
  • IntroductionGetting started
  • InstallationGetting started
  • ThemingGetting started
  • Use with AIGetting started
  • All componentsGetting started
  • ButtonSolid, outline, soft, ghost and link buttons that light up on hover.Forms
  • InputText field with an animated neon focus ring, icons, labels and error states.Forms
  • TextareaMulti-line field that grows with its content and counts characters.Forms
  • SelectKeyboard-friendly listbox with a glowing popover and typeahead.Forms
  • CheckboxCheckbox with a drawn-on checkmark and indeterminate state.Forms
  • Radio GroupSingle choice from a set, with arrow-key navigation and card layouts.Forms
  • SwitchA toggle that powers on like a neon tube.Forms
  • SliderPointer and keyboard slider with a glowing track and optional range.Forms
  • OTP InputOne-time code input with auto-advance, paste and backspace handling.Forms
  • BadgeStatus labels with optional live dot and remove button.Data Display
  • AvatarProfile image with initials fallback, status light and stacked groups.Data Display
  • CardSurface with header, content and footer slots and a lit edge.Data Display
  • KbdKeyboard keys and shortcuts that glow when pressed.Data Display
  • TabsTabbed panels with a sliding light indicator and roving focus.Data Display
  • AccordionCollapsible sections with smooth height animation.Data Display
  • ProgressLinear and circular progress with a moving highlight.Feedback
  • SpinnerRing, dots and bars loaders in any neon color.Feedback
  • SkeletonLoading placeholders with a scanning shimmer.Feedback
  • AlertInline messages for info, success, warning and errors.Feedback
  • ToastStacked notifications with a tiny toast() API. No provider needed.Feedback
  • DialogAccessible modal built on the native dialog element.Overlay
  • TooltipHover and focus hints on four sides.Overlay
  • Neon TextText rendered as a glowing tube sign, with optional power-on flicker.Effects
  • Border BeamA beam of light that travels around any element's border.Effects
  • Spotlight CardCard whose border and surface light up under the cursor.Effects
  • Retro GridSynthwave perspective grid that scrolls toward the horizon.Effects

Components/Data Display

Avatar

Profile image with initials fallback, status light and stacked groups.

  • Maya Okafor

    Design engineer

    Online
  • Daniel Reyes

    Platform lead

    In a meeting
  • Lena Fischer

    Product designer

    Away 20m
  • Arjun Mehta

    Frontend engineer

    Seen 3h ago

Installation#

npx shadcn@latest add https://get-neonkit.vercel.app/r/avatar.json

Usage#

import { Avatar } from "@/components/ui/avatar"

<Avatar src="/maya.jpg" alt="Maya Okafor" status="online" />

Examples#

Group

AvatarGroup overlaps its children and folds the rest into a +N chip.

+3

Maya, Daniel and 5 others are editing

+2

Sizes and shapes

Square suits workspaces and organisations.

Ring and color

ring marks the active person. color tints the initials and the ring.

Lena
Tom
Sofia
Noah
Guests get their own color

API reference#

Avatar

Renders a span and accepts every native span attribute.

PropTypeDefault
altstring

The person's name. Read by screen readers and used for the initials. Pass "" when decorative.

—
srcstring

Image URL. Fades in once loaded.

—
fallbackReactNode

Replaces the initials, for example with an icon.

—
size"sm" | "md" | "lg" | "xl"

28, 36, 48 or 64px.

"md"
shape"circle" | "square"

Outline shape.

"circle"
status"online" | "away" | "busy" | "offline"

Status light in the bottom-right corner.

—
ringboolean

Neon ring with a glow, set off by a thin dark gap.

false
colorNeonColor

Palette name or hex. Falls back to --neon-accent, then cyan.

inherited

AvatarGroup

Renders a div. Size and shape apply to every Avatar inside.

PropTypeDefault
maxnumber

Avatars past this count collapse into a +N chip.

—
size"sm" | "md" | "lg" | "xl"

Size of every avatar and the chip.

"md"
shape"circle" | "square"

Shape of every avatar and the chip.

"circle"
colorNeonColor

Color for every avatar in the group.

inherited

Accessibility#

  • Each avatar is a single image to assistive tech, named by alt, with the status appended, e.g. "Maya Okafor (online)".
  • The +N chip is announced as "N more".
  • The status light is cut out with #05060a; change it with className if your surface is a different color.