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.4 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.7.2 2060
Flat Color Icons MIT 1.0.2 329
Feather MIT 4.29.2 287
Fluent System Icons MIT 1.0.0 4690
Github Octicons icons MIT 19.15.1 307
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.4 635
Health Icons MIT 2.0.0 1480
Heroicons MIT 2.2.0 1288
Iconoir MIT 7.10.1 1671
IcoMoon Free CC BY 4.0 License d006795ede82361e1bac1ee76f215cf1dc51e4ca 491
Ionicons 5 MIT 5.5.4 1332
Icons8 Line Awesome MIT 1.3.1 1544
Lucide ISC 0.486.0 1564
MingCute icons Apache License Version 2.0 v2.96-1-gd307024 3102
Material Design icons Apache License Version 2.0 4.0.0-132-geaf90d6b1d 6478
Material Design icons 2 Apache License Version 2.0 2424e748e0cc63ab7b9c095a099b9fe239b737c0 7447
Openmoji CC BY-SA 4.0 15.1.0 4292
Phosphor Icons MIT 2.1.1 9072
Polaris MIT 9.3.1 534
Remix Icon Apache License Version 2.0 4.6.0 3058
Radix Icons MIT 1.3.2 318
Simple Icons CC0 1.0 Universal 14.12.0 3282
Simple Line Icons MIT 2.5.5 189
Streamline CC BY 4.0 License 1.0-1-g54e5a69 1000
Tabler Icons MIT 3.31.0 5880
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.37 475
Weather Icons SIL OFL 1.1 2.0.12 219

Total Count of Icons: 76827

[//]: # 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.