Skip to content

Commit a15faef

Browse files
chore: remove ThemeProvider from stories (#7013)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent 3a3f639 commit a15faef

17 files changed

+40
-204
lines changed

packages/react/src/Autocomplete/Autocomplete.features.stories.tsx

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type {ChangeEventHandler, RefObject} from 'react'
22
import React, {useCallback, useEffect, useRef, useState} from 'react'
33
import type {Meta} from '@storybook/react-vite'
44

5-
import {BaseStyles, Stack, ThemeProvider, registerPortalRoot} from '..'
5+
import {BaseStyles, Stack, registerPortalRoot} from '..'
66
import {Dialog} from '../DialogV1'
77
import TextInputTokens from '../TextInputWithTokens'
88
import Autocomplete from './Autocomplete'
@@ -112,18 +112,16 @@ const autocompleteStoryMeta: Meta = {
112112
}, [])
113113

114114
return (
115-
<ThemeProvider>
116-
<BaseStyles>
117-
<div onKeyDownCapture={reportKey}>
118-
<p className={classes.LastKeyPressed} id="key-press-label">
119-
Last key pressed: {lastKey}
120-
</p>
121-
<div className={classes.StoryPadding}>
122-
<Story />
123-
</div>
115+
<BaseStyles>
116+
<div onKeyDownCapture={reportKey}>
117+
<p className={classes.LastKeyPressed} id="key-press-label">
118+
Last key pressed: {lastKey}
119+
</p>
120+
<div className={classes.StoryPadding}>
121+
<Story />
124122
</div>
125-
</BaseStyles>
126-
</ThemeProvider>
123+
</div>
124+
</BaseStyles>
127125
)
128126
},
129127
],

packages/react/src/Autocomplete/Autocomplete.stories.tsx

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type React from 'react'
22
import {useCallback, useState} from 'react'
33
import type {Meta} from '@storybook/react-vite'
4-
import {BaseStyles, ThemeProvider} from '..'
4+
import {BaseStyles} from '..'
55
import Autocomplete from './Autocomplete'
66
import FormControl from '../FormControl'
77
import type {ComponentProps} from '../utils/types'
@@ -112,18 +112,16 @@ const autocompleteStoryMeta: Meta = {
112112
}, [])
113113

114114
return (
115-
<ThemeProvider>
116-
<BaseStyles>
117-
<div onKeyDownCapture={reportKey}>
118-
<p className={classes.KeyPressLabel} id="key-press-label">
119-
Last key pressed: {lastKey}
120-
</p>
121-
<div className={classes.StoryContent}>
122-
<Story />
123-
</div>
115+
<BaseStyles>
116+
<div onKeyDownCapture={reportKey}>
117+
<p className={classes.KeyPressLabel} id="key-press-label">
118+
Last key pressed: {lastKey}
119+
</p>
120+
<div className={classes.StoryContent}>
121+
<Story />
124122
</div>
125-
</BaseStyles>
126-
</ThemeProvider>
123+
</div>
124+
</BaseStyles>
127125
)
128126
},
129127
],

packages/react/src/ButtonGroup/ButtonGroup.dev.stories.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type {Meta} from '@storybook/react-vite'
22
import ButtonGroup from './ButtonGroup'
33
import {Button, IconButton, LinkButton} from '../Button'
44
import {CopilotIcon} from '@primer/octicons-react'
5-
import {Tooltip, ThemeProvider, BaseStyles} from '..'
5+
import {Tooltip, BaseStyles} from '..'
66

