Files
webapp/app/components/ui/Spinner.vue
2026-01-07 09:10:35 +07:00

24 lines
450 B
Vue

<template>
<span :class="spinnerClass" />
</template>
<script setup lang="ts">
const props = defineProps({
size: {
type: String,
default: 'md', // sm | md | lg
},
})
const sizeMap: Record<string, string> = {
sm: 'loading-sm',
md: 'loading-md',
lg: 'loading-lg',
}
const spinnerClass = computed(() => {
const sizeClass = sizeMap[props.size] || sizeMap.md
return ['loading loading-spinner', sizeClass].join(' ')
})
</script>