SxProps References
Short name fields have lower priority than full name fields.
In other words, when marginTop and mt are used together, the value of marginTop win.
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,
}