2
0
mirror of https://github.com/frappe/books.git synced 2024-12-25 12:10:06 +00:00

fix: Use h to create component

This commit is contained in:
Faris Ansari 2019-11-15 13:16:10 +05:30
parent 4071a6e8bc
commit 03dee5913c

View File

@ -1,46 +1,42 @@
<template>
<div class="feather-icon" v-html="iconSVG"></div>
</template>
<script>
import feather from 'feather-icons';
const validIcons = Object.keys(feather.icons);
export default {
props: {
name: {
type: String,
required: true,
validator(value) {
const valid = validIcons.includes(value);
if (!valid) {
console.warn(`name property for feather-icon must be one of `, validIcons);
}
return valid;
}
},
size: {
type: Number,
default: 16
}
},
computed: {
iconSVG() {
const icon = feather.icons[this.name];
if (!icon) {
return '';
}
return icon.toSvg({
width: this.size,
height: this.size
});
props: {
name: {
type: String,
required: true,
validator(value) {
const valid = validIcons.includes(value);
if (!valid) {
console.warn(
`name property for feather-icon must be one of `,
validIcons
);
}
return valid;
}
}
}
},
render(h) {
let icon = feather.icons[this.name];
return h('svg', {
attrs: Object.assign({}, icon.attrs, {
fill: 'none',
stroke: 'currentColor',
'stroke-linecap': 'round',
'stroke-linejoin': 'round',
'stroke-width': 1.5,
width: null,
height: null
}),
class: [icon.attrs.class],
domProps: {
innerHTML: icon.contents
}
});
}
};
</script>
<style>
.feather-icon {
display: inline-flex;
}
</style>