47 lines
1.5 KiB
Vue

<script setup>
import { ref, computed } from "vue"
const props = defineProps({
title: String,
height: [Number, String],
width: [Number, String],
})
// variables
const heightNumber = ref(24)
const widthNumber = ref(24)
if (!Number.isNaN(props.height) && typeof props.height !== "undefined") {
heightNumber.value = Number.parseInt(props.height)
} else if (typeof props.height === "undefined" && (!Number.isNaN(props.width) && typeof props.width !== "undefined")) {
heightNumber.value = Number.parseInt(props.width)
}
if (!Number.isNaN(props.width) && typeof props.width !== "undefined") {
widthNumber.value = Number.parseInt(props.width)
} else if (typeof props.width === "undefined" && (!Number.isNaN(props.height) && typeof props.height !== "undefined")) {
widthNumber.value = Number.parseInt(props.height)
}
// computed
const titleString = computed(() => {
if (typeof props.title === "string" && props.title.trim().length > 0) {
return props.title.trim()
}
return ""
})
</script>
<template>
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" preserveAspectRatio="xMidYMid meet">
<title v-if="titleString.length > 0" v-html="title"></title>
<path d="M12 21a8 8 0 1 0 0-16 8 8 0 0 0 0 16z"></path>
<path d="M5 3 2 6"></path>
<path d="m22 6-3-3"></path>
<path d="m6 19-2 2"></path>
<path d="m18 19 2 2"></path>
<path d="M12 10v6"></path>
<path d="M9 13h6"></path>
</svg>
</template>