Created
July 20, 2017 04:15
-
-
Save tammyhart/8b1789c5323ecb03bd5345f3df876d52 to your computer and use it in GitHub Desktop.
SVG Icon React Component
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import React from 'react'; | |
class Icon extends React.Component { | |
render() { | |
const icons = { | |
menu: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"> | |
<line x1="3" y1="12" x2="21" y2="12"/> | |
<line x1="3" y1="6" x2="21" y2="6"/> | |
<line x1="3" y1="18" x2="21" y2="18"/> | |
</svg>, | |
logout: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> | |
<path d="M10 22H5a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h5" fill="none" stroke="#000" strokeLinecap="round" strokeLinejoin="round" strokeWidth="2"/> | |
<polyline points="17 16 21 12 17 8" fill="none" stroke="#000" strokeLinecap="round" strokeLinejoin="round" strokeWidth="2"/> | |
<line x1="21" y1="12" x2="9" y2="12" fill="none" stroke="#000" strokeLinecap="round" strokeLinejoin="round" strokeWidth="2"/> | |
</svg>, | |
help: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"> | |
<circle cx="12" cy="12" r="10"/> | |
<circle cx="12" cy="12" r="4"/> | |
<line x1="4.93" y1="4.93" x2="9.17" y2="9.17"/> | |
<line x1="14.83" y1="14.83" x2="19.07" y2="19.07"/> | |
<line x1="14.83" y1="9.17" x2="19.07" y2="4.93"/> | |
<line x1="14.83" y1="9.17" x2="18.36" y2="5.64"/> | |
<line x1="4.93" y1="19.07" x2="9.17" y2="14.83"/> | |
</svg>, | |
add: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"> | |
<circle cx="12" cy="12" r="10"/> | |
<line x1="12" y1="8" x2="12" y2="16"/> | |
<line x1="8" y1="12" x2="16" y2="12"/> | |
</svg>, | |
print: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"> | |
<polyline points="6 9 6 2 18 2 18 9"/> | |
<path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"/> | |
<rect x="6" y="14" width="12" height="8"/> | |
</svg>, | |
star: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"> | |
<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/> | |
</svg>, | |
share: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"> | |
<circle cx="18" cy="5" r="3"/> | |
<circle cx="6" cy="12" r="3"/> | |
<circle cx="18" cy="19" r="3"/> | |
<line x1="8.59" y1="13.51" x2="15.42" y2="17.49"/> | |
<line x1="15.41" y1="6.51" x2="8.59" y2="10.49"/> | |
</svg>, | |
x: <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"> | |
<line x1="18" y1="6" x2="6" y2="18"/> | |
<line x1="6" y1="6" x2="18" y2="18"/> | |
</svg> | |
}; | |
return icons[this.props.icon]; | |
} | |
} | |
module.exports = Icon; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment