Skip to content

Onemind-Services-LLC/react-icons-ng

Repository files navigation


Redefine the visual elegance of your React projects with react-icons-ng. Stemming from the prestigious legacy of react-icons/react-icons, our forked library enriches your design experience by offering an astounding collection of over 60,000 icons. This vast addition ensures we outshine the original repository in diversity and adaptability.

Harness the power of ES6 imports and embed into your projects only the icons that resonate with your vision. With react-icons-ng, not only do you get unparalleled icon variety but also a streamlined development workflow. Dive into the dynamic world of React icons and make your applications visually captivating.

πŸš€ Installation (for Modern Projects)

Before proceeding, please note that the NPM registry for this package is hosted on GitHub. You need to configure your NPM client to use GitHub Packages registry for this package. For more information, see "Configuring npm for use with GitHub Packages".

yarn add @onemind-services-llc/react-icons-ng
# or
npm install @onemind-services-llc/react-icons-ng --save

How to Use?

import { FaBeer } from "@onemind-services-llc/react-icons-ng/fa";

function Question() {
  return (
    <h3>
      How about a <FaBeer />?
    </h3>
  );
}

⚠️ NOTE: Each icon package resides in its dedicated subfolder under @onemind-services-llc/react-icons-ng.

For instance, if you wish to employ an icon from Material Design, your import should be:

import { ICON_NAME } from '@onemind-services-llc/react-icons-ng/md';

πŸš€ Installation (for MeteorJS, GatsbyJS, etc.)

Opt for this if your project scales up significantly. Bear in mind, though, this approach might prolong the installation time.

yarn add @onemind-services-llc/react-icons-ng-pack
# or
npm install @onemind-services-llc/react-icons-ng-pack --save

How to Use?

import { FaBeer } from "@onemind-services-llc/react-icons-ng-pack/fa/FaBeer";

function Question() {
  return (
    <h3>
      Fancy a <FaBeer />?
    </h3>
  );
}

Icons

[//]: # START_VERSION

Icon Library License Version Count
Ant Design Icons MIT 4.4.2 831
BoxIcons MIT 2.1.4 1634
Bootstrap Icons MIT 1.11.3 2716
css.gg MIT 2.1.1 704
Circum Icons MPL-2.0 license 1.0.0 288
Coolicons CC BY 4.0 License v4.1-1-g1a92717 442
CoreUI Icons MIT 3.0.1 556
EOS Icons MIT 5.4.0 156
Font Awesome 5 CC BY 4.0 License 5.15.4-3-gafecf2a 1612
Font Awesome 6 CC BY 4.0 License 6.5.1-2-ga1232e3 2037
Flat Color Icons MIT 1.0.2 329
Feather MIT 4.29.1 287
Fluent System Icons MIT 1.0.0 4323
Github Octicons icons MIT 19.8.0 273
US Government Icons SIL OFL 1.1 1.6.0 136
Game Icons CC BY 3.0 12920d6565588f0512542a3cb0cdfd36a497f910 4040
Grommet-Icons Apache License Version 2.0 4.12.0 635
Health Icons MIT 0.1.0 1935
Heroicons MIT 2.1.1 888
Iconoir MIT 7.3.0 1544
IcoMoon Free CC BY 4.0 License d006795ede82361e1bac1ee76f215cf1dc51e4ca 491
Ionicons 5 MIT 5.5.4 1332
Jam Icons MIT 3.1.0-2-gc8501b1 940
Icons8 Line Awesome MIT 1.3.1 1544
Lucide ISC 0.323.0 1422
MingCute icons Apache License Version 2.0 v2.92 2810
Material Design icons Apache License Version 2.0 4.0.0-98-g9beae745bb 4341
Material Design icons 2 Apache License Version 2.0 536f435b8d7924b33bf81277283900d381cf35db 7447
Openmoji CC BY-SA 4.0 15.0.0 4147
Phosphor Icons MIT 2.0.7 7488
Polaris MIT 8.2.0 503
Remix Icon Apache License Version 2.0 4.1.0 2736
Radix Icons MIT 1.3.0 318
Simple Icons CC0 1.0 Universal 11.3.0 3012
Simple Line Icons MIT 2.5.5 189
Tabler Icons MIT 2.47.0 4962
Themify Icons MIT v0.1.2-2-g9600186 352
Typicons CC BY-SA 3.0 2.1.2 336
VS Code Icons CC BY 4.0 0.0.35 456
Weather Icons SIL OFL 1.1 2.0.12 219

Total Count of Icons: 70411

[//]: # END_VERSION

You can add more icons by submitting pull requests or creating issues.

πŸ”§ Configuration

Easily customize react-icons-ng properties utilizing the React Context API.

Prerequisite: Ensure you have React 16.3 or a later version.

import { IconContext } from "@onemind-services-llc/react-icons-ng";

<IconContext.Provider value={{ color: "blue", className: "global-class-name" }}>
  <div>
    <FaFolder />
  </div>
</IconContext.Provider>;
Key Default Description
color undefined (inherit) Icon color
size 1em Icon size
className undefined Add custom classes
style undefined Inline styles, can override size and color
attr undefined Extra attributes, may be overwritten by others
title undefined Describes the icon for accessibility purposes

🎨 CSS Adjustments

Icons no longer come with the vertical-align: middle styling by default. For alignment adjustments, utilize the IconContext to specify a className or apply an inline style directly.

Set Global Inline Styling:

<IconContext.Provider value={{ style: { verticalAlign: 'middle' } }}>

Define Global className Styling:

Component:

<IconContext.Provider value={{ className: 'react-icons-ng' }}>

CSS:

.react-icons-ng {
  vertical-align: middle;
}

πŸ’‘ Contributing

Execute ./build-script.sh to build the entire project. For additional details, review the CI scripts.

πŸ›  Development Workflow:

yarn
cd packages/react-icons-ng
yarn fetch  # Retrieves icon sources
yarn build

πŸ“Ί Preview Setup:

cd packages/react-icons-ng
yarn fetch
yarn build

cd ../preview
yarn start

πŸŽ₯ Demo Insights:

Our demo utilizes the Create React App framework with react-icons-ng as an integrated dependency, allowing seamless testing.

cd packages/react-icons-ng
yarn fetch
yarn build

cd ../demo
yarn start

πŸ–Ό Why React SVG Components Over Fonts?

SVG enjoys universal support across major browsers. Using react-icons-ng, you can deliver only required icons to users, reducing loading times and clearly identifying utilized icons in your project.

🌐 Related Projects:

πŸ“œ License:

Released under the MIT License.

Note: Icons originate from various projects, so it's crucial to review the respective project licenses.