Box

Best practices

Use the theme based parameters when possible, this will prevent discrepancies should the theme update in the future.

Basic usage

The Box component is a generic component intended to be used for spacing and alignment within an application.

  • The default Box is a div element but can be swapped for any element type using the as="dd" prop.
  • The only built-in style is box-sizing: border-box for intuitive sizing.
  • With the Box you have the ability to make the box conform to the shape set in the theme just like most of the rest of the cactus components do. To do this, just set borderRadius="themed".
  • You can also pass in custom border radius definitions to change with the theme. To do this, you can set borderRadius={{ square: '2px', intermediate: '6px', round: '12px' }}. You can customize each individual corner this way as well, using borderTopLeftRadius, borderTopRightRadius, and so on.

Try it out

import React from 'react'
import { Box, Button } from '@repay/cactus-web'

/**
 *  center a button in it's container using margin = 0 auto
 *  and setting padding top and bottom to the 3rd
 *  space with the `ph` prop
 */
export default () => (
  <Box ph={3} margin="0 auto">
    <Button variant="action">Click Me!</Button>
  </Box>
)

Properties

Cactus Props

NameRequiredDefault ValueTypeDescription
borderBottomLeftRadiusNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | CustomBR | undefined
borderBottomRightRadiusNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | CustomBR | undefined
borderRadiusNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | CustomBR | undefined
borderTopLeftRadiusNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | CustomBR | undefined
borderTopRightRadiusNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | CustomBR | undefined
fontStretchNResponsiveValue<FontStretch, Required<Theme<TLengthStyledSystem>>> | undefined
fontVariantNResponsiveValue<FontVariant, Required<Theme<TLengthStyledSystem>>> | undefined
fontVariantCapsNResponsiveValue<FontVariantCaps, Required<Theme<TLengthStyledSystem>>> | undefined
fontVariantLigaturesNResponsiveValue<FontVariantLigatures, Required<Theme<TLengthStyledSystem>>> | undefined
fontVariantNumericNResponsiveValue<FontVariantNumeric, Required<Theme<TLengthStyledSystem>>> | undefined
hyphensNResponsiveValue<Hyphens, Required<Theme<TLengthStyledSystem>>> | undefined
overflowWrapNResponsiveValue<OverflowWrap, Required<Theme<TLengthStyledSystem>>> | undefined
textDecorationNResponsiveValue<TextDecoration<0 | (string & {})>, Required<Theme<TLengthStyledSystem>>> | undefined
textDecorationColorNResponsiveValue<TextDecorationColor, Required<Theme<TLengthStyledSystem>>> | undefined
textDecorationLineNResponsiveValue<TextDecorationLine, Required<Theme<TLengthStyledSystem>>> | undefined
textDecorationSkipInkNResponsiveValue<TextDecorationSkipInk, Required<Theme<TLengthStyledSystem>>> | undefined
textDecorationStyleNResponsiveValue<TextDecorationStyle, Required<Theme<TLengthStyledSystem>>> | undefined
textDecorationThicknessNResponsiveValue<TextDecorationThickness<string | number>, Required<Theme<TLengthStyledSystem>>> | undefined
textIndentNResponsiveValue<TextIndent<string | number>, Required<Theme<TLengthStyledSystem>>> | undefined
textOrientationNResponsiveValue<TextOrientation, Required<Theme<TLengthStyledSystem>>> | undefined
textOverflowNResponsiveValue<TextOverflow, Required<Theme<TLengthStyledSystem>>> | undefined
textStyleNkeyof TextStyleCollection | undefined
textTransformNResponsiveValue<TextTransform, Required<Theme<TLengthStyledSystem>>> | undefined
textUnderlineOffsetNResponsiveValue<TextUnderlineOffset<string | number>, Required<Theme<TLengthStyledSystem>>> | undefined
textUnderlinePositionNResponsiveValue<TextUnderlinePosition, Required<Theme<TLengthStyledSystem>>> | undefined
userSelectNResponsiveValue<UserSelect, Required<Theme<TLengthStyledSystem>>> | undefined
whiteSpaceNResponsiveValue<WhiteSpace, Required<Theme<TLengthStyledSystem>>> | undefined
wordBreakNResponsiveValue<WordBreak, Required<Theme<TLengthStyledSystem>>> | undefined
writingModeNResponsiveValue<WritingMode, Required<Theme<TLengthStyledSystem>>> | undefined

Styling Props

