@bigbinary/neeto-icons

中文文档
1.21.2发布于 2026/08/13MITTypeScriptESM + CJS零依赖近 30 天下载 4.9万

The neetoIcons and neetoIconsRN library are a collection of SVG React component icons that drives the experience in the neeto products built at BigBinary.

原始使用文档
文档目录14 节
  1. Contents
  2. Installation
  3. Instructions for development
  4. Usage
  5. React Native imports
  6. Product logos
  7. App icons
  8. Props
  9. Misc icons
  10. Props
  11. Typeface logos
  12. Elements
  13. How it works
  14. Instructions for Publishing

neetoIcons

The neetoIcons and neetoIconsRN library are a collection of SVG React component icons that drives the experience in the neeto products built at BigBinary.

Contents

Installation

Web:

yarn add @bigbinary/neeto-icons

React Native:

yarn add @bigbinary/neeto-icons-rn

Instructions for development

Check the Frontend package development guide for step-by-step instructions to develop the frontend package.

Adding a new icon to the library

  1. Add the SVG file - Place the SVG file for the new icon in the appropriate folder under the source directory. For example:

    • icons/ for normal icons
    • logos/ for product logos
    • typefaceLogos/ for product typeface logos
    • appIcons/ for app icons
    • misc/ for miscellaneous icons
    • elements/ for elements
  2. Name the file appropriately - Use PascalCase for the file name (e.g., NewIcon.svg).

  3. Verify the icon - Run the yarn start command to verify the React component for the new icon:

Usage

Web:

import { Clock } from "@bigbinary/neeto-icons";

React Native:

import { Clock } from "@bigbinary/neeto-icons-rn";

Anywhere in your React file

<Clock color="#1e1e20" size={24} />

React Native imports

Every category is available as a barrel:

import { NeetoSite } from "@bigbinary/neeto-icons-rn/app-icons";
import { Keyboard } from "@bigbinary/neeto-icons-rn/elements";
import { Clock } from "@bigbinary/neeto-icons-rn/icons";
import { Neeto } from "@bigbinary/neeto-icons-rn/logos";
import { Windows } from "@bigbinary/neeto-icons-rn/misc";
import { Neeto as NeetoTypeface } from "@bigbinary/neeto-icons-rn/typeface-logos";

Each icon can also be imported on its own, as a default export, so that the bundler only pulls in what is used:

import Clock from "@bigbinary/neeto-icons-rn/icons/Clock";
import Neeto from "@bigbinary/neeto-icons-rn/logos/Neeto";

Every category is also reachable through a single namespaced entry point:

import { Icons, Logos, Misc } from "@bigbinary/neeto-icons-rn/namespaces";

<Icons.Clock size={24} />;

The props type is exported separately:

import type { IconProps } from "@bigbinary/neeto-icons-rn/types";

Metro configuration

These subpaths are declared through the exports field of the package, which Metro honours by default only from React Native 0.79 onward. On earlier versions the field is ignored and the imports above fail to resolve, so enable it in metro.config.js:

module.exports = {
  resolver: {
    unstable_enablePackageExports: true,
  },
};

Product logos

import { Neeto } from "@bigbinary/neeto-icons/logos";

App icons

import { NeetoSite } from "@bigbinary/neeto-icons/app-icons";

Props

NameTypeDefaultDescription
colorstringcurrentColorCSS color value for the icon.
sizestring, number24Value supplied to height and width attributes of SVG element.
classNamestringClasses supplied to the SVG element.

Misc icons

import { Windows } from "@bigbinary/neeto-icons/misc";
<Windows  size={36} />
import { Razorpay } from "@bigbinary/neeto-icons/misc";
<Razorpay  width={100}  height={32} />
<Razorpay  width={100}  />

Props

NameTypeDefaultDescription
sizestring, number24Value supplied to height and width attributes of SVG element.
heightstring, number-Value supplied to height attribute of SVG element.
widthstring, number-Value supplied to width attribute of SVG element.
classNamestringClasses supplied to the SVG element.

Typeface logos

import { Neeto } from "@bigbinary/neeto-icons/typeface-logos";

Anywhere in your React file

<Neeto height={24} width={48} />
NameTypeDefaultDescription
heightstring, number20Value supplied to height attribute of SVG element.
widthstring, number100%Value supplied to width attribute of SVG element.
classNamestringClasses supplied to the SVG element.

Elements

import { Keyboard } from "@bigbinary/neeto-icons/elements";

Anywhere in your React file

<Keyboard height={80} width={41} />
NameTypeDefaultDescription
heightstring, number26Value supplied to height attribute of SVG element.
widthstring, number80Value supplied to width attribute of SVG element.
classNamestringClasses supplied to the SVG element.

How it works

  • We use a custom rollup plugin (which can be found in build/index.mjs) to take all the .svg files from the source folder and convert them to React components that render the respective SVG icon.

  • The plugin accepts a configuration object as an argument which can contain the following keys:

    NameTypeDescription
    optionsobjectOptions passed to the transform function from react-svgr. (See full opions list)
    additionTransformationsfunctionAdditional string transformation that can be applied to the generated React code.
    sourcestringPath to the folder where the SVG files are located
    destinationstringPath to the folder to place the generated react code
  • For each icon, a React icon file will be generated in generate/icons folder.

  • From there babel through rollup takes the wheel and generates the bundles.

Instructions for Publishing

Consult the building and releasing packages guide for details on how to publish.

版本与发布记录

@bigbinary/neeto-icons 共发布 227 个版本,首次发布于 2021/06/23;过去 12 个月发布了 27 个版本。

版本发布日期距今
1.21.2latest2026/08/132 个月前
1.21.12026/08/122 个月前
1.21.02026/07/303 个月前
1.20.892026/05/265 个月前
1.20.882026/05/066 个月前
1.20.872026/04/156 个月前

关于 @bigbinary/neeto-icons 的常见问题

@bigbinary/neeto-icons 是什么?

The neetoIcons and neetoIconsRN library are a collection of SVG React component icons that drives the experience in the neeto products built at BigBinary.

如何安装 @bigbinary/neeto-icons?

在项目目录运行 npm install @bigbinary/neeto-icons,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(18.3.1)、react-dom(18.3.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bigbinary/neeto-icons 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bigbinary/neeto-icons 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bigbinary/neeto-icons 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.13。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bigbinary/neeto-icons 可以商用吗?

@bigbinary/neeto-icons 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bigbinary/neeto-icons 的下载量有多少?

根据 npm 官方下载统计,@bigbinary/neeto-icons 在 2026/10/08 – 2026/11/06 这 30 天内被下载 49,333 次,日均约 1,644 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bigbinary/neeto-icons 还在维护吗?

最新版本 1.21.2 发布于 2026/08/13(2 个月前);至今共发布 227 个版本,其中过去 12 个月发布了 27 个;首次发布于 2021/06/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。