---
url: "https://vueda.dev/v3/reference/api/js/stores/storeTheme/methods/registerVariant.md"
title: "registerVariant"
---

# registerVariant

## Overview

Registers a new variant for a component with the given name.

## Signature

`registerVariant(componentName, variantName, variantConfig)`

### Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| <span id="param-componentName">componentName</span> | `string` | yes | The name of a registered component. |
| <span id="param-variantName">variantName</span> | `string` | yes | The name of the variant. |
| <span id="param-variantConfig">variantConfig</span> | [VariantConfig](/v3/reference/api/js/stores/storeTheme/types/VariantConfig.md) | yes | CSS classes keyed by spot name. Each spot must be one the component declares. |

### Returns

`void`

### Throws

- If the variant configuration is invalid.

## Source

`client/lib/stores/storeTheme.js:110`
