NUI / Components / Layout

StackBox

ImplementedLayout

StackBox arranges children in a configurable orientation.

Supported as a configurable stack layout.

Overview

StackBox arranges children in a configurable orientation.

When to use

  • Use StackBox when the layout direction should be declared by property instead of choosing Row or Column.

Children

Supports normal children.

nui
children {
    Text ChildText {
        text: "THIS IS THE CHILD COMPONENT"
    }
}

Basic syntax

nui
StackBox ActionStack {
    orientation: vertical
    gap: 8

    children {
        Text ChildText {
            text: "THIS IS THE CHILD COMPONENT"
        }
    }
}

Supported properties

PropertyTypeRequiredDefaultDescription
orientationenumNoverticalStack direction.
gapnumberNo0Space between children.
widthnumberNoAutoDesired width.
heightnumberNoAutoDesired height.
paddingmarginNomargin(0)Inner padding.
childPaddingmarginNomargin(0)Padding around children.
backgroundColorcolorNoTransparentOptional background color.
horizontalAlignenumNoInheritedComponent horizontal alignment.
verticalAlignenumNoInheritedComponent vertical alignment.
contentHorizontalAlignenumNoInheritedChild horizontal alignment.
contentVerticalAlignenumNoInheritedChild vertical alignment.
opacitynumberNo1Render opacity.
layerintegerNoContext defaultLayer order inside layered parents.
visibleboolNotrueVisibility flag.

Contextual properties

Contextual property rules

StackBox may receive stack, canvas, grid, wrap, or ExpandableArea slot properties only when it is authored as a direct child of the matching parent. Children of StackBox may use fill or auto. See section 7.

Full syntax example

nui
StackBox ActionStack {
    orientation: vertical
    gap: 8
    width: 320
    height: 240
    padding: margin(10)
    childPadding: margin(2)
    backgroundColor: "#0F172A"
    horizontalAlign: fill
    verticalAlign: top
    contentHorizontalAlign: fill
    contentVerticalAlign: top
    opacity: 1
    layer: 1
    visible: true

    children {
        Text ChildText {
            text: "THIS IS THE CHILD COMPONENT"
        }
    }
}

Limitations

  • Prefer Row or Column when the direction is fixed and should read clearly in source.