modifying icons to have a default height, width, and optionally a title

This commit is contained in:
2022-09-27 11:10:15 -06:00
parent e7bbacd59e
commit b8df8a8d4d
87 changed files with 3153 additions and 84 deletions

View File

@ -1,5 +1,40 @@
<script setup>
import { ref, computed } from 'vue'
const props = defineProps({
title: String,
height: Number,
width: Number,
})
// 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 viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" preserveAspectRatio="xMidYMid meet">
<svg viewBox="0 0 24 24" :height="heightNumber" :width="widthNumber" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" preserveAspectRatio="xMidYMid meet">
<title v-if="titleString.length > 0" v-html="title"></title>
<rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
<line x1="16" y1="2" x2="16" y2="6"></line>
<line x1="8" y1="2" x2="8" y2="6"></line>