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

@scmposs/hollow-ui

v1.0.0

Published

hollow-UI - Modern React Components Framework with Dark Fantasy Design System. Developed by Ítalo Soares Campos

Downloads

100

Readme

hollow-UI


About

hollow-UI is a collection of reusable components built with React, TypeScript, Tailwind CSS, and Radix UI. Designed to be:

  • Customizable - Each component can be personalized to your needs
  • Accessible - Built with Radix UI for accessibility
  • Copy-paste - Copy and paste components directly into your project
  • Theme support - Light, dark, and contrast modes included
  • TypeScript - Fully typed for better development experience

Installation

hollow-UI offers two ways of usage to suit different needs:

📦 Via CLI (Recommended)

Copy only the components you need directly into your project:

# 1. Initialize configuration (first time - REQUIRED)
npx @scmposs/hollow-ui init

# 2. Add specific components
npx @scmposs/hollow-ui add button
npx @scmposs/hollow-ui add card badge

# 3. List all available components
npx @scmposs/hollow-ui list

What does init do?

  • ✅ Creates the src/lib/utils.ts file with utility functions
  • ✅ Checks if Tailwind CSS is configured
  • ✅ Prepares your project to receive the components

Advantages:

  • ✅ You have full control of the code
  • ✅ Can customize freely
  • ✅ Doesn't increase node_modules
  • ✅ Better for tree-shaking
  • ✅ Components stay in your project

📚 Via NPM (Complete Package)

Install as a dependency for quick access to all components:

npm install @scmposs/hollow-ui
yarn add @scmposs/hollow-ui@latest
pnpm add @scmposs/hollow-ui@latest

Advantages:

  • ✅ Quick installation
  • ✅ Automatic updates
  • ✅ Ideal for prototypes
  • ✅ All components available

Usage

Basic import (Via NPM)

When installed as an npm package:

import { Button, Card, Badge } from "@scmposs/hollow-ui";
import "@scmposs/hollow-ui/styles.css";

function App() {
  return (
    <Card>
      <h2>Hello hollow-UI!</h2>
      <p>Modern component framework with dark fantasy aesthetics</p>
      <div>
        <Button>Click here</Button>
        <Badge variant="secondary">v1.0.0</Badge>
      </div>
    </Card>
  );
}

Import (Via CLI)

When added via CLI, components are copied to your project:

import { Button } from "@/components/ui/button";
import { Card } from "@/components/ui/card";
import { Badge } from "@/components/ui/badge";

function App() {
  return (
    <Card>
      <h2>Hello hollow-UI!</h2>
      <p>Modern component framework with dark fantasy aesthetics</p>
      <div>
        <Button>Click here</Button>
        <Badge variant="secondary">v1.1.0</Badge>
      </div>
    </Card>
  );
}

Style configuration (NPM)

When using via NPM, import the CSS styles into your project:

import "@scmposs/hollow-ui/styles.css";

Style configuration (CLI)

When using via CLI, styles are already integrated with your existing Tailwind CSS. No additional CSS import is needed.

Tailwind Configuration

Add hollow-UI to your tailwind.config.js:

module.exports = {
  content: [
    // ... your existing content
    "./node_modules/@scmposs/hollow-ui/**/*.{js,ts,jsx,tsx}",
  ],
  // ... rest of configuration
};

Components

Interface Components

  • Button - Buttons with multiple variants and sizes
  • Card - Flexible containers for content
  • Badge - Labels and tags for categorization
  • Input - Styled input fields
  • Label - Form labels
  • Textarea - Multiline text fields

Interactive Components

  • Dialog - Modals and overlays
  • Select - Dropdown selectors
  • Checkbox - Selection boxes
  • Switch - Toggle controls
  • Accordion - Collapsible lists
  • Popover - Tooltips and popups

Layout Components

  • Separator - Visual dividers
  • Scroll Area - Custom scroll areas
  • Table - Responsive tables

Feedback Components

  • Toast - Temporary notifications
  • Skeleton - Loading placeholders

Documentation

Each component comes with complete documentation including:

  • Visual examples - See components in action
  • Copyable code - Copy and paste directly into your project
  • Props API - Complete documentation of all properties
  • Variations - Different styles and configurations
  • Use cases - Practical implementation examples

Component examples

Button

// Basic variants
<Button variant="default">Default</Button>
<Button variant="secondary">Secondary</Button>
<Button variant="destructive">Destructive</Button>
<Button variant="outline">Outline</Button>
<Button variant="ghost">Ghost</Button>
<Button variant="link">Link</Button>

// Sizes
<Button size="sm">Small</Button>
<Button size="default">Default</Button>
<Button size="lg">Large</Button>
<Button size="icon">🎉</Button>

Card

<Card>
  <CardHeader>
    <CardTitle>Card Title</CardTitle>
    <CardDescription>Optional description</CardDescription>
  </CardHeader>
  <CardContent>
    <p>Card content here</p>
  </CardContent>
  <CardFooter>
    <Button>Action</Button>
  </CardFooter>
</Card>

Color System

hollow-UI uses a custom color system with a dark fantasy aesthetic:

  • Primary: #2E4A78 - Deep blue, main brand color
  • Accent: #3D5FA8 - Vibrant blue for highlights
  • Muted: Gray tones for secondary text
  • Destructive: Red for destructive actions
  • Success: Green for confirmations

Theme support

  • Light Mode - Default light theme
  • Dark Mode - Elegant dark theme with deep blue accents
  • Contrast Mode - High contrast for accessibility

Development

Project structure

hollow-ui/
├── src/
│   ├── app/                 # Next.js app router
│   ├── registry/
│   │   └── ui/             # UI Components
│   ├── lib/
│   │   └── utils.ts        # Utilities
│   └── styles/
│       └── globals.css     # Global styles
├── package.json
├── tailwind.config.ts
├── tsconfig.json
└── README.md

Available scripts

# Development
npm run dev

# Production build
npm run build

# Lint
npm run lint

# Build components for NPM
npm run build:package

Author

Ítalo Soares Campos
Frontend Developer

License

MIT License - see the LICENSE file for details.