A collection of 8 beautiful animated loading components for React applications, featuring neon trails, gradient text animations, and smooth transitions. Perfect for AI-powered search interfaces and modern web applications.
- 🎨 8 Different Animations - From simple spinners to complex neon trails
- ✨ Neon Trail Effects - Smooth animated trails with gradient colors
- 📝 Typewriter Text Animation - AI search messages with typewriter effect
- 🌈 Gradient Text Effects - Animated color-shifting text
- 🌙 Dark/Light Theme Support - Automatic theme adaptation
- ⚡ GPU-Accelerated - Smooth 60fps animations
- 📱 Fully Responsive - Works on all screen sizes
- 🎛️ Highly Customizable - Easy to configure and extend
- 📦 TypeScript Support - Full type definitions included
- V1 - Original shimmer animation with trail effects
- V1.1 - Enhanced neon trail with continuous glow
- V2 - Lightweight animation with single trail
- V3 - High-performance version with optimized rendering
- V4 - Extended trail with smooth transitions
- V5 - Multi-particle effects with variations
- V6 - Multiple tracer animations (Spin, Pulse, Wave, Orbit)
- V7 - Production-ready standalone component
- V8 - AI Search Loader with typewriter text animations
- Clone the repository:
git clone https://github.com/hellogustav/ai-search-loader.git- Install dependencies:
npm install- Run the demo:
npm startCopy the desired component files to your React project:
GlowAnimationV7.tsx- Standalone production versionGlowAnimationV8.tsx&GlowAnimationV8.css- Version with text animations
import GlowAnimationV7 from './GlowAnimationV7';
function App() {
return (
<div>
<GlowAnimationV7 />
</div>
);
}import GlowAnimationV8 from './GlowAnimationV8';
import './GlowAnimationV8.css';
function App() {
return (
<GlowAnimationV8
messages={[
"Searching database...",
"Analyzing results...",
"Preparing recommendations..."
]}
textAnimation="typewriter"
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
duration |
number |
2.24 |
Animation duration in seconds |
reverse |
boolean |
false |
Reverse animation direction |
ariaLabel |
string |
"Animated neon trail..." |
Accessibility label |
| Prop | Type | Default | Description |
|---|---|---|---|
duration |
number |
2.24 |
Spinner animation duration |
reverse |
boolean |
false |
Reverse spinner direction |
showText |
boolean |
true |
Show/hide loading text |
textChangeInterval |
number |
2.5 |
Text change interval (seconds) |
textAnimation |
string |
'typewriter' |
Animation style: 'typewriter', 'fade', 'slide', 'flip', 'blur' |
messages |
string[] |
(20 default messages) | Custom loading messages |
className |
string |
'' |
Additional CSS class |
Edit the CSS gradients in GlowAnimation.css:
/* Glow core color */
.glow-core {
background: white; /* Change this */
box-shadow: 0 0 10px rgba(255, 255, 255, 1); /* And these */
}
/* Trail color */
.trail-particle {
background: linear-gradient(135deg,
rgba(147, 197, 253, 0.8), /* Change colors */
rgba(59, 130, 246, 0.4));
}To use a different path, replace the d attribute in the <path ref={routePathRef}> element in GlowAnimation.tsx.
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers
The animation uses requestAnimationFrame and CSS transforms for optimal performance. The component automatically cleans up particles and cancels animations on unmount.
Run the included App.tsx to see various configuration examples:
npm startMIT