@meve/ui
Version:
Argon design system components library
45 lines (37 loc) • 1.31 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _mergeJSXProps from "@vue/babel-helper-vue-jsx-merge-props";
import { createNamespace, emit, inherit } from '../utils/create';
import { props } from './props';
import { toSizeUnit } from '../utils/elements';
var _createNamespace = createNamespace('icon'),
createComponent = _createNamespace.createComponent,
namespace = _createNamespace.namespace;
function Icon(h, props, slots, ctx) {
var color = props.color,
size = props.size,
name = props.name,
prefix = props.namespace;
var onClick = function onClick(event) {
return emit(ctx, 'click', event);
};
return h("i", _mergeJSXProps([{
"class": [namespace(), 'm--box', prefix + "--set", prefix + "-" + name],
"style": {
color: color,
fontSize: toSizeUnit(size)
}
}, inherit(ctx), {
"on": _extends({}, {
"click": function click($event) {
for (var _len = arguments.length, attrs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
attrs[_key - 1] = arguments[_key];
}
onClick.apply(void 0, [$event].concat(attrs));
}
})
}]));
}
Icon.props = props;
var IconPlugin = createComponent(Icon);
export var _IconComponent = IconPlugin;
export default IconPlugin;