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

@pawel-up/md

v1.2.0

Published

Material Design 3 components for the web

Readme

@pawel-up/md

A modern, fully-featured Material Design 3 (Material You) Web Component library built with Lit.

License npm version

Motivation

Google's official @material/web component library has entered maintenance mode, leaving a void for developers who need actively maintained, cutting-edge Material Design 3 components.

@pawel-up/md was built from the ground up to provide a robust, modern, and production-ready implementation of the Material You specification. It delivers dynamic color theming, tonal surfaces, modern shape morphing, and spring-based physics without any legacy dependencies.

Features

  • Pure Web Components: Built entirely with Lit, ensuring they are lightweight, fast, and framework-agnostic. Use them seamlessly in Vue, React, Angular, Svelte, or Vanilla JS.
  • Material Design 3: Faithfully implements the latest MD3 specifications, avoiding the outdated MD2 legacy code entirely.
  • Dynamic Theming: Deep support for dynamic colors, contrast variants, and tonal surface elevation (no more default drop shadows!).
  • Accessible by Default: Built with rich ARIA support, keyboard navigation, and focus management out of the box.
  • Comprehensive Catalog: Includes everything from foundational buttons, inputs, and menus, to complex dialogs, navigation drawers, and date pickers.

Installation

npm install @pawel-up/md

Quick Start

Import the components you need and use them directly in your HTML:

<!DOCTYPE html>
<html lang="en" class="theme-light">
<head>
  <meta charset="UTF-8">
  <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet">
  
  <!-- Import the specific components you need -->
  <script type="module">
    import '@pawel-up/md/button/ui-button.js';
    import '@pawel-up/md/icons/ui-icon.js';
  </script>
</head>
<body>
  
  <!-- Use them seamlessly -->
  <ui-button color="filled">
    <ui-icon slot="icon">check</ui-icon>
    Submit
  </ui-button>

</body>
</html>

Documentation & Demos

You can run the interactive documentation and component playground locally. It's powered by VitePress for lightning-fast browsing:

# Install dependencies
npm install

# Start the local documentation server
npm run demo:dev

Theming

The library uses CSS class-based theming applied to the <html> element to automatically handle light and dark modes mapping to MD3 tokens:

<!-- Light Mode -->
<html class="theme-light">

<!-- Dark Mode -->
<html class="theme-dark">

Customize your app's theme by overriding the --md-sys-color-* and --md-sys-typescale-* CSS custom properties.

License

Apache-2.0 © Pawel Uchida-Psztyc