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-loader-react

v0.0.2

Published

React adapter for Lumina Loader

Readme

lumina-loader-react 🔌

React adapter for Lumina Loader — small component wrapper that mounts the loader into the DOM and forwards common options.

Install

npm install lumina-loader-react

(or)

pnpm add lumina-loader-react

Usage (React)

import React from 'react';
import { LuminaLoaderReact } from 'lumina-loader-react';

export default function App() {
  return (
    <div>
      {/* Inline loader mounted into the DOM */}
      <LuminaLoaderReact type="spinner" size={48} color="#0070f3" />

      {/* Overlay loader (mounted to document.body) */}
      <LuminaLoaderReact overlay show={true} />

      {/* Controlled example */}
      <ControlledExample />
    </div>
  );
}

function ControlledExample() {
  const [show, setShow] = React.useState(false);
  return (
    <div>
      <button onClick={() => setShow((s) => !s)}>{show ? 'Hide' : 'Show'} loader</button>
      <LuminaLoaderReact show={show} type="bar" progress={0.5} />
    </div>
  );
}

Props

  • show?: boolean — whether the loader is visible (default: true).
  • container?: HTMLElement | string — DOM node or selector to mount into. If omitted, mounts inline into a wrapper element.
  • overlay?: boolean — when true the loader will mount to document.body and the component renders null (useful for global overlays).
  • onShow?: () => void / onHide?: () => void — lifecycle callbacks.
  • All loader options such as type, size, color, speed, theme, progress, progressVariant are forwarded to the core loader.

Logo usage

The core supports an image loader type to show a logo or custom image. Examples:

// URL image
<LuminaLoaderReact type="image" image="/logo.svg" />

// Inline SVG (import as URL or SVG element)
import logoUrl from './logo.svg';
<LuminaLoaderReact type="image" image={logoUrl} />

Note: the image prop accepts a URL string or an inline SVGElement.

Notes

  • The adapter depends on the runtime core (already bundled in this monorepo). Use the published package at lumina-loader-react when consuming from npm.
  • The inline host element has the class lumina-loader-host if you need to target it with styles.

Contributions welcome — open an issue or PR if you need additional examples or props documented.