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

@gemeente-denhaag/icons

v4.0.1

Published

The icon set of the Municipality of The Hague

Readme

Icons component

📕 View this component in Storybook

✏️ View the icons in Figma

How to use this component

Numerous icons are exported in this component. See the Storybook for all available the icons. An icon can be imported like so:

import { ArrowLeftIcon } from "@gemeente-denhaag/icons";
<ArrowLeftIcon />;

Adding your own icons is very easy. This component exposes SvgIcon which is a wrapper element for svg or children of svg elements.

A path element can be wrapped like so:

import SvgIcon from "@gemeente-denhaag/icons";

const HomeIcon = (props) => (
  <SvgIcon {...props}>
    <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z" />
  </SvgIcon>
);

The SvgIcon can also take a svg element as property:

import StarIconSvg from "./star.svg";

const StarIcon = (props) => <SvgIcon component={StarIconSvg} viewBox="0 0 600 476.6" {...props} />;

Do note that you will need a sufficient bundler that can handle the direct svg import. For example, svgr is a loader for webpack that can import svg elements and make them usable in react.

Further reading material

  • https://github.com/gregberge/svgr
  • https://github.com/svg/svgo

How to add icons to this component

  1. You need a complete svg file. This file can be exported from Figma for example. Make sure that the viewport is "0 0 24 24".

  2. Place this file in one of the directories in src/svg. If the file is exported from the Denhaag Figma, it should already be in the correct directory. Then just merge both directories.

  3. Update index.tsx by adding:

    import YourIconSvg from "./svg/DIR/YOURICON.svg";
    export const YourIcon: F = (props: SvgIconProps) => buildIcon(YourIconSvg, props);
  4. View the Storybook to see if it renders correctly. If the colors are incorrect, try changing the fill and stroke of the svg elements and its children. Usually these properties should have the "none" or "currentColor" value. Check the other icons for more details.

    You don't need to update the Storybook story. The icon should be added automagically.

  5. Done! ✨