{"repo":"enzomanuelmangano/pressto","free":true,"listed":false,"github":"https://github.com/enzomanuelmangano/pressto","clone":"git clone https://github.com/enzomanuelmangano/pressto.git","description":"Your React Native app deserves better tap interactions.","language":"TypeScript","stars":832,"topics":["react-native","react-native-gesture-handler","react-native-reanimated","pressables"],"license":"MIT","category":"mobile-apps","readme_excerpt":"Pressto 🔥 https://github.com/user-attachments/assets/c857eb8d-3ce7-4afe-b2dd-e974560684d8 Replace TouchableOpacity with animated pressables that run on the main thread. Built on react-native-gesture-handler and react-native-reanimated for 60fps animations. Installation Quickstart That's it. Your pressable now scales smoothly on press with main-thread animations. --- Basic Usage Pre-built Components Pressto comes with two ready-to-use components: PressableScale - Scales down when pressed PressableOpacity - Fades when pressed Both components accept all standard React Native Pressable props ( onPress , onPressIn , onPressOut , style , etc.). --- Custom Animations Create Your Own Pressable Use createAnimatedPressable to create custom animations: The progress parameter goes from 0 (idle) to 1 (pressed), allowing you to interpolate any style property. ⚠️ Important: The 'worklet'; directive is required at the start of your animation function. Without it, animations won't run on the UI thread. Tip: Install eslint-plugin-pressto to catch missing 'worklet' directives at development time. --- Configuration Use PressablesConfig to customize animation behavior for all pressables in your app: Options: - animationType : 'timing' or 'spring' (default: 'timing' ) - animationConfig : Pass timing or spring configuration - config : Set default values for minScale , activeOpacity , baseScale Override the config on a single pressable with the config prop — it shallow-merges over the PressablesCon","default_branch":null,"files":null,"tree":[],"storefront":"/r/enzomanuelmangano","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/enzomanuelmangano/pressto/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}