Skip to content

Commit 1b531a9

Browse files
committed
feat: apply AlphaTokenProvider and export useAlphaTokens
1 parent e890483 commit 1b531a9

File tree

3 files changed

+29
-9
lines changed

3 files changed

+29
-9
lines changed

packages/bezier-react/src/components/AppProvider/AppProvider.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { useEffect } from 'react'
44

55
import { getWindow } from 'ssr-window'
66

7+
import { AlphaTokenProvider } from '~/src/components/AlphaTokenProvider'
78
import { FeatureProvider } from '~/src/components/FeatureProvider'
89
import { TokenProvider } from '~/src/components/TokenProvider'
910
import { WindowProvider } from '~/src/components/WindowProvider'
@@ -52,7 +53,11 @@ export function AppProvider({
5253
return (
5354
<WindowProvider window={window}>
5455
<FeatureProvider features={features}>
55-
<TokenProvider themeName={themeName}>{children}</TokenProvider>
56+
<TokenProvider themeName={themeName}>
57+
<AlphaTokenProvider themeName={themeName}>
58+
{children}
59+
</AlphaTokenProvider>
60+
</TokenProvider>
5661
</FeatureProvider>
5762
</WindowProvider>
5863
)

packages/bezier-react/src/components/ThemeProvider/ThemeProvider.tsx

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ import { forwardRef } from 'react'
44

55
import { Slot } from '@radix-ui/react-slot'
66

7+
import {
8+
AlphaTokenProvider,
9+
useAlphaTokenContext,
10+
} from '~/src/components/AlphaTokenProvider'
711
import { TokenProvider, useTokenContext } from '~/src/components/TokenProvider'
812

913
import {
@@ -25,6 +29,14 @@ export function useTokens() {
2529
return useTokenContext('useTokens').tokens
2630
}
2731

32+
/**
33+
* `useAlphaTokens` is a hook that returns the alpha tokens of the current theme.
34+
* @internal
35+
*/
36+
export function useAlphaTokens() {
37+
return useAlphaTokenContext('useAlphaTokens').tokens
38+
}
39+
2840
/**
2941
* `ThemeProvider` is a wrapper component that provides theme context.
3042
*
@@ -34,14 +46,16 @@ export const ThemeProvider = forwardRef<HTMLElement, ThemeProviderProps>(
3446
function ThemeProvider({ themeName, children, ...rest }, forwardedRef) {
3547
return (
3648
<TokenProvider themeName={themeName}>
37-
<Slot
38-
ref={forwardedRef}
39-
// TODO: Change data attribute constant to import from bezier-tokens
40-
data-bezier-theme={themeName}
41-
{...rest}
42-
>
43-
{children}
44-
</Slot>
49+
<AlphaTokenProvider themeName={themeName}>
50+
<Slot
51+
ref={forwardedRef}
52+
// TODO: Change data attribute constant to import from bezier-tokens
53+
data-bezier-theme={themeName}
54+
{...rest}
55+
>
56+
{children}
57+
</Slot>
58+
</AlphaTokenProvider>
4559
</TokenProvider>
4660
)
4761
}

packages/bezier-react/src/components/ThemeProvider/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export {
55
ThemeProvider,
66
useThemeName,
77
useTokens,
8+
useAlphaTokens,
89
} from './ThemeProvider'
910
export {
1011
type FixedThemeProviderProps,

0 commit comments

Comments
 (0)