-<script>
-export default {};
-</script>
-
-<style></style> */
-
-<script>
-export default {};
-</script>
-
-<style></style>
-
<template>
<div>
- <div class="card" :class="item.class">
+ <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="media">
- <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>
+ <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">
- <p class="title is-4">{{ item.name }}</p>
- <p class="subtitle is-6">{{ item.subtitle }}</p>
+ <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>
props: {
item: Object,
},
+ computed: {
+ mediaClass: function () {
+ return { media: true, "no-subtitle": !this.item.subtitle };
+ },
+ },
};
</script>
<style scoped lang="scss">
-.media-left img {
- max-height: 100%;
+.media-left {
+ .image {
+ display: flex;
+ align-items: center;
+ }
+
+ img {
+ max-height: 100%;
+ }
}
</style>