From 2217da466a81abac0161a397f12f1574eb5fd4aa Mon Sep 17 00:00:00 2001 From: Ross Gardiner Date: Thu, 11 Aug 2022 01:29:42 +0200 Subject: [PATCH 1/5] fix(chakra-provider): ensure typed declaration for `ChakraProvider.defaultProps` --- packages/react/src/chakra-provider.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/react/src/chakra-provider.tsx b/packages/react/src/chakra-provider.tsx index 7e8d072e8fd..a430f0fa765 100644 --- a/packages/react/src/chakra-provider.tsx +++ b/packages/react/src/chakra-provider.tsx @@ -2,7 +2,7 @@ import { ChakraProvider as BaseChakraProvider, ChakraProviderProps as BaseChakraProviderProps, } from "@chakra-ui/provider" -import { theme } from "@chakra-ui/theme" +import { theme, Theme } from "@chakra-ui/theme" import { ToastProvider, ToastProviderProps } from "@chakra-ui/toast" export interface ChakraProviderProps extends BaseChakraProviderProps { @@ -25,6 +25,10 @@ export function ChakraProvider({ ) } +export declare namespace ChakraProvider { + export let defaultProps: { theme: Theme } +} + ChakraProvider.defaultProps = { theme, } From 509ebbbe1308e006875360819594aba272bf7e63 Mon Sep 17 00:00:00 2001 From: Ross Gardiner Date: Thu, 11 Aug 2022 01:33:02 +0200 Subject: [PATCH 2/5] docs: update changesets --- .changeset/three-jokes-swim.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/three-jokes-swim.md diff --git a/.changeset/three-jokes-swim.md b/.changeset/three-jokes-swim.md new file mode 100644 index 00000000000..84766f04b19 --- /dev/null +++ b/.changeset/three-jokes-swim.md @@ -0,0 +1,5 @@ +--- +"@chakra-ui/react": minor +--- + +Add explicit type declaration for `ChakraProvider.defaultProps`. From d092bf350b4bb8a97f87e125c8779adc0669e2c1 Mon Sep 17 00:00:00 2001 From: Ross Gardiner Date: Fri, 12 Aug 2022 00:56:21 +0200 Subject: [PATCH 3/5] refactor: move logic for default theme inside `ChakraProvider` component --- packages/react/src/chakra-provider.tsx | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/packages/react/src/chakra-provider.tsx b/packages/react/src/chakra-provider.tsx index a430f0fa765..6dfdf347abf 100644 --- a/packages/react/src/chakra-provider.tsx +++ b/packages/react/src/chakra-provider.tsx @@ -2,7 +2,7 @@ import { ChakraProvider as BaseChakraProvider, ChakraProviderProps as BaseChakraProviderProps, } from "@chakra-ui/provider" -import { theme, Theme } from "@chakra-ui/theme" +import { theme as defaultTheme } from "@chakra-ui/theme" import { ToastProvider, ToastProviderProps } from "@chakra-ui/toast" export interface ChakraProviderProps extends BaseChakraProviderProps { @@ -17,18 +17,11 @@ export function ChakraProvider({ toastOptions, ...restProps }: ChakraProviderProps) { + const theme = restProps.theme ?? defaultTheme return ( - + {children} ) } - -export declare namespace ChakraProvider { - export let defaultProps: { theme: Theme } -} - -ChakraProvider.defaultProps = { - theme, -} From c04882e6ac03126cb9b00f21eb84cd043fb0f4f8 Mon Sep 17 00:00:00 2001 From: Ross Gardiner Date: Fri, 12 Aug 2022 00:56:34 +0200 Subject: [PATCH 4/5] docs: revise changeset --- .changeset/three-jokes-swim.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/three-jokes-swim.md b/.changeset/three-jokes-swim.md index 84766f04b19..dc425e82e50 100644 --- a/.changeset/three-jokes-swim.md +++ b/.changeset/three-jokes-swim.md @@ -2,4 +2,4 @@ "@chakra-ui/react": minor --- -Add explicit type declaration for `ChakraProvider.defaultProps`. +Remove `ChakraProvider.defaultProps` and move logic inside the component. From ff3f328a08ae8f05839e0960edc61b78ee95ab7f Mon Sep 17 00:00:00 2001 From: Segun Adebayo Date: Sat, 13 Aug 2022 09:10:13 +0400 Subject: [PATCH 5/5] refactor: code --- packages/react/src/chakra-provider.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react/src/chakra-provider.tsx b/packages/react/src/chakra-provider.tsx index 6dfdf347abf..aac1616cdd7 100644 --- a/packages/react/src/chakra-provider.tsx +++ b/packages/react/src/chakra-provider.tsx @@ -14,12 +14,12 @@ export interface ChakraProviderProps extends BaseChakraProviderProps { export function ChakraProvider({ children, + theme = defaultTheme, toastOptions, ...restProps }: ChakraProviderProps) { - const theme = restProps.theme ?? defaultTheme return ( - + {children}