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

@3mo/field

v0.7.1

Published

A web component for the shared field frame with a floating label and start and end slots, plus the base classes of every field.

Readme

Field

A web component for the shared field frame with a floating label and start and end slots, plus the base classes of every field.

npm Documentation

The frame every field is drawn in: a floating label, a background and an underline around its content.

Installation

npm install @3mo/field
import '@3mo/field'

Usage

<mo-field label='Website' populated>
	<input value='3mo.de'>
</mo-field>

Examples

  • States — The frame draws only what its host tells it: populated lifts the label, active adds the accent line, invalid turns it red and dense makes the label a placeholder.
  • Slots — start and end hold icons, units or buttons beside the content.
  • Custom Content — The default slot takes any control, here a native <select>, restyled to match.
  • Custom Field — A field of your own extends InputFieldComponent, which renders this frame and brings the value, events, focus and validation.
  • Custom Properties — --mo-field-background replaces the background, and the corner radii follow --mo-field-border-start-start-radius and --mo-field-border-start-end-radius.

API

mo-field

Properties

| Name | Attribute | Type | Default | Description | | --- | --- | --- | --- | --- | | label | label | string | "" | The label, which floats above the content once it is populated or active | | readonly | readonly | boolean | false | Hides the caret in the content | | disabled | disabled | boolean | false | Fades the field and makes it ignore the pointer | | required | required | boolean | false | Marks the label with an asterisk | | dense | dense | boolean | false | Drops the padding and turns the label into a placeholder | | populated | populated | boolean | false | Whether the content holds a value, which lifts the label | | invalid | invalid | boolean | false | Turns the label, caret and underline red | | active | active | boolean | false | Whether the content has focus, which draws the label and underline in the accent color |

Slots

| Name | Description | | --- | --- | | (default) | The field's content | | start | Content to be placed at the start of the field | | end | Content to be placed at the end of the field |

CSS custom properties

| Name | Description | | --- | --- | | --mo-field-background | The field's background color | | --mo-field-border-start-start-radius | The radius of the top corner at the start | | --mo-field-border-start-end-radius | The radius of the top corner at the end |

CSS parts

| Name | Description | | --- | --- | | container | The box holding the label and the content |

Links

License

MIT © 3MO GmbH