31 lines
1.1 KiB
Vue
31 lines
1.1 KiB
Vue
<template>
|
|
<div class="aa-result" :class="'is-' + type">
|
|
<div class="aa-result-icon">{{ iconMap[type] || 'i' }}</div>
|
|
<div class="aa-result-title">{{ title }}</div>
|
|
<div class="aa-result-desc" v-if="desc">{{ desc }}</div>
|
|
<div class="aa-result-actions" v-if="actionText || secondaryText">
|
|
<button v-if="actionText" class="aa-result-btn primary" @click="$emit('action')">{{ actionText }}</button>
|
|
<button v-if="secondaryText" class="aa-result-btn" @click="$emit('secondary')">{{ secondaryText }}</button>
|
|
</div>
|
|
<div class="aa-result-extra" v-if="$slots.extra"><slot name="extra"></slot></div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'AaResultVariants',
|
|
props: {
|
|
type: { type: String, default: 'success' },
|
|
title: { type: String, default: '' },
|
|
desc: { type: String, default: '' },
|
|
actionText: { type: String, default: '' },
|
|
secondaryText: { type: String, default: '' }
|
|
},
|
|
data: function () {
|
|
return { iconMap: { success: '✓', error: '✕', warning: '!', info: 'i' } };
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style src="./ResultVariants.css"></style>
|