SxProps References
All available style props for SxProps and TextSxProps. When both a shortcut and its full name are provided (e.g. marginTop and mt), the full name takes priority.
All props except transform support responsive arrays (Responsive<T> = T | T[]).
Pass an array to apply different values at each breakpoint. See Responsive Breakpoints for details.
colors
backgroundColor: Token<'colors'>;
bg: Token<'colors'>; // backgroundColor
borderColor: Token<'colors'>;
space
margin: Token<'space'>;
m: Token<'space'>; // margin
marginTop: Token<'space'>;
mt: Token<'space'>; // marginTop
marginRight: Token<'space'>;
mr: Token<'space'>; // marginRight
marginBottom: Token<'space'>;
mb: Token<'space'>; // marginBottom
marginLeft: Token<'space'>;
ml: Token<'space'>; // marginLeft
marginX: Token<'space'>;
mx: Token<'space'>; // marginX
marginY: Token<'space'>;
my: Token<'space'>; // marginY
padding: Token<'space'>;
p: Token<'space'>; // padding
paddingTop: Token<'space'>;
pt: Token<'space'>; // paddingTop
paddingRight: Token<'space'>;
pr: Token<'space'>; // paddingRight
paddingBottom: Token<'space'>;
pb: Token<'space'>; // paddingBottom
paddingLeft: Token<'space'>;
pl: Token<'space'>; // paddingLeft
paddingX: Token<'space'>;
px: Token<'space'>; // paddingX
paddingY: Token<'space'>;
py: Token<'space'>; // paddingY
top: Token<'space'>;
right: Token<'space'>;
bottom: Token<'space'>;
left: Token<'space'>;
gap: Token<'space'>; // only works if parsed result is number
gapX: Token<'space'>; // only works if parsed result is number
gapY: Token<'space'>; // only works if parsed result is number
sizes
width: Token<'sizes'>;
w: Token<'sizes'>; // width
minWidth: Token<'sizes'>;
minW: Token<'sizes'>; // minWidth
maxWidth: Token<'sizes'>;
maxW: Token<'sizes'>; // maxWidth
height: Token<'sizes'>;
h: Token<'sizes'>; // height
minHeight: Token<'sizes'>;
minH: Token<'sizes'>; // minHeight
maxHeight: Token<'sizes'>;
maxH: Token<'sizes'>; // maxHeight
radii
borderRadius: Token<'radii'>;
radius: Token<'radii'>; // borderRadius
borderTopLeftRadius: Token<'radii'>;
topLeftRadius: Token<'radii'>; // borderTopLeftRadius
borderTopRightRadius: Token<'radii'>;
topRightRadius: Token<'radii'>; // borderTopRightRadius
borderBottomLeftRadius: Token<'radii'>;
bottomLeftRadius: Token<'radii'>; // borderBottomLeftRadius
borderBottomRightRadius: Token<'radii'>;
bottomRightRadius: Token<'radii'>; // borderBottomRightRadius
ViewStyle & ViewProps
flex: ViewStyle['flex'];
alignItems: ViewStyle['alignItems'];
alignContent: ViewStyle['alignContent'];
justifyContent: ViewStyle['justifyContent'];
flexWrap: ViewStyle['flexWrap'];
flexDirection: ViewStyle['flexDirection'];
flexGrow: ViewStyle['flexGrow'];
flexShrink: ViewStyle['flexShrink'];
flexBasis: ViewStyle['flexBasis'];
alignSelf: ViewStyle['alignSelf'];
position: ViewStyle['position'];
pos: ViewStyle['position']; // position
borderWidth: ViewStyle['borderWidth'];
borderTopWidth: ViewStyle['borderTopWidth'];
borderRightWidth: ViewStyle['borderRightWidth'];
borderBottomWidth: ViewStyle['borderBottomWidth'];
borderLeftWidth: ViewStyle['borderLeftWidth'];
opacity: ViewStyle['opacity'];
overflow: ViewStyle['overflow'];
transform: ViewStyle['transform'];
aspectRatio: ViewStyle['aspectRatio'];
display: ViewStyle['display'];
elevation: ViewStyle['elevation'];
zIndex: ViewStyle['zIndex'];
absoluteFill?: boolean; // shortcut - position: absoulte, t,r,b,l: 0
center?: boolean; // shortcut - justifyContent, alignItems: center
warning
In the case of shortcuts such as absoluteFill or center, it is required to not reuse the affected style fields.
The priority for individual fields in shortcut fields is lower than the prop for that field alone.
For example, absoluteFill affects position, top, left, right, and bottom.
If you have absoluteFill: true and you pass top: 5, the result is: top has higher priority, so the result is:
{
"position": "absolute",
"top": 5,
"left": 0,
"right": 0,
"bottom": 0,
}