> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# IThemeProviderProps

- Package: [@gooddata/sdk-ui-theme-provider](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-theme-provider/index.md)
- Kind: interface
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-ui-theme-provider/src/ThemeProvider/ThemeProvider.tsx

**Signature:**

```typescript
export interface IThemeProviderProps 
```

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [backend?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-theme-provider/sdk-ui-theme-provider.ithemeproviderprops/index.md#ithemeproviderpropsbackend) |  | [IAnalyticalBackend](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-backend-spi/sdk-backend-spi.ianalyticalbackend/index.md) | _(Optional)_ Analytical backend, from which the ThemeProvider will obtain selected theme object. |
| [children?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-theme-provider/sdk-ui-theme-provider.ithemeproviderprops/index.md#ithemeproviderpropschildren) |  | ReactNode | _(Optional)_ React children |
| [enableComplementaryPalette?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-theme-provider/sdk-ui-theme-provider.ithemeproviderprops/index.md#ithemeproviderpropsenablecomplementarypalette) |  | boolean | _(Optional)_ Flag determining whether the complementary palette is enabled or not. |
| [modifier?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-theme-provider/sdk-ui-theme-provider.ithemeproviderprops/index.md#ithemeproviderpropsmodifier) |  | [ThemeModifier](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-theme-provider/sdk-ui-theme-provider.thememodifier/index.md) | _(Optional)_ If provided it is called with loaded theme to allow its modification according to the app needs. |
| [removeGlobalStylesOnUnmout?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-theme-provider/sdk-ui-theme-provider.ithemeproviderprops/index.md#ithemeproviderpropsremoveglobalstylesonunmout) |  | boolean | _(Optional)_ Should ThemeProvider remove global styles during the unmount phase? |
| [theme?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-theme-provider/sdk-ui-theme-provider.ithemeproviderprops/index.md#ithemeproviderpropstheme) |  | [ITheme](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.itheme/index.md) | _(Optional)_ Theme that will be used if defined. |
| [workspace?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui-theme-provider/sdk-ui-theme-provider.ithemeproviderprops/index.md#ithemeproviderpropsworkspace) |  | string | _(Optional)_ Identifier of analytical workspace, from which the ThemeProvider will obtain the selected theme identifier |

## Property details

### IThemeProviderProps.backend

Analytical backend, from which the ThemeProvider will obtain selected theme object.

**Signature:**

```typescript
backend?: IAnalyticalBackend;
```

#### Remarks

If you do not specify instance of analytical backend using this prop, then you MUST have BackendProvider up in the component tree.

### IThemeProviderProps.children

React children

**Signature:**

```typescript
children?: ReactNode;
```

### IThemeProviderProps.enableComplementaryPalette

Flag determining whether the complementary palette is enabled or not.

**Signature:**

```typescript
enableComplementaryPalette?: boolean;
```

#### Remarks

If set to false, complementary palette is discarded. Useful for applications not yet fully supporting dark-based themes achievable with the complementary palette.

### IThemeProviderProps.modifier

If provided it is called with loaded theme to allow its modification according to the app needs.

**Signature:**

```typescript
modifier?: ThemeModifier;
```

### IThemeProviderProps.removeGlobalStylesOnUnmout

Should ThemeProvider remove global styles during the unmount phase?

**Signature:**

```typescript
removeGlobalStylesOnUnmout?: boolean;
```

#### Remarks

Only applies when no other global ThemeProvider with a loaded theme remains mounted; otherwise the theme of the last registered one with a loaded theme is shown again. When a provider with this set unmounts while descendant ThemeProviders stay mounted, the global styles are removed once the last of them unmounts, whatever their own setting.

Default: true

### IThemeProviderProps.theme

Theme that will be used if defined.

**Signature:**

```typescript
theme?: ITheme;
```

#### Remarks

If not defined here, the theme will be obtained from the backend.

Note: either the theme or both backend and workspace MUST be provided (either directly or via their contexts).

### IThemeProviderProps.workspace

Identifier of analytical workspace, from which the ThemeProvider will obtain the selected theme identifier

**Signature:**

```typescript
workspace?: string;
```

#### Remarks

If you do not specify workspace identifier, then you MUST have WorkspaceProvider up in the component tree.
