feat(layout): add PageShell, ColumnsLayout, PageSection primitives

Introduces three new layout primitives (no consumers yet). Adds
--page-pad-x/y/collapse CSS tokens to :root and .dark. Updates
PageHeader to read padding from tokens. Removes ignored size="large"
props from welcome and series pages. Fixes stray markdown in SidebarLayout.
This commit is contained in:
Jennie Robinson Faber 2026-04-08 15:51:38 +01:00
parent 797cf60c05
commit 127d2974c8
8 changed files with 152 additions and 6 deletions

View file

@ -0,0 +1,24 @@
<template>
<component :is="as" class="page-shell">
<PageHeader v-if="title" :title="title" :subtitle="subtitle" />
<slot />
</component>
</template>
<script setup>
defineProps({
title: { type: String, default: '' },
subtitle: { type: String, default: '' },
as: { type: String, default: 'div' },
})
</script>
<style scoped>
.page-shell {
flex: 1;
display: flex;
flex-direction: column;
min-height: 0;
width: 100%;
}
</style>