16 lines
638 B
JavaScript
16 lines
638 B
JavaScript
import React from 'react';
|
|
import './web.less';
|
|
export default function Render(props) {
|
|
const { data } = props;
|
|
const { name, color = '', size, oakClass, style = {} } = data;
|
|
const isColor = ['primary', 'info', 'success', 'error', 'warning'].includes(color);
|
|
let class_name = 'oak-icon ' + 'oak-icon-' + name;
|
|
if (isColor || color === '') {
|
|
class_name += ' ' + 'oak-icon__' + (color || 'primary');
|
|
}
|
|
if (oakClass) {
|
|
class_name += ' ' + oakClass;
|
|
}
|
|
return (<span className={class_name} style={Object.assign(style, size && { fontSize: size }, color && !isColor && { color })}></span>);
|
|
}
|