2
0
mirror of https://github.com/frappe/books.git synced 2024-09-20 19:29:02 +00:00
books/ui/components/FeatherIcon.vue

44 lines
919 B
Vue
Raw Normal View History

2018-06-27 14:38:27 +00:00
<script>
import feather from 'feather-icons';
const validIcons = Object.keys(feather.icons);
export default {
2019-11-15 07:46:10 +00:00
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
);
2018-06-27 14:38:27 +00:00
}
2019-11-15 07:46:10 +00:00
return valid;
}
2018-06-27 14:38:27 +00:00
}
2019-11-15 07:46:10 +00:00
},
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
}),
on: this.$listeners,
2019-11-15 07:46:10 +00:00
class: [icon.attrs.class],
domProps: {
innerHTML: icon.contents
}
});
}
};
2018-06-27 14:38:27 +00:00
</script>