### Start Metro Bundler Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/example/README.md Starts the Metro JavaScript bundler, which is essential for building and running your React Native application. This command should be run from the root of your project. ```sh # Using npm npm start # OR using Yarn yarn start ``` -------------------------------- ### Run Example App Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/CONTRIBUTING.md Commands to start the Metro server and run the example application on Android or iOS devices/simulators. Changes to library code are reflected in the example app. ```shell yarn example start yarn example android yarn example ios ``` -------------------------------- ### Install Ruby Dependencies for iOS Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/example/README.md Installs Ruby dependencies required for iOS development, primarily for managing CocoaPods. This command is typically run once or after updating native dependencies. ```sh bundle install ``` -------------------------------- ### Build and Run iOS App Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/example/README.md Builds and runs the React Native application on an iOS simulator or device. This command requires the Metro bundler to be running and CocoaPods dependencies to be installed. ```sh # Using npm npm run ios # OR using Yarn yarn ios ``` -------------------------------- ### Install iOS CocoaPods Dependencies Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/example/README.md Installs CocoaPods dependencies for the iOS project. This command is crucial after cloning a project or updating native dependencies to ensure all required libraries are linked correctly. ```sh bundle exec pod install ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/CONTRIBUTING.md Installs all necessary project dependencies using Yarn workspaces. This is the initial step to set up the development environment for the project. ```shell yarn ``` -------------------------------- ### Build and Run Android App Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/example/README.md Builds and runs the React Native application on an Android device or emulator. Ensure the Metro bundler is running in a separate terminal before executing this command. ```sh # Using npm npm run android # OR using Yarn yarn android ``` -------------------------------- ### Install react-native-actions-sheet-replacement (npm/yarn) Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/README.md Shows how to install the library using npm or yarn package managers. This is the first step before using the component in your React Native project. ```npm npm install react-native-actions-sheet-replacement ``` ```yarn yarn add react-native-actions-sheet-replacement ``` -------------------------------- ### Delayed Closing for Nested Sheets Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/README.md Provides a JavaScript example for closing multiple nested action sheets with a small delay between operations. This ensures better visual transitions when managing complex sheet hierarchies. ```javascript // Close child sheet first, then parent with a slight delay const closeBothSheets = () => { SheetManager.hide('childSheetId'); setTimeout(() => { SheetManager.hide('parentSheetId'); }, 300); }; ``` -------------------------------- ### Direct Rendering for Nested Action Sheets (React Native) Source: https://github.com/talktothelaw/react-native-actions-sheet-replacement/blob/main/README.md Demonstrates using `isModal={false}` for parent and child ActionSheets to enable direct rendering, which improves stacking behavior for complex nesting scenarios on iOS. Includes examples of opening and closing sheets via SheetManager. ```jsx const ParentSheet = forwardRef((props, ref) => { const { sheetId } = props; const openChildSheet = () => { SheetManager.show('childSheet', { payload: { parentId: sheetId } }); }; return ( Parent Sheet