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

@vielzeug/buildit

v2.0.0

Published

> Accessible, themeable web components built with Craftit for apps that want framework-agnostic UI primitives.

Readme

@vielzeug/buildit

Accessible, themeable web components built with Craftit for apps that want framework-agnostic UI primitives.

npm version License: MIT

Buildit is the Vielzeug component library. It ships accessible custom elements for inputs, content, overlays, layout, and feedback — all built on top of @vielzeug/craftit, styled with CSS custom properties, and published as side-effect entry points for explicit runtime registration.

Installation

pnpm add @vielzeug/buildit
# npm install @vielzeug/buildit
# yarn add @vielzeug/buildit

Quick Start

// Required once: design tokens + base component styles
import '@vielzeug/buildit/styles';

// Register only the components you use
import '@vielzeug/buildit/button';
import '@vielzeug/buildit/card';
import '@vielzeug/buildit/input';
<bit-button variant="solid" color="primary">Save</bit-button>

<bit-input label="Email" type="email" required></bit-input>

<bit-card padding="lg">
  <span slot="header">Account</span>
  <p>Build forms, layouts, overlays, and feedback UI with native custom elements.</p>
</bit-card>

To register everything at once:

import '@vielzeug/buildit/styles';
import '@vielzeug/buildit';

Features

  • Framework-agnostic custom elements — works with vanilla DOM, React, Vue, Svelte, Angular, and SSR-friendly client hydration flows
  • Accessible by default — keyboard navigation, ARIA wiring, focus management, and form-associated controls
  • Granular runtime imports — register only the elements you need via subpath imports like @vielzeug/buildit/button
  • Design-token based styling — global styles plus CSS custom properties for local overrides
  • Domain-organized package surface — inputs, content, disclosure, feedback, layout, and overlay primitives
  • Published subpaths — components, styles, and shared types are exposed directly

Package Structure

Global entry points

| Import | Purpose | |---|---| | @vielzeug/buildit | Register all published components and re-export shared symbols/types | | @vielzeug/buildit/styles | Global design tokens and shared component styles | | @vielzeug/buildit/types | Shared TypeScript types |

Component entry points

Content

avatar, breadcrumb, card, pagination, separator, table, text

Disclosure

accordion, accordion-item, tabs, tab-item, tab-panel

Feedback

alert, badge, chip, progress, skeleton, toast

Inputs

button, button-group, checkbox, checkbox-group, combobox, file-input, form, input, number-input, otp-input, radio, radio-group, rating, select, slider, switch, textarea

Layout

box, grid, grid-item, sidebar

Overlay

dialog, drawer, menu, popover, tooltip

Usage Notes

  • Import @vielzeug/buildit/styles before registering components.
  • Component subpaths are side-effect imports that register one published custom element entry point.
  • The root package both registers all published components and re-exports tags, types, and shared symbols.
  • Prefer subpath imports for application code when you want tighter control over registration and bundle size.
  • Prefer declarative attributes and slots over manual DOM mutation.

API Summary

| Area | Notes | |---|---| | Components | Registered via subpath imports like @vielzeug/buildit/button | | Styles | @vielzeug/buildit/styles, plus styles/theme.css, styles/animation.css, and styles/layers.css | | Types | Shared types via @vielzeug/buildit/types; component prop types are re-exported from the package root |

Documentation

Full docs at vielzeug.dev/buildit

| | | |---|---| | Overview | Installation, import strategy, component domains | | Usage Guide | Slots, events, accessibility, and best practices | | Framework Integration | React, Vue, Svelte, Angular, and SSR notes | | Theming | Tokens, dark mode, and customization | | API Reference | Import paths, component APIs, and styling hooks | | Examples | Real-world usage patterns |

License

MIT © Helmuth Saatkamp — Part of the Vielzeug monorepo.