A vertical layout primitive inspired by SwiftUI.
VStack arranges children vertically with token-backed gaps, alignment, wrapping, and semantic element support.
By default, VStack uses align="center", justify="start", and gap={8}.
Use VStack when the layout direction is explicitly vertical.
<VStack gap={12}>
<Card><CardContent>Workspace settings</CardContent></Card>
<Card><CardContent>Billing summary</CardContent></Card>
<Card><CardContent>Team access</CardContent></Card>
</VStack>import { Button, VStack } from "@froggdesign/enter-ui-react";Align controls how children sit on the inline axis.
Gap values map to the EnterUI spacing scale.
Tight item
Tight item
Spacious item
Spacious item
Wrap allows vertical stacks to continue into additional columns when constrained by the parent.
VStack is layout-only. Pick the as element for document meaning, and keep semantic children inside the stack.
as: div, section, article, main, aside, nav, header, or footer.gap: 0, 2, 4, 6, 8, 10, 12, 16, 20, 24, 32, 40, or 48.align: start, center, end, or stretch.justify: start, center, end, or between.wrap: enables flex wrapping.fullWidth: sets width to 100%.top, right, bottom, left: external spacing (margin).padding, paddingTop, paddingRight, paddingBottom, paddingLeft: internal spacing.className.<VStack top={8} left={20} paddingBottom={10} gap={10}>
<Text>Control row</Text>
<Badge>Token-backed spacing</Badge>
</VStack>VStack uses .eui-vstack with data attributes for gap, align, justify, wrap, and full-width behavior. Gaps map to EnterUI spacing variables with small fallbacks for intermediate values.