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

ridge-ui

v0.0.3

Published

A modern web component library built with Lit

Readme

Ridge Web Components Library 🚧

⚠️ MVP STATUS: This is an early-stage MVP (Minimum Viable Product) setup of the Ridge web components library. The current implementation includes basic functionality and serves as a foundation for future development. Full functionality and comprehensive component library coming soon!

A modern web component library built with Lit and TypeScript, designed to provide reusable, accessible UI components for modern web applications.

🚀 Current MVP Features

✅ What's Working Now

  • Button Component: Fully functional button component with multiple variants and states
  • TypeScript Support: Full type safety and IntelliSense support
  • Storybook Integration: Interactive component documentation and testing
  • Build System: Vite-powered build with UMD and ES module outputs
  • Development Environment: Hot reload and development server

🎯 Button Component Features

  • 5 Variants: Primary, Secondary, Outline, Ghost, Danger
  • 3 Sizes: Small, Medium, Large
  • Interactive States: Hover, active, disabled, loading
  • Accessibility: ARIA attributes and keyboard navigation
  • Link Support: Can render as anchor tags with href
  • Custom Events: Dispatches button-click events
  • Visual Effects: Ripple animation and loading spinner

📦 Installation & Usage

Installation

npm install ridge-ui

Basic Usage

<!-- Import the component -->
<script type="module">
  import 'ridge-ui';
</script>

<!-- Use in your HTML -->
<rdg-button variant="primary" size="medium">
  Click me!
</rdg-button>

TypeScript Usage

import { RdgButton } from 'ridge-ui';
import type { ButtonVariant, ButtonSize } from 'ridge-ui';

// Create programmatically
const button = document.createElement('rdg-button') as RdgButton;
button.variant = 'primary';
button.size = 'large';
button.textContent = 'Dynamic Button';

🛠 Development

Prerequisites

  • Node.js 16+
  • npm or yarn

Setup

# Clone the repository
git clone https://github.com/billymcdowell/ridge-ui.git
cd ridge-ui

# Install dependencies
npm install

# Start development server
npm run dev

# Launch Storybook for component development
npm run storybook

Available Scripts

  • npm run dev - Start Vite development server
  • npm run build - Build library for production
  • npm run preview - Preview production build
  • npm run storybook - Launch Storybook development server
  • npm run build-storybook - Build Storybook for deployment

🎨 Component Examples

Button Variants

<rdg-button variant="primary">Primary</rdg-button>
<rdg-button variant="secondary">Secondary</rdg-button>
<rdg-button variant="outline">Outline</rdg-button>
<rdg-button variant="ghost">Ghost</rdg-button>
<rdg-button variant="danger">Danger</rdg-button>

Button States

<rdg-button disabled>Disabled</rdg-button>
<rdg-button loading>Loading...</rdg-button>
<rdg-button href="https://example.com">Link Button</rdg-button>

🚧 Roadmap & Coming Features

🔄 Phase 1 (Current MVP)

  • [x] Button component with variants and states
  • [x] TypeScript definitions
  • [x] Storybook documentation
  • [x] Basic build system

📋 Phase 2 (Next Release)

  • [ ] Input components (text, email, password, etc.)
  • [ ] Form validation utilities
  • [ ] Checkbox and Radio components
  • [ ] Select/Dropdown component
  • [ ] Comprehensive testing suite

🎯 Phase 3 (Future Releases)

  • [ ] Layout components (Grid, Flex, Container)
  • [ ] Navigation components (Navbar, Breadcrumbs, Pagination)
  • [ ] Feedback components (Alert, Toast, Modal)
  • [ ] Data display components (Table, Card, Badge)
  • [ ] Advanced components (Datepicker, Autocomplete, Charts)

🎨 Design System Features

  • [ ] CSS custom properties for theming
  • [ ] Dark/light mode support
  • [ ] Design tokens integration
  • [ ] Responsive design utilities
  • [ ] Animation system

🔧 Developer Experience

  • [ ] CLI for component generation
  • [ ] Figma design kit integration
  • [ ] Comprehensive documentation site
  • [ ] Migration guides
  • [ ] Performance optimization

🏗 Architecture

Current Structure

ridge-ui/
├── src/
│   ├── components/
│   │   └── button/           # Button component
│   └── index.ts              # Main entry point
├── dist/                     # Built library files
├── .storybook/               # Storybook configuration
└── package.json              # Package configuration

Technology Stack

  • Framework: Lit - Lightweight web components
  • Language: TypeScript for type safety
  • Build Tool: Vite for fast development and building
  • Documentation: Storybook for component stories
  • Styling: CSS-in-JS with Lit's css template

🤝 Contributing

This project is in active development! We welcome contributions, feedback, and suggestions.

Current Contribution Areas

  • Bug fixes and improvements to existing components
  • Accessibility enhancements
  • Documentation improvements
  • Test coverage expansion
  • New component proposals (for future phases)

Getting Started

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test with Storybook
  5. Submit a pull request

📄 License

MIT License - see LICENSE file for details.

🔗 Links

  • Repository: https://github.com/billymcdowell/ridge-ui
  • Issues: https://github.com/billymcdowell/ridge-ui/issues
  • Storybook: [Coming soon - deployed documentation]
  • NPM Package: [Coming soon - published package]

Note: Ridge is currently in MVP development phase. APIs may change between versions until we reach v1.0. We recommend using this library for experimentation and feedback rather than production applications at this time.

Built with ❤️ using modern web standards