29 lines
553 B
Vue
29 lines
553 B
Vue
|
<template>
|
||
|
<div v-if="show" class="popup-overlay" @click.self="show = false">
|
||
|
<div class="popup-container">
|
||
|
<slot></slot>
|
||
|
</div>
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script setup lang="ts">
|
||
|
const show = defineModel('show', {type: Boolean, default:false});
|
||
|
|
||
|
</script>
|
||
|
|
||
|
<style scoped>
|
||
|
.popup-overlay {
|
||
|
position: fixed;
|
||
|
inset: 0;
|
||
|
background: rgba(0,0,0,0.5);
|
||
|
display: flex;
|
||
|
align-items: center;
|
||
|
justify-content: center;
|
||
|
}
|
||
|
.popup-container {
|
||
|
background: #fff;
|
||
|
border-radius: 8px;
|
||
|
overflow: hidden;
|
||
|
}
|
||
|
</style>
|