31 lines
459 B
Vue
31 lines
459 B
Vue
<script lang="ts" setup>
|
|
import { cn } from '~/lib/utils';
|
|
|
|
interface SpacingProps {
|
|
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xlg' | '2xl' | '3xl'
|
|
}
|
|
|
|
const props = defineProps<SpacingProps>()
|
|
|
|
let spacingClass: string
|
|
|
|
switch (props.size) {
|
|
case 'lg':
|
|
spacingClass = "space-y-4"
|
|
break;
|
|
|
|
case 'md':
|
|
default:
|
|
spacingClass = "space-y-2"
|
|
break;
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<div
|
|
:class="cn(spacingClass)"
|
|
>
|
|
<slot />
|
|
</div>
|
|
</template>
|