<template>
    <component :is="icon" :class="className" />
</template>

<script setup>
import { computed } from 'vue'
import * as heroIcons from '@heroicons/vue/24/outline'

const props = defineProps({
    name: {
        type: String,
        required: true,
    },
    className: {
        type: String,
        required: false,
        default: "w-5 h-5"
    }
})

const icon = computed(() => {
    let name = ''
    props.name.split('-').forEach(v => {
        name += v[0].toUpperCase() + v.substr(1)
    })
    return heroIcons[name + 'Icon']
})
</script>