1 GitHub star = 1 new component.

Star the repo
Feedbackloadingspinner

Neon Spinner

Circular loading spinner with glowing neon aura.

Live Preview

Usage

Copy and paste this code into your React component:

tsx
import { NeonSpinner } from 'react-component-kit-ui/feedback';

<NeonSpinner size="lg" color="#d4a017" />

Manual Installation

If you are not using the npm package, create a new file and paste the following code: src/components/NeonSpinner.tsx + NeonSpinner.css:

NeonSpinner.tsx
'use client';

import type { CSSProperties, HTMLAttributes } from 'react';
import './NeonSpinner.css';

/**
 * NeonSpinner โ€” A sleek, glowing loading spinner with customizable color and size.
 *
 * @param color - Optional. Default 'var(--c-primary, #6366f1)'.
 * @param size - Optional. 'sm' | 'md' | 'lg'. Default 'md'.
 * @param label - Optional. Accessible label. Default 'Loading'.
 */
export interface NeonSpinnerProps extends HTMLAttributes<HTMLDivElement> {
  color?: string;
  size?: 'sm' | 'md' | 'lg';
  label?: string;
}

const dimensions = { sm: '24px', md: '40px', lg: '64px' };

export function NeonSpinner({ color = 'var(--c-primary, #6366f1)', size = 'md', label = 'Loading', className, style, ...rest }: NeonSpinnerProps) {
  return (
    <div
      role="status"
      aria-label={label}
      {...rest}
      className={['neon-spinner', className].filter(Boolean).join(' ')}
      style={{ '--spinner-color': color, '--spinner-size': dimensions[size], ...style } as CSSProperties}
    />
  );
}

export default NeonSpinner;
NeonSpinner.css
/* NeonSpinner โ€” ported from astro-component-kit (feedback/NeonSpinner.astro) */

.neon-spinner { 
  width: var(--spinner-size); 
  height: var(--spinner-size); 
  border: 3px solid var(--c-bg-elev, #111); 
  border-top-color: var(--spinner-color); 
  border-radius: var(--r-full, 50%); 
  animation: neon-spinner-neon-spin 0.8s linear infinite; 
  filter: drop-shadow(0 0 5px var(--spinner-color)); 
}

@keyframes neon-spinner-neon-spin { 
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); } 
}

Quick Info

Category
Feedback
Filename
NeonSpinner.tsx
Dependencies
None โ€” pure React + CSS
Tags
loadingspinner