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

monkey-style-guide

v22.2.0

Published

Monkey Exchange design system — Angular 21.

Downloads

5,939

Readme

Monkey Style Guide

Monkey Exchange design system — Angular 21.

Angular 21 CDK 21 Version 21.2.8 Codacy Badge

Development: scaffolding, build, publish and tests are done in the workspace root — see README.md at the root.

Installation

Run ng build monkey-style-guide-v2 to build the project. The build artifacts will be stored in the dist/ directory.

Publishing

After building your library with ng build monkey-style-guide-v2, go to the dist folder cd dist/monkey-style-guide-v2 and run npm publish.

Internationalization

The library ships its own strings (MonkeyDictionaryService) in four buckets: pt-BR, es-CL, es-MX and en-US. pt-BR is the default and the per-key fallback.

By default the active bucket comes from Angular's LOCALE_ID, which is fixed at bootstrap. Apps that resolve the language later (whitelabel/program config, a language switcher) should provide MECX_I18N_LANG and push every language change into it — the dictionary then re-renders mounted components without remounting them.

// app.config.ts
const i18nLang$ = new BehaviorSubject<string>(env.locale.lang);

providers: [
  { provide: MECX_I18N_LANG, useValue: i18nLang$ },
  { provide: LOCALE_ID, useValue: env.locale.lang }
];
// wherever the app switches language
handleI18N(lang: string, obj?: any): void {
  if (obj) { this._translateService.setTranslation(lang, obj, true); }
  this._translateService.use(lang);
  this._i18nLang.next(lang);
}

When MECX_I18N_LANG is not provided the service behaves as before, reading LOCALE_ID once.

Notes:

  • A language outside the four buckets falls back to pt-BR per key, never to blank labels. A new language needs a full bucket — every key, including the nested FILTER-BAR.DATE.*, FILTER-BAR.OPERATOR.* and TABLE.ROW.* groups — or the UI comes out mixed-language.
  • Overrides pushed through MECX_I18N_WRAPPER are merged into the bucket that is active when they arrive, so push the new language into MECX_I18N_LANG before pushing its overrides.
  • This covers the dictionary only. LOCALE_ID also drives Angular's date, currency, number and percent pipes, whose locale data is registered at bootstrap and cannot be swapped at runtime — so a switched app can show pt-BR labels next to MM/dd/yyyy dates. Use registerLocaleData and a reload for pipe formats.

Running unit tests

Run ng test monkey-style-guide-v2 to execute the unit tests via Karma.

Further help

Angular CLI: ng help or Angular CLI Overview.