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:
parent
797cf60c05
commit
127d2974c8
8 changed files with 152 additions and 6 deletions
24
app/components/PageShell.vue
Normal file
24
app/components/PageShell.vue
Normal 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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue