> ## Documentation Index
> Fetch the complete documentation index at: https://docs.subframe.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hover, active, focus states

> Add interaction states to your components.

<Frame>
  <img src="https://mintcdn.com/subframe-59800133/E2DcgNWNaQUj3Q4q/images/components/interaction-states.png?fit=max&auto=format&n=E2DcgNWNaQUj3Q4q&q=85&s=399f818d85226b3b60676741c7b65075" alt="Showing the hover, active, and focus states of a Button component" width="351" height="635" data-path="images/components/interaction-states.png" />
</Frame>

Subframe supports three interaction states:

* **Hover** — Mouse over (`:hover`)
* **Active** — Mouse press (`:active`)
* **Focused** — Keyboard focus (`:focus-visible`)

## Creating a state

1. Hover over the variant you want to add a state to
2. Click **+Hover**, **+Active**, or **+Focus**

## Modifying states

1. Select the state you want to modify
2. Select an element
3. Modify any property in the Inspector
4. An override indicator (pink dot) appears next to the property

<Frame>
  <img src="https://mintcdn.com/subframe-59800133/E2DcgNWNaQUj3Q4q/images/design-mode/overrides.png?fit=max&auto=format&n=E2DcgNWNaQUj3Q4q&q=85&s=f6d0125ae0975a4b703a125c6c8af011" alt="Inspector showing override with pink dot indicator" width="375" height="346" data-path="images/design-mode/overrides.png" />
</Frame>

To remove a state override, click the pink dot to reset to the default value.

## Hover states in code

If your element has a hover state, we add `cursor-pointer` in the generated code:

```tsx theme={null}
<div className="cursor-pointer hover:bg-blue-600">Click me</div>
```
