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

@magic-spells/puzzle-pieces

v0.6.0

Published

Copy-in UI component registry for the Puzzle framework. Fetched by `puzzle add piece` — never installed or imported directly.

Readme

Puzzle Pieces

Beautifully-behaved UI components for the Puzzle framework. Tailwind-styled, accessible, morph-aware — and copied into your app, not installed from npm. This package exists only as the transport for puzzle add piece — the CLI downloads it and copies sources into your app; you never install or import it.

▶ Browse the component library — live docs and examples for every piece.

Why copy-in?

Puzzle compiles .pzl single-file components, and .pzl files can't live in node_modules — the compiler doesn't scan there. So instead of fighting that, puzzle-pieces embraces it: each piece is source you copy into app/components/ui/. Your puzzle build compiles it, your Tailwind scan picks up its classes, and the code is yours to restyle and rework.

Usage

The Puzzle CLI installs pieces straight from this registry:

puzzle add piece button select

That copies Button.pzl and Select.pzl into app/components/ui/ (plus any shared lib/ helpers and sibling pieces they depend on, resolved transitively), copies the pieces.css design tokens into your app if you don't have them yet, and prints — never auto-runs — any npm install you need. Existing files are never overwritten unless you pass --overwrite, and a pieces.lock of content hashes is kept so a future diff/update command can tell upstream changes from your local edits.

You can also just copy files from registry/ui/ by hand — every piece is plain source with a piece.json manifest describing its files and dependencies.

What's inside

94 pieces, from primitives (Button, Field, Select, Checkbox, Switch) through overlays (Dialog, Sheet, Popover, DropdownMenu, Command), data display (DataTable, Timeline, Tree, StatCard), charts (LineChart, BarChart, AreaChart, PieChart, Sparkline), rich editing (RichTextEditor, MarkdownEditor), and app-scale composites (Kanban, Sidebar, ChatScroller, Stepper). Browse them all in the live component library, in registry/ui/, or by running the docs app locally:

cd demo && npm install && npm run dev   # http://localhost:3070

Every piece is a native Puzzle component compiling to plain semantic HTML with ARIA and Tailwind utility classes against the semantic tokens in registry/theme/pieces.css — no custom elements, no hex colors, controlled-component APIs throughout. Three alternate themes (warm, void, dim) ship alongside the default in registry/theme/.

License

MIT