Skip to main content

Introducing Workflow Engine, try for FREE workflowengine.io.

Stack

Introduction

The Stack component manages layout of immediate children along the vertical or horizontal axis with optional spacing and dividers. It is a one-dimensional layout component that simplifies the arrangement of elements in a linear flow, replacing the need for manual margin/padding calculations. The component follows Material Design layout principles with consistent spacing and responsive behavior.

The Stack component is based on Material UI Stack. It is included within the following NPM package: @react-form-builder/components-material-ui.

The Stack component can be styled and configured to fit specific design and functionality requirements by using various properties that are presented and described below.

Main properties

The following general properties are available within the Main tab:

NameTypeDescription
SxobjectThe system prop that allows defining system overrides as well as additional CSS styles
Direction'row' | 'row-reverse' | 'column' | 'column-reverse'The direction of the stack (default: 'column')
Spacingnumber | string | arrayThe spacing between children (uses theme spacing multiplier)
Justify content'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly'The justify-content CSS property
Align items'flex-start' | 'center' | 'flex-end' | 'stretch' | 'baseline'The align-items CSS property
Flex wrap'nowrap' | 'wrap' | 'wrap-reverse'The flex-wrap CSS property
Use flex gapbooleanIf true, uses CSS flexbox gap for spacing (requires browser support)

At the bottom of the Main properties menu, you can find additional options:

Style properties

These are properties that allow to customize the size, color and other style properties of your component:

  • For Device: You can provide component's style customization for all devices or specific devices by using this dropdown list. Refer to Adaptive Layout for more details.
  • Component > Class Name: Add a class name for your component for the subsequent styling if necessary.
  • Wrapper: The options below enable you to tailor the appearance of your component and customize it for a specific device type, as selected in the For Device property:

    NameTypeDescription
    WidthnumberSpecifies the width for your component
    HeightnumberSpecifies the height for your component
    Margin top/right/bottom/leftnumberMargin values for you component
    ColorstringAllows customizing the text color
    Background colorstringEnables customizing the background color
Stay in the know
Quickly Build Drag-and-Drop Forms
Star us on GitHub