# Consume ThemeProvider in TMP ## Problem We want to be able to use converged components (e.g. `react-button`) in TMP. For theming these components, `ThemeProvider` needs to be used. Currently `ThemeProvider` can't just be used as is yet in TMP. We need to have a migraion story from exising `Teams` theme / style overrides to the new `theme` interface supported by `ThemeProvider`. We also need to support using emotion/fela renderer. ## Appetite Our goal is not to replace `Provider` in `react-northstar` with `ThemeProvider`. Our goal is to ensure `ThemeProvider` supports all the functionalities needed to theme converged components for Teams' needs. ## Solution Working together with Mak/Levi/Miro to start replacing existing northstar `Button` from usages in TMP with `Button` from `react-button` and `ThemeProvider`. We will likely be discovering more work needed. But here are the ones we know we are missing: - A migraion story from exising `Teams` theme / style overrides to the new `theme` interface supported by `ThemeProvider` - Support using emotion/fela renderer. ## Notes - Can we target merging react-button actually in TMP master - Be aware of multiple themes in TMP codebase - Consider bringing react-button online in doc-site - Allows using visual tests to make sure button supports teams theme ## Risks (Rabbit holes) For v7 to v8, v7 theme could be mapped to v8 theme/tokens. This provides the migration story for users who uses the `Button`. Similar migraion/mapping strategy might not be applicable for Teams theme. ## Out of scope (No-gos) Replace `Provider` in `react-northstar` with `ThemeProvider` from `react-theme-provider`.