---
title: "ProductThemeManager | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ProductThemeManager/"
---

# ProductThemeManager

> - [`MultiSelectMode`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/Commands.md#multiselectmode)

## Classes

### ProductThemeConfig

#### Implements

#### Indexable

```ts
[name: string]: any
```

#### Constructors

##### Constructor

```ts
new ProductThemeConfig(rawObject): ProductThemeConfig;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `rawObject` | `Object` |

###### Returns

[`ProductThemeConfig`](#productthemeconfig)

***

### ProductThemeManager

#### Constructors

##### Constructor

```ts
new ProductThemeManager(
   productHandler, 
   productThemes, 
   canvas, 
   eventManager): ProductThemeManager;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `productHandler` | [`ProductHandler`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ProductHandler.md#producthandler) |
| `productThemes` | \{ \[`name`: `string`\]: `IProductThemeConfig`; \} |
| `canvas` | [`Canvas`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/Canvas-1.md#canvas) |
| `eventManager` | [`EventManager`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/EventManager.md#eventmanager) |

###### Returns

[`ProductThemeManager`](#productthememanager)

#### Properties

##### currentProductTheme

```ts
currentProductTheme: IProductThemeConfig;
```

##### productThemes

```ts
productThemes: object;
```

###### Index Signature

```ts
[name: string]: IProductThemeConfig
```

#### Methods

##### applyProductTheme()

```ts
applyProductTheme(
   theme, 
   product, 
   commandManager): boolean;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `theme` | `any` |
| `product` | `Product` |
| `commandManager` | [`CommandManager`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/CommandManager.md#commandmanager) |

###### Returns

`boolean`

##### applyToItem()

```ts
applyToItem(
   item, 
   theme?, 
themeBinding?): Promise<boolean>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `item` | `Item` |
| `theme?` | `IProductThemeConfig` |
| `themeBinding?` | `ThemeBinding` |

###### Returns

[`Promise`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/finally.md#promise)\<`boolean`\>