77
const meta: Meta<typeof ButtonGroup> = {
88
title: 'Components/ButtonGroup/Dev',
@@ -11,11 +11,9 @@ const meta: Meta<typeof ButtonGroup> = {
1111
Story => {
1212
// Add some padding to the wrapper box to make sure tooltip v1 is always in the viewport
1313
return (
14-
<ThemeProvider>
15-
<BaseStyles>
16-
<div style={{padding: 'var(--base-size-32)'}}>{Story()}</div>
17-
</BaseStyles>
18-
</ThemeProvider>
14+
<BaseStyles>
15+
<div style={{padding: 'var(--base-size-32)'}}>{Story()}</div>
16+
</BaseStyles>
1917
)
2018
},
2119
],

packages/react/src/ConfirmationDialog/ConfirmationDialog.stories.tsx

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,11 @@
11
import {useCallback, useRef, useState} from 'react'
22
import type {Meta} from '@storybook/react-vite'
3-
import {BaseStyles, Button, ThemeProvider} from '..'
3+
import {Button} from '..'
44
import {ConfirmationDialog} from './ConfirmationDialog'
55

66
export default {
77
title: 'Components/ConfirmationDialog',
88
component: ConfirmationDialog,
9-
decorators: [
10-
Story => {
11-
// Since portal roots are registered globally, we need this line so that each storybook
12-
// story works in isolation.
13-
return (
14-
<ThemeProvider>
15-
<BaseStyles>
16-
<Story />
17-
</BaseStyles>
18-
</ThemeProvider>
19-
)
20-
},
21-
],
229
} as Meta
2310

2411
export const Default = () => {

packages/react/src/ConfirmationDialog/ConfirmationDialog.tsx

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import type React from 'react'
22
import {useCallback} from 'react'
33
import {createRoot} from 'react-dom/client'
4-
import type {ThemeProviderProps} from '../ThemeProvider'
5-
import {ThemeProvider, useTheme} from '../ThemeProvider'
64
import {FocusKeys} from '@primer/behaviors'
75
import type {DialogProps, DialogHeaderProps, DialogButtonProps, DialogWidth, DialogHeight} from '../Dialog/Dialog'
86
import {Dialog} from '../Dialog/Dialog'
@@ -181,7 +179,7 @@ export const ConfirmationDialog: React.FC<React.PropsWithChildren<ConfirmationDi
181179

182180
let hostElement: Element | null = null
183181
export type ConfirmOptions = Omit<ConfirmationDialogProps, 'onClose'> & {content: React.ReactNode}
184-
async function confirm(themeProps: ThemeProviderProps, options: ConfirmOptions): Promise<boolean> {
182+
async function confirm(options: ConfirmOptions): Promise<boolean> {
185183
const {content, ...confirmationDialogProps} = options
186184
return new Promise(resolve => {
187185
hostElement ||= document.createElement('div')
@@ -196,13 +194,11 @@ async function confirm(themeProps: ThemeProviderProps, options: ConfirmOptions):
196194
}
197195
}
198196
root.render(
199-
<ThemeProvider {...themeProps}>
200-
<BaseStyles>
201-
<ConfirmationDialog {...confirmationDialogProps} onClose={onClose}>
202-
{content}
203-
</ConfirmationDialog>
204-
</BaseStyles>
205-
</ThemeProvider>,
197+
<BaseStyles>
198+
<ConfirmationDialog {...confirmationDialogProps} onClose={onClose}>
199+
{content}
200+
</ConfirmationDialog>
201+
</BaseStyles>,
206202
)
207203
})
208204
}
@@ -213,13 +209,8 @@ async function confirm(themeProps: ThemeProviderProps, options: ConfirmOptions):
213209
* resolved with `true` or `false` depending on whether or not the confirm button was used.
214210
*/
215211
export function useConfirm() {
216-
const {theme, colorMode, dayScheme, nightScheme} = useTheme()
217-
const result = useCallback(
218-
(options: ConfirmOptions) => {
219-
const themeProps: ThemeProviderProps = {theme, colorMode, dayScheme, nightScheme}
220-
return confirm(themeProps, options)
221-
},
222-
[theme, colorMode, dayScheme, nightScheme],
223-
)
212+
const result = useCallback((options: ConfirmOptions) => {
213+
return confirm(options)
214+
}, [])
224215
return result
225216
}

packages/react/src/FilteredActionList/FilteredActionList.stories.tsx

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,11 @@
11
import type {Meta} from '@storybook/react-vite'
22
import React from 'react'
3-
import {ThemeProvider} from '..'
43
import {FilteredActionList} from '../FilteredActionList'
5-
import BaseStyles from '../BaseStyles'
64
import classes from './FilteredActionList.stories.module.css'
75

86
const meta: Meta = {
97
title: 'Components/FilteredActionList',
108
component: FilteredActionList,
11-
decorators: [
12-
(Story: React.ComponentType<React.PropsWithChildren<unknown>>): JSX.Element => (
13-
<ThemeProvider>
14-
<BaseStyles>
15-
<Story />
16-
</BaseStyles>
17-
</ThemeProvider>
18-
),
19-
],
209
parameters: {
2110
controls: {
2211
disable: true,

packages/react/src/FormControl/FormControl.features.stories.tsx

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import React, {useState} from 'react'
22
import type {Meta} from '@storybook/react-vite'
33
import {
44
Autocomplete,
5-
BaseStyles,
65
Button,
76
Checkbox,
87
CheckboxGroup,
@@ -15,8 +14,6 @@ import {
1514
TextInput,
1615
TextInputWithTokens,
1716
Textarea,
18-
ThemeProvider,
19-
theme,
2017
} from '..'
2118
import {MarkGithubIcon, TriangleDownIcon} from '@primer/octicons-react'
2219
import type {ItemInput} from '../SelectPanel'
@@ -25,17 +22,6 @@ import classes from './FormControl.features.stories.module.css'
2522

2623
export default {
2724
title: 'Components/FormControl/Features',
28-
decorators: [
29-
Story => {
30-
return (
31-
<ThemeProvider theme={theme}>
32-
<BaseStyles>
33-
<Story />
34-
</BaseStyles>
35-
</ThemeProvider>
36-
)
37-
},
38-
],
3925
argTypes: {
4026
disabled: {
4127
type: 'boolean',

packages/react/src/FormControl/useFormControlForwardedProps.stories.tsx

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,8 @@
11
import type {Meta} from '@storybook/react-vite'
2-
import {BaseStyles, FormControl, ThemeProvider, theme, useFormControlForwardedProps} from '..'
2+
import {FormControl, useFormControlForwardedProps} from '..'
33

44
export default {
55
title: 'Hooks/useFormControlForwardedProps',
6-
decorators: [
7-
Story => {
8-
return (
9-
<ThemeProvider theme={theme}>
10-
<BaseStyles>
11-
<Story />
12-
</BaseStyles>
13-
</ThemeProvider>
14-
)
15-
},
16-
],
176
argTypes: {
187
disabled: {
198
type: 'boolean',

packages/react/src/LabelGroup/LabelGroup.features.stories.tsx

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,6 @@ import classes from './LabelGroupStories.module.css'
88
const meta: Meta = {
99
title: 'Components/LabelGroup/Features',
1010
component: LabelGroup,
11-
decorators: [
12-
Story => {
13-
return (
14-
<>
15-
<Story />
16-
</>
17-
)
18-
},
19-
],
2011
}
2112

2213
const ResizableContainer = ({children, ...props}: {children: React.ReactNode}) => (

packages/react/src/Token/Token.features.stories.tsx

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type {Meta} from '@storybook/react-vite'
22
import {action} from 'storybook/actions'
3-
import {BaseStyles, ThemeProvider} from '..'
43
import Token from './Token'
54
import {GitBranchIcon} from '@primer/octicons-react'
65
import IssueLabelToken from './IssueLabelToken'
@@ -9,17 +8,6 @@ import classes from './Token.features.stories.module.css'
98
export default {
109
title: 'Components/Token/Features',
1110
component: Token,
12-
decorators: [
13-
Story => {
14-
return (
15-
<ThemeProvider>
16-
<BaseStyles>
17-
<Story />
18-
</BaseStyles>
19-
</ThemeProvider>
20-
)
21-
},
22-
],
2311
} as Meta
2412

2513
export const InteractiveToken = () => {

0 commit comments

Comments
 (0)