Skip to content

Commit 00d7368

Browse files
committed
fix: nested ThemeProvider
1 parent a29b604 commit 00d7368

File tree

10 files changed

+18
-48
lines changed

10 files changed

+18
-48
lines changed

src/components/$List/ListItem.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,13 @@ import { computeHoverColor, readableColor } from '../../utils/color'
66
import { cssClickable, cssVariables } from '../../utils/styles'
77
import { transparentHoverTemplate } from '../../utils/variables'
88

9-
export const listItemVariables = cssVariables(
9+
const { vars, v, styles } = cssVariables(
1010
{
1111
...transparentHoverTemplate,
1212
},
1313
'listItem'
1414
)
1515

16-
const { vars, v } = listItemVariables
17-
1816
const paddingMap = {
1917
none: 'padding: 0;',
2018
normal: 'padding: 16px 8px;',
@@ -48,6 +46,7 @@ const whenClickable = css`
4846
`
4947

5048
const ListItemContainer = styled.div<ListItemContainerProps>`
49+
${({ theme }) => styles(theme)}
5150
display: block;
5251
width: 100%;
5352
background: ${v.backgroundColor};

src/components/$Tab/Tab.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,14 @@ import { computeHoverColor, readableColor } from '../../utils/color'
77
import { cssClickable, cssVariables } from '../../utils/styles'
88
import { transparentHoverTemplate } from '../../utils/variables'
99

10-
export const tabVariables = cssVariables(
10+
const { vars, v, styles } = cssVariables(
1111
{
1212
...transparentHoverTemplate,
1313
accentColor: (theme) => theme.color.background.table.header,
1414
},
1515
'tab'
1616
)
1717

18-
const { vars, v } = tabVariables
19-
2018
interface TabContainerProps {
2119
current: boolean
2220
}
@@ -30,6 +28,7 @@ const whenCurrent = css`
3028
`
3129

3230
const TabContainer = styled.button<TabContainerProps>`
31+
${({ theme }) => styles(theme)}
3332
${cssClickable}
3433
${ellipsis()}
3534
flex: 1 0 0;

src/components/Button.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { computeHoverColor, readableColor } from '../utils/color'
77
import { cssClickable, cssVariables } from '../utils/styles'
88
import { cardHoverTemplate } from '../utils/variables'
99

10-
export const buttonVariables = cssVariables(
10+
const { vars, v, styles } = cssVariables(
1111
{
1212
...cardHoverTemplate,
1313
hoverShadow: (theme) =>
@@ -24,8 +24,6 @@ export const buttonVariables = cssVariables(
2424
'button'
2525
)
2626

27-
const { vars, v } = buttonVariables
28-
2927
const paddingMap = {
3028
none: 'padding: 0;',
3129
normal: 'padding: 12px 16px;',
@@ -38,6 +36,7 @@ interface ButtonContainerProps {
3836
}
3937

4038
const ButtonContainer = styled.button<ButtonContainerProps>`
39+
${({ theme }) => styles(theme)}
4140
${cssClickable}
4241
${({ fullWidth }) => fullWidth && 'width: 100%;'}
4342
${({ padding }) => paddingMap[padding]}

src/components/Card.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,13 @@ import { computeHoverColor, readableColor } from '../utils/color'
66
import { cssClickable, cssVariables } from '../utils/styles'
77
import { cardHoverTemplate } from '../utils/variables'
88

9-
export const cardVariables = cssVariables(
9+
const { vars, v, styles } = cssVariables(
1010
{
1111
...cardHoverTemplate,
1212
},
1313
'card'
1414
)
1515

16-
const { vars, v } = cardVariables
17-
1816
const paddingMap = {
1917
none: 'padding: 0;',
2018
normal: 'padding: 8px;',
@@ -37,6 +35,7 @@ const whenClickable = css`
3735
`
3836

3937
const CardContainer = styled.div<CardContainerProps>`
38+
${({ theme }) => styles(theme)}
4039
display: block;
4140
background: ${v.backgroundColor};
4241
color: ${v.textColor};

src/components/Chip.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,16 @@ import { PC, PP, PR } from '../types/PolymorphicElementProps'
55
import { readableColor } from '../utils/color'
66
import { cssVariables } from '../utils/styles'
77

8-
export const chipVariables = cssVariables(
8+
const { vars, v, styles } = cssVariables(
99
{
1010
backgroundColor: (theme) => theme.color.background.card.dark,
1111
textColor: (theme) => theme.color.text.primary.main,
1212
},
1313
'chip'
1414
)
1515

16-
const { vars, v } = chipVariables
17-
1816
const ChipContainer = styled.div`
17+
${({ theme }) => styles(theme)}
1918
background-color: ${v.backgroundColor};
2019
color: ${v.textColor};
2120
padding: 8px 12px;

src/components/Container.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,13 @@ import React, { ElementType } from 'react'
33
import { PC, PP, PR } from '../types/PolymorphicElementProps'
44
import { cssVariables } from '../utils/styles'
55

6-
export const containerVariables = cssVariables(
6+
const { vars, v, styles } = cssVariables(
77
{
88
width: '1200px',
99
},
1010
'container'
1111
)
1212

13-
const { vars, v } = containerVariables
14-
1513
const paddingMap = {
1614
none: 'padding: 0;',
1715
normal: 'padding: 0 16px;',
@@ -24,6 +22,7 @@ interface ContainerContainerProps {
2422
}
2523

2624
const ContainerContainer = styled.nav<ContainerContainerProps>`
25+
${({ theme }) => styles(theme)}
2726
max-width: ${v.width};
2827
${({ padding }) => paddingMap[padding]}
2928
${({ topBarPadding }) => topBarPadding && 'padding-top: 48px;'}

src/components/Footer.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,14 @@ import React, { ElementType } from 'react'
33
import { PC, PP, PR } from '../types/PolymorphicElementProps'
44
import { cssVariables } from '../utils/styles'
55

6-
export const footerVariables = cssVariables(
6+
const { vars, v, styles } = cssVariables(
77
{
88
backgroundColor: (theme) => theme.color.background.footer,
99
textColor: (theme) => theme.color.text.secondary.main,
1010
},
1111
'footer'
1212
)
1313

14-
const { vars, v } = footerVariables
15-
1614
const paddingMap = {
1715
none: 'padding: 0;',
1816
normal: 'padding: 16px 0;',
@@ -24,6 +22,7 @@ interface FooterContainerProps {
2422
}
2523

2624
const FooterContainer = styled.nav<FooterContainerProps>`
25+
${({ theme }) => styles(theme)}
2726
background: ${v.backgroundColor};
2827
color: ${v.textColor};
2928
${({ padding }) => paddingMap[padding]}

src/components/PaginationItem.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { computeHoverColor, readableColor } from '../utils/color'
77
import { cssClickable, cssVariables } from '../utils/styles'
88
import { transparentHoverTemplate } from '../utils/variables'
99

10-
export const paginationItemVariables = cssVariables(
10+
const { vars, v, styles } = cssVariables(
1111
{
1212
...transparentHoverTemplate,
1313
activeBackgroundColor: (theme) =>
@@ -17,8 +17,6 @@ export const paginationItemVariables = cssVariables(
1717
'pagination-item'
1818
)
1919

20-
const { vars, v } = paginationItemVariables
21-
2220
interface PaginationItemContainerProps {
2321
current: boolean
2422
}
@@ -35,6 +33,7 @@ const whenCurrent = css`
3533
`
3634

3735
const PaginationItemContainer = styled.button<PaginationItemContainerProps>`
36+
${({ theme }) => styles(theme)}
3837
${ellipsis()}
3938
${cssClickable}
4039
flex: 1 0 0;

src/components/Typo.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,10 @@ const variants = (theme: SolvedTheme) =>
8585
margin-inline-end: 0px;
8686
`,
8787
small: css`
88-
font-size: small;
88+
font-size: 75%;
8989
`,
9090
smaller: css`
91-
font-size: smaller;
91+
font-size: 65%;
9292
`,
9393
tabular: css`
9494
font-feature-settings: 'tnum';

src/styles/GlobalStyles.tsx

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,8 @@ import { css, Global, SerializedStyles, useTheme } from '@emotion/react'
22
import emotionReset from 'emotion-reset'
33
import { buttons, textInputs, transparentize } from 'polished'
44
import React from 'react'
5-
import {
6-
buttonVariables,
7-
cardVariables,
8-
chipVariables,
9-
containerVariables,
10-
footerVariables,
11-
listItemVariables,
12-
paginationItemVariables,
13-
tabVariables
14-
} from '../components'
155
import { SolvedTheme } from './Themes'
166

17-
const componentGlobalStyles = [
18-
buttonVariables,
19-
cardVariables,
20-
chipVariables,
21-
containerVariables,
22-
footerVariables,
23-
listItemVariables,
24-
paginationItemVariables,
25-
tabVariables,
26-
].map(({ styles }) => styles)
27-
287
const globalCss = (theme: SolvedTheme): SerializedStyles => css`
298
${emotionReset}
309
@@ -39,7 +18,6 @@ const globalCss = (theme: SolvedTheme): SerializedStyles => css`
3918
font-weight: 400;
4019
width: 100%;
4120
background: ${theme.color.background.footer};
42-
${componentGlobalStyles.map((fn) => fn(theme)).join('\n')}
4321
}
4422
4523
body {

0 commit comments

Comments
 (0)