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

uwp_components

v0.1.0

Published

Typed React components and interaction patterns inspired by Windows 8 Modern UI and Windows 10 / early UWP.

Readme

UWP React Lab

A React + TypeScript component library and implementation study for Windows 8 Modern UI and Windows 10 / early UWP interaction patterns.

The project has two roles that are intentionally kept separate:

  • Library — reusable typed components, interaction primitives, design tokens and styles exported from src/index.ts.
  • Showcase / examples — applications that consume the same public API instead of maintaining a parallel set of controls.

Package usage

The repository is structured for npm distribution. After the first registry release, consumers will install the package together with its React peer dependencies:

npm install uwp_components react react-dom

Import components only from the package root and load the shared styles once at application startup:

import { Button, ComboBox, CommandBar, ContentDialog } from 'uwp_components'
import 'uwp_components/styles.css'

React and React DOM are peer dependencies so applications keep ownership of their React runtime.

Public API

The package currently exposes controls and patterns including:

  • Button, CheckBox, RadioButton, ToggleSwitch
  • Slider, ComboBox, AutoSuggestBox, Calendar
  • ProgressRing and ProgressBar
  • Pivot, CommandBar, AppBar and PriorityCommandBar
  • NavigationView variants and SplitView
  • ListView / GridView selection collections
  • ContentDialog, Flyout, TeachingTip, ContextMenu and SettingsPane
  • Windows 8 / Windows 10 layout and interaction primitives

src/index.ts is the package boundary. New applications and examples should not import implementation modules directly.

Example application

examples/project-hub is a small application built through the package-style public import. During repository development, Vite and TypeScript map uwp_components back to src/index.ts, so missing exports are caught by the example build.

npm run dev:example
npm run build:example

Development

npm install
npm run dev

The main showcase is deployed as a GitHub project page, so its Vite build uses /Uwp/ as the base path.

Validation

npm test
npm run build
npm run build:lib
npm run pack:check
npm run build:example
  • build validates the showcase.
  • build:lib emits the npm-facing ESM bundle, CSS and TypeScript declarations into dist-lib.
  • pack:check runs the npm packaging lifecycle and reports the files that would be published.
  • build:example verifies a consumer-style application against the public entry point.

CI runs all four product-level checks for automation branches and pull requests.

Architecture direction

The library is being decomposed toward smaller component modules with explicit public APIs. The showcase will likewise be split into independent pages and converted to consume only the package boundary. This prevents demo-only imports from becoming accidental public APIs and makes components easier to test, publish and reuse.

Scope

This is not a pixel-identical WinUI compatibility layer. It focuses on the design grammar and interaction model: typography, spacing, flat surfaces, state transitions, direct manipulation, keyboard/focus behavior and adaptive layout.

License

MIT — see LICENSE.