You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import*asReactfrom'react';importIconfrom'react-component-bytesize-icons';constMessage=(props)=>(<div>
Search icon: <Iconname="search"/>
Thin large icon: <Iconname="book"thickness="thin"size="larger"/>
Thick small icon: <Iconname="flag"thickness="bold"size="small"/></div>);
The name property is corresponding to described icons in [bytesize-icons repo's README][].
You can also see the bottom section of this README to know all available icons.
Properties of <Icon/> Component
Property
Description
Default
name
Name of icon (required).
N/A
thickness
Line thickness (optional).
regular
size
Size of icon (optional).
regular
thickness takes one of ultra-light, thin, light, regular, medium, bold or heavy.
size takes one of small, regular, larger or largest. small is 24px, regular is 32px, larger is 48px and largest is 64px.
With these size, icons are rendered the best. You should choose one from them and tweak the size with CSS.
There is already a React component package for bytesize-icons but I created this for the below points
Easy to tweak icon size and weight
react-bytesize-icons directly shows <svg> element's props such as height or strokeWidth.
It means that user must calculate icons' stroke width by its size and thickness.
react-component-bytesize-icons calculates the best strokeWidth, height and width attributes
of <svg> from thickness prop and size prop.
Maintenancability
I didn't directly write index.tsx. It's generated with Ruby script.
It generates TypeScript code by referring bytesize-icons repository directly.
Of course you can use this package in safe way using TypeScript because this package
contains its type definitions. Type definitions are also tested.
No dependency
This package depends on no package.
All Icons
Icon
React Component
<Icon name="activity"/>
<Icon name="alert"/>
<Icon name="archive"/>
<Icon name="arrow-bottom"/>
<Icon name="arrow-left"/>
<Icon name="arrow-right"/>
<Icon name="arrow-top"/>
<Icon name="backwards"/>
<Icon name="bag"/>
<Icon name="ban"/>
<Icon name="bell"/>
<Icon name="book"/>
<Icon name="bookmark"/>
<Icon name="calendar"/>
<Icon name="camera"/>
<Icon name="caret-bottom"/>
<Icon name="caret-left"/>
<Icon name="caret-right"/>
<Icon name="caret-top"/>
<Icon name="cart"/>
<Icon name="checkmark"/>
<Icon name="chevron-bottom"/>
<Icon name="chevron-left"/>
<Icon name="chevron-right"/>
<Icon name="chevron-top"/>
<Icon name="clipboard"/>
<Icon name="clock"/>
<Icon name="close"/>
<Icon name="code"/>
<Icon name="compose"/>
<Icon name="creditcard"/>
<Icon name="desktop"/>
<Icon name="download"/>
<Icon name="edit"/>
<Icon name="eject"/>
<Icon name="ellipsis-horizontal"/>
<Icon name="ellipsis-vertical"/>
<Icon name="end"/>
<Icon name="export"/>
<Icon name="external"/>
<Icon name="eye"/>
<Icon name="feed"/>
<Icon name="file"/>
<Icon name="filter"/>
<Icon name="flag"/>
<Icon name="folder-open"/>
<Icon name="folder"/>
<Icon name="forwards"/>
<Icon name="fullscreen-exit"/>
<Icon name="fullscreen"/>
<Icon name="gift"/>
<Icon name="github"/>
<Icon name="heart"/>
<Icon name="home"/>
<Icon name="import"/>
<Icon name="inbox"/>
<Icon name="info"/>
<Icon name="lightning"/>
<Icon name="link"/>
<Icon name="location"/>
<Icon name="lock"/>
<Icon name="mail"/>
<Icon name="menu"/>
<Icon name="msg"/>
<Icon name="microphone"/>
<Icon name="minus"/>
<Icon name="mobile"/>
<Icon name="moon"/>
<Icon name="move"/>
<Icon name="music"/>
<Icon name="mute"/>
<Icon name="options"/>
<Icon name="paperclip"/>
<Icon name="pause"/>
<Icon name="photo"/>
<Icon name="play"/>
<Icon name="plus"/>
<Icon name="portfolio"/>
<Icon name="print"/>
<Icon name="reload"/>
<Icon name="reply"/>
<Icon name="search"/>
<Icon name="send"/>
<Icon name="settings"/>
<Icon name="sign-in"/>
<Icon name="sign-out"/>
<Icon name="star"/>
<Icon name="start"/>
<Icon name="tag"/>
<Icon name="telephone"/>
<Icon name="trash"/>
<Icon name="twitter"/>
<Icon name="unlock"/>
<Icon name="upload"/>
<Icon name="user"/>
<Icon name="video"/>
<Icon name="volume"/>
<Icon name="work"/>
<Icon name="zoom-in"/>
<Icon name="zoom-out"/>
<Icon name="zoom-reset"/>
Development
# Install development dependencies
$ npm install
# Generate index.tsx and compile it
$ npm run gen
# Check code style
$ npm run lint
# Run tests
$ npm test
About
Yet another React component library for bytesize-icons