### Prepare example app Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/CONTRIBUTING.md Prebuild the example application before running it on a device or simulator. ```sh cd packages/expo-example yarn prebuild ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/docs/README.md Run this command to install all necessary dependencies for the project. ```bash $ yarn ``` -------------------------------- ### Run example app on Android Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/CONTRIBUTING.md Launch the example application on an Android device or emulator. ```sh cd packages/expo-example yarn android ``` -------------------------------- ### Run example app on iOS Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/CONTRIBUTING.md Launch the example application on an iOS device or simulator. ```sh cd packages/expo-example yarn ios ``` -------------------------------- ### Branch creation example Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/CONTRIBUTING.md Example of creating a new branch using the project's naming convention. ```sh git branch chore/2-configuration ``` -------------------------------- ### Install project dependencies Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/CONTRIBUTING.md Run this command in the root directory to install all required dependencies for the monorepo. ```sh yarn ``` -------------------------------- ### Install expo-build-properties Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/docs/docs/guides/INSTALLATION.mdx Install the plugin required to manage build properties in managed Expo projects. ```sh npx expo install expo-build-properties ``` -------------------------------- ### Start Local Development Server Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/docs/README.md Launches a local development server with live reloading enabled. ```bash $ yarn start ``` -------------------------------- ### Run Docusaurus documentation Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/CONTRIBUTING.md Start the local development server for the documentation site. ```sh cd docs yarn start ``` -------------------------------- ### Mocking via Jest setup file Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/docs/docs/guides/JEST_MOCK_USAGE.mdx Use jest.mock within a configured Jest setup file to define the mock implementation. ```js jest.mock('react-native-avoid-softinput', () => { const mock = require('react-native-avoid-softinput/jest/mock'); /** * If needed, override mock like so: * * return Object.assign(mock, { useSoftInputState: jest.fn(() => ({ isSoftInputShown: true, softInputHeight: 300 })) }); */ return mock; }); ``` -------------------------------- ### Commit message example Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/CONTRIBUTING.md Example of a commit message following the conventional commits specification. ```text fix(#1): bug with crash... ``` -------------------------------- ### Open iOS project in Xcode Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/CONTRIBUTING.md Install Pods and open the iOS project workspace in Xcode. ```sh cd packages/expo-example xed ios ``` -------------------------------- ### Install react-native-avoid-softinput with Yarn Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/packages/react-native-avoid-softinput/README.md Install the library using Yarn. This is the first step for integrating the library into your React Native project. ```sh yarn add react-native-avoid-softinput ``` -------------------------------- ### Install react-native-avoid-softinput with npm Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/packages/react-native-avoid-softinput/README.md Install the library using npm. This is an alternative to Yarn for integrating the library into your React Native project. ```sh npm i --save react-native-avoid-softinput ``` -------------------------------- ### Install iOS Pods Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/README.md Required step for iOS projects to link the native dependencies. ```sh npx pod-install ``` -------------------------------- ### Install react-native-avoid-softinput Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/README.md Use a package manager to add the library to your React Native project. ```sh yarn add react-native-avoid-softinput ``` ```sh npm i --save react-native-avoid-softinput ``` -------------------------------- ### Modal Example with AvoidSoftInputView Source: https://github.com/mateusz1913/react-native-avoid-softinput/blob/main/docs/docs/guides/USAGE_VIEW.mdx Use this snippet to display a modal with content managed by AvoidSoftInputView. Ensure react-navigation is set up for focus effects if needed. This example includes basic modal controls and scrollable content. ```tsx import * as React from "react"; import { Button, Modal, ScrollView, TextInput, View } from "react-native"; import { AvoidSoftInputView } from "react-native-avoid-softinput"; import { useFocusEffect } from "@react-navigation/native"; export const ModalExample: React.FC = () => { const [ modalVisible, setModalVisible ] = React.useState(false); function closeModal() { setModalVisible(false); } function openModal() { setModalVisible(true); } return