convert to emotion

Summary:
My benchmarks have shown react-emotion to be faster than the current implementation of `styled`. For this reason, I am converting all styling to [emotion](https://emotion.sh).

Benchmark results:
{F136839093}

The syntax is very similar between the two libraries. The main difference is that emotion only allows a single function for the whole style attribute, whereas the old implementation had functions for every style-attirbute.

Before:
```
{
  color: props => props.color,
  fontSize: props => props.size,
}
```

After:
```
props => ({
  color: props.color,
  fontSize: props.size,
})
```

Reviewed By: jknoxville

Differential Revision: D9479893

fbshipit-source-id: 2c39e4618f7e52ceacb67bbec8ae26114025723f
This commit is contained in:
Daniel Büchele
2018-08-23 09:32:12 -07:00
committed by Facebook Github Bot
parent 4151c73409
commit 726966fdc0
88 changed files with 886 additions and 4068 deletions

View File

@@ -8,33 +8,24 @@
import FlexColumn from './FlexColumn.js';
import {Component} from 'react';
import View from './View.js';
import styled from '../styled/index.js';
const Inner = FlexColumn.extends(
{
alignItems: 'flex-start',
height: props => props.height,
minHeight: '100%',
minWidth: '100%',
overflow: 'visible',
width: '100%',
},
{
ignoreAttributes: ['height'],
},
);
const Inner = styled(FlexColumn)(({height}) => ({
alignItems: 'flex-start',
height,
minHeight: '100%',
minWidth: '100%',
overflow: 'visible',
width: '100%',
}));
const Content = FlexColumn.extends(
{
alignItems: 'flex-start',
height: '100%',
marginTop: props => props.top,
minWidth: '100%',
overflow: 'visible',
},
{
ignoreAttributes: ['top'],
},
);
const Content = styled(FlexColumn)(({top}) => ({
alignItems: 'flex-start',
height: '100%',
marginTop: top,
minWidth: '100%',
overflow: 'visible',
}));
type VirtualListProps = {|
data: Array<any>,