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

css-app-ui

v1.5.5

Published

Shared React UI library for CSS Operations services

Readme

css-app-ui

Shared React UI library used across CSS Operations services.

The package provides:

  • reusable UI components
  • app-shell primitives (Layout, TopNav, ErrorBoundary)
  • toast state hooks/helpers
  • a shared Tailwind configuration and design tokens

Installation

npm install css-app-ui

Peer dependencies:

  • react >= 16.8.0
  • react-dom >= 16.8.0

Quick Start

  1. Import package styles once in your app entry.
  2. Wire shared Tailwind config.
  3. Use components from the root package export.
// src/main.tsx (or equivalent)
import 'css-app-ui/styles';
// tailwind.config.ts
import type { Config } from 'tailwindcss';
import { tailwindConfig } from 'css-app-ui/tailwind-config';

export default {
  ...tailwindConfig,
  content: [
    './index.html',
    './src/**/*.{js,ts,jsx,tsx}',
    './node_modules/css-app-ui/dist/**/*.js',
  ],
} satisfies Config;
import { Button, Card, Input, Layout } from 'css-app-ui';

export function Example() {
  return (
    <Layout mode="sidebar" sidebar={() => <aside />}>
      <Card className="p-4 space-y-3">
        <Input placeholder="Email" />
        <Button>Submit</Button>
      </Card>
    </Layout>
  );
}

Styling Model

The package supports two styling entrypoints:

  • css-app-ui/styles: full component styles and tokens (recommended)
  • css-app-ui/variables: token variables only

Use variables only when your host app owns all Tailwind layers and you only need the shared tokens.

API Surface

Primary export:

  • css-app-ui

Subpath exports:

  • css-app-ui/styles
  • css-app-ui/variables
  • css-app-ui/tailwind-config

Notable utilities:

  • cn(...classes)
  • useToast() and toast (success, error, warning, info, dismiss)
  • useIsMobile()
  • Layout, TopNav, useTopNavPadding, ErrorBoundary
  • Toaster (Radix toast renderer)
  • SonnerToaster and sonnerToast (Sonner renderer and helper)

Component Catalog

For a practical, grouped component reference with usage notes, see:

This file is included in the published package for local installs.

Common Integration Notes

  • Ensure your build includes PostCSS with Tailwind and Autoprefixer.
  • Add node_modules/css-app-ui/dist/**/*.js to Tailwind content so utility classes inside library components are not purged.
  • Mount one toast renderer in your app root:
    • <Toaster /> for Radix toast stack
    • or <SonnerToaster /> for Sonner toasts
  • Layout is a discriminated union:
    • mode="sidebar" requires sidebar
    • mode="topnav" requires navItems, currentPath, and onNavigate

Development

npm run type-check
npm run build

Changelog

See CHANGELOG.md.

License

MIT