Files
axp-ui/src/components/Alert.vue
T

25 lines
556 B
Vue
Raw Normal View History

2023-07-11 10:38:21 +03:00
<script setup lang="ts">
2023-07-27 15:36:52 +03:00
import type { TColor } from '../colors'
// Props.
2023-07-11 10:38:21 +03:00
const props = defineProps<{
2023-07-27 15:36:52 +03:00
color?: TColor
2023-07-11 10:38:21 +03:00
value?: string
2023-07-27 15:36:52 +03:00
close?: boolean
2023-07-11 10:38:21 +03:00
}>()
2023-07-27 15:36:52 +03:00
const emit = defineEmits<{ (e: 'close'): void }>()
2023-07-11 10:38:21 +03:00
</script>
<template>
2023-07-26 14:07:17 +03:00
<div class="ui-alert" :class="props.color">
2023-07-27 15:36:52 +03:00
<div v-if="props.close" class="ui-alert-close">
<ui-icon name="close" @click="emit('close')" />
</div>
<div v-if="props.value || $slots.default" class="ui-alert-content">
{{ props.value }}
<slot v-if="$slots.default" name="default" />
</div>
2023-07-11 10:38:21 +03:00
</div>
</template>