callstack / react-theme-provider

A set of utilities that help you create your own React theming system in few easy steps
MIT License
466 stars 54 forks source link

Improve support for React v18 #144

Open kennethlynne opened 1 year ago

kennethlynne commented 1 year ago

Hi! 👋

Firstly, thanks for your work on this project! 🙂

With React v18 children is expected to be explicitly typed

I've used patch-package to patch @callstack/react-theme-provider@3.0.8

Here is the diff that solved my problem:

diff --git a/node_modules/@callstack/react-theme-provider/typings/index.d.ts b/node_modules/@callstack/react-theme-provider/typings/index.d.ts
index fd76d0e..df3cf54 100644
--- a/node_modules/@callstack/react-theme-provider/typings/index.d.ts
+++ b/node_modules/@callstack/react-theme-provider/typings/index.d.ts
@@ -8,7 +8,7 @@ type $Without<T, K extends keyof any> = T extends any ? Pick<T, Exclude<keyof T,
 type $DeepPartial<T> = { [P in keyof T]?: $DeepPartial<T[P]> };

 export type ThemingType<Theme> = {
-  ThemeProvider: React.ComponentType<{ theme?: Theme }>;
+  ThemeProvider: React.ComponentType<{ theme?: Theme; children: React.ReactNode }>;
   withTheme: <Props extends { theme: Theme }, C>(
     WrappedComponent: React.ComponentType<Props> & C
   ) => React.ComponentType<
X7Becka commented 1 year ago

Is this package dead?...

douglasjunior commented 1 year ago

Is this package dead?...

I ask myself the same question.

This package is used in react-native-paper, which is the most important Material Design component lib for React Native.

douglasjunior commented 11 months ago

Fixed in #155 and released on version 3.0.9