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

@muraldevkit/ds-pictograms

v2.1.0

Published

Mural's design system's pictogram library

Downloads

8,614

Readme

Pictogram

The complete pictogram library of Mural's design system.

Table of contents

  1. Installation
  2. Usage
  3. Themes
  4. Special use cases: color Management

Installation

Review the design system's global usage guidelines to learn how to install components. This package's name is @muraldevkit/ds-pictograms.

Usage

After you have installed the package into your project, you can import the pictograms you need into your file and use the @muraldevkit/ds-component-svg package to render the SVG HTML.

Available SVGs file

A file will be available at @muraldevkit/ds-pictograms/dist/availableSvgs/index.js. It can be used to check if an icon exists by a given name. A type definition is included at @muraldevkit/ds-pictograms/dist/availableSvgs/index.d.ts.

Themes

The pictograms package supports multiple themes. The index file will include pictograms from every theme. You can then specify the theme to render via the mrl-svg component prop. This is helpful when rendering an pictogram that has an associated feature flag where you'll need to dynamically toggle between the the theme within the product.

import { [YOUR_PICTOGRAM_NAME] } from '@muraldevkit/ds-pictograms';

However, if you want to use only a single theme, you can import the theme file directly rather than using the index:

import { [YOUR_PICTOGRAM_NAME] } from '@muraldevkit/ds-pictograms/dist/[YOUR_THEME_NAME]';

A real world example of how this might look is:

import { voteAnonymous } from '@muraldevkit/ds-pictograms/dist/classic';

Special use cases: Color management

The color management pictograms, color-* and draw-*, have special nuances to ensure contrast while the color dynamically changes with user interactions. See the "Assets > Pictograms > Colors" demo on the design system Storybook site for an example. Note: these nuances will be better supported in a color swatch component in the future.

Considerations made:

  • To make it easy to change the color to the custom user selected color, these icons use currentColor for the fill of the "color" portion of the SVG.
  • Based on the background color of container the icon lives within, all of the icons use the class mrl-picto-color-offset to change the surrounding area. The default supports light colors on a light background. It will need to be overwritten for darker colors or when the light color is within a darker color container, such as the selected state of a toggle button.

View the "Docs > Show code" feature of the Storybook demo to see the CSS used to make the previous considerations. The specific code is within the css variable at the beginning of the code snippet.