Glin UI
Signature / Molecule

Glow Border

Rotating conic-gradient glow effect around container border.

GitHub

Sync pull requests and checks

Connected
+3 deploy targets

Installation$

Install from
pnpm dlx @glinui/cli@latest add glow-border

Prefer the package?

Usage$

Wrap any content with GlowBorder to apply a continuously rotating conic-gradient glow along the border. The glow is rendered via a CSS @property-animated conic gradient positioned behind the content.

A rotating conic glow circles an integration card. The face inside follows the ambient style (glinr by default); variant="glass" is opt-in.

Examples$

Variants$

glinr is the default, plain is the flat shadcn look, solid is a neutral tonal face and glass is opt-in. Glass needs a backdrop, so the set below sits on a vivid one.

glinr

Crisp on any stage.

Learn more

plain

Crisp on any stage.

Learn more

solid

Crisp on any stage.

Learn more

glass

Opt-in. Needs a backdrop.

Learn more
import { GlowBorder } from "@glinui/ui"
// Omit variant to follow the ambient style (glinr by default).
export function GlowBorderVariants() {
return (
<>
<GlowBorder variant="glinr" glowSize={3}>
...
</GlowBorder>
<GlowBorder variant="plain" glowSize={3}>
...
</GlowBorder>
<GlowBorder variant="solid" glowSize={3}>
...
</GlowBorder>
<GlowBorder variant="glass" glowSize={3}>
...
</GlowBorder>
</>
)
}

Colors$

glowColor takes any token or color.

accent

The effect color follows the tone token.

Learn more

success

The effect color follows the tone token.

Learn more

warning

The effect color follows the tone token.

Learn more

danger

The effect color follows the tone token.

Learn more

info

The effect color follows the tone token.

Learn more
import { GlowBorder } from "@glinui/ui"
export function GlowBorderTones() {
return (
<GlowBorder glowColor="var(--tone-success)" glowSize={3}>
...
</GlowBorder>
)
}

In a layout$

A pricing row where the highlighted plan wears the glow.

StarterBilled monthly

$0/ seat

  • Unlimited projects
  • Priority support
  • Audit log export
ProBilled monthly

$24/ seat

  • Unlimited projects
  • Priority support
  • Audit log export
TeamBilled monthly

$60/ seat

  • Unlimited projects
  • Priority support
  • Audit log export
// A pricing row where the highlighted plan wears the glow.
import { GlowBorder } from "@glinui/ui"
export function GlowBorderLayout() {
return (
<section className="grid gap-4 sm:grid-cols-3">
...
</section>
)
}

Accessibility$

  • The glow pseudo-element is purely decorative and carries aria-hidden semantics, it does not affect the accessibility tree.
  • GlowBorder does not alter the focusability or tab order of its children.
  • Keyboard navigation passes through to child content unchanged.

Reduced Motion$

When prefers-reduced-motion: reduce is active, the rotating glow animation is hidden entirely so that users sensitive to motion are not affected.

API Reference$

PropTypeRequiredDefaultDescription
borderRadiusstringNo"var(--radius-lg)"Border radius
durationnumberNo4Rotation duration in seconds
glowColorstringNo"var(--color-accent)"Glow color
glowSizenumberNo2Glow spread in px
variantSurfaceVariant | "default" | nullNo-Face inside the glow. Omitted follows the ambient style (glinr by default). `glass` is opt-in.

Source$

import { GlowBorder } from "@glinui/ui"
packages/ui/src/components/glow-border.tsx

Generated API Snapshot

Beta

Auto-extracted from TypeScript source in packages/ui/src/components/glow-border.tsx. This section is in beta and may lag behind hand-curated docs. Regenerate with pnpm --filter @glinui/docs api:generate.

Generated: 2026-10-08T01:41:21.546Z · Full index: /docs/api-metadata

Primary Props Type

GlowBorderProps

GlowBorderProps

PropTypeRequiredDefaultDescription
borderRadiusstringNo"var(--radius-lg)"Border radius
durationnumberNo4Rotation duration in seconds
glowColorstringNo"var(--color-accent)"Glow color
glowSizenumberNo2Glow spread in px
variantSurfaceVariant | "default" | nullNo-Face inside the glow. Omitted follows the ambient style (glinr by default). `glass` is opt-in.