You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			|  | 3 years ago | |
|---|---|---|
| .. | ||
| dist | 3 years ago | |
| LICENSE.md | 3 years ago | |
| README.md | 3 years ago | |
| package.json | 3 years ago | |
		
			
				
				README.md
			
		
		
			
			
		
	
	@styled-system/css
Styled System for the css prop
npm i @styled-system/css
Styled System CSS lets you write style objects with responsive, theme-aware Styled System shortcuts.
// usage with the css prop
import React from 'react'
import css from '@styled-system/css'
const Beep = props =>
  <div
    {...props}
    css={css({
      fontSize: [4, 5, 6],
      color: 'primary',
    })}
  />
// usage with a styled HOC
import styled from '@emotion/styled'
import css from '@styled-system/css'
const Boop = styled('div')(
  css({
    fontSize: [ 4, 5, 6 ],
    color: 'primary',
    bg: 'gray',
    '&:hover': {
      color: 'secondary',
    },
  })
)
To make the css prop work with styled-components, babel-plugin-styled-components must be enabled.
Theme Keys
The following keys in your style object will work the same as Styled System props, pulling values from your theme object.
| Property | Theme Key | 
|---|---|
| fontFamily | fonts | 
| fontSize | fontSizes | 
| fontWeight | fontWeights | 
| lineHeight | lineHeights | 
| letterSpacing | letterSpacings | 
| color | colors | 
| backgroundColor,bg | colors | 
| margin,m | space | 
| marginTop,mt | space | 
| marginRight,mr | space | 
| marginBottom,mb | space | 
| marginLeft,ml | space | 
| marginX,mx | space | 
| marginY,my | space | 
| padding,p | space | 
| paddingTop,pt | space | 
| paddingRight,pr | space | 
| paddingBottom,pb | space | 
| paddingLeft,pl | space | 
| paddingX,px | space | 
| paddingY,py | space | 
| top | space | 
| bottom | space | 
| left | space | 
| right | space | 
| border | borders | 
| borderTop | borders | 
| borderRight | borders | 
| borderBottom | borders | 
| borderLeft | borders | 
| borderColor | colors | 
| borderWidth | borderWidths | 
| borderStyle | borderStyles | 
| borderRadius | radii | 
| boxShadow | shadows | 
| textShadow | shadows | 
| zIndex | zIndices | 
| width | sizes | 
| minWidth | sizes | 
| maxWidth | sizes | 
| height | sizes | 
| minHeight | sizes | 
| maxHeight | sizes | 
| size | sizes | 
Responsive Arrays
All CSS properties accept arrays as values for responsive styles.
<div
  css={css({
    fontSize: [ 4, 5, 6 ],
  })}
/>
In this example, fontSize accepts an array, picking up values from the theme.fontSizes scale, and borderBottom is passed through as plain CSS.
<div
  css={css({
    // Styled System key
    fontSize: [ 3, 4, 5 ],
    // CSS property
    borderBottom: '2px solid tomato',
  })}
/>
MIT License