Skip to main content

Introducing Workflow Engine, try for FREE workflowengine.io.

Box

Introduction

The Box component is a generic container component for layout and styling with Material UI's styling system. It serves as a wrapper component for most CSS utility needs, providing a convenient way to apply spacing, sizing, colors, and other styling properties.

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

The Box 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

System props (available via sx prop)

The Box component supports all system props from Material UI's system. Here are the most commonly used:

CategoryPropertiesDescription
Spacingm, mt, mr, mb, ml, mx, my, p, pt, pr, pb, pl, px, pyMargin and padding utilities
Sizingwidth, height, minWidth, maxWidth, minHeight, maxHeightWidth and height utilities
Layoutdisplay, flexDirection, flexWrap, justifyContent, alignItems, alignContent, order, flex, flexGrow, flexShrink, flexBasis, alignSelfFlexbox utilities
Positioningposition, top, right, bottom, left, zIndexPositioning utilities
Backgroundbgcolor, backgroundColor, backgroundImage, backgroundSize, backgroundPosition, backgroundRepeatBackground utilities
Bordersborder, borderTop, borderRight, borderBottom, borderLeft, borderColor, borderRadiusBorder utilities
TypographyfontFamily, fontSize, fontWeight, lineHeight, letterSpacing, textAlign, colorTypography utilities
ShadowsboxShadowShadow utilities
GridgridGap, gridColumnGap, gridRowGap, gridColumn, gridRow, gridAutoFlow, gridAutoColumns, gridAutoRows, gridTemplateColumns, gridTemplateRows, gridTemplateAreas, gridAreaCSS Grid utilities

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