Skip to content

GkStack

Layout primitive: display: flex with direction, gap, alignment, and optional wrap.

When to use

Use as the default primitive for spacing and alignment instead of writing ad-hoc flex wrappers in app pages.

Live Examples

Column

Default flex column with token gap.

AB

Row toolbar

Row direction with alignment, justify, and wrap.

FiltersActions

Semantic list

Use tag="ul" when the stack represents a real list.

  • Accessible list item 1
  • Accessible list item 2

API

Props

PropTypeDefaultDescription
tagstring'div'Root element
direction'row' | 'column''column'Flex direction
gap164Spacing token step
align'start' | 'center' | 'end' | 'stretch''stretch'align-items
justify'start' | 'center' | 'end' | 'space-between''start'justify-content
wrapbooleanfalseflex-wrap

Slots

SlotDescription
defaultChildren

Examples

Each scenario under Live Examples includes a copyable Vue snippet (source is imported from the same SFC as the preview).

Accessibility notes

  • Pick semantic tag values when stack wrappers represent lists, nav, or landmark groupings.
  • Preserve source order; visual flex arrangement should not conflict with reading order.

Released under the MIT License.