19 lines
500 B
Vue
19 lines
500 B
Vue
<script setup lang="ts">
|
|
import type { SectionId, SectionLayout } from '@/content/types';
|
|
|
|
defineProps<{
|
|
id: SectionId;
|
|
layout: Exclude<SectionLayout, 'hero'>;
|
|
eyebrow?: string;
|
|
heading: string;
|
|
}>();
|
|
</script>
|
|
|
|
<template>
|
|
<section :id="id" class="portfolio-section" :aria-labelledby="`${id}-heading`" :data-layout="layout">
|
|
<p v-if="eyebrow" class="section-eyebrow">{{ eyebrow }}</p>
|
|
<h2 :id="`${id}-heading`" tabindex="-1">{{ heading }}</h2>
|
|
<slot />
|
|
</section>
|
|
</template>
|