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

# TouchableOpacity

> Learn how to use TouchableOpacity with Uniwind className props

## Overview

The `TouchableOpacity` component wraps views to make them respond properly to touches with opacity feedback. Uniwind provides className prop support for styling this component.

## Styling Convention

<Info>
  **For `style` props:** Use regular Tailwind classes directly (e.g., `className="p-4"`).

  **For non-style props** (like `color`): Use the `accent-` prefix (e.g., `colorClassName="accent-blue-500"`).
</Info>

## Uniwind Bindings

<ParamField path="className" type="string">
  Maps to the `style` prop. Use any Tailwind utility classes.
</ParamField>

## State Selectors

TouchableOpacity supports `active:`, `disabled:`, and `focus:` state selectors:

| Selector    | Trigger                                                            |
| ----------- | ------------------------------------------------------------------ |
| `active:`   | When the component is being pressed                                |
| `disabled:` | When the `disabled` prop is `true`                                 |
| `focus:`    | When the component has focus (especially useful for TV navigation) |

## Usage Example

```tsx theme={null}
import { TouchableOpacity, Text } from 'react-native'

<TouchableOpacity
  onPress={() => console.log('Pressed')}
  activeOpacity={0.7}
  className="bg-blue-500 rounded-lg p-4 m-2 focus:ring-2 focus:ring-blue-300"
>
  <Text className="text-white font-bold text-center">
    Press Me
  </Text>
</TouchableOpacity>
```
