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

@moooom/ui

v0.1.3

Published

Mo~oM Design System — CSS components, Line icons, and the <mom-icon> Web Component. Dark mode included.

Readme

@moooom/ui

The free tier of the Mo~oM design system. CSS components, 1,574 Line icons, and the <mom-icon> element. Dark mode.

moooom.design · Docs · Icon browser

Install

npm i @moooom/ui

pnpm and yarn work the same way. No build step, no peer dependencies, no dependencies at all.

The stylesheet

import '@moooom/ui/css'

Or without a bundler:

<link rel="stylesheet" href="/node_modules/@moooom/ui/dist/mom.css" />

Components are plain classes, so any framework can render them:

<button class="mom-btn mom-btn--primary">
  <span class="mom-btn__label">Save changes</span>
</button>

Icons

<script src="/node_modules/@moooom/ui/dist/mom-icon.js"></script>
<script>MomIcon.setBasePath('/node_modules/@moooom/ui/dist/icons/')</script>

<mom-icon name="System/shield" size="24"></mom-icon>

setBasePath is not optional. The element fetches SVGs at runtime and looks under /src/icons/ until you tell it otherwise, so point it at wherever you serve dist/icons/. name is the path inside the style folder, for example Arrows/arrow-right. Colour comes from the CSS color property.

Every icon is also a real file you can import or copy directly:

import shield from '@moooom/ui/icons/Line/System/shield.svg'

Interactive components

Components that need behaviour, like tabs and popovers, get it from one script with no framework attached:

<script src="/node_modules/@moooom/ui/dist/mom-behaviors.js"></script>
import '@moooom/ui/behaviors'

It enhances the markup already on the page. Keyboard handling and ARIA come with it.

React and Vue

import { ButtonRoot } from '@moooom/ui/wrappers/react'
import '@moooom/ui/css'

<ButtonRoot variant="primary">Save changes</ButtonRoot>

Also @moooom/ui/wrappers/vue and @moooom/ui/wrappers/web, typed, same component names in each.

Accent colour

Every component draws from one accent scale, so the whole system repoints from a single attribute:

<html data-accent="indigo">

Nineteen scales are available. Set it on <html>, not on a section.

What Pro adds

| | Free | Pro | |---|---|---| | Icons | Line, 1,574 | Line, Duo, Sharp, Solid. 6,299 | | Components | 18 | 55 | | Modes | Dark | Light and dark |

Pro is $140 once, with lifetime updates: moooom.design/pro.

Upgrading changes no imports. You alias the paid package to this name and every import keeps working:

npm i @moooom/ui@npm:@moooom/ui-pro

Licence

Free for personal and commercial work, including client work, with no attribution required. You may not redistribute the files themselves as an icon set, a UI kit or a template, unless you have changed them substantially.

Full text at moooom.design/license, alongside the Pro terms. The same text ships as LICENSE.md inside this package.