---
url: "https://vueda.dev/v3/reference/api/js/utils/actionVariant/functions/resolveActionVariant.md"
title: "resolveActionVariant"
---

# resolveActionVariant

## Overview

Folds the two layers into a `{ tone, emphasis }` pair for `Button`. Promotion
sets the emphasis to `fill` and, for a neutral action, lifts the tone to
`primary` so the hero reads as the earned CTA; a promoted destructive action
stays destructive (a filled destructive hero, as on a destroy view). Explicit
`tone` overrides the action's intrinsic tone.

## Signature

`resolveActionVariant(input)`

### Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| <span id="param-input">input</span> | [ActionVariantInput](/v3/reference/api/js/utils/actionVariant/types/ActionVariantInput.md) | no | The action and its placement context. |

### Returns

`The resolved Button axes.`

## Source

`client/lib/utils/actionVariant.js:58`
