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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@keltroth/galaxy

v0.0.58

Published

A galaxy of Astro components

Downloads

60

Readme

@keltroth/galaxy

A galaxy of reusable Astro components for building modern web applications.

npm version License: MIT

Features

  • 🚀 Astro-native: Built specifically for Astro projects
  • 🎨 Themable: Consistent theming system with variants, statuses, and sizes
  • 📦 Modular: Import only the components you need
  • 🔍 TypeScript: Fully typed component props for better developer experience
  • 🎯 Lightweight: Minimal dependencies for optimal performance

Installation

# npm
npm install @keltroth/galaxy

# yarn
yarn add @keltroth/galaxy

# pnpm
pnpm add @keltroth/galaxy

Usage

Import components directly in your Astro files:

---
import { Button, Card, CardHeader, CardBody } from '@keltroth/galaxy';
---

<Card>
  <CardHeader>Hello Galaxy</CardHeader>
  <CardBody>
    <p>This is a card component from the Galaxy library.</p>
    <Button>Click me</Button>
  </CardBody>
</Card>

Available Components

The library includes the following components:

  • Button: Customizable button with various styles and sizes
  • ButtonGroup: Container for grouping related buttons
  • Card: Container component with optional header and body
  • CardHeader: Header section for the Card component
  • CardBody: Body section for the Card component
  • Cartouche: Label/tag component for displaying metadata
  • Footer: Page footer component
  • Header: Page header component
  • Logo: Component for displaying a logo
  • Menu: Navigation menu component
  • Sidenav: Side navigation component

Component API

Button

A versatile button component with multiple variants and states.

---
import { Button } from '@keltroth/galaxy';
---

<!-- Default button -->
<Button>Click me</Button>

<!-- Button with variant and status -->
<Button variant="outline" status="success">Success</Button>

<!-- Button with size -->
<Button size="lg">Large Button</Button>

<!-- Icon button -->
<Button icon>
  <svg><!-- Your icon SVG --></svg>
</Button>

Props

| Prop | Type | Default | Description | |------|------|---------|-------------| | variant | 'plain' | 'outline' | 'invisible' | 'plain' | Visual style of the button | | status | 'accent' | 'success' | 'neutral' | 'error' | 'accent' | Status/color of the button | | size | 'sm' | 'md' | 'lg' | 'xl' | 'md' | Size of the button | | icon | boolean | false | Whether the button contains only an icon |

Card

A container component for grouping related content.

---
import { Card, CardHeader, CardBody } from '@keltroth/galaxy';
---

<Card>
  <CardHeader>Card Title</CardHeader>
  <CardBody>
    <p>Card content goes here.</p>
  </CardBody>
</Card>

Styling

Galaxy components use SCSS for styling with a consistent theming system. The components are designed to be customizable through CSS variables.

You can customize the appearance by overriding the CSS variables:

:root {
  /* Button customization */
  --color-plain-accent-fill-normal: #3366ff;
  --color-plain-accent-content-normal: white;
  --color-plain-accent-stroke-normal: #3366ff;
  
  /* Size customization */
  --sizes-padding-inline-start-md: 1rem;
  --sizes-padding-inline-end-md: 1rem;
  --sizes-font-size-md: 1rem;
}

Browser Support

Galaxy components support all modern browsers.

License

MIT © Django Janny