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.7.1-1-gd19ab26 2060
Flat Color Icons MIT 1.0.2 329
Feather MIT 4.29.2 287
Fluent System Icons MIT 1.0.0 4572
Github Octicons icons MIT 19.13.0 306
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.1 635
Health Icons MIT 2.0.0 1380
Heroicons MIT 2.2.0 1288
Iconoir MIT 7.10.1 1628
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.468.0-3-g94782f5 1544
MingCute icons Apache License Version 2.0 v2.95-2-g206398e 3044
Material Design icons Apache License Version 2.0 4.0.0-126-g1cdf3a193b 6478
Material Design icons 2 Apache License Version 2.0 ce55b68ba7308fef54003d5c588343eeac30ff7a 7447
Openmoji CC BY-SA 4.0 15.0.0 4284
Phosphor Icons MIT 2.1.1 9072
Polaris MIT 9.3.0 534
Remix Icon Apache License Version 2.0 4.5.0 3020
Radix Icons MIT 1.3.2 318
Simple Icons CC0 1.0 Universal 13.20.0 3289
Simple Line Icons MIT 2.5.5 189
Streamline CC BY 4.0 License 1.0-1-g54e5a69 1000
Tabler Icons MIT 3.24.0 5754
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.36 469
Weather Icons SIL OFL 1.1 2.0.12 219

Total Count of Icons: 77256

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