<template> <div> <div class="card" :style="`background-color:${item.background};`" :class="item.class" > <a :href="item.url" :target="item.target" rel="noreferrer"> <div class="card-content"> <div :class="mediaClass"> <slot name="icon"> <div v-if="item.logo" class="media-left"> <figure class="image is-48x48"> <img :src="item.logo" :alt="`${item.name} logo`" /> </figure> </div> <div v-if="item.icon" class="media-left"> <figure class="image is-48x48"> <i style="font-size: 35px" :class="['fa-fw', item.icon]"></i> </figure> </div> </slot> <div class="media-content"> <slot name="content"> <p class="title is-4">{{ item.name }}</p> <p class="subtitle is-6" v-if="item.subtitle"> {{ item.subtitle }} </p> </slot> </div> <slot name="indicator" class="indicator"></slot> </div> <div class="tag" :class="item.tagstyle" v-if="item.tag"> <strong class="tag-text">#{{ item.tag }}</strong> </div> </div> </a> </div> </div> </template> <script> export default { name: "Generic", props: { item: Object, }, computed: { mediaClass: function () { return { media: true, "no-subtitle": !this.item.subtitle }; }, }, }; </script> <style scoped lang="scss"> .media-left { .image { display: flex; align-items: center; } img { max-height: 100%; } } </style>