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

@airlib/material

v1.0.4

Published

Material Design 3 Headless Component Library CSS Theme

Readme

AIR M3

Building a cohesive design system requires a robust set of modular styles. This package provides the foundational Material Design 3 CSS utilities required to build the @airlib component system. It leverages Tailwind CSS v4 to keep the footprint minimal, highly scalable, and completely free of JavaScript runtime styling overhead.

Getting Started

Integrating a new design system shouldn't require complex build steps or heavy runtime dependencies. This library is distributed as a standard npm package and is consumed purely via CSS imports.

[!IMPORTANT] Prerequisite: This library strictly requires Tailwind CSS v4 to be installed and configured in your project, as it leverages the new @theme and @utility CSS APIs.

npm install @airlib/material
/* OPTION A (Preferred): Import theme/components AND default surface backgrounds */
@import "@airlib/material/index.css";
@import "@airlib/material/default.css";

/* OPTION B: Import only the core theme and components (no default backgrounds) */
@import "@airlib/material/index.css";

/* Optionally, override the global brand color */
:root {
  --seed-color: oklch(60% 0.15 260);
}

By keeping the integration strictly at the CSS layer, your application remains completely agnostic to JavaScript frameworks while instantly inheriting the full Material Design 3 specification.

Core Theme & Utilities

To maintain visual consistency across an entire application, we must rely on a centralized theme configuration and shared utilities. These files define the base variables, typography scales, and global behaviors that all other components consume.

  • src/default.css - The main entry point that aggregates all theme tokens, layout structures, and component styles.
  • src/theme/index.css - The core theme engine. It dynamically generates the full OKLCH color palette from a single seed color, and defines elevations, radii, and z-index layers.
  • src/theme/typography.css - The complete set of Material Design 3 typography scales (Display, Headline, Title, Body, Label).
  • src/theme/state.css - Global state layer utilities (hover, focus, pressed) used to provide interactive feedback across all components.
  • src/utilities/index.css - General utility classes that don't fit into a specific component context.

By decoupling the design tokens from the components themselves, developers can safely re-theme the entire library simply by overriding the --seed-color variable at the root level.

Layout Elements

Structuring the application shell is the first critical step in building a user interface. These modules provide the scaffolding necessary to frame your content gracefully across both mobile and desktop devices.

Using these layout utilities ensures that the application shell behaves responsively while strictly respecting the standardized z-index hierarchy and logical Right-to-Left (RTL) flow.

Interactive Components

Building user interactions requires precise visual feedback and accessible touch targets. These files define the standalone UI elements that users interact with directly.

All interactive elements strictly enforce the 48x48 pixel minimum touch target requirement and implement clear, unclipped focus rings for keyboard accessibility.

Data Display & Feedback

Presenting information clearly and keeping the user informed of system status is critical for a smooth user experience. These elements handle content framing and temporary notifications.

Extensions

Powerful utilities and components extending beyond the base M3 specification for modern web applications.

  • src/extensions/masonry.css - A pure CSS multi-column masonry grid layout.
  • src/extensions/skeleton.css - Universal skeleton loading utilities. Use .skeleton for standalone elements or .skeleton-group to recursively transform an entire container's text and inline blocks into shimmering placeholders.
  • src/extensions/ai.css - Specialized components for Conversational UI, including asymmetric chat bubbles, multiline prompt fields, and CSS-only streaming/thinking indicators.

By relying on these standardized display components, the interface remains consistent and predictable, minimizing cognitive load for the user while they interact with the application.