Table of Contents
Note

This documentation describes the VerticalLayout Vue component for native UI views, for Xml templates see vertical-layout.

VerticalLayout

A flex-column layout container. Arranges children vertically using CSS custom properties from design-system tokens.

Import

import { VerticalLayout } from '@neos/design-system'

Props

Prop Type Default Description
space 'none' \| 'extrasmall' \| 'small' \| 'medium' \| 'large' \| 'extralarge' 'small' Gap between children
align 'left' \| 'center' \| 'right' \| 'start' \| 'end' \| 'stretch' \| 'space-between' 'stretch' Cross-axis alignment (align-items)
verticalAlign 'top' \| 'center' \| 'bottom' \| 'stretch' undefined Main-axis alignment (justify-content). Not applied when undefined

Slots

Slot Description
default Children to stack vertically

Usage Examples

Form field column

<VerticalLayout space="medium">
  <StringFormField property-name="firstName" />
  <StringFormField property-name="lastName" />
  <DateFormField property-name="birthDate" />
</VerticalLayout>

Centered content panel

<VerticalLayout align="center" vertical-align="center" space="large">
  <Heading :level="2">No data found</Heading>
  <Text>Try adjusting your filters.</Text>
  <button label="Clear filters" />
</VerticalLayout>

Full-height page layout

<VerticalLayout space="none" style="height: 100%">
  <Toolbar />
  <VerticalLayout space="medium" style="flex: 1; overflow: auto">
    <slot />
  </VerticalLayout>
  <PaginationBar />
</VerticalLayout>