Skip to content

Commit 1c7fc6c

Browse files
committed
Merge branch 'redux' into universal-redux
2 parents b06e9a0 + 907665b commit 1c7fc6c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+189
-1240
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"webpack-dev-server": "^1.16.2"
4848
},
4949
"dependencies": {
50+
"arc-theme": "^0.2.1",
5051
"axios": "^0.15.2",
5152
"babel-cli": "^6.18.0",
5253
"babel-core": "^6.17.0",
@@ -87,7 +88,7 @@
8788
"redux-saga": "^0.14.0",
8889
"redux-thunk": "^2.1.0",
8990
"serialize-javascript": "^1.3.0",
90-
"styled-components": "1.1.1",
91+
"styled-components": "^1.2.1",
9192
"url-loader": "^0.5.7",
9293
"validator": "^6.1.0",
9394
"webpack": "^1.13.2",

src-clean/components/globals.js

-20
This file was deleted.

src/components/App.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React, { PropTypes, Component } from 'react'
22
import { injectGlobal, ThemeProvider } from 'styled-components'
33
import Helmet from 'react-helmet'
44

5-
import theme from './theme'
5+
import theme from './themes/default'
66

77
injectGlobal`
88
body {

src/components/atoms/Atom/index.js

+4-19
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
import { PropTypes } from 'react'
22
import styled from 'styled-components'
3-
4-
export const fontFamily = ({ theme }) => theme.fonts.primary
5-
6-
export const color = ({ theme, reverse, color }) =>
7-
theme[reverse ? 'reverseColors' : 'colors'][color][color === 'grayscale' ? 0 : 1]
3+
import { font, color } from 'arc-theme'
84

95
const Atom = styled.span`
10-
font-family: ${fontFamily};
11-
color: ${color};
6+
font-family: ${font('primary')};
7+
color: ${color({ grayscale: 0 }, 1)};
128
`
139

1410
Atom.propTypes = {
@@ -17,18 +13,7 @@ Atom.propTypes = {
1713
}
1814

1915
Atom.defaultProps = {
20-
color: 'grayscale',
21-
theme: {
22-
fonts: {
23-
primary: 'sans-serif'
24-
},
25-
colors: {
26-
grayscale: { 0: '#222' }
27-
},
28-
reverseColors: {
29-
grayscale: { 0: '#fff' }
30-
}
31-
}
16+
color: 'grayscale'
3217
}
3318

3419
export default Atom
+1-32
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react'
22
import { shallow } from 'enzyme'
3-
import Atom, * as styles from '.'
3+
import Atom from '.'
44

55
const wrap = (props = {}) => shallow(<Atom {...props} />)
66

@@ -13,34 +13,3 @@ it('renders props when passed in', () => {
1313
const wrapper = wrap({ id: 'foo' })
1414
expect(wrapper.find({ id: 'foo' })).toHaveLength(1)
1515
})
16-
17-
describe('styles', () => {
18-
const theme = {
19-
fonts: {
20-
primary: 'sans-serif'
21-
},
22-
colors: {
23-
grayscale: { 0: '#222' },
24-
primary: { 1: 'red' }
25-
},
26-
reverseColors: {
27-
grayscale: { 0: '#fff' },
28-
primary: { 1: 'blue' }
29-
}
30-
}
31-
32-
test('fontFamily', () => {
33-
expect(styles.fontFamily({ theme })).toBe(theme.fonts.primary)
34-
})
35-
36-
test('color', () => {
37-
const props = {
38-
color: 'grayscale',
39-
reverse: false,
40-
theme
41-
}
42-
expect(styles.color(props)).toBe(theme.colors.grayscale[0])
43-
expect(styles.color({ ...props, reverse: true })).toBe(theme.reverseColors.grayscale[0])
44-
expect(styles.color({ ...props, color: 'primary' })).toBe(theme.colors.primary[1])
45-
})
46-
})

src/components/atoms/Badge/index.js

+5-25
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,14 @@
11
import { PropTypes } from 'react'
22
import styled from 'styled-components'
3-
4-
export const fontFamily = ({ theme }) => theme.fonts.primary
5-
6-
export const color = ({ reverse, theme }) =>
7-
reverse ? theme.colors.grayscale[0] : theme.reverseColors.grayscale[0]
8-
9-
export const backgroundColor = ({ reverse, theme, color }) =>
10-
theme[reverse ? 'reverseColors' : 'colors'][color][1]
3+
import { font, color, reverseColor } from 'arc-theme'
114

125
const Badge = styled.span`
13-
font-family: ${fontFamily};
6+
font-family: ${font('primary')};
147
font-size: 0.75rem;
158
line-height: 1.5em;
169
padding: 0 0.3em;
17-
color: ${color};
18-
background-color: ${backgroundColor};
10+
color: ${reverseColor('grayscale', 0)};
11+
background-color: ${color(1)};
1912
border-radius: 0.16667em;
2013
`
2114

@@ -25,20 +18,7 @@ Badge.propTypes = {
2518
}
2619

2720
Badge.defaultProps = {
28-
color: 'primary',
29-
theme: {
30-
fonts: {
31-
primary: 'sans-serif'
32-
},
33-
colors: {
34-
grayscale: { 0: '#222', 1: '#555' },
35-
primary: { 1: '#2196f3' }
36-
},
37-
reverseColors: {
38-
grayscale: { 0: '#fff', 1: '#bbb' },
39-
primary: { 1: '#71bcf7' }
40-
}
41-
}
21+
color: 'primary'
4222
}
4323

4424
export default Badge
+1-36
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react'
22
import { shallow } from 'enzyme'
3-
import Badge, * as styles from '.'
3+
import Badge from '.'
44

55
const wrap = (props = {}) => shallow(<Badge {...props} />)
66

@@ -13,38 +13,3 @@ it('renders props when passed in', () => {
1313
const wrapper = wrap({ id: 'foo' })
1414
expect(wrapper.find({ id: 'foo' })).toHaveLength(1)
1515
})
16-
17-
describe('styles', () => {
18-
const theme = {
19-
fonts: {
20-
primary: 'sans-serif'
21-
},
22-
colors: {
23-
grayscale: { 0: '#222', 1: '#555' },
24-
primary: { 1: '#2196f3' }
25-
},
26-
reverseColors: {
27-
grayscale: { 0: '#fff', 1: '#bbb' },
28-
primary: { 1: '#71bcf7' }
29-
}
30-
}
31-
32-
test('fontFamily', () => {
33-
expect(styles.fontFamily({ theme })).toBe(theme.fonts.primary)
34-
})
35-
36-
test('color', () => {
37-
expect(styles.color({ theme, reverse: false })).toBe(theme.reverseColors.grayscale[0])
38-
expect(styles.color({ theme, reverse: true })).toBe(theme.colors.grayscale[0])
39-
})
40-
41-
test('backgroundColor', () => {
42-
const props = {
43-
color: 'primary',
44-
reverse: false,
45-
theme
46-
}
47-
expect(styles.backgroundColor(props)).toBe(theme.colors.primary[1])
48-
expect(styles.backgroundColor({ ...props, reverse: true })).toBe(theme.reverseColors.primary[1])
49-
})
50-
})

src/components/atoms/Block/index.js

+5-23
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,11 @@
11
import { PropTypes } from 'react'
22
import styled from 'styled-components'
3-
4-
export const fontFamily = ({ theme }) => theme.fonts.primary
5-
6-
export const backgroundColor = ({ theme, reverse, color, transparent }) =>
7-
transparent ? 'transparent' : theme[reverse ? 'colors' : 'reverseColors'][color][0]
8-
9-
export const color = ({ theme, reverse, color }) =>
10-
theme[reverse ? 'reverseColors' : 'colors'][color][color === 'grayscale' ? 0 : 1]
3+
import { font, color, reverseColor, ifProps } from 'arc-theme'
114

125
const Block = styled.div`
13-
font-family: ${fontFamily};
14-
background-color: ${backgroundColor};
15-
color: ${color};
6+
font-family: ${font('primary')};
7+
background-color: ${ifProps('transparent', 'transparent', reverseColor(0))};
8+
color: ${color({ grayscale: 0 }, 1)};
169
`
1710

1811
Block.propTypes = {
@@ -21,18 +14,7 @@ Block.propTypes = {
2114
}
2215

2316
Block.defaultProps = {
24-
color: 'grayscale',
25-
theme: {
26-
fonts: {
27-
primary: 'sans-serif'
28-
},
29-
colors: {
30-
grayscale: { 0: '#222' }
31-
},
32-
reverseColors: {
33-
grayscale: { 0: '#fff' }
34-
}
35-
}
17+
color: 'grayscale'
3618
}
3719

3820
export default Block
+1-45
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from 'react'
22
import { shallow } from 'enzyme'
3-
import Block, * as styles from '.'
3+
import Block from '.'
44

55
const wrap = (props = {}) => shallow(<Block {...props} />)
66

@@ -13,47 +13,3 @@ it('renders props when passed in', () => {
1313
const wrapper = wrap({ id: 'foo' })
1414
expect(wrapper.find({ id: 'foo' })).toHaveLength(1)
1515
})
16-
17-
describe('styles', () => {
18-
const theme = {
19-
fonts: {
20-
primary: 'sans-serif'
21-
},
22-
colors: {
23-
grayscale: { 0: '#222' },
24-
primary: { 0: 'darkred', 1: 'red' }
25-
},
26-
reverseColors: {
27-
grayscale: { 0: '#fff' },
28-
primary: { 0: 'lightblue', 1: 'blue' }
29-
}
30-
}
31-
32-
test('fontFamily', () => {
33-
expect(styles.fontFamily({ theme })).toBe(theme.fonts.primary)
34-
})
35-
36-
test('backgroundColor', () => {
37-
const props = {
38-
color: 'grayscale',
39-
reverse: false,
40-
theme
41-
}
42-
expect(styles.backgroundColor(props)).toBe(theme.reverseColors.grayscale[0])
43-
expect(styles.backgroundColor({ ...props, transparent: true })).toBe('transparent')
44-
expect(styles.backgroundColor({ ...props, reverse: true })).toBe(theme.colors.grayscale[0])
45-
expect(styles.backgroundColor({ ...props, color: 'primary' }))
46-
.toBe(theme.reverseColors.primary[0])
47-
})
48-
49-
test('color', () => {
50-
const props = {
51-
color: 'grayscale',
52-
reverse: false,
53-
theme
54-
}
55-
expect(styles.color(props)).toBe(theme.colors.grayscale[0])
56-
expect(styles.color({ ...props, reverse: true })).toBe(theme.reverseColors.grayscale[0])
57-
expect(styles.color({ ...props, color: 'primary' })).toBe(theme.colors.primary[1])
58-
})
59-
})

0 commit comments

Comments
 (0)