npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

lumina-button

v1.1.3

Published

A beautiful, highly customizable React button component with gradient effects, animations, hover effects, and extensive styling options. Perfect for modern web applications that need visually appealing UI elements.

Readme

🌟 LuminaButton

A beautiful, highly customizable React button component with gradient effects, animations, hover effects, and extensive styling options. Perfect for modern web applications that need visually appealing UI elements.

✨ Features

  • 🎨 Multiple Variants: Primary, secondary, success, warning, danger, info, light, dark, link, and ghost
  • 🌈 Gradient Backgrounds: 15+ stunning gradient combinations
  • 🎭 Animations: Pulse, wave, and bounce effects
  • 🖱️ Hover Effects: Fill, scale, shadow, glow, wave, and fade transitions
  • 📏 Sizes: Small, medium, and large options
  • 🔲 Outline Mode: Transparent background with colored borders
  • ⭕ Rounded Corners: 6 different rounding options from none to full circle
  • ✨ Glow Effects: Subtle shadow glows
  • ⏳ Loading States: Built-in loading spinner
  • 🎯 Icons Support: Left and right icon placement
  • 📱 Responsive: Full-width option available
  • 🎨 Custom Colors: Support for custom color and background-color overrides

📦 Installation

npm install lumina-button

🚀 Quick Start

import React from 'react';
import LuminaButton from 'lumina-button';

function App() {
  return (
    <div>
      <LuminaButton 
        label="Click Me" 
        variant="primary" 
        onClick={() => console.log('Button clicked!')}
      />
    </div>
  );
}

export default App;

📖 API Reference

Props

| Prop | Type | Default | Description | |------|------|---------|-------------| | label | string | "Button" | Button text content | | onClick | function | - | Click handler function | | type | "button", "submit", "reset" | "button" | HTML button type | | disabled | boolean | false | Disable the button | | className | string | "" | Additional CSS classes | | variant | ButtonVariant | "primary" | Button style variant | | size | "small", "medium", "large" | "medium" | Button size | | color | string | - | Custom text color (CSS color value) | | backgroundColor | string | - | Custom background color (CSS color value) | | rounded | RoundedSize | "md" | Border radius size | | leftIcon | ReactNode | - | Icon displayed on the left | | rightIcon | ReactNode | - | Icon displayed on the right | | loading | boolean | false | Show loading spinner | | glow | boolean | false | Add glow effect | | gradient | GradientVariant | "" | Gradient background variant | | animation | AnimationType | - | Animation type | | fullWidth | boolean | false | Make button full width | | outline | boolean | false | Use outline style | | hoverEffect | HoverEffect | "" | Hover effect type | | shadow | ShadowSize | "" | Shadow size |

Variant Types

type ButtonVariant = 
  | "primary"     // Indigo background
  | "secondary"   // Gray background  
  | "success"     // Green background
  | "warning"     // Yellow background
  | "danger"      // Red background
  | "info"        // Blue background
  | "light"       // Light gray background
  | "dark"        // Dark background
  | "link"        // Text-only style
  | "ghost";      // Transparent with color

type GradientVariant =
  | "indigo"      // Indigo → Purple → Pink
  | "blue"        // Blue → Cyan
  | "green"       // Green → Lime
  | "orange"      // Orange → Red
  | "pink"        // Pink → Rose
  | "dark"        // Dark → Purple
  | "aqua"        // Aqua → Teal → Emerald
  | "sunset"      // Yellow → Amber → Orange
  | "violet"      // Purple → Violet → Indigo
  | "rose"        // Red → Pink → Purple
  | "neon"        // Neon Cyan → Purple → Pink
  | "silver"      // Black → Gray → Silver
  | "earth"       // Brown → Amber → Yellow
  | "rainbow";    // Full rainbow spectrum

🎯 Examples

Basic Usage

<LuminaButton label="Primary Button" variant="primary" />
<LuminaButton label="Success Button" variant="success" />
<LuminaButton label="Warning Button" variant="warning" />

Gradient Buttons

<LuminaButton label="Indigo Gradient" gradient="indigo" />
<LuminaButton label="Sunset Gradient" gradient="sunset" />
<LuminaButton label="Rainbow Gradient" gradient="rainbow" />

With Icons

<LuminaButton 
  label="Download" 
  variant="primary" 
  leftIcon={<DownloadIcon />} 
/>
<LuminaButton 
  label="Continue" 
  variant="success" 
  rightIcon={<ArrowRightIcon />} 
/>

Outline Buttons

<LuminaButton label="Outline Primary" variant="primary" outline />
<LuminaButton label="Outline Success" variant="success" outline />
<LuminaButton label="Gradient Outline" gradient="indigo" outline />

Loading State

<LuminaButton 
  label="Processing..." 
  variant="primary" 
  loading={true} 
/>

Custom Styling

<LuminaButton 
  label="Custom Button" 
  color="#ffffff" 
  backgroundColor="#ff6b6b"
  rounded="xl"
  glow={true}
  hoverEffect="scale"
/>

Full Width

<LuminaButton 
  label="Full Width Button" 
  variant="primary" 
  fullWidth 
/>

With Animation

<LuminaButton 
  label="Pulse Button" 
  variant="primary" 
  animation="pulse" 
/>
<LuminaButton 
  label="Wave on Hover" 
  variant="success" 
  hoverEffect="wave" 
/>

🎨 Customization

Custom Colors

// Custom text and background colors
<LuminaButton 
  label="Custom Colors" 
  color="#ffffff" 
  backgroundColor="#4a90e2" 
/>

// Using CSS variables
<LuminaButton 
  label="CSS Variables" 
  color="var(--primary-color)" 
  backgroundColor="var(--secondary-color)" 
/>

Combining Effects

<LuminaButton 
  label="Premium Button"
  gradient="violet"
  glow={true}
  rounded="full"
  hoverEffect="fill"
  animation="pulse"
  size="large"
/>

🔧 Browser Support

LuminaButton supports all modern browsers including:

  • Chrome (60+)
  • Firefox (60+)
  • Safari (12+)
  • Edge (79+)

📋 Dependencies

  • React 18.0.0 or higher
  • React DOM 18.0.0 or higher

LuminaButton - Light up your UI with beautiful, customizable buttons! ✨