aiceps-mobile/src/components/SvgIcon.vue

45 lines
706 B
Vue
Raw Normal View History

<template>
<svg
class="svg-icon"
:class="'icon-'+name"
aria-hidden="true"
>
<use
:xlink:href="symbolId"
:fill="color"
/>
</svg>
</template>
<script>
import { defineComponent, computed } from 'vue'
export default defineComponent({
name: 'SvgIcon',
props: {
prefix: {
type: String,
default: 'icon'
},
name: {
type: String,
required: true
},
color: {
type: String,
default: 'currentColor'
}
},
setup(props) {
const symbolId = computed(() => `#${props.prefix}-${props.name}`)
return { symbolId }
}
})
</script>
<style lang="scss" scoped>
.svg-icon {
width: 22px;
height: 22px;
}
</style>