React icon components with SVG for common use-cases in web/application design and development.
Intended for use in projects that use @bitcurve/reactor-*
packages.
Each icon has common defaults, props, and aria-hidden="true"
by default with support for tailwindcss overrides.
Features for all UI icons:
- components forward refs for easy integration
- standardized props including all standard svg element attributes
- common default size defined using CSS only (no
width
orheight
attributes) -
currentColor
fill and/or stroke as applicable for easy theming -
aria-hidden="true"
applied by default - spread props support all standard svg element attributes
The default size-6
tailwind utility class is overridable when specifying a className
prop thanks to tailwind-merge.
Common social and payments icons are also included in this package. These icons may not meet the same consistency criteria as the UI icons in this package due to the nature of the brands they reflect.
Link to useful chat with ChatGPT primed to convert icons from lucide such as https://lucide.dev/icons/message-circle to react svg component icons that meet our specs:
https://chatgpt.com/c/6a072411-40ce-4e5d-8ef8-7b7e82ac8e2d
Standardizing icons via a stable internally-controlled package helps avoid UI jank or breaking changes due to revisions to the icon set.
This package is intended to be used in conjunction with the @bitcurve/reactor-tw-core
tailwind preset (a peer dependency) and @bitcurve/reactor-style
which provides a customized cn()
function for merging tailwindcss classnames.
Most but not all of the underlying SVG icons are from Lucide and distributed under its ISC License and MIT License.
Exceptions include any icons associated with a brand or trademark.
Refer to JSDoc comment for SVG source of each component is noted in JSDoc comment.
All icons in this package are believed to be free for commercial use and distribution.
Lucide releases their icons under the ISC license (https://lucide.dev/license).
All SVG sources credited to third parties including Lucide are distributed under the terms of their original license and they not covered or included within the scope of the license of this package.
Corporate social media icons and the respective copyrights are owned by their respective companies and/or stakeholders.