Files
Incidents-Data-Portal/frontend/src/components/base-loading/spin/pulse-spin.vue
T
2026-07-10 18:55:55 +08:00

50 lines
830 B
Vue

<script lang="ts" setup>
defineProps({
color: {
type: String,
default: '#3ff9dc',
},
})
</script>
<template>
<div class="pulse-wrapper">
<div class="pulse-item one" />
<div class="pulse-item two" />
<div class="pulse-item three" />
</div>
</template>
<style lang="less" scoped>
.pulse-item {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
background-color: v-bind(color);
border-radius: 50%;
animation: pulse-loader 0.4s ease 0s infinite alternate;
}
.two {
margin: 0 15px;
animation: pulse-loader 0.4s ease 0.2s infinite alternate;
}
.three {
animation: pulse-loader 0.4s ease 0.4s infinite alternate;
}
@keyframes pulse-loader {
0% {
opacity: 1;
transform: scale(1);
}
100% {
opacity: 0.5;
transform: scale(0.75);
}
}
</style>