NameRequiredTypeDescription
alignSelfNResponsiveValue<AlignSelf, Required<Theme<TLengthStyledSystem>>> | undefinedThe align-self CSS property aligns flex items of the current flex line overriding the align-items value. If any of the item's cross-axis margin is set to auto, then align-self is ignored. In Grid layout align-self aligns the item inside the grid area. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/align-self)
backgroundColorNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefined
bgNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe color utility parses a component's `color` and `bg` props and converts them into CSS declarations. By default the raw value of the prop is returned. Color palettes can be configured with the ThemeProvider to use keys as prop values, with support for dot notation. Array values are converted into responsive values. [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/CSS/background-color)
borderNResponsiveValue<Border<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe border CSS property sets an element's border. It's a shorthand for border-width, border-style, and border-color. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border)
borderBottomNResponsiveValue<BorderBottom<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-bottom CSS property sets an element's bottom border. It's a shorthand for border-bottom-width, border-bottom-style and border-bottom-color. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom)
borderBottomColorNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-bottom-color CSS property sets the color of an element's bottom border. It can also be set with the shorthand CSS properties border-color or border-bottom. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-color)
borderBottomStyleNResponsiveValue<BorderBottomStyle, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-bottom-style CSS property sets the line style of an element's bottom border. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-style)
borderBottomWidthNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-bottom-width CSS property sets the width of the bottom border of an element. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-width)
borderColorNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-color shorthand CSS property sets the color of all sides of an element's border. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-color)
borderLeftNResponsiveValue<BorderLeft<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-left CSS property is a shorthand that sets the values of border-left-width, border-left-style, and border-left-color. These properties describe an element's left border. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-left)
borderLeftColorNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-left-color CSS property sets the color of an element's left border. It can also be set with the shorthand CSS properties border-color or border-left. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-color)
borderLeftStyleNResponsiveValue<BorderLeftStyle, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-left-style CSS property sets the line style of an element's left border. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-style)
borderLeftWidthNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-left-width CSS property sets the width of the left border of an element. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-width)
borderRightNResponsiveValue<BorderRight<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-right CSS property is a shorthand that sets border-right-width, border-right-style, and border-right-color. These properties set an element's right border. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-right)
borderRightColorNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-right-color CSS property sets the color of an element's right border. It can also be set with the shorthand CSS properties border-color or border-right. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-color)
borderRightStyleNResponsiveValue<BorderRightStyle, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-right-style CSS property sets the line style of an element's right border. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-style)
borderRightWidthNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-right-width CSS property sets the width of the right border of an element. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-width)
borderStyleNResponsiveValue<BorderStyle, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-style shorthand CSS property sets the style of all sides of an element's border. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-style)
borderTopNResponsiveValue<BorderTop<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-top CSS property is a shorthand that sets the values of border-top-width, border-top-style, and border-top-color. These properties describe an element's top border. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-top)
borderTopColorNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-top-color CSS property sets the color of an element's top border. It can also be set with the shorthand CSS properties border-color or border-top. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-color)
borderTopStyleNResponsiveValue<BorderTopStyle, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-top-style CSS property sets the line style of an element's top border. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-style)
borderTopWidthNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-top-width CSS property sets the width of the top border of an element. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-width)
borderWidthNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe border-width shorthand CSS property sets the width of all sides of an element's border. [MDN * reference](https://developer.mozilla.org/en-US/docs/Web/CSS/border-width)
borderXNResponsiveValue<Border<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefined
borderYNResponsiveValue<Border<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefined
bottomNResponsiveValue<Bottom<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe bottom CSS property participates in specifying the vertical position of a positioned element. It has no effect on non-positioned elements. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/top)
colorsNResponsiveValue<string, Required<Theme<TLengthStyledSystem>>> | undefined
displayNResponsiveValue<Display, Required<Theme<TLengthStyledSystem>>> | undefinedThe display CSS property defines the display type of an element, which consists of the two basic qualities of how an element generates boxes — the outer display type defining how the box participates in flow layout, and the inner display type defining how the children of the box are laid out. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/display)
flexNResponsiveValue<Flex<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe flex CSS property specifies how a flex item will grow or shrink so as to fit the space available in its flex container. This is a shorthand property that sets flex-grow, flex-shrink, and flex-basis. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/flex)
flexBasisNResponsiveValue<FlexBasis<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefined
flexGrowNResponsiveValue<FlexGrow, Required<Theme<TLengthStyledSystem>>> | undefinedThe flex-grow CSS property sets the flex grow factor of a flex item main size. It specifies how much of the remaining space in the flex container should be assigned to the item (the flex grow factor). [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow)
flexShrinkNResponsiveValue<FlexShrink, Required<Theme<TLengthStyledSystem>>> | undefinedThe flex-shrink CSS property sets the flex shrink factor of a flex item. If the size of all flex items is larger than the flex container, items shrink to fit according to flex-shrink. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink)
fontFamilyNResponsiveValue<FontFamily, Required<Theme<TLengthStyledSystem>>> | undefined
fontSizeNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe fontSize utility parses a component's `fontSize` prop and converts it into a CSS font-size declaration. - Numbers from 0-8 (or `theme.fontSizes.length`) are converted to values on the [font size scale](#default-theme). - Numbers greater than `theme.fontSizes.length` are converted to raw pixel values. - String values are passed as raw CSS values. - And array values are converted into responsive values.
fontStyleNResponsiveValue<FontStyle, Required<Theme<TLengthStyledSystem>>> | undefinedThe font-style CSS property specifies whether a font should be styled with a normal, italic, or oblique face from its font-family. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/font-style)
fontWeightNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe font-weight CSS property specifies the weight (or boldness) of the font. The font weights available to you will depend on the font-family you are using. Some fonts are only available in normal and bold. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight)
heightNResponsiveValue<Height<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe height CSS property specifies the height of an element. By default, the property defines the height of the content area. If box-sizing is set to border-box, however, it instead determines the height of the border area. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/height)
leftNResponsiveValue<Left<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe left CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/left)
letterSpacingNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe letter-spacing CSS property sets the spacing behavior between text characters. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing)
lineHeightNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedThe line-height CSS property sets the amount of space used for lines, such as in text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/line-height)
mNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on top, left, bottom and right
marginNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on top, left, bottom and right
marginBottomNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on bottom
marginLeftNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on left
marginRightNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on right
marginTopNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on top
marginXNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on left and right
marginYNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on top and bottom
maxHeightNResponsiveValue<MaxHeight<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe max-height CSS property sets the maximum height of an element. It prevents the used value of the height property from becoming larger than the value specified for max-height. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/max-height)
maxWidthNResponsiveValue<MaxWidth<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe max-width CSS property sets the maximum width of an element. It prevents the used value of the width property from becoming larger than the value specified by max-width. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/max-width)
mbNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on bottom
minHeightNResponsiveValue<MinHeight<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe min-height CSS property sets the minimum height of an element. It prevents the used value of the height property from becoming smaller than the value specified for min-height. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/display)
minWidthNResponsiveValue<MinWidth<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe min-width CSS property sets the minimum width of an element. It prevents the used value of the width property from becoming smaller than the value specified for min-width. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/min-width)
mlNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on left
mrNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on right
mtNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on top
mxNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on left and right
myNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedMargin on top and bottom
opacityNResponsiveValue<Opacity, Required<Theme<TLengthStyledSystem>>> | undefinedThe opacity CSS property sets the transparency of an element or the degree to which content behind an element is visible. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/opacity)
orderNResponsiveValue<Order, Required<Theme<TLengthStyledSystem>>> | undefinedThe order CSS property sets the order to lay out an item in a flex or grid container. Items in a container are sorted by ascending order value and then by their source code order. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/order)
overflowNResponsiveValue<Overflow, Required<Theme<TLengthStyledSystem>>> | undefinedThe overflow CSS property sets what to do when an element's content is too big to fit in its block formatting context. It is a shorthand for overflow-x and overflow-y. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow)
overflowXNResponsiveValue<OverflowX, Required<Theme<TLengthStyledSystem>>> | undefinedThe overflow-x CSS property sets what shows when content overflows a block-level element's left and right edges. This may be nothing, a scroll bar, or the overflow content. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-x)
overflowYNResponsiveValue<OverflowY, Required<Theme<TLengthStyledSystem>>> | undefinedThe overflow-y CSS property sets what shows when content overflows a block-level element's top and bottom edges. This may be nothing, a scroll bar, or the overflow content. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-y)
pNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on top, left, bottom and right
paddingNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on top, left, bottom and right
paddingBottomNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on bottom
paddingLeftNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on left
paddingRightNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on right
paddingTopNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on top
paddingXNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on left and right
paddingYNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on top and bottom
pbNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on bottom
plNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on left
positionNResponsiveValue<Position, Required<Theme<TLengthStyledSystem>>> | undefinedThe position CSS property specifies how an element is positioned in a document. The top, right, bottom, and left properties determine the final location of positioned elements. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/position)
prNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on right
ptNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on top
pxNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on left and right
pyNResponsiveValue<string | number | symbol, Required<Theme<TLengthStyledSystem>>> | undefinedPadding on top and bottom
rightNResponsiveValue<Right<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe right CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/right)
sizeNResponsiveValue<Height<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefined
textAlignNResponsiveValue<TextAlign, Required<Theme<TLengthStyledSystem>>> | undefinedThe text-align CSS property specifies the horizontal alignment of an inline or table-cell box. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/text-align)
topNResponsiveValue<Top<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe top CSS property participates in specifying the vertical position of a positioned element. It has no effect on non-positioned elements. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/top)
verticalAlignNResponsiveValue<VerticalAlign<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe vertical-align CSS property specifies sets vertical alignment of an inline or table-cell box. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align)
widthNResponsiveValue<Width<TLengthStyledSystem>, Required<Theme<TLengthStyledSystem>>> | undefinedThe width utility parses a component's `width` prop and converts it into a CSS width declaration. - Numbers from 0-1 are converted to percentage widths. - Numbers greater than 1 are converted to pixel values. - String values are passed as raw CSS values. - And arrays are converted to responsive width styles.
zIndexNResponsiveValue<ZIndex, Required<Theme<TLengthStyledSystem>>> | undefinedThe z-index CSS property sets the z-order of a positioned element and its descendants or flex items. Overlapping elements with a larger z-index cover those with a smaller one. [MDN reference](https://developer.mozilla.org/en-US/docs/Web/CSS/z-index)