UNPKG

react-ionicons

Version:

A React SVG ionicon component

82 lines (64 loc) 3.23 kB
import React, { Component } from 'react' import PropTypes from 'prop-types' import SVG from './SVG' class IosConstruct extends Component { constructor(props) { super(props) this.state = {classNames: [], animationActive: false} this._getClasses = this._getClasses.bind(this) } render() { const style = { ...this.props.style, color: this.props.color, fontSize: this.props.fontSize, } return ( <SVG style={this.props.style} className={this._getClasses()} fill={this.props.color} width={this.props.fontSize} height={this.props.fontSize} viewBox="0 0 1024 1024" onClick={this.props.onClick} rotate={this.props.rotate ? 1 : 0} shake={this.props.shake ? 1 : 0} beat={this.props.beat ? 1 : 0} > <path d="M760.2 128.2v0 0z M550.2 114.6c-18.8-12-46.6-19.2-75.8-19.2-28.6 0-60.8 5-93.6 18.6-93 38-148.2 91-162.4 105-14 14-33.6 36-45.8 53.4s3.8 42-12.2 58-49.6 0-49.6 0c-2.8 0-5.8 1-7.8 3.2l-68.4 67.8c-4.4 4.4-4.4 11.4 0 15.6l127.2 126.4c2.2 2.2 5 3.2 7.8 3.2s5.8-1 7.8-3.2l66.4-69.6c4.4-4.4 4.4-11.4 0-15.6 0 0-10.6-10.4-24.2-24s1.6-38.8 10.6-46.8c9-8.2 23.2-13.6 42.4-13.6 8.6 0 14.8 1.4 22.8 3.6 24.4 6.8 51.6 31.8 101.8 81.6l-7.8 13c-4.6 7.6-1.8 16.6 2.6 20.8 0 0-10-9.8 26.2 26.4l100.2-94.4c-38.4-37.8-29-28.4-29-28.4-2.8-2.8-7.6-4.6-12.6-4.6-2.8 0-5.8 0.6-8.4 2l-11.4 6c-56.2-55.6-70.8-80.6-68.6-123.6 2.2-44.8 24.6-74.4 61.2-105.4 49.6-42.2 121.4-30.6 121.4-30.6 16-0.6-8.2-17.6-20.8-25.6z M925.4 800.2c0 0-138-114.6-260.8-231.6l-95.6 101.4c117.2 121.4 230.2 255.6 230.2 255.6 2.2 2.2 5 3.2 7.8 3.2s5.8-1 7.8-3.2l110.4-109.6c4.6-4.4 4.6-11.4 0.2-15.8z M959 250.2l-105 105.4-102.4-18.6-18.4-102.4 105-105.4c-22.4-22.4-53.6-33.2-78-33.2-1.4 0-2.8 0-4 0.2-25 1.4-78.6 15.4-120 59.4-40 42.4-82.2 121.4-45 209 4.4 10.6 9.4 24.6-5.4 39.4-3 2.8-19.8 18.8-45 42.6-7.2 6.8-15 14-23.2 22-16.2 15.2-34.2 32.4-53.6 50.6-7.6 7.2-15.4 14.6-23.2 22-114.2 107.8-254.2 239.4-254.2 239.4-36 31-33.4 88.4-0.2 121.8 17 16.8 40 25.6 62.6 25.6 22.2 0 43.8-8.4 59.2-26.2 0 0 131.2-139.8 238.8-254.2 7.4-8 14.8-15.8 22-23.4 18.6-19.8 36-38.2 51.6-54.6 7.8-8.4 15.2-16.2 22-23.2 23-24.4 38.8-40.8 42-44 8-7.8 15.4-10.2 22.2-10.2 6.6 0 12.6 2.4 17.2 4.8 19.8 10.2 42 14.8 64.8 14.8 53.6 0 110-24.8 144.4-59.2 48.8-48.8 57.8-96 59.2-120.2 1.4-23.8-6.8-55.6-33.4-82.2zM274.6 852.8c-11 10.8-28.8 10.8-39.8 0-10.8-11-10.8-28.8 0-39.8 11-10.8 28.8-10.8 39.8 0 10.8 11 10.8 29 0 39.8z"></path> </SVG> ) } _getClasses() { return [...this.state.classNames, this.props.className].join(' ') } _getPathByIconName() { let icon = icons.find(icon => icon.tags[0] === this.props.icon) if (icon) return icon.paths.join(' ') return '' } } IosConstruct.defaultProps = { // style style: {}, color: '#000000', fontSize: '22px', // animation shake: false, beat: false, rotate: false, } IosConstruct.propTypes = { // style style: PropTypes.object, color: PropTypes.string, fontSize: PropTypes.string, // animation shake: PropTypes.bool, beat: PropTypes.bool, rotate: PropTypes.bool, // functions onClick: PropTypes.func } export default IosConstruct