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

# ProductThemeApplier

> [`ProductThemeApplier`](#productthemeapplier)

## Classes

### ProductThemeApplier

#### Constructors

##### Constructor

```ts
new ProductThemeApplier(colorPreviewService, colorParser): ProductThemeApplier;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `colorPreviewService` | [`IColorPreviewService`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IColorPreviewService.md#icolorpreviewservice) |
| `colorParser` | [`IColorParser`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/IColorParser.md#icolorparser) |

###### Returns

#### Methods

##### apply()

```ts
apply(
   product, 
   theme?, 
themeBinding?): Promise<boolean>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `product` | `Product` |
| `theme?` | [IProductThemeConfig](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/IProductThemeConfig.md) |
| `themeBinding?` | `ThemeBinding` |

###### Returns

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

##### applyToItem()

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

###### Type Parameters

| Type Parameter |
| ------ |
| `T` *extends* `Item` |

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `item` | `T` |
| `theme?` | [IProductThemeConfig](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms-model/IProductThemeConfig.md) |
| `themeBinding?` | `ThemeBinding` |

###### Returns

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