Daan Meijer a1adf1da1c
Some checks failed
linter / quality (push) Failing after 1m3s
tests / ci (8.3) (push) Failing after 48s
tests / ci (8.4) (push) Failing after 1m5s
tests / ci (8.5) (push) Failing after 1m4s
added media, mutation events, agent instructions
2026-06-15 22:30:17 +02:00

47 lines
892 B
Vue

<script setup lang="ts">
type Props = {
title: string;
description?: string;
variant?: 'default' | 'small';
};
withDefaults(defineProps<Props>(), {
variant: 'default',
});
</script>
<template>
<header :class="['c-heading', { 'c-heading--small': variant === 'small' }]">
<h2 class="c-heading__title">
{{ title }}
</h2>
<p v-if="description" class="c-heading__description">
{{ description }}
</p>
</header>
</template>
<style scoped>
@reference "../../css/app.css";
.c-heading {
@apply mb-8 space-y-0.5;
}
.c-heading--small {
@apply mb-0 space-y-0;
}
.c-heading__title {
@apply text-xl font-semibold tracking-tight;
}
.c-heading--small .c-heading__title {
@apply mb-0.5 text-base font-medium tracking-normal;
}
.c-heading__description {
@apply text-sm text-muted-foreground;
}
</style>