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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@mmcodemark/icons

v0.31.22

Published

Rocket.Chat's Icons

Downloads

2

Readme

@mmcodemark/icons

Rocket.Chat's Icons


npm@latest npm@next npm downloads License: MIT

deps npm bundle size

Install

Add @mmcodemark/icons as a dependency:

npm i @mmcodemark/icons

# or, if you are using yarn:

yarn add @mmcodemark/icons

Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues.

Adding new icons

All the icons should be designed by Rocket.Chat's design crew, following some conventions:

  • The view box must have the dimensions of 32x32 units;
  • Any horizontal assimetry must follow the left-to-right direction.
  • The icon must be published on Figma.

As the icons might be arbitrarily scaled, the chosen source format for individual icon graphics is SVG. As Figma can export graphics with some additional SVG attributes and elements, they must be removed:

  • The <svg> element must contain only two attributes: viewBox (probably with the value of"0 0 32 32") and xmlns;
  • XLink references (e.g. masks and clip paths) must be discarded;
  • The <path> elements must keep only the d attribute, with no additional styling attribute;
  • <g> and other elements must be stripped by some optimization tooling, keeping only <path> elements.

The src/ directory holds all the SVG icons that would be processed. The filenames define the icon names, so they should stick with a basic rule: an icon name must describe the icon shape, not its utility. For instance:

  • [ ] message.svg (wrong)
  • [x] balloon.svg (right)

If the icon must be mirrored for right-to-left read direction, it required to add a trailing .dir before the file extension (e.g. backspace.dir.svg).

Building

As this package dependends on others in this monorepo, before anything run the following at the root directory:

yarn build

Linting

To ensure the source is matching our coding style, we perform linting. Before commiting, check if your code fits our style by running:

yarn lint

Some linter warnings and errors can be automatically fixed:

yarn lint-and-fix

Usage

To use the fuselage icons, you need to import the css first:

@import url('@mmcodemark/icons/dist/rocketchat.css');

Usage Example:

<!-- Using Fuselage's Icon Component (Recommended) -->
<Icon name="hash" size="x20" />

<!-- HTML markup -->
<i class="rcx-icon">{icon}</i>