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

@deweyou-design/react-icons

v0.3.6

Published

React icon components for Deweyou UI generated from curated TDesign SVG sources.

Readme

@deweyou-design/react-icons

React icon components for Deweyou Design. The package generates named XxxIcon components from a Deweyou-maintained registry. Default SVG glyphs are sourced from tdesign-icons-svg, and local SVG assets can supplement that source when Deweyou needs an icon that upstream does not provide.

The current registry includes the full tdesign-icons-svg source set while still keeping Deweyou-owned public names, search metadata, and future local additions in one explicit list.

Installation

npm install @deweyou-design/react-icons

Usage

Prefer direct named imports for application code:

import { CheckIcon, ChevronDownIcon, SearchIcon } from '@deweyou-design/react-icons';

<SearchIcon />
<ChevronDownIcon size="sm" />
<CheckIcon aria-label="Selected" color="primary" />

Namespace imports are reserved for catalog surfaces that intentionally render every supported icon.

Props

| Prop | Type | Description | | ------------ | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------ | | size | 'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl' \| number \| string | Icon size. Defaults to md. | | color | 'inherit' \| 'neutral' \| 'primary' \| 'danger' | Design-system icon color. Defaults to inherit. | | aria-label | string | Accessible name. When set, renders with role="img"; when omitted, renders as decorative. | | id | string | Forwarded to the SVG root. | | className | string | Styling hook. | | style | CSSProperties | Inline style override. | | onClick | MouseEventHandler<SVGSVGElement> | Forwarded SVG event handler. Prefer buttons for interactive semantics. |

All standard SVG props except children, dangerouslySetInnerHTML, and raw color pass through to the SVG root.

Size

Named sizes align to the Deweyou component scale:

  • xs: dense inline affordances
  • sm: compact controls and metadata
  • md: default component icon size
  • lg: prominent controls
  • xl: larger visual moments

Numeric and CSS length values remain available for precise composition needs.

Color

color="inherit" uses currentColor. Semantic colors map to Deweyou theme tokens:

  • neutral: var(--ui-color-text)
  • primary: var(--ui-color-brand-text)
  • danger: var(--ui-color-danger-text)

Prefer surrounding text color or these semantic values over hard-coded colors.

Accessibility

  • Icons without aria-label render with aria-hidden="true".
  • Icons with aria-label render with role="img".
  • Interactive controls should own interaction semantics. Use IconButton, Button.Icon, or a native button instead of making an icon SVG behave like a button.

Adding Icons

Add icons by editing src/icon-registry/icons.json, then run:

pnpm --dir packages/react-icons run generate-icons

Use source: 'tdesign' with a sourceKey for upstream glyphs. Use source: 'local' with a checked-in SVG under src/icon-registry/assets/ when an icon is not available upstream.

To resync the registry from the installed tdesign-icons-svg package, run:

pnpm --dir packages/react-icons run sync-tdesign-registry
pnpm --dir packages/react-icons run generate-icons

sourceKey preserves the upstream SVG filename. exportName is Deweyou's public API and may be renamed for readability, for example loading maps to LoadingIcon and menu maps to MenuIcon.

Source Attribution

Default icon glyphs are provided by tdesign-icons-svg under the MIT license. Deweyou Design owns the curated registry, public names, generated React components, props contract, accessibility behavior, and release policy.

License

MIT