Skip to main content

CorePressable

Headless TouchableOpacity with Box layout props. No default visual, all styling is up to you. Use it for buttons, list rows, cards, and any tappable surface.

Preview

Confirm

import { CorePressable, CoreText } from '@devraj-labs/vajra-ui-core';

<CorePressable onPress={handlePress} bg="#2563EB" rounded={8} p={14} align="center">
<CoreText fontSize={15} fontWeight="600" color="#fff">
Confirm
</CoreText>
</CorePressable>

Usage

import { CorePressable, CoreText } from '@devraj-labs/vajra-ui-core';

<CorePressable onPress={handlePress} bg="#2563EB" rounded={8} p={14} align="center">
<CoreText fontSize={15} fontWeight="600" color="#fff">
Confirm
</CoreText>
</CorePressable>

API

Accepts all Box props combined with all native TouchableOpacityProps.

Key interaction props

PropTypeDefaultDescription
onPress() => voidFired on tap
onPressIn() => voidFired when press begins
onPressOut() => voidFired when press ends
onLongPress() => voidFired on long press
disabledbooleanfalsePrevents interaction
opacitynumberStatic opacity of the element
activeOpacitynumber0.7Opacity while pressed
styleViewStyle | ViewStyle[]Additional styles

Example

CorePressable example