Skip to content

Commit 74be9d8

Browse files
committed
✨ Add ThemeDefaultsProvider
1 parent dafce87 commit 74be9d8

File tree

5 files changed

+84
-3
lines changed

5 files changed

+84
-3
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111
"emotion": "^9.2.6",
112112
"emotion-theming": "^9.2.6",
113113
"pss": "^2.2.0",
114-
"react-emotion": "^9.2.6"
114+
"react-emotion": "^9.2.6",
115+
"recompose": "^0.28.2"
115116
}
116117
}

src/index.js

+4
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,7 @@ export {
2525
GridItem,
2626
GridContent
2727
} from './grid'
28+
29+
export {
30+
ThemeDefaultsProvider
31+
} from './theme-defaults-provider'

src/theme-defaults-provider/about.mdx

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: ThemeDefaultsProvider
3+
route: /theme-defaults-provider
4+
order: -10
5+
---
6+
7+
import { Playground } from 'docz'
8+
import { ThemeDefaultsProvider } from './index'
9+
import { Box } from '../box'
10+
11+
# ThemeDefaultsProvider
12+
13+
## Description
14+
15+
Change `theme.defaults` with props.
16+
17+
18+
## Usage
19+
20+
```js
21+
import { ThemeDefaultsProvider } from 'pss-components'
22+
```
23+
24+
## Examples
25+
26+
<Playground>
27+
<Box bg='gray.0' pd>
28+
<Box tm ratio={16 / 9} pd mgb>
29+
Content
30+
</Box>
31+
<ThemeDefaultsProvider palette='inverted'>
32+
<Box tm ratio={16 / 9} pd>
33+
Content
34+
</Box>
35+
</ThemeDefaultsProvider>
36+
</Box>
37+
</Playground>

src/theme-defaults-provider/index.js

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { ThemeProvider, withTheme } from 'emotion-theming'
2+
import { compose, withProps } from 'recompose'
3+
4+
const ThemeDefaultsProvider = compose(
5+
withTheme,
6+
withProps(({ theme, ...rest }) => ({
7+
theme: {
8+
default: {
9+
...theme.default,
10+
...rest
11+
}
12+
}
13+
}))
14+
)(ThemeProvider)
15+
16+
export {
17+
ThemeDefaultsProvider
18+
}

yarn.lock

+23-2
Original file line numberDiff line numberDiff line change
@@ -834,6 +834,12 @@
834834
core-js "^2.5.6"
835835
regenerator-runtime "^0.11.1"
836836

837+
838+
version "7.0.0-beta.56"
839+
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-beta.56.tgz#cda612dffd5b1719a7b8e91e3040bd6ae64de8b0"
840+
dependencies:
841+
regenerator-runtime "^0.12.0"
842+
837843
"@babel/runtime@^7.0.0-beta.55":
838844
version "7.0.0-rc.1"
839845
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-rc.1.tgz#42f36fc5817911c89ea75da2b874054922967616"
@@ -2896,6 +2902,10 @@ chalk@^2.0.1, chalk@^2.1.0:
28962902
escape-string-regexp "^1.0.5"
28972903
supports-color "^4.0.0"
28982904

2905+
change-emitter@^0.1.2:
2906+
version "0.1.6"
2907+
resolved "https://registry.yarnpkg.com/change-emitter/-/change-emitter-0.1.6.tgz#e8b2fe3d7f1ab7d69a32199aff91ea6931409515"
2908+
28992909
character-entities-html4@^1.0.0:
29002910
version "1.1.2"
29012911
resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.2.tgz#c44fdde3ce66b52e8d321d6c1bf46101f0150610"
@@ -4621,7 +4631,7 @@ faye-websocket@~0.11.0:
46214631
dependencies:
46224632
websocket-driver ">=0.5.1"
46234633

4624-
fbjs@^0.8.0, fbjs@^0.8.16, fbjs@^0.8.9:
4634+
fbjs@^0.8.0, fbjs@^0.8.1, fbjs@^0.8.16, fbjs@^0.8.9:
46254635
version "0.8.17"
46264636
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
46274637
dependencies:
@@ -8247,7 +8257,7 @@ react-is@^16.4.2:
82478257
version "16.4.2"
82488258
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.2.tgz#84891b56c2b6d9efdee577cc83501dfc5ecead88"
82498259

8250-
react-lifecycles-compat@^3.0.4:
8260+
react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4:
82518261
version "3.0.4"
82528262
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
82538263

@@ -8415,6 +8425,17 @@ recast@^0.15.0:
84158425
private "~0.1.5"
84168426
source-map "~0.6.1"
84178427

8428+
recompose@^0.28.2:
8429+
version "0.28.2"
8430+
resolved "https://registry.yarnpkg.com/recompose/-/recompose-0.28.2.tgz#19e679227bdf979e0d31b73ffe7ae38c9194f4a7"
8431+
dependencies:
8432+
"@babel/runtime" "7.0.0-beta.56"
8433+
change-emitter "^0.1.2"
8434+
fbjs "^0.8.1"
8435+
hoist-non-react-statics "^2.3.1"
8436+
react-lifecycles-compat "^3.0.2"
8437+
symbol-observable "^1.0.4"
8438+
84188439
84198440
version "2.2.1"
84208441
resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99"

0 commit comments

Comments
 (0)