# Gesture

### Styles

* Flexbox Styles
* View Styles
* Transform Styles

### Props

| Name                           | Type                                              | Description                                                                                                                                                 |
| ------------------------------ | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **accessibilityLabel**         | `string`                                          | <ul><li>Alternate text for screen readers</li></ul>                                                                                                         |
| **accessibilityTraits**        | `AccessibilityTrait \| AccessibilityTrait[]`      | <ul><li>Traits used to hint screen readers, etc.</li></ul>                                                                                                  |
| **importantForAccessibility**? | `ImportantForAccessibility`                       | <ul><li>Expose the element and/or its children as accessible to Screen readers</li></ul>                                                                    |
| **onPinchZoom**                | `(gestureState: MultiTouchGestureState) => void`  | <ul><li>Gestures and attributes that apply only to touch inputs</li></ul>                                                                                   |
| **onRotate**                   | `(gestureState: MultiTouchGestureState) => void`  | <ul><li>Gestures and attributes that apply only to touch inputs</li></ul>                                                                                   |
| **onScrollWheel**              | `(gestureState: ScrollWheelGestureState) => void` | <ul><li>Gestures and attributes that apply only to mouse inputs</li></ul>                                                                                   |
| **mouseOverCursor**            | `GestureMouseCursor`                              | <ul><li>Gestures and attributes that apply only to mouse inputs</li></ul>                                                                                   |
| **onPan**                      | `(gestureState: PanGestureState) => void`         | <ul><li>Gestures and attributes that apply to either touch or mouse inputs</li></ul>                                                                        |
| **onPanVertical**              | `(gestureState: PanGestureState) => void`         | <ul><li>Gestures and attributes that apply to either touch or mouse inputs</li></ul>                                                                        |
| **onPanHorizontal**            | `(gestureState: PanGestureState) => void`         | <ul><li>Gestures and attributes that apply to either touch or mouse inputs</li></ul>                                                                        |
| **onTap**                      | `(gestureState: TapGestureState) => void`         | <ul><li>Gestures and attributes that apply to either touch or mouse inputs</li></ul>                                                                        |
| **onDoubleTap**                | `(gestureState: TapGestureState) => void`         | <ul><li>Gestures and attributes that apply to either touch or mouse inputs</li></ul>                                                                        |
| **onContextMenu**              | `(gestureState: TapGestureState) => void`         | <ul><li>Gestures and attributes that apply to either touch or mouse inputs</li></ul>                                                                        |
| **onLongPress**                | `(gestureState: TapGestureState) => void`         | <ul><li>Gestures and attributes that apply to either touch or mouse inputs</li></ul>                                                                        |
| **onFocus**                    | `(e: FocusEvent) => void`                         | <ul><li>Focus Events</li></ul>                                                                                                                              |
| **onBlur**                     | `(e: FocusEvent) => void`                         | <ul><li>Focus Events</li></ul>                                                                                                                              |
| **onKeyPress**                 | `(e: KeyboardEvent) => void`                      | <ul><li>Keyboard Events</li></ul>                                                                                                                           |
| **preferredPan**               | `PreferredPanGesture = undefined`                 | <ul><li>We can set vertical or horizontal as preferred</li></ul>                                                                                            |
| **panPixelThreshold**          | `number`                                          | <ul><li>How many pixels (in either horizontal or vertical direction) until pan is recognized? </li><li>Default is 10</li><li>Can be any value > 0</li></ul> |
| **releaseOnRequest**           | `boolean`                                         | <ul><li>Something else wants to become responder. Should this view release the responder? </li><li>Setting true allows release.</li></ul>                   |
| **testId**                     | `string`                                          | <ul><li>ID that can be used to identify the instantiated element for testing purposes</li></ul>                                                             |
