Your Image
25

Border Glow

PreviousNext

Animated gradient border wrapper with glow effects and multiple presets.

Installation

pnpm dlx shadcn@latest add https://aliimam.in/r/border-glow.json

Usage

import { border-glowGrid, border-glowGridItem } from "@/components/ui/border-glow"
<border-glowGrid>
  <border-glowGridItem>Item 1</border-glowGridItem>
  <border-glowGridItem>Item 2</border-glowGridItem>
  <border-glowGridItem>Item 3</border-glowGridItem>
</border-glowGrid>

CSS

 
@property --glow-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
 
@keyframes glow-angle-rotate {
  to {
    --glow-angle: 1turn;
  }
}
 
.glow-border {
  border-image: var(--glow-gradient) var(--glow-spread, 1);
  animation: glow-angle-rotate var(--glow-animation-duration, 4s)
    linear infinite;
  animation-direction: var(--glow-direction, normal);
}
 
.glow-border[data-gradient-type='conic'] {
  --glow-gradient: conic-gradient(
    from var(--glow-angle),
    var(--glow-color-1),
    var(--glow-color-2),
    var(--glow-color-3),
    var(--glow-color-4),
    var(--glow-color-5),
    var(--glow-color-6),
    var(--glow-color-7),
    var(--glow-color-8),
    var(--glow-color-9),
    var(--glow-color-10),
    var(--glow-color-1)
  );
}
 
.glow-border[data-gradient-type='radial'] {
  --glow-gradient: radial-gradient(
    circle,
    var(--glow-color-1),
    var(--glow-color-5),
    var(--glow-color-9)
  );
}
 
.glow-border[data-gradient-type='linear'] {
  --glow-gradient: linear-gradient(
    90deg,
    var(--glow-color-1),
    var(--glow-color-2),
    var(--glow-color-3),
    var(--glow-color-4),
    var(--glow-color-5),
    var(--glow-color-6),
    var(--glow-color-7),
    var(--glow-color-8),
    var(--glow-color-9),
    var(--glow-color-10)
  );
}
 
@media (prefers-reduced-motion: reduce) {
  .glow-border {
    animation: none;
  }
}
 

Props

PropTypeDefaultDescription
childrenReact.ReactNodeContent inside the glow wrapper
widthstring"100%"CSS width value
heightstringundefinedCSS height value
aspectRatiostringundefinedCSS aspect-ratio value
animationDurationnumber4Duration of rotation animation in seconds
rotationDirection"normal" | "reverse""normal"Rotation direction
pausedbooleanfalsePauses animation
hoverOnlybooleanfalseAnimates only on hover
gradientType"conic" | "radial" | "linear""conic"Type of gradient used
gradientColorsstring[]undefinedCustom color array (overrides preset)
colorPresetPreset name"custom"Built-in gradient preset
glowIntensitynumber1Controls glow opacity
borderWidthstring"1.25em"Border thickness
blurAmountstring"0.75em"Blur intensity
insetstring"-1em"Position offset of glow
glowSpreadstring"1"Border-image slice value
innerGlowbooleanfalseMakes glow render inside container
backgroundColorstringundefinedCustom background color

AI

Listining

Zindagi Tere Naam (From "Yodha")

Vishal Mishra, Kaushal Kishore