├── .gitattributes ├── .gitignore ├── .prettierrc.js ├── Example ├── .bundle │ └── config ├── .eslintrc.js ├── .gitignore ├── .prettierrc.js ├── .watchmanconfig ├── App.js ├── Field.js ├── Gemfile ├── __tests__ │ └── App.test.tsx ├── android │ ├── app │ │ ├── build.gradle │ │ ├── debug.keystore │ │ ├── proguard-rules.pro │ │ └── src │ │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── ReactNativeRootToast │ │ │ │ ├── MainActivity.kt │ │ │ │ └── MainApplication.kt │ │ │ └── res │ │ │ ├── drawable │ │ │ └── rn_edit_text_material.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── app.json ├── babel.config.js ├── bun.lock ├── index.js ├── ios │ ├── .xcode.env │ ├── Podfile │ ├── Podfile.lock │ ├── ReactNativeRootToast.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── rn781.xcscheme │ ├── ReactNativeRootToast.xcworkspace │ │ └── contents.xcworkspacedata │ └── ReactNativeRootToast │ │ ├── Images.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── LaunchScreen.storyboard │ │ └── PrivacyInfo.xcprivacy ├── jest.config.js ├── metro.config.js ├── package.json ├── screen-shoots.gif ├── test.tsx └── tsconfig.json ├── LICENSE.txt ├── README.md ├── index.d.ts ├── index.js ├── lib ├── Toast.js └── ToastContainer.js ├── package.json └── tea.yaml /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .idea/ 3 | 4 | # vim 5 | *.sw* 6 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | arrowParens: 'avoid', 3 | bracketSameLine: true, 4 | bracketSpacing: false, 5 | singleQuote: true, 6 | trailingComma: 'all', 7 | }; 8 | -------------------------------------------------------------------------------- /Example/.bundle/config: -------------------------------------------------------------------------------- 1 | BUNDLE_PATH: "vendor/bundle" 2 | BUNDLE_FORCE_RUBY_PLATFORM: 1 3 | -------------------------------------------------------------------------------- /Example/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: '@react-native', 4 | }; 5 | -------------------------------------------------------------------------------- /Example/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | **/.xcode.env.local 24 | 25 | # Android/IntelliJ 26 | # 27 | build/ 28 | .idea 29 | .gradle 30 | local.properties 31 | *.iml 32 | *.hprof 33 | .cxx/ 34 | *.keystore 35 | !debug.keystore 36 | .kotlin/ 37 | 38 | # node.js 39 | # 40 | node_modules/ 41 | npm-debug.log 42 | yarn-error.log 43 | 44 | # fastlane 45 | # 46 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 47 | # screenshots whenever they are needed. 48 | # For more information about the recommended setup visit: 49 | # https://docs.fastlane.tools/best-practices/source-control/ 50 | 51 | **/fastlane/report.xml 52 | **/fastlane/Preview.html 53 | **/fastlane/screenshots 54 | **/fastlane/test_output 55 | 56 | # Bundle artifact 57 | *.jsbundle 58 | 59 | # Ruby / CocoaPods 60 | **/Pods/ 61 | /vendor/bundle/ 62 | 63 | # Temporary files created by Metro to check the health of the file watcher 64 | .metro-health-check* 65 | 66 | # testing 67 | /coverage 68 | 69 | # Yarn 70 | .yarn/* 71 | !.yarn/patches 72 | !.yarn/plugins 73 | !.yarn/releases 74 | !.yarn/sdks 75 | !.yarn/versions 76 | -------------------------------------------------------------------------------- /Example/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | arrowParens: 'avoid', 3 | bracketSameLine: true, 4 | bracketSpacing: false, 5 | singleQuote: true, 6 | trailingComma: 'all', 7 | }; 8 | -------------------------------------------------------------------------------- /Example/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /Example/App.js: -------------------------------------------------------------------------------- 1 | import {Component} from 'react'; 2 | import { 3 | StyleSheet, 4 | Text, 5 | View, 6 | TouchableHighlight, 7 | TextInput, 8 | ScrollView, 9 | Switch, 10 | } from 'react-native'; 11 | import Toast from 'react-native-root-toast'; 12 | import Field from './Field'; 13 | import {RootSiblingParent} from 'react-native-root-siblings'; 14 | 15 | let {durations, positions} = Toast; 16 | 17 | const DURATIONS_KEYS = Object.keys(durations); 18 | const POSITIONS_KEYS = Object.keys(positions); 19 | const messages = [ 20 | 'Mr. and Mrs. Dursley, of number four Privet Drive, were proud to say that they were perfectly normal, thank you very much.', 21 | '“I am not worried, Harry,” said Dumbledore, his voice a little stronger despite the freezing water. “I am with you.”', 22 | 'You’re a wizard, Harry.', 23 | 'But you know, happiness can be found even in the darkest of times, if one only remembers to turn on the light.', 24 | 'Ah, music,” he said, wiping his eyes. “A magic beyond all we do here!”', 25 | 'I am what I am, an’ I’m not ashamed. ‘Never be ashamed,’ my ol’ dad used ter say, ‘there’s some who’ll hold it against you, but they’re not worth botherin’ with.', 26 | 'Never trust anything that can think for itself if you can’t see where it keeps its brain.', 27 | 'There are some things you can’t share without ending up liking each other, and knocking out a twelve-foot mountain troll is one of them.', 28 | 'It’s wingardium leviOsa, not leviosAH.', 29 | 'There is no need to call me Sir, Professor.', 30 | '’I’m not going to be murdered,’ Harry said out loud.‘That’s the spirit, dear,’ said his mirror sleepily.', 31 | 'You sort of start thinking anything’s possible if you’ve got enough nerve.', 32 | 'It is our choices, Harry, that show what we truly are, far more than our abilities.', 33 | 'It takes a great deal of bravery to stand up to our enemies, but just as much to stand up to our friends.', 34 | 'Just because you have the emotional range of a teaspoon doesn’t mean we all have.', 35 | '‘He is dead!’ Narcissa Malfoy called to the watchers.', 36 | 'Really Hagrid, if you are holding out for universal popularity, I’m afraid you will be in this cabin for a very long time', 37 | 'Chaos reigned.', 38 | 'Give her hell from us, Peeves!', 39 | 'Until the very end.', 40 | 'Oculus Reparo!', 41 | '“After all this time?”“Always,” said Snape.', 42 | ]; 43 | const colors = { 44 | default: null, 45 | red: 'red', 46 | blue: 'blue', 47 | }; 48 | 49 | const styles = StyleSheet.create({ 50 | container: { 51 | flex: 1, 52 | backgroundColor: '#F5FCFF', 53 | }, 54 | content: { 55 | paddingTop: 40, 56 | alignItems: 'center', 57 | }, 58 | button: { 59 | borderRadius: 3, 60 | paddingVertical: 5, 61 | paddingHorizontal: 10, 62 | backgroundColor: 'green', 63 | marginBottom: 10, 64 | }, 65 | buttonText: { 66 | color: '#fff', 67 | textAlign: 'center', 68 | }, 69 | prop: { 70 | alignItems: 'center', 71 | justifyContent: 'center', 72 | }, 73 | title: { 74 | fontSize: 20, 75 | fontWeight: 'bold', 76 | color: 'skyblue', 77 | borderBottomWidth: 1, 78 | borderBottomColor: '#666', 79 | }, 80 | fieldContainer: { 81 | flexDirection: 'row', 82 | alignItems: 'center', 83 | marginBottom: 10, 84 | }, 85 | fieldText: { 86 | marginRight: 5, 87 | fontSize: 20, 88 | fontWeight: 'bold', 89 | color: 'skyblue', 90 | }, 91 | input: { 92 | width: 100, 93 | height: 30, 94 | lineHeight: 30, 95 | fontWeight: 'bold', 96 | color: '#333', 97 | }, 98 | code: { 99 | alignSelf: 'stretch', 100 | backgroundColor: '#f0f0f0', 101 | padding: 10, 102 | height: 200, 103 | }, 104 | codeText: { 105 | fontSize: 10, 106 | }, 107 | codeTittle: { 108 | textAlign: 'center', 109 | fontSize: 16, 110 | fontWeight: 'bold', 111 | marginBottom: 10, 112 | }, 113 | value: { 114 | color: 'blue', 115 | }, 116 | string: { 117 | color: 'grey', 118 | }, 119 | api: { 120 | fontSize: 12, 121 | textAlign: 'center', 122 | marginRight: 10, 123 | }, 124 | }); 125 | 126 | export default class ReactNativeRootToast extends Component { 127 | state = { 128 | duration: durations[DURATIONS_KEYS[0]], 129 | position: positions[POSITIONS_KEYS[0]], 130 | shadow: true, 131 | animation: true, 132 | hideOnPress: true, 133 | delay: 0, 134 | message: messages[~~(messages.length * Math.random())], 135 | backgroundColor: false, 136 | shadowColor: false, 137 | textColor: false, 138 | }; 139 | 140 | toast = null; 141 | 142 | show = () => { 143 | let message = messages[~~(messages.length * Math.random())]; 144 | this.toast && this.toast.destroy(); 145 | this.setState({ 146 | message, 147 | }); 148 | this.toast = Toast.show(message, { 149 | duration: this.state.duration, 150 | position: this.state.position, 151 | shadow: this.state.shadow, 152 | animation: this.state.animation, 153 | hideOnPress: this.state.hideOnPress, 154 | delay: this.state.delay, 155 | backgroundColor: this.state.backgroundColor ? 'blue' : null, 156 | shadowColor: this.state.shadowColor ? 'yellow' : null, 157 | textColor: this.state.textColor ? 'purple' : null, 158 | onPress: () => { 159 | alert('You clicked me!'); 160 | }, 161 | onHidden: () => { 162 | this.toast.destroy(); 163 | this.toast = null; 164 | }, 165 | }); 166 | }; 167 | 168 | getApiCode = () => ( 169 | 170 | {`Toast.show( 171 | `} 172 | '{this.state.message}' 173 | {`, 174 | { 175 | position:`}{' '} 176 | {this.state.position} 177 | {`, 178 | delay:`}{' '} 179 | {this.state.delay} 180 | {`, 181 | shadow:`}{' '} 182 | {this.state.shadow.toString()} 183 | {`, 184 | animation:`}{' '} 185 | {this.state.animation.toString()} 186 | {`, 187 | hideOnPress:`}{' '} 188 | {this.state.hideOnPress.toString()} 189 | {`, 190 | backgroundColor:`}{' '} 191 | {this.state.backgroundColor.toString()} 192 | {`, 193 | shadowColor:`}{' '} 194 | {this.state.shadowColor.toString()} 195 | {`, 196 | textColor:`}{' '} 197 | {this.state.textColor.toString()} 198 | {` 199 | } 200 | );`} 201 | 202 | ); 203 | 204 | getSwitchList = () => { 205 | return [ 206 | 'shadow', 207 | 'animation', 208 | 'hideOnPress', 209 | 'backgroundColor', 210 | 'shadowColor', 211 | 'textColor', 212 | ].map(prop => ( 213 | 214 | {prop} 215 | this.setState({[prop]: value})} 217 | value={this.state[prop]} 218 | /> 219 | 220 | )); 221 | }; 222 | 223 | render() { 224 | let code = this.getApiCode(); 225 | return ( 226 | 227 | 230 | 231 | duration 232 | 233 | this.setState({duration})} 237 | /> 238 | 239 | position 240 | 241 | this.setState({position})} 245 | /> 246 | 247 | delay (ms) 248 | 251 | this.setState({delay: +text || 0}) 252 | } 253 | value={(this.state.delay || 0).toString()} 254 | keyboardType={'decimal-pad'} 255 | /> 256 | 257 | {this.getSwitchList()} 258 | 262 | Show Toast 263 | 264 | 265 | CODE: 266 | {code} 267 | 268 | 269 | 270 | ); 271 | } 272 | } 273 | 274 | // You can also show a toast by using a inside render 275 | -------------------------------------------------------------------------------- /Example/Field.js: -------------------------------------------------------------------------------- 1 | import {Component} from 'react'; 2 | import { 3 | StyleSheet, 4 | Text, 5 | View, 6 | TouchableOpacity, 7 | TextInput, 8 | } from 'react-native'; 9 | import {Picker} from '@react-native-picker/picker'; 10 | import Modal from 'react-native-root-modal'; 11 | 12 | const styles = StyleSheet.create({ 13 | pickerModal: { 14 | position: 'absolute', 15 | bottom: 0, 16 | left: 0, 17 | right: 0, 18 | top: 0, 19 | }, 20 | picker: { 21 | borderTopWidth: StyleSheet.hairlineWidth, 22 | borderTopColor: '#ccc', 23 | backgroundColor: '#fff', 24 | }, 25 | hidePicker: { 26 | position: 'absolute', 27 | top: 0, 28 | right: 0, 29 | padding: 5, 30 | }, 31 | hidePickerText: { 32 | fontSize: 12, 33 | color: '#333', 34 | }, 35 | field: { 36 | overflow: 'hidden', 37 | padding: 5, 38 | alignItems: 'center', 39 | justifyContent: 'center', 40 | }, 41 | value: { 42 | alignItems: 'center', 43 | width: 200, 44 | borderBottomWidth: 1, 45 | borderBottomColor: '#ccc', 46 | height: 30, 47 | justifyContent: 'center', 48 | }, 49 | input: { 50 | width: 200, 51 | height: 30, 52 | textAlign: 'center', 53 | }, 54 | disabledValue: { 55 | borderBottomColor: 'transparent', 56 | }, 57 | disabled: { 58 | color: '#ccc', 59 | }, 60 | }); 61 | 62 | class Field extends Component { 63 | keys = Object.keys(this.props.options); 64 | state = { 65 | value: this.props.options[this.keys[0]], 66 | text: `Toast.${this.props.name}s.${this.keys[0]}`, 67 | picked: this.keys[0], 68 | picker: false, 69 | }; 70 | 71 | openPicker = () => { 72 | this.setState({ 73 | picker: true, 74 | }); 75 | }; 76 | 77 | closePicker = () => { 78 | this.setState({ 79 | picker: false, 80 | }); 81 | }; 82 | 83 | pickerChange = value => { 84 | let to = value ? this.props.options[value] : this.state.value; 85 | this.setState({ 86 | value: to, 87 | picked: value, 88 | text: value 89 | ? `Toast.${this.props.name}s.${value}` 90 | : `Custom ${this.props.name}`, 91 | }); 92 | this.props.onChange(to); 93 | }; 94 | 95 | inputChange = ({nativeEvent: {text}}) => { 96 | this.setState({ 97 | value: text, 98 | }); 99 | this.props.onChange(+text); 100 | }; 101 | 102 | render() { 103 | return ( 104 | 105 | 106 | 107 | {this.state.text} 108 | 109 | 110 | 111 | 118 | 119 | 120 | 124 | {this.keys.map(key => ( 125 | 130 | ))} 131 | 132 | 133 | 136 | DONE 137 | 138 | 139 | 140 | ); 141 | } 142 | } 143 | 144 | export default Field; 145 | -------------------------------------------------------------------------------- /Example/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version 4 | ruby ">= 2.6.10" 5 | 6 | # Exclude problematic versions of cocoapods and activesupport that causes build failures. 7 | gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1' 8 | gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0' 9 | gem 'xcodeproj', '< 1.26.0' 10 | gem 'concurrent-ruby', '< 1.3.4' 11 | -------------------------------------------------------------------------------- /Example/__tests__/App.test.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import React from 'react'; 6 | import ReactTestRenderer from 'react-test-renderer'; 7 | import App from '../App'; 8 | 9 | test('renders correctly', async () => { 10 | await ReactTestRenderer.act(() => { 11 | ReactTestRenderer.create(); 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /Example/android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.android.application" 2 | apply plugin: "org.jetbrains.kotlin.android" 3 | apply plugin: "com.facebook.react" 4 | 5 | /** 6 | * This is the configuration block to customize your React Native Android app. 7 | * By default you don't need to apply any configuration, just uncomment the lines you need. 8 | */ 9 | react { 10 | /* Folders */ 11 | // The root of your project, i.e. where "package.json" lives. Default is '../..' 12 | // root = file("../../") 13 | // The folder where the react-native NPM package is. Default is ../../node_modules/react-native 14 | // reactNativeDir = file("../../node_modules/react-native") 15 | // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen 16 | // codegenDir = file("../../node_modules/@react-native/codegen") 17 | // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js 18 | // cliFile = file("../../node_modules/react-native/cli.js") 19 | 20 | /* Variants */ 21 | // The list of variants to that are debuggable. For those we're going to 22 | // skip the bundling of the JS bundle and the assets. By default is just 'debug'. 23 | // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. 24 | // debuggableVariants = ["liteDebug", "prodDebug"] 25 | 26 | /* Bundling */ 27 | // A list containing the node command and its flags. Default is just 'node'. 28 | // nodeExecutableAndArgs = ["node"] 29 | // 30 | // The command to run when bundling. By default is 'bundle' 31 | // bundleCommand = "ram-bundle" 32 | // 33 | // The path to the CLI configuration file. Default is empty. 34 | // bundleConfig = file(../rn-cli.config.js) 35 | // 36 | // The name of the generated asset file containing your JS bundle 37 | // bundleAssetName = "MyApplication.android.bundle" 38 | // 39 | // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' 40 | // entryFile = file("../js/MyApplication.android.js") 41 | // 42 | // A list of extra flags to pass to the 'bundle' commands. 43 | // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle 44 | // extraPackagerArgs = [] 45 | 46 | /* Hermes Commands */ 47 | // The hermes compiler command to run. By default it is 'hermesc' 48 | // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" 49 | // 50 | // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" 51 | // hermesFlags = ["-O", "-output-source-map"] 52 | 53 | /* Autolinking */ 54 | autolinkLibrariesWithApp() 55 | } 56 | 57 | /** 58 | * Set this to true to Run Proguard on Release builds to minify the Java bytecode. 59 | */ 60 | def enableProguardInReleaseBuilds = false 61 | 62 | /** 63 | * The preferred build flavor of JavaScriptCore (JSC) 64 | * 65 | * For example, to use the international variant, you can use: 66 | * `def jscFlavor = io.github.react-native-community:jsc-android-intl:2026004.+` 67 | * 68 | * The international variant includes ICU i18n library and necessary data 69 | * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that 70 | * give correct results when using with locales other than en-US. Note that 71 | * this variant is about 6MiB larger per architecture than default. 72 | */ 73 | def jscFlavor = 'io.github.react-native-community:jsc-android:2026004.+' 74 | 75 | android { 76 | ndkVersion rootProject.ext.ndkVersion 77 | buildToolsVersion rootProject.ext.buildToolsVersion 78 | compileSdk rootProject.ext.compileSdkVersion 79 | 80 | namespace "com.ReactNativeRootToast" 81 | defaultConfig { 82 | applicationId "com.ReactNativeRootToast" 83 | minSdkVersion rootProject.ext.minSdkVersion 84 | targetSdkVersion rootProject.ext.targetSdkVersion 85 | versionCode 1 86 | versionName "1.0" 87 | } 88 | signingConfigs { 89 | debug { 90 | storeFile file('debug.keystore') 91 | storePassword 'android' 92 | keyAlias 'androiddebugkey' 93 | keyPassword 'android' 94 | } 95 | } 96 | buildTypes { 97 | debug { 98 | signingConfig signingConfigs.debug 99 | } 100 | release { 101 | // Caution! In production, you need to generate your own keystore file. 102 | // see https://reactnative.dev/docs/signed-apk-android. 103 | signingConfig signingConfigs.debug 104 | minifyEnabled enableProguardInReleaseBuilds 105 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 106 | } 107 | } 108 | } 109 | 110 | dependencies { 111 | // The version of react-native is set by the React Native Gradle Plugin 112 | implementation("com.facebook.react:react-android") 113 | 114 | if (hermesEnabled.toBoolean()) { 115 | implementation("com.facebook.react:hermes-android") 116 | } else { 117 | implementation jscFlavor 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /Example/android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/debug.keystore -------------------------------------------------------------------------------- /Example/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /Example/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | -------------------------------------------------------------------------------- /Example/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 13 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Example/android/app/src/main/java/com/ReactNativeRootToast/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.ReactNativeRootToast 2 | 3 | import com.facebook.react.ReactActivity 4 | import com.facebook.react.ReactActivityDelegate 5 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled 6 | import com.facebook.react.defaults.DefaultReactActivityDelegate 7 | 8 | class MainActivity : ReactActivity() { 9 | 10 | /** 11 | * Returns the name of the main component registered from JavaScript. This is used to schedule 12 | * rendering of the component. 13 | */ 14 | override fun getMainComponentName(): String = "ReactNativeRootToast" 15 | 16 | /** 17 | * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] 18 | * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] 19 | */ 20 | override fun createReactActivityDelegate(): ReactActivityDelegate = 21 | DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) 22 | } 23 | -------------------------------------------------------------------------------- /Example/android/app/src/main/java/com/ReactNativeRootToast/MainApplication.kt: -------------------------------------------------------------------------------- 1 | package com.ReactNativeRootToast 2 | 3 | import android.app.Application 4 | import com.facebook.react.PackageList 5 | import com.facebook.react.ReactApplication 6 | import com.facebook.react.ReactHost 7 | import com.facebook.react.ReactNativeHost 8 | import com.facebook.react.ReactPackage 9 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load 10 | import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost 11 | import com.facebook.react.defaults.DefaultReactNativeHost 12 | import com.facebook.react.soloader.OpenSourceMergedSoMapping 13 | import com.facebook.soloader.SoLoader 14 | 15 | class MainApplication : Application(), ReactApplication { 16 | 17 | override val reactNativeHost: ReactNativeHost = 18 | object : DefaultReactNativeHost(this) { 19 | override fun getPackages(): List = 20 | PackageList(this).packages.apply { 21 | // Packages that cannot be autolinked yet can be added manually here, for example: 22 | // add(MyReactNativePackage()) 23 | } 24 | 25 | override fun getJSMainModuleName(): String = "index" 26 | 27 | override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG 28 | 29 | override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED 30 | override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED 31 | } 32 | 33 | override val reactHost: ReactHost 34 | get() = getDefaultReactHost(applicationContext, reactNativeHost) 35 | 36 | override fun onCreate() { 37 | super.onCreate() 38 | SoLoader.init(this, OpenSourceMergedSoMapping) 39 | if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { 40 | // If you opted-in for the New Architecture, we load the native entry point for this app. 41 | load() 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Example/android/app/src/main/res/drawable/rn_edit_text_material.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 22 | 23 | 24 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Example/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ReactNativeRootToast 3 | 4 | -------------------------------------------------------------------------------- /Example/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Example/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext { 3 | buildToolsVersion = "35.0.0" 4 | minSdkVersion = 24 5 | compileSdkVersion = 35 6 | targetSdkVersion = 35 7 | ndkVersion = "27.1.12297006" 8 | kotlinVersion = "2.0.21" 9 | } 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | dependencies { 15 | classpath("com.android.tools.build:gradle") 16 | classpath("com.facebook.react:react-native-gradle-plugin") 17 | classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") 18 | } 19 | } 20 | 21 | apply plugin: "com.facebook.react.rootproject" 22 | -------------------------------------------------------------------------------- /Example/android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx512m -XX:MaxMetaspaceSize=256m 13 | org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | 20 | # AndroidX package structure to make it clearer which packages are bundled with the 21 | # Android operating system, and which are packaged with your app's APK 22 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 23 | android.useAndroidX=true 24 | 25 | # Use this property to specify which architecture you want to build. 26 | # You can also override it from the CLI using 27 | # ./gradlew -PreactNativeArchitectures=x86_64 28 | reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 29 | 30 | # Use this property to enable support to the new architecture. 31 | # This will allow you to use TurboModules and the Fabric render in 32 | # your application. You should enable this flag either if you want 33 | # to write custom TurboModules/Fabric components OR use libraries that 34 | # are providing them. 35 | newArchEnabled=true 36 | 37 | # Use this property to enable or disable the Hermes JS engine. 38 | # If set to false, you will be using JSC instead. 39 | hermesEnabled=true 40 | -------------------------------------------------------------------------------- /Example/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Example/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /Example/android/gradlew: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Copyright © 2015-2021 the original authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | # SPDX-License-Identifier: Apache-2.0 19 | # 20 | 21 | ############################################################################## 22 | # 23 | # Gradle start up script for POSIX generated by Gradle. 24 | # 25 | # Important for running: 26 | # 27 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is 28 | # noncompliant, but you have some other compliant shell such as ksh or 29 | # bash, then to run this script, type that shell name before the whole 30 | # command line, like: 31 | # 32 | # ksh Gradle 33 | # 34 | # Busybox and similar reduced shells will NOT work, because this script 35 | # requires all of these POSIX shell features: 36 | # * functions; 37 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}», 38 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»; 39 | # * compound commands having a testable exit status, especially «case»; 40 | # * various built-in commands including «command», «set», and «ulimit». 41 | # 42 | # Important for patching: 43 | # 44 | # (2) This script targets any POSIX shell, so it avoids extensions provided 45 | # by Bash, Ksh, etc; in particular arrays are avoided. 46 | # 47 | # The "traditional" practice of packing multiple parameters into a 48 | # space-separated string is a well documented source of bugs and security 49 | # problems, so this is (mostly) avoided, by progressively accumulating 50 | # options in "$@", and eventually passing that to Java. 51 | # 52 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, 53 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; 54 | # see the in-line comments for details. 55 | # 56 | # There are tweaks for specific operating systems such as AIX, CygWin, 57 | # Darwin, MinGW, and NonStop. 58 | # 59 | # (3) This script is generated from the Groovy template 60 | # https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt 61 | # within the Gradle project. 62 | # 63 | # You can find Gradle at https://github.com/gradle/gradle/. 64 | # 65 | ############################################################################## 66 | 67 | # Attempt to set APP_HOME 68 | 69 | # Resolve links: $0 may be a link 70 | app_path=$0 71 | 72 | # Need this for daisy-chained symlinks. 73 | while 74 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path 75 | [ -h "$app_path" ] 76 | do 77 | ls=$( ls -ld "$app_path" ) 78 | link=${ls#*' -> '} 79 | case $link in #( 80 | /*) app_path=$link ;; #( 81 | *) app_path=$APP_HOME$link ;; 82 | esac 83 | done 84 | 85 | # This is normally unused 86 | # shellcheck disable=SC2034 87 | APP_BASE_NAME=${0##*/} 88 | # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) 89 | APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit 90 | 91 | # Use the maximum available, or set MAX_FD != -1 to use that value. 92 | MAX_FD=maximum 93 | 94 | warn () { 95 | echo "$*" 96 | } >&2 97 | 98 | die () { 99 | echo 100 | echo "$*" 101 | echo 102 | exit 1 103 | } >&2 104 | 105 | # OS specific support (must be 'true' or 'false'). 106 | cygwin=false 107 | msys=false 108 | darwin=false 109 | nonstop=false 110 | case "$( uname )" in #( 111 | CYGWIN* ) cygwin=true ;; #( 112 | Darwin* ) darwin=true ;; #( 113 | MSYS* | MINGW* ) msys=true ;; #( 114 | NONSTOP* ) nonstop=true ;; 115 | esac 116 | 117 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 118 | 119 | 120 | # Determine the Java command to use to start the JVM. 121 | if [ -n "$JAVA_HOME" ] ; then 122 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 123 | # IBM's JDK on AIX uses strange locations for the executables 124 | JAVACMD=$JAVA_HOME/jre/sh/java 125 | else 126 | JAVACMD=$JAVA_HOME/bin/java 127 | fi 128 | if [ ! -x "$JAVACMD" ] ; then 129 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 130 | 131 | Please set the JAVA_HOME variable in your environment to match the 132 | location of your Java installation." 133 | fi 134 | else 135 | JAVACMD=java 136 | if ! command -v java >/dev/null 2>&1 137 | then 138 | die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 139 | 140 | Please set the JAVA_HOME variable in your environment to match the 141 | location of your Java installation." 142 | fi 143 | fi 144 | 145 | # Increase the maximum file descriptors if we can. 146 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then 147 | case $MAX_FD in #( 148 | max*) 149 | # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. 150 | # shellcheck disable=SC2039,SC3045 151 | MAX_FD=$( ulimit -H -n ) || 152 | warn "Could not query maximum file descriptor limit" 153 | esac 154 | case $MAX_FD in #( 155 | '' | soft) :;; #( 156 | *) 157 | # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. 158 | # shellcheck disable=SC2039,SC3045 159 | ulimit -n "$MAX_FD" || 160 | warn "Could not set maximum file descriptor limit to $MAX_FD" 161 | esac 162 | fi 163 | 164 | # Collect all arguments for the java command, stacking in reverse order: 165 | # * args from the command line 166 | # * the main class name 167 | # * -classpath 168 | # * -D...appname settings 169 | # * --module-path (only if needed) 170 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. 171 | 172 | # For Cygwin or MSYS, switch paths to Windows format before running java 173 | if "$cygwin" || "$msys" ; then 174 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) 175 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) 176 | 177 | JAVACMD=$( cygpath --unix "$JAVACMD" ) 178 | 179 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 180 | for arg do 181 | if 182 | case $arg in #( 183 | -*) false ;; # don't mess with options #( 184 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath 185 | [ -e "$t" ] ;; #( 186 | *) false ;; 187 | esac 188 | then 189 | arg=$( cygpath --path --ignore --mixed "$arg" ) 190 | fi 191 | # Roll the args list around exactly as many times as the number of 192 | # args, so each arg winds up back in the position where it started, but 193 | # possibly modified. 194 | # 195 | # NB: a `for` loop captures its iteration list before it begins, so 196 | # changing the positional parameters here affects neither the number of 197 | # iterations, nor the values presented in `arg`. 198 | shift # remove old arg 199 | set -- "$@" "$arg" # push replacement arg 200 | done 201 | fi 202 | 203 | 204 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 205 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 206 | 207 | # Collect all arguments for the java command: 208 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, 209 | # and any embedded shellness will be escaped. 210 | # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be 211 | # treated as '${Hostname}' itself on the command line. 212 | 213 | set -- \ 214 | "-Dorg.gradle.appname=$APP_BASE_NAME" \ 215 | -classpath "$CLASSPATH" \ 216 | org.gradle.wrapper.GradleWrapperMain \ 217 | "$@" 218 | 219 | # Stop when "xargs" is not available. 220 | if ! command -v xargs >/dev/null 2>&1 221 | then 222 | die "xargs is not available" 223 | fi 224 | 225 | # Use "xargs" to parse quoted args. 226 | # 227 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. 228 | # 229 | # In Bash we could simply go: 230 | # 231 | # readarray ARGS < <( xargs -n1 <<<"$var" ) && 232 | # set -- "${ARGS[@]}" "$@" 233 | # 234 | # but POSIX shell has neither arrays nor command substitution, so instead we 235 | # post-process each arg (as a line of input to sed) to backslash-escape any 236 | # character that might be a shell metacharacter, then use eval to reverse 237 | # that process (while maintaining the separation between arguments), and wrap 238 | # the whole thing up as a single "set" statement. 239 | # 240 | # This will of course break if any of these variables contains a newline or 241 | # an unmatched quote. 242 | # 243 | 244 | eval "set -- $( 245 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | 246 | xargs -n1 | 247 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | 248 | tr '\n' ' ' 249 | )" '"$@"' 250 | 251 | exec "$JAVACMD" "$@" 252 | -------------------------------------------------------------------------------- /Example/android/gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | @rem SPDX-License-Identifier: Apache-2.0 17 | @rem 18 | 19 | @if "%DEBUG%"=="" @echo off 20 | @rem ########################################################################## 21 | @rem 22 | @rem Gradle startup script for Windows 23 | @rem 24 | @rem ########################################################################## 25 | 26 | @rem Set local scope for the variables with windows NT shell 27 | if "%OS%"=="Windows_NT" setlocal 28 | 29 | set DIRNAME=%~dp0 30 | if "%DIRNAME%"=="" set DIRNAME=. 31 | @rem This is normally unused 32 | set APP_BASE_NAME=%~n0 33 | set APP_HOME=%DIRNAME% 34 | 35 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 36 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 37 | 38 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 39 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 40 | 41 | @rem Find java.exe 42 | if defined JAVA_HOME goto findJavaFromJavaHome 43 | 44 | set JAVA_EXE=java.exe 45 | %JAVA_EXE% -version >NUL 2>&1 46 | if %ERRORLEVEL% equ 0 goto execute 47 | 48 | echo. 1>&2 49 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 50 | echo. 1>&2 51 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2 52 | echo location of your Java installation. 1>&2 53 | 54 | goto fail 55 | 56 | :findJavaFromJavaHome 57 | set JAVA_HOME=%JAVA_HOME:"=% 58 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 59 | 60 | if exist "%JAVA_EXE%" goto execute 61 | 62 | echo. 1>&2 63 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 64 | echo. 1>&2 65 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2 66 | echo location of your Java installation. 1>&2 67 | 68 | goto fail 69 | 70 | :execute 71 | @rem Setup the command line 72 | 73 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 74 | 75 | 76 | @rem Execute Gradle 77 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 78 | 79 | :end 80 | @rem End local scope for the variables with windows NT shell 81 | if %ERRORLEVEL% equ 0 goto mainEnd 82 | 83 | :fail 84 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 85 | rem the _cmd.exe /c_ return code! 86 | set EXIT_CODE=%ERRORLEVEL% 87 | if %EXIT_CODE% equ 0 set EXIT_CODE=1 88 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% 89 | exit /b %EXIT_CODE% 90 | 91 | :mainEnd 92 | if "%OS%"=="Windows_NT" endlocal 93 | 94 | :omega 95 | -------------------------------------------------------------------------------- /Example/android/settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") } 2 | plugins { id("com.facebook.react.settings") } 3 | extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() } 4 | rootProject.name = 'ReactNativeRootToast' 5 | include ':app' 6 | includeBuild('../node_modules/@react-native/gradle-plugin') 7 | -------------------------------------------------------------------------------- /Example/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ReactNativeRootToast", 3 | "displayName": "ReactNativeRootToast" 4 | } 5 | -------------------------------------------------------------------------------- /Example/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:@react-native/babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /Example/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import {AppRegistry} from 'react-native'; 6 | import App from './App'; 7 | import {name as appName} from './app.json'; 8 | 9 | AppRegistry.registerComponent(appName, () => App); 10 | -------------------------------------------------------------------------------- /Example/ios/.xcode.env: -------------------------------------------------------------------------------- 1 | # This `.xcode.env` file is versioned and is used to source the environment 2 | # used when running script phases inside Xcode. 3 | # To customize your local environment, you can create an `.xcode.env.local` 4 | # file that is not versioned. 5 | 6 | # NODE_BINARY variable contains the PATH to the node executable. 7 | # 8 | # Customize the NODE_BINARY variable here. 9 | # For example, to use nvm with brew, add the following line 10 | # . "$(brew --prefix nvm)/nvm.sh" --no-use 11 | export NODE_BINARY=$(command -v node) 12 | -------------------------------------------------------------------------------- /Example/ios/Podfile: -------------------------------------------------------------------------------- 1 | # Resolve react_native_pods.rb with node to allow for hoisting 2 | require Pod::Executable.execute_command('node', ['-p', 3 | 'require.resolve( 4 | "react-native/scripts/react_native_pods.rb", 5 | {paths: [process.argv[1]]}, 6 | )', __dir__]).strip 7 | 8 | platform :ios, min_ios_version_supported 9 | prepare_react_native_project! 10 | 11 | linkage = ENV['USE_FRAMEWORKS'] 12 | if linkage != nil 13 | Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green 14 | use_frameworks! :linkage => linkage.to_sym 15 | end 16 | 17 | target 'ReactNativeRootToast' do 18 | config = use_native_modules! 19 | 20 | use_react_native!( 21 | :path => config[:reactNativePath], 22 | # An absolute path to your application root. 23 | :app_path => "#{Pod::Config.instance.installation_root}/.." 24 | ) 25 | 26 | post_install do |installer| 27 | # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 28 | react_native_post_install( 29 | installer, 30 | config[:reactNativePath], 31 | :mac_catalyst_enabled => false, 32 | # :ccache_enabled => true 33 | ) 34 | end 35 | end 36 | -------------------------------------------------------------------------------- /Example/ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - boost (1.84.0) 3 | - DoubleConversion (1.1.6) 4 | - fast_float (6.1.4) 5 | - FBLazyVector (0.78.1) 6 | - fmt (11.0.2) 7 | - glog (0.3.5) 8 | - hermes-engine (0.78.1): 9 | - hermes-engine/Pre-built (= 0.78.1) 10 | - hermes-engine/Pre-built (0.78.1) 11 | - RCT-Folly (2024.11.18.00): 12 | - boost 13 | - DoubleConversion 14 | - fast_float (= 6.1.4) 15 | - fmt (= 11.0.2) 16 | - glog 17 | - RCT-Folly/Default (= 2024.11.18.00) 18 | - RCT-Folly/Default (2024.11.18.00): 19 | - boost 20 | - DoubleConversion 21 | - fast_float (= 6.1.4) 22 | - fmt (= 11.0.2) 23 | - glog 24 | - RCT-Folly/Fabric (2024.11.18.00): 25 | - boost 26 | - DoubleConversion 27 | - fast_float (= 6.1.4) 28 | - fmt (= 11.0.2) 29 | - glog 30 | - RCTDeprecation (0.78.1) 31 | - RCTRequired (0.78.1) 32 | - RCTTypeSafety (0.78.1): 33 | - FBLazyVector (= 0.78.1) 34 | - RCTRequired (= 0.78.1) 35 | - React-Core (= 0.78.1) 36 | - React (0.78.1): 37 | - React-Core (= 0.78.1) 38 | - React-Core/DevSupport (= 0.78.1) 39 | - React-Core/RCTWebSocket (= 0.78.1) 40 | - React-RCTActionSheet (= 0.78.1) 41 | - React-RCTAnimation (= 0.78.1) 42 | - React-RCTBlob (= 0.78.1) 43 | - React-RCTImage (= 0.78.1) 44 | - React-RCTLinking (= 0.78.1) 45 | - React-RCTNetwork (= 0.78.1) 46 | - React-RCTSettings (= 0.78.1) 47 | - React-RCTText (= 0.78.1) 48 | - React-RCTVibration (= 0.78.1) 49 | - React-callinvoker (0.78.1) 50 | - React-Core (0.78.1): 51 | - glog 52 | - hermes-engine 53 | - RCT-Folly (= 2024.11.18.00) 54 | - RCTDeprecation 55 | - React-Core/Default (= 0.78.1) 56 | - React-cxxreact 57 | - React-featureflags 58 | - React-hermes 59 | - React-jsi 60 | - React-jsiexecutor 61 | - React-jsinspector 62 | - React-perflogger 63 | - React-runtimescheduler 64 | - React-utils 65 | - SocketRocket (= 0.7.1) 66 | - Yoga 67 | - React-Core/CoreModulesHeaders (0.78.1): 68 | - glog 69 | - hermes-engine 70 | - RCT-Folly (= 2024.11.18.00) 71 | - RCTDeprecation 72 | - React-Core/Default 73 | - React-cxxreact 74 | - React-featureflags 75 | - React-hermes 76 | - React-jsi 77 | - React-jsiexecutor 78 | - React-jsinspector 79 | - React-perflogger 80 | - React-runtimescheduler 81 | - React-utils 82 | - SocketRocket (= 0.7.1) 83 | - Yoga 84 | - React-Core/Default (0.78.1): 85 | - glog 86 | - hermes-engine 87 | - RCT-Folly (= 2024.11.18.00) 88 | - RCTDeprecation 89 | - React-cxxreact 90 | - React-featureflags 91 | - React-hermes 92 | - React-jsi 93 | - React-jsiexecutor 94 | - React-jsinspector 95 | - React-perflogger 96 | - React-runtimescheduler 97 | - React-utils 98 | - SocketRocket (= 0.7.1) 99 | - Yoga 100 | - React-Core/DevSupport (0.78.1): 101 | - glog 102 | - hermes-engine 103 | - RCT-Folly (= 2024.11.18.00) 104 | - RCTDeprecation 105 | - React-Core/Default (= 0.78.1) 106 | - React-Core/RCTWebSocket (= 0.78.1) 107 | - React-cxxreact 108 | - React-featureflags 109 | - React-hermes 110 | - React-jsi 111 | - React-jsiexecutor 112 | - React-jsinspector 113 | - React-perflogger 114 | - React-runtimescheduler 115 | - React-utils 116 | - SocketRocket (= 0.7.1) 117 | - Yoga 118 | - React-Core/RCTActionSheetHeaders (0.78.1): 119 | - glog 120 | - hermes-engine 121 | - RCT-Folly (= 2024.11.18.00) 122 | - RCTDeprecation 123 | - React-Core/Default 124 | - React-cxxreact 125 | - React-featureflags 126 | - React-hermes 127 | - React-jsi 128 | - React-jsiexecutor 129 | - React-jsinspector 130 | - React-perflogger 131 | - React-runtimescheduler 132 | - React-utils 133 | - SocketRocket (= 0.7.1) 134 | - Yoga 135 | - React-Core/RCTAnimationHeaders (0.78.1): 136 | - glog 137 | - hermes-engine 138 | - RCT-Folly (= 2024.11.18.00) 139 | - RCTDeprecation 140 | - React-Core/Default 141 | - React-cxxreact 142 | - React-featureflags 143 | - React-hermes 144 | - React-jsi 145 | - React-jsiexecutor 146 | - React-jsinspector 147 | - React-perflogger 148 | - React-runtimescheduler 149 | - React-utils 150 | - SocketRocket (= 0.7.1) 151 | - Yoga 152 | - React-Core/RCTBlobHeaders (0.78.1): 153 | - glog 154 | - hermes-engine 155 | - RCT-Folly (= 2024.11.18.00) 156 | - RCTDeprecation 157 | - React-Core/Default 158 | - React-cxxreact 159 | - React-featureflags 160 | - React-hermes 161 | - React-jsi 162 | - React-jsiexecutor 163 | - React-jsinspector 164 | - React-perflogger 165 | - React-runtimescheduler 166 | - React-utils 167 | - SocketRocket (= 0.7.1) 168 | - Yoga 169 | - React-Core/RCTImageHeaders (0.78.1): 170 | - glog 171 | - hermes-engine 172 | - RCT-Folly (= 2024.11.18.00) 173 | - RCTDeprecation 174 | - React-Core/Default 175 | - React-cxxreact 176 | - React-featureflags 177 | - React-hermes 178 | - React-jsi 179 | - React-jsiexecutor 180 | - React-jsinspector 181 | - React-perflogger 182 | - React-runtimescheduler 183 | - React-utils 184 | - SocketRocket (= 0.7.1) 185 | - Yoga 186 | - React-Core/RCTLinkingHeaders (0.78.1): 187 | - glog 188 | - hermes-engine 189 | - RCT-Folly (= 2024.11.18.00) 190 | - RCTDeprecation 191 | - React-Core/Default 192 | - React-cxxreact 193 | - React-featureflags 194 | - React-hermes 195 | - React-jsi 196 | - React-jsiexecutor 197 | - React-jsinspector 198 | - React-perflogger 199 | - React-runtimescheduler 200 | - React-utils 201 | - SocketRocket (= 0.7.1) 202 | - Yoga 203 | - React-Core/RCTNetworkHeaders (0.78.1): 204 | - glog 205 | - hermes-engine 206 | - RCT-Folly (= 2024.11.18.00) 207 | - RCTDeprecation 208 | - React-Core/Default 209 | - React-cxxreact 210 | - React-featureflags 211 | - React-hermes 212 | - React-jsi 213 | - React-jsiexecutor 214 | - React-jsinspector 215 | - React-perflogger 216 | - React-runtimescheduler 217 | - React-utils 218 | - SocketRocket (= 0.7.1) 219 | - Yoga 220 | - React-Core/RCTSettingsHeaders (0.78.1): 221 | - glog 222 | - hermes-engine 223 | - RCT-Folly (= 2024.11.18.00) 224 | - RCTDeprecation 225 | - React-Core/Default 226 | - React-cxxreact 227 | - React-featureflags 228 | - React-hermes 229 | - React-jsi 230 | - React-jsiexecutor 231 | - React-jsinspector 232 | - React-perflogger 233 | - React-runtimescheduler 234 | - React-utils 235 | - SocketRocket (= 0.7.1) 236 | - Yoga 237 | - React-Core/RCTTextHeaders (0.78.1): 238 | - glog 239 | - hermes-engine 240 | - RCT-Folly (= 2024.11.18.00) 241 | - RCTDeprecation 242 | - React-Core/Default 243 | - React-cxxreact 244 | - React-featureflags 245 | - React-hermes 246 | - React-jsi 247 | - React-jsiexecutor 248 | - React-jsinspector 249 | - React-perflogger 250 | - React-runtimescheduler 251 | - React-utils 252 | - SocketRocket (= 0.7.1) 253 | - Yoga 254 | - React-Core/RCTVibrationHeaders (0.78.1): 255 | - glog 256 | - hermes-engine 257 | - RCT-Folly (= 2024.11.18.00) 258 | - RCTDeprecation 259 | - React-Core/Default 260 | - React-cxxreact 261 | - React-featureflags 262 | - React-hermes 263 | - React-jsi 264 | - React-jsiexecutor 265 | - React-jsinspector 266 | - React-perflogger 267 | - React-runtimescheduler 268 | - React-utils 269 | - SocketRocket (= 0.7.1) 270 | - Yoga 271 | - React-Core/RCTWebSocket (0.78.1): 272 | - glog 273 | - hermes-engine 274 | - RCT-Folly (= 2024.11.18.00) 275 | - RCTDeprecation 276 | - React-Core/Default (= 0.78.1) 277 | - React-cxxreact 278 | - React-featureflags 279 | - React-hermes 280 | - React-jsi 281 | - React-jsiexecutor 282 | - React-jsinspector 283 | - React-perflogger 284 | - React-runtimescheduler 285 | - React-utils 286 | - SocketRocket (= 0.7.1) 287 | - Yoga 288 | - React-CoreModules (0.78.1): 289 | - DoubleConversion 290 | - fast_float (= 6.1.4) 291 | - fmt (= 11.0.2) 292 | - RCT-Folly (= 2024.11.18.00) 293 | - RCTTypeSafety (= 0.78.1) 294 | - React-Core/CoreModulesHeaders (= 0.78.1) 295 | - React-jsi (= 0.78.1) 296 | - React-jsinspector 297 | - React-NativeModulesApple 298 | - React-RCTBlob 299 | - React-RCTFBReactNativeSpec 300 | - React-RCTImage (= 0.78.1) 301 | - ReactCommon 302 | - SocketRocket (= 0.7.1) 303 | - React-cxxreact (0.78.1): 304 | - boost 305 | - DoubleConversion 306 | - fast_float (= 6.1.4) 307 | - fmt (= 11.0.2) 308 | - glog 309 | - hermes-engine 310 | - RCT-Folly (= 2024.11.18.00) 311 | - React-callinvoker (= 0.78.1) 312 | - React-debug (= 0.78.1) 313 | - React-jsi (= 0.78.1) 314 | - React-jsinspector 315 | - React-logger (= 0.78.1) 316 | - React-perflogger (= 0.78.1) 317 | - React-runtimeexecutor (= 0.78.1) 318 | - React-timing (= 0.78.1) 319 | - React-debug (0.78.1) 320 | - React-defaultsnativemodule (0.78.1): 321 | - hermes-engine 322 | - RCT-Folly 323 | - React-domnativemodule 324 | - React-featureflagsnativemodule 325 | - React-idlecallbacksnativemodule 326 | - React-jsi 327 | - React-jsiexecutor 328 | - React-microtasksnativemodule 329 | - React-RCTFBReactNativeSpec 330 | - React-domnativemodule (0.78.1): 331 | - hermes-engine 332 | - RCT-Folly 333 | - React-Fabric 334 | - React-FabricComponents 335 | - React-graphics 336 | - React-jsi 337 | - React-jsiexecutor 338 | - React-RCTFBReactNativeSpec 339 | - ReactCommon/turbomodule/core 340 | - Yoga 341 | - React-Fabric (0.78.1): 342 | - DoubleConversion 343 | - fast_float (= 6.1.4) 344 | - fmt (= 11.0.2) 345 | - glog 346 | - hermes-engine 347 | - RCT-Folly/Fabric (= 2024.11.18.00) 348 | - RCTRequired 349 | - RCTTypeSafety 350 | - React-Core 351 | - React-cxxreact 352 | - React-debug 353 | - React-Fabric/animations (= 0.78.1) 354 | - React-Fabric/attributedstring (= 0.78.1) 355 | - React-Fabric/componentregistry (= 0.78.1) 356 | - React-Fabric/componentregistrynative (= 0.78.1) 357 | - React-Fabric/components (= 0.78.1) 358 | - React-Fabric/consistency (= 0.78.1) 359 | - React-Fabric/core (= 0.78.1) 360 | - React-Fabric/dom (= 0.78.1) 361 | - React-Fabric/imagemanager (= 0.78.1) 362 | - React-Fabric/leakchecker (= 0.78.1) 363 | - React-Fabric/mounting (= 0.78.1) 364 | - React-Fabric/observers (= 0.78.1) 365 | - React-Fabric/scheduler (= 0.78.1) 366 | - React-Fabric/telemetry (= 0.78.1) 367 | - React-Fabric/templateprocessor (= 0.78.1) 368 | - React-Fabric/uimanager (= 0.78.1) 369 | - React-featureflags 370 | - React-graphics 371 | - React-jsi 372 | - React-jsiexecutor 373 | - React-logger 374 | - React-rendererdebug 375 | - React-runtimescheduler 376 | - React-utils 377 | - ReactCommon/turbomodule/core 378 | - React-Fabric/animations (0.78.1): 379 | - DoubleConversion 380 | - fast_float (= 6.1.4) 381 | - fmt (= 11.0.2) 382 | - glog 383 | - hermes-engine 384 | - RCT-Folly/Fabric (= 2024.11.18.00) 385 | - RCTRequired 386 | - RCTTypeSafety 387 | - React-Core 388 | - React-cxxreact 389 | - React-debug 390 | - React-featureflags 391 | - React-graphics 392 | - React-jsi 393 | - React-jsiexecutor 394 | - React-logger 395 | - React-rendererdebug 396 | - React-runtimescheduler 397 | - React-utils 398 | - ReactCommon/turbomodule/core 399 | - React-Fabric/attributedstring (0.78.1): 400 | - DoubleConversion 401 | - fast_float (= 6.1.4) 402 | - fmt (= 11.0.2) 403 | - glog 404 | - hermes-engine 405 | - RCT-Folly/Fabric (= 2024.11.18.00) 406 | - RCTRequired 407 | - RCTTypeSafety 408 | - React-Core 409 | - React-cxxreact 410 | - React-debug 411 | - React-featureflags 412 | - React-graphics 413 | - React-jsi 414 | - React-jsiexecutor 415 | - React-logger 416 | - React-rendererdebug 417 | - React-runtimescheduler 418 | - React-utils 419 | - ReactCommon/turbomodule/core 420 | - React-Fabric/componentregistry (0.78.1): 421 | - DoubleConversion 422 | - fast_float (= 6.1.4) 423 | - fmt (= 11.0.2) 424 | - glog 425 | - hermes-engine 426 | - RCT-Folly/Fabric (= 2024.11.18.00) 427 | - RCTRequired 428 | - RCTTypeSafety 429 | - React-Core 430 | - React-cxxreact 431 | - React-debug 432 | - React-featureflags 433 | - React-graphics 434 | - React-jsi 435 | - React-jsiexecutor 436 | - React-logger 437 | - React-rendererdebug 438 | - React-runtimescheduler 439 | - React-utils 440 | - ReactCommon/turbomodule/core 441 | - React-Fabric/componentregistrynative (0.78.1): 442 | - DoubleConversion 443 | - fast_float (= 6.1.4) 444 | - fmt (= 11.0.2) 445 | - glog 446 | - hermes-engine 447 | - RCT-Folly/Fabric (= 2024.11.18.00) 448 | - RCTRequired 449 | - RCTTypeSafety 450 | - React-Core 451 | - React-cxxreact 452 | - React-debug 453 | - React-featureflags 454 | - React-graphics 455 | - React-jsi 456 | - React-jsiexecutor 457 | - React-logger 458 | - React-rendererdebug 459 | - React-runtimescheduler 460 | - React-utils 461 | - ReactCommon/turbomodule/core 462 | - React-Fabric/components (0.78.1): 463 | - DoubleConversion 464 | - fast_float (= 6.1.4) 465 | - fmt (= 11.0.2) 466 | - glog 467 | - hermes-engine 468 | - RCT-Folly/Fabric (= 2024.11.18.00) 469 | - RCTRequired 470 | - RCTTypeSafety 471 | - React-Core 472 | - React-cxxreact 473 | - React-debug 474 | - React-Fabric/components/legacyviewmanagerinterop (= 0.78.1) 475 | - React-Fabric/components/root (= 0.78.1) 476 | - React-Fabric/components/view (= 0.78.1) 477 | - React-featureflags 478 | - React-graphics 479 | - React-jsi 480 | - React-jsiexecutor 481 | - React-logger 482 | - React-rendererdebug 483 | - React-runtimescheduler 484 | - React-utils 485 | - ReactCommon/turbomodule/core 486 | - React-Fabric/components/legacyviewmanagerinterop (0.78.1): 487 | - DoubleConversion 488 | - fast_float (= 6.1.4) 489 | - fmt (= 11.0.2) 490 | - glog 491 | - hermes-engine 492 | - RCT-Folly/Fabric (= 2024.11.18.00) 493 | - RCTRequired 494 | - RCTTypeSafety 495 | - React-Core 496 | - React-cxxreact 497 | - React-debug 498 | - React-featureflags 499 | - React-graphics 500 | - React-jsi 501 | - React-jsiexecutor 502 | - React-logger 503 | - React-rendererdebug 504 | - React-runtimescheduler 505 | - React-utils 506 | - ReactCommon/turbomodule/core 507 | - React-Fabric/components/root (0.78.1): 508 | - DoubleConversion 509 | - fast_float (= 6.1.4) 510 | - fmt (= 11.0.2) 511 | - glog 512 | - hermes-engine 513 | - RCT-Folly/Fabric (= 2024.11.18.00) 514 | - RCTRequired 515 | - RCTTypeSafety 516 | - React-Core 517 | - React-cxxreact 518 | - React-debug 519 | - React-featureflags 520 | - React-graphics 521 | - React-jsi 522 | - React-jsiexecutor 523 | - React-logger 524 | - React-rendererdebug 525 | - React-runtimescheduler 526 | - React-utils 527 | - ReactCommon/turbomodule/core 528 | - React-Fabric/components/view (0.78.1): 529 | - DoubleConversion 530 | - fast_float (= 6.1.4) 531 | - fmt (= 11.0.2) 532 | - glog 533 | - hermes-engine 534 | - RCT-Folly/Fabric (= 2024.11.18.00) 535 | - RCTRequired 536 | - RCTTypeSafety 537 | - React-Core 538 | - React-cxxreact 539 | - React-debug 540 | - React-featureflags 541 | - React-graphics 542 | - React-jsi 543 | - React-jsiexecutor 544 | - React-logger 545 | - React-rendererdebug 546 | - React-runtimescheduler 547 | - React-utils 548 | - ReactCommon/turbomodule/core 549 | - Yoga 550 | - React-Fabric/consistency (0.78.1): 551 | - DoubleConversion 552 | - fast_float (= 6.1.4) 553 | - fmt (= 11.0.2) 554 | - glog 555 | - hermes-engine 556 | - RCT-Folly/Fabric (= 2024.11.18.00) 557 | - RCTRequired 558 | - RCTTypeSafety 559 | - React-Core 560 | - React-cxxreact 561 | - React-debug 562 | - React-featureflags 563 | - React-graphics 564 | - React-jsi 565 | - React-jsiexecutor 566 | - React-logger 567 | - React-rendererdebug 568 | - React-runtimescheduler 569 | - React-utils 570 | - ReactCommon/turbomodule/core 571 | - React-Fabric/core (0.78.1): 572 | - DoubleConversion 573 | - fast_float (= 6.1.4) 574 | - fmt (= 11.0.2) 575 | - glog 576 | - hermes-engine 577 | - RCT-Folly/Fabric (= 2024.11.18.00) 578 | - RCTRequired 579 | - RCTTypeSafety 580 | - React-Core 581 | - React-cxxreact 582 | - React-debug 583 | - React-featureflags 584 | - React-graphics 585 | - React-jsi 586 | - React-jsiexecutor 587 | - React-logger 588 | - React-rendererdebug 589 | - React-runtimescheduler 590 | - React-utils 591 | - ReactCommon/turbomodule/core 592 | - React-Fabric/dom (0.78.1): 593 | - DoubleConversion 594 | - fast_float (= 6.1.4) 595 | - fmt (= 11.0.2) 596 | - glog 597 | - hermes-engine 598 | - RCT-Folly/Fabric (= 2024.11.18.00) 599 | - RCTRequired 600 | - RCTTypeSafety 601 | - React-Core 602 | - React-cxxreact 603 | - React-debug 604 | - React-featureflags 605 | - React-graphics 606 | - React-jsi 607 | - React-jsiexecutor 608 | - React-logger 609 | - React-rendererdebug 610 | - React-runtimescheduler 611 | - React-utils 612 | - ReactCommon/turbomodule/core 613 | - React-Fabric/imagemanager (0.78.1): 614 | - DoubleConversion 615 | - fast_float (= 6.1.4) 616 | - fmt (= 11.0.2) 617 | - glog 618 | - hermes-engine 619 | - RCT-Folly/Fabric (= 2024.11.18.00) 620 | - RCTRequired 621 | - RCTTypeSafety 622 | - React-Core 623 | - React-cxxreact 624 | - React-debug 625 | - React-featureflags 626 | - React-graphics 627 | - React-jsi 628 | - React-jsiexecutor 629 | - React-logger 630 | - React-rendererdebug 631 | - React-runtimescheduler 632 | - React-utils 633 | - ReactCommon/turbomodule/core 634 | - React-Fabric/leakchecker (0.78.1): 635 | - DoubleConversion 636 | - fast_float (= 6.1.4) 637 | - fmt (= 11.0.2) 638 | - glog 639 | - hermes-engine 640 | - RCT-Folly/Fabric (= 2024.11.18.00) 641 | - RCTRequired 642 | - RCTTypeSafety 643 | - React-Core 644 | - React-cxxreact 645 | - React-debug 646 | - React-featureflags 647 | - React-graphics 648 | - React-jsi 649 | - React-jsiexecutor 650 | - React-logger 651 | - React-rendererdebug 652 | - React-runtimescheduler 653 | - React-utils 654 | - ReactCommon/turbomodule/core 655 | - React-Fabric/mounting (0.78.1): 656 | - DoubleConversion 657 | - fast_float (= 6.1.4) 658 | - fmt (= 11.0.2) 659 | - glog 660 | - hermes-engine 661 | - RCT-Folly/Fabric (= 2024.11.18.00) 662 | - RCTRequired 663 | - RCTTypeSafety 664 | - React-Core 665 | - React-cxxreact 666 | - React-debug 667 | - React-featureflags 668 | - React-graphics 669 | - React-jsi 670 | - React-jsiexecutor 671 | - React-logger 672 | - React-rendererdebug 673 | - React-runtimescheduler 674 | - React-utils 675 | - ReactCommon/turbomodule/core 676 | - React-Fabric/observers (0.78.1): 677 | - DoubleConversion 678 | - fast_float (= 6.1.4) 679 | - fmt (= 11.0.2) 680 | - glog 681 | - hermes-engine 682 | - RCT-Folly/Fabric (= 2024.11.18.00) 683 | - RCTRequired 684 | - RCTTypeSafety 685 | - React-Core 686 | - React-cxxreact 687 | - React-debug 688 | - React-Fabric/observers/events (= 0.78.1) 689 | - React-featureflags 690 | - React-graphics 691 | - React-jsi 692 | - React-jsiexecutor 693 | - React-logger 694 | - React-rendererdebug 695 | - React-runtimescheduler 696 | - React-utils 697 | - ReactCommon/turbomodule/core 698 | - React-Fabric/observers/events (0.78.1): 699 | - DoubleConversion 700 | - fast_float (= 6.1.4) 701 | - fmt (= 11.0.2) 702 | - glog 703 | - hermes-engine 704 | - RCT-Folly/Fabric (= 2024.11.18.00) 705 | - RCTRequired 706 | - RCTTypeSafety 707 | - React-Core 708 | - React-cxxreact 709 | - React-debug 710 | - React-featureflags 711 | - React-graphics 712 | - React-jsi 713 | - React-jsiexecutor 714 | - React-logger 715 | - React-rendererdebug 716 | - React-runtimescheduler 717 | - React-utils 718 | - ReactCommon/turbomodule/core 719 | - React-Fabric/scheduler (0.78.1): 720 | - DoubleConversion 721 | - fast_float (= 6.1.4) 722 | - fmt (= 11.0.2) 723 | - glog 724 | - hermes-engine 725 | - RCT-Folly/Fabric (= 2024.11.18.00) 726 | - RCTRequired 727 | - RCTTypeSafety 728 | - React-Core 729 | - React-cxxreact 730 | - React-debug 731 | - React-Fabric/observers/events 732 | - React-featureflags 733 | - React-graphics 734 | - React-jsi 735 | - React-jsiexecutor 736 | - React-logger 737 | - React-performancetimeline 738 | - React-rendererdebug 739 | - React-runtimescheduler 740 | - React-utils 741 | - ReactCommon/turbomodule/core 742 | - React-Fabric/telemetry (0.78.1): 743 | - DoubleConversion 744 | - fast_float (= 6.1.4) 745 | - fmt (= 11.0.2) 746 | - glog 747 | - hermes-engine 748 | - RCT-Folly/Fabric (= 2024.11.18.00) 749 | - RCTRequired 750 | - RCTTypeSafety 751 | - React-Core 752 | - React-cxxreact 753 | - React-debug 754 | - React-featureflags 755 | - React-graphics 756 | - React-jsi 757 | - React-jsiexecutor 758 | - React-logger 759 | - React-rendererdebug 760 | - React-runtimescheduler 761 | - React-utils 762 | - ReactCommon/turbomodule/core 763 | - React-Fabric/templateprocessor (0.78.1): 764 | - DoubleConversion 765 | - fast_float (= 6.1.4) 766 | - fmt (= 11.0.2) 767 | - glog 768 | - hermes-engine 769 | - RCT-Folly/Fabric (= 2024.11.18.00) 770 | - RCTRequired 771 | - RCTTypeSafety 772 | - React-Core 773 | - React-cxxreact 774 | - React-debug 775 | - React-featureflags 776 | - React-graphics 777 | - React-jsi 778 | - React-jsiexecutor 779 | - React-logger 780 | - React-rendererdebug 781 | - React-runtimescheduler 782 | - React-utils 783 | - ReactCommon/turbomodule/core 784 | - React-Fabric/uimanager (0.78.1): 785 | - DoubleConversion 786 | - fast_float (= 6.1.4) 787 | - fmt (= 11.0.2) 788 | - glog 789 | - hermes-engine 790 | - RCT-Folly/Fabric (= 2024.11.18.00) 791 | - RCTRequired 792 | - RCTTypeSafety 793 | - React-Core 794 | - React-cxxreact 795 | - React-debug 796 | - React-Fabric/uimanager/consistency (= 0.78.1) 797 | - React-featureflags 798 | - React-graphics 799 | - React-jsi 800 | - React-jsiexecutor 801 | - React-logger 802 | - React-rendererconsistency 803 | - React-rendererdebug 804 | - React-runtimescheduler 805 | - React-utils 806 | - ReactCommon/turbomodule/core 807 | - React-Fabric/uimanager/consistency (0.78.1): 808 | - DoubleConversion 809 | - fast_float (= 6.1.4) 810 | - fmt (= 11.0.2) 811 | - glog 812 | - hermes-engine 813 | - RCT-Folly/Fabric (= 2024.11.18.00) 814 | - RCTRequired 815 | - RCTTypeSafety 816 | - React-Core 817 | - React-cxxreact 818 | - React-debug 819 | - React-featureflags 820 | - React-graphics 821 | - React-jsi 822 | - React-jsiexecutor 823 | - React-logger 824 | - React-rendererconsistency 825 | - React-rendererdebug 826 | - React-runtimescheduler 827 | - React-utils 828 | - ReactCommon/turbomodule/core 829 | - React-FabricComponents (0.78.1): 830 | - DoubleConversion 831 | - fast_float (= 6.1.4) 832 | - fmt (= 11.0.2) 833 | - glog 834 | - hermes-engine 835 | - RCT-Folly/Fabric (= 2024.11.18.00) 836 | - RCTRequired 837 | - RCTTypeSafety 838 | - React-Core 839 | - React-cxxreact 840 | - React-debug 841 | - React-Fabric 842 | - React-FabricComponents/components (= 0.78.1) 843 | - React-FabricComponents/textlayoutmanager (= 0.78.1) 844 | - React-featureflags 845 | - React-graphics 846 | - React-jsi 847 | - React-jsiexecutor 848 | - React-logger 849 | - React-rendererdebug 850 | - React-runtimescheduler 851 | - React-utils 852 | - ReactCommon/turbomodule/core 853 | - Yoga 854 | - React-FabricComponents/components (0.78.1): 855 | - DoubleConversion 856 | - fast_float (= 6.1.4) 857 | - fmt (= 11.0.2) 858 | - glog 859 | - hermes-engine 860 | - RCT-Folly/Fabric (= 2024.11.18.00) 861 | - RCTRequired 862 | - RCTTypeSafety 863 | - React-Core 864 | - React-cxxreact 865 | - React-debug 866 | - React-Fabric 867 | - React-FabricComponents/components/inputaccessory (= 0.78.1) 868 | - React-FabricComponents/components/iostextinput (= 0.78.1) 869 | - React-FabricComponents/components/modal (= 0.78.1) 870 | - React-FabricComponents/components/rncore (= 0.78.1) 871 | - React-FabricComponents/components/safeareaview (= 0.78.1) 872 | - React-FabricComponents/components/scrollview (= 0.78.1) 873 | - React-FabricComponents/components/text (= 0.78.1) 874 | - React-FabricComponents/components/textinput (= 0.78.1) 875 | - React-FabricComponents/components/unimplementedview (= 0.78.1) 876 | - React-featureflags 877 | - React-graphics 878 | - React-jsi 879 | - React-jsiexecutor 880 | - React-logger 881 | - React-rendererdebug 882 | - React-runtimescheduler 883 | - React-utils 884 | - ReactCommon/turbomodule/core 885 | - Yoga 886 | - React-FabricComponents/components/inputaccessory (0.78.1): 887 | - DoubleConversion 888 | - fast_float (= 6.1.4) 889 | - fmt (= 11.0.2) 890 | - glog 891 | - hermes-engine 892 | - RCT-Folly/Fabric (= 2024.11.18.00) 893 | - RCTRequired 894 | - RCTTypeSafety 895 | - React-Core 896 | - React-cxxreact 897 | - React-debug 898 | - React-Fabric 899 | - React-featureflags 900 | - React-graphics 901 | - React-jsi 902 | - React-jsiexecutor 903 | - React-logger 904 | - React-rendererdebug 905 | - React-runtimescheduler 906 | - React-utils 907 | - ReactCommon/turbomodule/core 908 | - Yoga 909 | - React-FabricComponents/components/iostextinput (0.78.1): 910 | - DoubleConversion 911 | - fast_float (= 6.1.4) 912 | - fmt (= 11.0.2) 913 | - glog 914 | - hermes-engine 915 | - RCT-Folly/Fabric (= 2024.11.18.00) 916 | - RCTRequired 917 | - RCTTypeSafety 918 | - React-Core 919 | - React-cxxreact 920 | - React-debug 921 | - React-Fabric 922 | - React-featureflags 923 | - React-graphics 924 | - React-jsi 925 | - React-jsiexecutor 926 | - React-logger 927 | - React-rendererdebug 928 | - React-runtimescheduler 929 | - React-utils 930 | - ReactCommon/turbomodule/core 931 | - Yoga 932 | - React-FabricComponents/components/modal (0.78.1): 933 | - DoubleConversion 934 | - fast_float (= 6.1.4) 935 | - fmt (= 11.0.2) 936 | - glog 937 | - hermes-engine 938 | - RCT-Folly/Fabric (= 2024.11.18.00) 939 | - RCTRequired 940 | - RCTTypeSafety 941 | - React-Core 942 | - React-cxxreact 943 | - React-debug 944 | - React-Fabric 945 | - React-featureflags 946 | - React-graphics 947 | - React-jsi 948 | - React-jsiexecutor 949 | - React-logger 950 | - React-rendererdebug 951 | - React-runtimescheduler 952 | - React-utils 953 | - ReactCommon/turbomodule/core 954 | - Yoga 955 | - React-FabricComponents/components/rncore (0.78.1): 956 | - DoubleConversion 957 | - fast_float (= 6.1.4) 958 | - fmt (= 11.0.2) 959 | - glog 960 | - hermes-engine 961 | - RCT-Folly/Fabric (= 2024.11.18.00) 962 | - RCTRequired 963 | - RCTTypeSafety 964 | - React-Core 965 | - React-cxxreact 966 | - React-debug 967 | - React-Fabric 968 | - React-featureflags 969 | - React-graphics 970 | - React-jsi 971 | - React-jsiexecutor 972 | - React-logger 973 | - React-rendererdebug 974 | - React-runtimescheduler 975 | - React-utils 976 | - ReactCommon/turbomodule/core 977 | - Yoga 978 | - React-FabricComponents/components/safeareaview (0.78.1): 979 | - DoubleConversion 980 | - fast_float (= 6.1.4) 981 | - fmt (= 11.0.2) 982 | - glog 983 | - hermes-engine 984 | - RCT-Folly/Fabric (= 2024.11.18.00) 985 | - RCTRequired 986 | - RCTTypeSafety 987 | - React-Core 988 | - React-cxxreact 989 | - React-debug 990 | - React-Fabric 991 | - React-featureflags 992 | - React-graphics 993 | - React-jsi 994 | - React-jsiexecutor 995 | - React-logger 996 | - React-rendererdebug 997 | - React-runtimescheduler 998 | - React-utils 999 | - ReactCommon/turbomodule/core 1000 | - Yoga 1001 | - React-FabricComponents/components/scrollview (0.78.1): 1002 | - DoubleConversion 1003 | - fast_float (= 6.1.4) 1004 | - fmt (= 11.0.2) 1005 | - glog 1006 | - hermes-engine 1007 | - RCT-Folly/Fabric (= 2024.11.18.00) 1008 | - RCTRequired 1009 | - RCTTypeSafety 1010 | - React-Core 1011 | - React-cxxreact 1012 | - React-debug 1013 | - React-Fabric 1014 | - React-featureflags 1015 | - React-graphics 1016 | - React-jsi 1017 | - React-jsiexecutor 1018 | - React-logger 1019 | - React-rendererdebug 1020 | - React-runtimescheduler 1021 | - React-utils 1022 | - ReactCommon/turbomodule/core 1023 | - Yoga 1024 | - React-FabricComponents/components/text (0.78.1): 1025 | - DoubleConversion 1026 | - fast_float (= 6.1.4) 1027 | - fmt (= 11.0.2) 1028 | - glog 1029 | - hermes-engine 1030 | - RCT-Folly/Fabric (= 2024.11.18.00) 1031 | - RCTRequired 1032 | - RCTTypeSafety 1033 | - React-Core 1034 | - React-cxxreact 1035 | - React-debug 1036 | - React-Fabric 1037 | - React-featureflags 1038 | - React-graphics 1039 | - React-jsi 1040 | - React-jsiexecutor 1041 | - React-logger 1042 | - React-rendererdebug 1043 | - React-runtimescheduler 1044 | - React-utils 1045 | - ReactCommon/turbomodule/core 1046 | - Yoga 1047 | - React-FabricComponents/components/textinput (0.78.1): 1048 | - DoubleConversion 1049 | - fast_float (= 6.1.4) 1050 | - fmt (= 11.0.2) 1051 | - glog 1052 | - hermes-engine 1053 | - RCT-Folly/Fabric (= 2024.11.18.00) 1054 | - RCTRequired 1055 | - RCTTypeSafety 1056 | - React-Core 1057 | - React-cxxreact 1058 | - React-debug 1059 | - React-Fabric 1060 | - React-featureflags 1061 | - React-graphics 1062 | - React-jsi 1063 | - React-jsiexecutor 1064 | - React-logger 1065 | - React-rendererdebug 1066 | - React-runtimescheduler 1067 | - React-utils 1068 | - ReactCommon/turbomodule/core 1069 | - Yoga 1070 | - React-FabricComponents/components/unimplementedview (0.78.1): 1071 | - DoubleConversion 1072 | - fast_float (= 6.1.4) 1073 | - fmt (= 11.0.2) 1074 | - glog 1075 | - hermes-engine 1076 | - RCT-Folly/Fabric (= 2024.11.18.00) 1077 | - RCTRequired 1078 | - RCTTypeSafety 1079 | - React-Core 1080 | - React-cxxreact 1081 | - React-debug 1082 | - React-Fabric 1083 | - React-featureflags 1084 | - React-graphics 1085 | - React-jsi 1086 | - React-jsiexecutor 1087 | - React-logger 1088 | - React-rendererdebug 1089 | - React-runtimescheduler 1090 | - React-utils 1091 | - ReactCommon/turbomodule/core 1092 | - Yoga 1093 | - React-FabricComponents/textlayoutmanager (0.78.1): 1094 | - DoubleConversion 1095 | - fast_float (= 6.1.4) 1096 | - fmt (= 11.0.2) 1097 | - glog 1098 | - hermes-engine 1099 | - RCT-Folly/Fabric (= 2024.11.18.00) 1100 | - RCTRequired 1101 | - RCTTypeSafety 1102 | - React-Core 1103 | - React-cxxreact 1104 | - React-debug 1105 | - React-Fabric 1106 | - React-featureflags 1107 | - React-graphics 1108 | - React-jsi 1109 | - React-jsiexecutor 1110 | - React-logger 1111 | - React-rendererdebug 1112 | - React-runtimescheduler 1113 | - React-utils 1114 | - ReactCommon/turbomodule/core 1115 | - Yoga 1116 | - React-FabricImage (0.78.1): 1117 | - DoubleConversion 1118 | - fast_float (= 6.1.4) 1119 | - fmt (= 11.0.2) 1120 | - glog 1121 | - hermes-engine 1122 | - RCT-Folly/Fabric (= 2024.11.18.00) 1123 | - RCTRequired (= 0.78.1) 1124 | - RCTTypeSafety (= 0.78.1) 1125 | - React-Fabric 1126 | - React-featureflags 1127 | - React-graphics 1128 | - React-ImageManager 1129 | - React-jsi 1130 | - React-jsiexecutor (= 0.78.1) 1131 | - React-logger 1132 | - React-rendererdebug 1133 | - React-utils 1134 | - ReactCommon 1135 | - Yoga 1136 | - React-featureflags (0.78.1): 1137 | - RCT-Folly (= 2024.11.18.00) 1138 | - React-featureflagsnativemodule (0.78.1): 1139 | - hermes-engine 1140 | - RCT-Folly 1141 | - React-featureflags 1142 | - React-jsi 1143 | - React-jsiexecutor 1144 | - React-RCTFBReactNativeSpec 1145 | - ReactCommon/turbomodule/core 1146 | - React-graphics (0.78.1): 1147 | - DoubleConversion 1148 | - fast_float (= 6.1.4) 1149 | - fmt (= 11.0.2) 1150 | - glog 1151 | - hermes-engine 1152 | - RCT-Folly/Fabric (= 2024.11.18.00) 1153 | - React-jsi 1154 | - React-jsiexecutor 1155 | - React-utils 1156 | - React-hermes (0.78.1): 1157 | - DoubleConversion 1158 | - fast_float (= 6.1.4) 1159 | - fmt (= 11.0.2) 1160 | - glog 1161 | - hermes-engine 1162 | - RCT-Folly (= 2024.11.18.00) 1163 | - React-cxxreact (= 0.78.1) 1164 | - React-jsi 1165 | - React-jsiexecutor (= 0.78.1) 1166 | - React-jsinspector 1167 | - React-perflogger (= 0.78.1) 1168 | - React-runtimeexecutor 1169 | - React-idlecallbacksnativemodule (0.78.1): 1170 | - glog 1171 | - hermes-engine 1172 | - RCT-Folly 1173 | - React-jsi 1174 | - React-jsiexecutor 1175 | - React-RCTFBReactNativeSpec 1176 | - React-runtimescheduler 1177 | - ReactCommon/turbomodule/core 1178 | - React-ImageManager (0.78.1): 1179 | - glog 1180 | - RCT-Folly/Fabric 1181 | - React-Core/Default 1182 | - React-debug 1183 | - React-Fabric 1184 | - React-graphics 1185 | - React-rendererdebug 1186 | - React-utils 1187 | - React-jserrorhandler (0.78.1): 1188 | - glog 1189 | - hermes-engine 1190 | - RCT-Folly/Fabric (= 2024.11.18.00) 1191 | - React-cxxreact 1192 | - React-debug 1193 | - React-featureflags 1194 | - React-jsi 1195 | - ReactCommon/turbomodule/bridging 1196 | - React-jsi (0.78.1): 1197 | - boost 1198 | - DoubleConversion 1199 | - fast_float (= 6.1.4) 1200 | - fmt (= 11.0.2) 1201 | - glog 1202 | - hermes-engine 1203 | - RCT-Folly (= 2024.11.18.00) 1204 | - React-jsiexecutor (0.78.1): 1205 | - DoubleConversion 1206 | - fast_float (= 6.1.4) 1207 | - fmt (= 11.0.2) 1208 | - glog 1209 | - hermes-engine 1210 | - RCT-Folly (= 2024.11.18.00) 1211 | - React-cxxreact (= 0.78.1) 1212 | - React-jsi (= 0.78.1) 1213 | - React-jsinspector 1214 | - React-perflogger (= 0.78.1) 1215 | - React-jsinspector (0.78.1): 1216 | - DoubleConversion 1217 | - glog 1218 | - hermes-engine 1219 | - RCT-Folly 1220 | - React-featureflags 1221 | - React-jsi 1222 | - React-jsinspectortracing 1223 | - React-perflogger (= 0.78.1) 1224 | - React-runtimeexecutor (= 0.78.1) 1225 | - React-jsinspectortracing (0.78.1): 1226 | - RCT-Folly 1227 | - React-jsitracing (0.78.1): 1228 | - React-jsi 1229 | - React-logger (0.78.1): 1230 | - glog 1231 | - React-Mapbuffer (0.78.1): 1232 | - glog 1233 | - React-debug 1234 | - React-microtasksnativemodule (0.78.1): 1235 | - hermes-engine 1236 | - RCT-Folly 1237 | - React-jsi 1238 | - React-jsiexecutor 1239 | - React-RCTFBReactNativeSpec 1240 | - ReactCommon/turbomodule/core 1241 | - react-native-safe-area-context (5.3.0): 1242 | - DoubleConversion 1243 | - glog 1244 | - hermes-engine 1245 | - RCT-Folly (= 2024.11.18.00) 1246 | - RCTRequired 1247 | - RCTTypeSafety 1248 | - React-Core 1249 | - React-debug 1250 | - React-Fabric 1251 | - React-featureflags 1252 | - React-graphics 1253 | - React-ImageManager 1254 | - react-native-safe-area-context/common (= 5.3.0) 1255 | - react-native-safe-area-context/fabric (= 5.3.0) 1256 | - React-NativeModulesApple 1257 | - React-RCTFabric 1258 | - React-rendererdebug 1259 | - React-utils 1260 | - ReactCodegen 1261 | - ReactCommon/turbomodule/bridging 1262 | - ReactCommon/turbomodule/core 1263 | - Yoga 1264 | - react-native-safe-area-context/common (5.3.0): 1265 | - DoubleConversion 1266 | - glog 1267 | - hermes-engine 1268 | - RCT-Folly (= 2024.11.18.00) 1269 | - RCTRequired 1270 | - RCTTypeSafety 1271 | - React-Core 1272 | - React-debug 1273 | - React-Fabric 1274 | - React-featureflags 1275 | - React-graphics 1276 | - React-ImageManager 1277 | - React-NativeModulesApple 1278 | - React-RCTFabric 1279 | - React-rendererdebug 1280 | - React-utils 1281 | - ReactCodegen 1282 | - ReactCommon/turbomodule/bridging 1283 | - ReactCommon/turbomodule/core 1284 | - Yoga 1285 | - react-native-safe-area-context/fabric (5.3.0): 1286 | - DoubleConversion 1287 | - glog 1288 | - hermes-engine 1289 | - RCT-Folly (= 2024.11.18.00) 1290 | - RCTRequired 1291 | - RCTTypeSafety 1292 | - React-Core 1293 | - React-debug 1294 | - React-Fabric 1295 | - React-featureflags 1296 | - React-graphics 1297 | - React-ImageManager 1298 | - react-native-safe-area-context/common 1299 | - React-NativeModulesApple 1300 | - React-RCTFabric 1301 | - React-rendererdebug 1302 | - React-utils 1303 | - ReactCodegen 1304 | - ReactCommon/turbomodule/bridging 1305 | - ReactCommon/turbomodule/core 1306 | - Yoga 1307 | - React-NativeModulesApple (0.78.1): 1308 | - glog 1309 | - hermes-engine 1310 | - React-callinvoker 1311 | - React-Core 1312 | - React-cxxreact 1313 | - React-jsi 1314 | - React-jsinspector 1315 | - React-runtimeexecutor 1316 | - ReactCommon/turbomodule/bridging 1317 | - ReactCommon/turbomodule/core 1318 | - React-perflogger (0.78.1): 1319 | - DoubleConversion 1320 | - RCT-Folly (= 2024.11.18.00) 1321 | - React-performancetimeline (0.78.1): 1322 | - RCT-Folly (= 2024.11.18.00) 1323 | - React-cxxreact 1324 | - React-featureflags 1325 | - React-jsinspectortracing 1326 | - React-timing 1327 | - React-RCTActionSheet (0.78.1): 1328 | - React-Core/RCTActionSheetHeaders (= 0.78.1) 1329 | - React-RCTAnimation (0.78.1): 1330 | - RCT-Folly (= 2024.11.18.00) 1331 | - RCTTypeSafety 1332 | - React-Core/RCTAnimationHeaders 1333 | - React-jsi 1334 | - React-NativeModulesApple 1335 | - React-RCTFBReactNativeSpec 1336 | - ReactCommon 1337 | - React-RCTAppDelegate (0.78.1): 1338 | - RCT-Folly (= 2024.11.18.00) 1339 | - RCTRequired 1340 | - RCTTypeSafety 1341 | - React-Core 1342 | - React-CoreModules 1343 | - React-debug 1344 | - React-defaultsnativemodule 1345 | - React-Fabric 1346 | - React-featureflags 1347 | - React-graphics 1348 | - React-hermes 1349 | - React-NativeModulesApple 1350 | - React-RCTFabric 1351 | - React-RCTFBReactNativeSpec 1352 | - React-RCTImage 1353 | - React-RCTNetwork 1354 | - React-rendererdebug 1355 | - React-RuntimeApple 1356 | - React-RuntimeCore 1357 | - React-RuntimeHermes 1358 | - React-runtimescheduler 1359 | - React-utils 1360 | - ReactCommon 1361 | - React-RCTBlob (0.78.1): 1362 | - DoubleConversion 1363 | - fast_float (= 6.1.4) 1364 | - fmt (= 11.0.2) 1365 | - hermes-engine 1366 | - RCT-Folly (= 2024.11.18.00) 1367 | - React-Core/RCTBlobHeaders 1368 | - React-Core/RCTWebSocket 1369 | - React-jsi 1370 | - React-jsinspector 1371 | - React-NativeModulesApple 1372 | - React-RCTFBReactNativeSpec 1373 | - React-RCTNetwork 1374 | - ReactCommon 1375 | - React-RCTFabric (0.78.1): 1376 | - glog 1377 | - hermes-engine 1378 | - RCT-Folly/Fabric (= 2024.11.18.00) 1379 | - React-Core 1380 | - React-debug 1381 | - React-Fabric 1382 | - React-FabricComponents 1383 | - React-FabricImage 1384 | - React-featureflags 1385 | - React-graphics 1386 | - React-ImageManager 1387 | - React-jsi 1388 | - React-jsinspector 1389 | - React-jsinspectortracing 1390 | - React-performancetimeline 1391 | - React-RCTImage 1392 | - React-RCTText 1393 | - React-rendererconsistency 1394 | - React-rendererdebug 1395 | - React-runtimescheduler 1396 | - React-utils 1397 | - Yoga 1398 | - React-RCTFBReactNativeSpec (0.78.1): 1399 | - hermes-engine 1400 | - RCT-Folly 1401 | - RCTRequired 1402 | - RCTTypeSafety 1403 | - React-Core 1404 | - React-jsi 1405 | - React-jsiexecutor 1406 | - React-NativeModulesApple 1407 | - ReactCommon 1408 | - React-RCTImage (0.78.1): 1409 | - RCT-Folly (= 2024.11.18.00) 1410 | - RCTTypeSafety 1411 | - React-Core/RCTImageHeaders 1412 | - React-jsi 1413 | - React-NativeModulesApple 1414 | - React-RCTFBReactNativeSpec 1415 | - React-RCTNetwork 1416 | - ReactCommon 1417 | - React-RCTLinking (0.78.1): 1418 | - React-Core/RCTLinkingHeaders (= 0.78.1) 1419 | - React-jsi (= 0.78.1) 1420 | - React-NativeModulesApple 1421 | - React-RCTFBReactNativeSpec 1422 | - ReactCommon 1423 | - ReactCommon/turbomodule/core (= 0.78.1) 1424 | - React-RCTNetwork (0.78.1): 1425 | - RCT-Folly (= 2024.11.18.00) 1426 | - RCTTypeSafety 1427 | - React-Core/RCTNetworkHeaders 1428 | - React-jsi 1429 | - React-NativeModulesApple 1430 | - React-RCTFBReactNativeSpec 1431 | - ReactCommon 1432 | - React-RCTSettings (0.78.1): 1433 | - RCT-Folly (= 2024.11.18.00) 1434 | - RCTTypeSafety 1435 | - React-Core/RCTSettingsHeaders 1436 | - React-jsi 1437 | - React-NativeModulesApple 1438 | - React-RCTFBReactNativeSpec 1439 | - ReactCommon 1440 | - React-RCTText (0.78.1): 1441 | - React-Core/RCTTextHeaders (= 0.78.1) 1442 | - Yoga 1443 | - React-RCTVibration (0.78.1): 1444 | - RCT-Folly (= 2024.11.18.00) 1445 | - React-Core/RCTVibrationHeaders 1446 | - React-jsi 1447 | - React-NativeModulesApple 1448 | - React-RCTFBReactNativeSpec 1449 | - ReactCommon 1450 | - React-rendererconsistency (0.78.1) 1451 | - React-rendererdebug (0.78.1): 1452 | - DoubleConversion 1453 | - fast_float (= 6.1.4) 1454 | - fmt (= 11.0.2) 1455 | - RCT-Folly (= 2024.11.18.00) 1456 | - React-debug 1457 | - React-rncore (0.78.1) 1458 | - React-RuntimeApple (0.78.1): 1459 | - hermes-engine 1460 | - RCT-Folly/Fabric (= 2024.11.18.00) 1461 | - React-callinvoker 1462 | - React-Core/Default 1463 | - React-CoreModules 1464 | - React-cxxreact 1465 | - React-featureflags 1466 | - React-jserrorhandler 1467 | - React-jsi 1468 | - React-jsiexecutor 1469 | - React-jsinspector 1470 | - React-Mapbuffer 1471 | - React-NativeModulesApple 1472 | - React-RCTFabric 1473 | - React-RCTFBReactNativeSpec 1474 | - React-RuntimeCore 1475 | - React-runtimeexecutor 1476 | - React-RuntimeHermes 1477 | - React-runtimescheduler 1478 | - React-utils 1479 | - React-RuntimeCore (0.78.1): 1480 | - glog 1481 | - hermes-engine 1482 | - RCT-Folly/Fabric (= 2024.11.18.00) 1483 | - React-cxxreact 1484 | - React-Fabric 1485 | - React-featureflags 1486 | - React-jserrorhandler 1487 | - React-jsi 1488 | - React-jsiexecutor 1489 | - React-jsinspector 1490 | - React-performancetimeline 1491 | - React-runtimeexecutor 1492 | - React-runtimescheduler 1493 | - React-utils 1494 | - React-runtimeexecutor (0.78.1): 1495 | - React-jsi (= 0.78.1) 1496 | - React-RuntimeHermes (0.78.1): 1497 | - hermes-engine 1498 | - RCT-Folly/Fabric (= 2024.11.18.00) 1499 | - React-featureflags 1500 | - React-hermes 1501 | - React-jsi 1502 | - React-jsinspector 1503 | - React-jsitracing 1504 | - React-RuntimeCore 1505 | - React-utils 1506 | - React-runtimescheduler (0.78.1): 1507 | - glog 1508 | - hermes-engine 1509 | - RCT-Folly (= 2024.11.18.00) 1510 | - React-callinvoker 1511 | - React-cxxreact 1512 | - React-debug 1513 | - React-featureflags 1514 | - React-jsi 1515 | - React-performancetimeline 1516 | - React-rendererconsistency 1517 | - React-rendererdebug 1518 | - React-runtimeexecutor 1519 | - React-timing 1520 | - React-utils 1521 | - React-timing (0.78.1) 1522 | - React-utils (0.78.1): 1523 | - glog 1524 | - hermes-engine 1525 | - RCT-Folly (= 2024.11.18.00) 1526 | - React-debug 1527 | - React-jsi (= 0.78.1) 1528 | - ReactAppDependencyProvider (0.78.1): 1529 | - ReactCodegen 1530 | - ReactCodegen (0.78.1): 1531 | - DoubleConversion 1532 | - glog 1533 | - hermes-engine 1534 | - RCT-Folly 1535 | - RCTRequired 1536 | - RCTTypeSafety 1537 | - React-Core 1538 | - React-debug 1539 | - React-Fabric 1540 | - React-FabricImage 1541 | - React-featureflags 1542 | - React-graphics 1543 | - React-jsi 1544 | - React-jsiexecutor 1545 | - React-NativeModulesApple 1546 | - React-RCTAppDelegate 1547 | - React-rendererdebug 1548 | - React-utils 1549 | - ReactCommon/turbomodule/bridging 1550 | - ReactCommon/turbomodule/core 1551 | - ReactCommon (0.78.1): 1552 | - ReactCommon/turbomodule (= 0.78.1) 1553 | - ReactCommon/turbomodule (0.78.1): 1554 | - DoubleConversion 1555 | - fast_float (= 6.1.4) 1556 | - fmt (= 11.0.2) 1557 | - glog 1558 | - hermes-engine 1559 | - RCT-Folly (= 2024.11.18.00) 1560 | - React-callinvoker (= 0.78.1) 1561 | - React-cxxreact (= 0.78.1) 1562 | - React-jsi (= 0.78.1) 1563 | - React-logger (= 0.78.1) 1564 | - React-perflogger (= 0.78.1) 1565 | - ReactCommon/turbomodule/bridging (= 0.78.1) 1566 | - ReactCommon/turbomodule/core (= 0.78.1) 1567 | - ReactCommon/turbomodule/bridging (0.78.1): 1568 | - DoubleConversion 1569 | - fast_float (= 6.1.4) 1570 | - fmt (= 11.0.2) 1571 | - glog 1572 | - hermes-engine 1573 | - RCT-Folly (= 2024.11.18.00) 1574 | - React-callinvoker (= 0.78.1) 1575 | - React-cxxreact (= 0.78.1) 1576 | - React-jsi (= 0.78.1) 1577 | - React-logger (= 0.78.1) 1578 | - React-perflogger (= 0.78.1) 1579 | - ReactCommon/turbomodule/core (0.78.1): 1580 | - DoubleConversion 1581 | - fast_float (= 6.1.4) 1582 | - fmt (= 11.0.2) 1583 | - glog 1584 | - hermes-engine 1585 | - RCT-Folly (= 2024.11.18.00) 1586 | - React-callinvoker (= 0.78.1) 1587 | - React-cxxreact (= 0.78.1) 1588 | - React-debug (= 0.78.1) 1589 | - React-featureflags (= 0.78.1) 1590 | - React-jsi (= 0.78.1) 1591 | - React-logger (= 0.78.1) 1592 | - React-perflogger (= 0.78.1) 1593 | - React-utils (= 0.78.1) 1594 | - RNCPicker (2.11.0): 1595 | - DoubleConversion 1596 | - glog 1597 | - hermes-engine 1598 | - RCT-Folly (= 2024.11.18.00) 1599 | - RCTRequired 1600 | - RCTTypeSafety 1601 | - React-Core 1602 | - React-debug 1603 | - React-Fabric 1604 | - React-featureflags 1605 | - React-graphics 1606 | - React-ImageManager 1607 | - React-NativeModulesApple 1608 | - React-RCTFabric 1609 | - React-rendererdebug 1610 | - React-utils 1611 | - ReactCodegen 1612 | - ReactCommon/turbomodule/bridging 1613 | - ReactCommon/turbomodule/core 1614 | - Yoga 1615 | - SocketRocket (0.7.1) 1616 | - Yoga (0.0.0) 1617 | 1618 | DEPENDENCIES: 1619 | - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) 1620 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) 1621 | - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) 1622 | - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) 1623 | - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) 1624 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) 1625 | - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) 1626 | - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) 1627 | - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) 1628 | - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) 1629 | - RCTRequired (from `../node_modules/react-native/Libraries/Required`) 1630 | - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) 1631 | - React (from `../node_modules/react-native/`) 1632 | - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) 1633 | - React-Core (from `../node_modules/react-native/`) 1634 | - React-Core/RCTWebSocket (from `../node_modules/react-native/`) 1635 | - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) 1636 | - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) 1637 | - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) 1638 | - React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) 1639 | - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`) 1640 | - React-Fabric (from `../node_modules/react-native/ReactCommon`) 1641 | - React-FabricComponents (from `../node_modules/react-native/ReactCommon`) 1642 | - React-FabricImage (from `../node_modules/react-native/ReactCommon`) 1643 | - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) 1644 | - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) 1645 | - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) 1646 | - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) 1647 | - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) 1648 | - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) 1649 | - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) 1650 | - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) 1651 | - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) 1652 | - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) 1653 | - React-jsinspectortracing (from `../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) 1654 | - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) 1655 | - React-logger (from `../node_modules/react-native/ReactCommon/logger`) 1656 | - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) 1657 | - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) 1658 | - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) 1659 | - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) 1660 | - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) 1661 | - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) 1662 | - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) 1663 | - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) 1664 | - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) 1665 | - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) 1666 | - React-RCTFabric (from `../node_modules/react-native/React`) 1667 | - React-RCTFBReactNativeSpec (from `../node_modules/react-native/React`) 1668 | - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) 1669 | - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) 1670 | - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) 1671 | - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) 1672 | - React-RCTText (from `../node_modules/react-native/Libraries/Text`) 1673 | - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) 1674 | - React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`) 1675 | - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) 1676 | - React-rncore (from `../node_modules/react-native/ReactCommon`) 1677 | - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) 1678 | - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) 1679 | - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) 1680 | - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) 1681 | - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) 1682 | - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) 1683 | - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) 1684 | - ReactAppDependencyProvider (from `build/generated/ios`) 1685 | - ReactCodegen (from `build/generated/ios`) 1686 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) 1687 | - "RNCPicker (from `../node_modules/@react-native-picker/picker`)" 1688 | - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) 1689 | 1690 | SPEC REPOS: 1691 | trunk: 1692 | - SocketRocket 1693 | 1694 | EXTERNAL SOURCES: 1695 | boost: 1696 | :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" 1697 | DoubleConversion: 1698 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" 1699 | fast_float: 1700 | :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec" 1701 | FBLazyVector: 1702 | :path: "../node_modules/react-native/Libraries/FBLazyVector" 1703 | fmt: 1704 | :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" 1705 | glog: 1706 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" 1707 | hermes-engine: 1708 | :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" 1709 | :tag: hermes-2025-01-13-RNv0.78.0-a942ef374897d85da38e9c8904574f8376555388 1710 | RCT-Folly: 1711 | :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" 1712 | RCTDeprecation: 1713 | :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" 1714 | RCTRequired: 1715 | :path: "../node_modules/react-native/Libraries/Required" 1716 | RCTTypeSafety: 1717 | :path: "../node_modules/react-native/Libraries/TypeSafety" 1718 | React: 1719 | :path: "../node_modules/react-native/" 1720 | React-callinvoker: 1721 | :path: "../node_modules/react-native/ReactCommon/callinvoker" 1722 | React-Core: 1723 | :path: "../node_modules/react-native/" 1724 | React-CoreModules: 1725 | :path: "../node_modules/react-native/React/CoreModules" 1726 | React-cxxreact: 1727 | :path: "../node_modules/react-native/ReactCommon/cxxreact" 1728 | React-debug: 1729 | :path: "../node_modules/react-native/ReactCommon/react/debug" 1730 | React-defaultsnativemodule: 1731 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults" 1732 | React-domnativemodule: 1733 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom" 1734 | React-Fabric: 1735 | :path: "../node_modules/react-native/ReactCommon" 1736 | React-FabricComponents: 1737 | :path: "../node_modules/react-native/ReactCommon" 1738 | React-FabricImage: 1739 | :path: "../node_modules/react-native/ReactCommon" 1740 | React-featureflags: 1741 | :path: "../node_modules/react-native/ReactCommon/react/featureflags" 1742 | React-featureflagsnativemodule: 1743 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" 1744 | React-graphics: 1745 | :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" 1746 | React-hermes: 1747 | :path: "../node_modules/react-native/ReactCommon/hermes" 1748 | React-idlecallbacksnativemodule: 1749 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" 1750 | React-ImageManager: 1751 | :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" 1752 | React-jserrorhandler: 1753 | :path: "../node_modules/react-native/ReactCommon/jserrorhandler" 1754 | React-jsi: 1755 | :path: "../node_modules/react-native/ReactCommon/jsi" 1756 | React-jsiexecutor: 1757 | :path: "../node_modules/react-native/ReactCommon/jsiexecutor" 1758 | React-jsinspector: 1759 | :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" 1760 | React-jsinspectortracing: 1761 | :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" 1762 | React-jsitracing: 1763 | :path: "../node_modules/react-native/ReactCommon/hermes/executor/" 1764 | React-logger: 1765 | :path: "../node_modules/react-native/ReactCommon/logger" 1766 | React-Mapbuffer: 1767 | :path: "../node_modules/react-native/ReactCommon" 1768 | React-microtasksnativemodule: 1769 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" 1770 | react-native-safe-area-context: 1771 | :path: "../node_modules/react-native-safe-area-context" 1772 | React-NativeModulesApple: 1773 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" 1774 | React-perflogger: 1775 | :path: "../node_modules/react-native/ReactCommon/reactperflogger" 1776 | React-performancetimeline: 1777 | :path: "../node_modules/react-native/ReactCommon/react/performance/timeline" 1778 | React-RCTActionSheet: 1779 | :path: "../node_modules/react-native/Libraries/ActionSheetIOS" 1780 | React-RCTAnimation: 1781 | :path: "../node_modules/react-native/Libraries/NativeAnimation" 1782 | React-RCTAppDelegate: 1783 | :path: "../node_modules/react-native/Libraries/AppDelegate" 1784 | React-RCTBlob: 1785 | :path: "../node_modules/react-native/Libraries/Blob" 1786 | React-RCTFabric: 1787 | :path: "../node_modules/react-native/React" 1788 | React-RCTFBReactNativeSpec: 1789 | :path: "../node_modules/react-native/React" 1790 | React-RCTImage: 1791 | :path: "../node_modules/react-native/Libraries/Image" 1792 | React-RCTLinking: 1793 | :path: "../node_modules/react-native/Libraries/LinkingIOS" 1794 | React-RCTNetwork: 1795 | :path: "../node_modules/react-native/Libraries/Network" 1796 | React-RCTSettings: 1797 | :path: "../node_modules/react-native/Libraries/Settings" 1798 | React-RCTText: 1799 | :path: "../node_modules/react-native/Libraries/Text" 1800 | React-RCTVibration: 1801 | :path: "../node_modules/react-native/Libraries/Vibration" 1802 | React-rendererconsistency: 1803 | :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency" 1804 | React-rendererdebug: 1805 | :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" 1806 | React-rncore: 1807 | :path: "../node_modules/react-native/ReactCommon" 1808 | React-RuntimeApple: 1809 | :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" 1810 | React-RuntimeCore: 1811 | :path: "../node_modules/react-native/ReactCommon/react/runtime" 1812 | React-runtimeexecutor: 1813 | :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" 1814 | React-RuntimeHermes: 1815 | :path: "../node_modules/react-native/ReactCommon/react/runtime" 1816 | React-runtimescheduler: 1817 | :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" 1818 | React-timing: 1819 | :path: "../node_modules/react-native/ReactCommon/react/timing" 1820 | React-utils: 1821 | :path: "../node_modules/react-native/ReactCommon/react/utils" 1822 | ReactAppDependencyProvider: 1823 | :path: build/generated/ios 1824 | ReactCodegen: 1825 | :path: build/generated/ios 1826 | ReactCommon: 1827 | :path: "../node_modules/react-native/ReactCommon" 1828 | RNCPicker: 1829 | :path: "../node_modules/@react-native-picker/picker" 1830 | Yoga: 1831 | :path: "../node_modules/react-native/ReactCommon/yoga" 1832 | 1833 | SPEC CHECKSUMS: 1834 | boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 1835 | DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb 1836 | fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6 1837 | FBLazyVector: bba368dacede4c9dec7a58c9be5a2d3e9ea30cc7 1838 | fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd 1839 | glog: eb93e2f488219332457c3c4eafd2738ddc7e80b8 1840 | hermes-engine: f493b0a600aed5dc06532141603688a30a5b2f61 1841 | RCT-Folly: e78785aa9ba2ed998ea4151e314036f6c49e6d82 1842 | RCTDeprecation: 082fbc90409015eac1366795a0b90f8b5cb28efe 1843 | RCTRequired: ca966f4da75b62ce3ea8c538d82cb5ecbb06f12a 1844 | RCTTypeSafety: 2f0bc11f9584fde4c7e6d8b26577c97681051c00 1845 | React: e6035d3a639f6668a18429aaf2fdc0c12b1e7a81 1846 | React-callinvoker: 3740fb1716428dabd205486c818ce6a5999e7f11 1847 | React-Core: d12b31b149ff71e5054dec137d651a9955569321 1848 | React-CoreModules: e392c711449f260d9ba7556a264ef5cfacdab3f9 1849 | React-cxxreact: dcb3c48b13b298a270edefb24d2a9211809ff147 1850 | React-debug: d8d938ee3aecd7ab9c92198324ed33cac3d42566 1851 | React-defaultsnativemodule: 599c11bfe99a3b88cd1fa2dc478be1b6b0e57be9 1852 | React-domnativemodule: 4f278903cad707415026dacbb96768704a705569 1853 | React-Fabric: 9e83424b66a00da675c6684568dc026399746236 1854 | React-FabricComponents: 26da28dd7115005866fdf2f8d4e294e07dd6e3df 1855 | React-FabricImage: b60fb253651746de12418e1308b4da2c54b8fde6 1856 | React-featureflags: 04a42c3099a4a12fdf34c42b84512b96caaf9d41 1857 | React-featureflagsnativemodule: 32a69405f053b25640cac519dbb24c5e79185e1b 1858 | React-graphics: 49bacefc908533e59e1b65ac479bd00c43dad2d0 1859 | React-hermes: 809429058aa7610601c552556a132df2f446fe0c 1860 | React-idlecallbacksnativemodule: d6c574b38b6497189dcdb1c4953c049ed93a67d1 1861 | React-ImageManager: 9cb4d8d83f0d43591f06bd07b1d845144cb9bc72 1862 | React-jserrorhandler: 5d010f2c65066e682b5973ea0e39bfc7bfdf46fe 1863 | React-jsi: 0be2628a04b7ab6b60565ccc0e11069c6a3e5a91 1864 | React-jsiexecutor: cb431019ea945006b0ad62ba34dba8475926eda9 1865 | React-jsinspector: 094b9197c4aa166c565273b5b80604c3c25f262a 1866 | React-jsinspectortracing: 5498aaae966956939808ecd72635a6937c7e724d 1867 | React-jsitracing: 9d28564942b168004da194785024ddc730caf0dc 1868 | React-logger: 74ddb793d36b48bba176328c7af75e5e656fd405 1869 | React-Mapbuffer: 39e87693178fd6483bb5ca8b851fae362d49409a 1870 | React-microtasksnativemodule: b740ebae7fad70aa78bc24cc0dfc15ac9637b6eb 1871 | react-native-safe-area-context: 0f14bce545abcdfbff79ce2e3c78c109f0be283e 1872 | React-NativeModulesApple: af0571ac115d09c9a669ed45ce6a4ca960598a2d 1873 | React-perflogger: 26d07766b033f84559bd520e949453dba8bf1cd8 1874 | React-performancetimeline: 0f3e0b6e2152951257bd8c90f95d527cf4316fa8 1875 | React-RCTActionSheet: 9488eac05a056a124f500beaecf0a5bd722b2916 1876 | React-RCTAnimation: d4fe0beca00060dc3628d81ea65410180974a18a 1877 | React-RCTAppDelegate: 6c81adc5689b4276368c9dc61eec211b18ca82c0 1878 | React-RCTBlob: 1b89799400af7ca0ee598fa7d3bcd9d84ab1794d 1879 | React-RCTFabric: 7dd42c2d2339184896aaa5cf1974d00c6b97875b 1880 | React-RCTFBReactNativeSpec: 9487cf2e72e2b0da766afe2a71e1afca12e73325 1881 | React-RCTImage: 7042262e823fe7849f1263f054c24ef2f4394e9d 1882 | React-RCTLinking: 7cb75b965f19399f67e75f771f7bd6f097c263d1 1883 | React-RCTNetwork: b9a7eab793a36b3a74d4d184b917e59842a30a58 1884 | React-RCTSettings: 7866a50ecc34b202d736d1f4b9164bb711a68a9c 1885 | React-RCTText: ce131e974c81c0ea4a187f24db12b262a1beab01 1886 | React-RCTVibration: 16c24efa3a7fb96f6147ec129d554cc43b1ab707 1887 | React-rendererconsistency: 4171665056d2a6039523e5aa8c9f5fbbe9553ad6 1888 | React-rendererdebug: 9751d74346f583800af42b1fbb0b3561f66b5ff2 1889 | React-rncore: 3e1894f8ebb4759f2d56b450645677547b9e3c52 1890 | React-RuntimeApple: 0937e0055990b4dd81b2dbb8acc39f209aa6369b 1891 | React-RuntimeCore: dec19daf6dbb5dad077c8bd2ceb5f612cdd34917 1892 | React-runtimeexecutor: f2fc17f0bbfa5a697d94d2f18d7d5f74c8d41c48 1893 | React-RuntimeHermes: 0e01cd1fbf82f1fabc66d6f8316c7ee35d8dc871 1894 | React-runtimescheduler: 3f02922ff1cf0d4fdf5c60b868bed4da3b15a504 1895 | React-timing: 34f46e46507ab2e215d801223f898a1f3d95a7a3 1896 | React-utils: 6330b3336d328a09ccc89a45d68d1f2588021318 1897 | ReactAppDependencyProvider: 5da0393968ce2767e79f9fda7caa108592b9b63e 1898 | ReactCodegen: 82d5bc3e3ad2c8496848554cb2d3b64b03b53420 1899 | ReactCommon: 269d0d36423fad044eaea49900e88684ac670a16 1900 | RNCPicker: cfb51a08c6e10357d9a65832e791825b0747b483 1901 | SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 1902 | Yoga: b94ff2d7559cb66837c97a3f394ddb817faad4d6 1903 | 1904 | PODFILE CHECKSUM: 79ed350b622976e78311dc696f2e21fde86b4cfd 1905 | 1906 | COCOAPODS: 1.16.2 1907 | -------------------------------------------------------------------------------- /Example/ios/ReactNativeRootToast.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 54; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 0C80B921A6F3F58F76C31292 /* libPods-ReactNativeRootToast.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-ReactNativeRootToast.a */; }; 11 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 12 | 24BA148C443C7BAA035D01DB /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; }; 13 | 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; }; 14 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; 15 | /* End PBXBuildFile section */ 16 | 17 | /* Begin PBXFileReference section */ 18 | 13B07F961A680F5B00A75B9A /* ReactNativeRootToast.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ReactNativeRootToast.app; sourceTree = BUILT_PRODUCTS_DIR; }; 19 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ReactNativeRootToast/Images.xcassets; sourceTree = ""; }; 20 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ReactNativeRootToast/Info.plist; sourceTree = ""; }; 21 | 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = ReactNativeRootToast/PrivacyInfo.xcprivacy; sourceTree = ""; }; 22 | 3B4392A12AC88292D35C810B /* Pods-ReactNativeRootToast.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeRootToast.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeRootToast/Pods-ReactNativeRootToast.debug.xcconfig"; sourceTree = ""; }; 23 | 5709B34CF0A7D63546082F79 /* Pods-ReactNativeRootToast.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeRootToast.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeRootToast/Pods-ReactNativeRootToast.release.xcconfig"; sourceTree = ""; }; 24 | 5DCACB8F33CDC322A6C60F78 /* libPods-ReactNativeRootToast.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeRootToast.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 25 | 761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = ReactNativeRootToast/AppDelegate.swift; sourceTree = ""; }; 26 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = ReactNativeRootToast/LaunchScreen.storyboard; sourceTree = ""; }; 27 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 28 | /* End PBXFileReference section */ 29 | 30 | /* Begin PBXFrameworksBuildPhase section */ 31 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { 32 | isa = PBXFrameworksBuildPhase; 33 | buildActionMask = 2147483647; 34 | files = ( 35 | 0C80B921A6F3F58F76C31292 /* libPods-ReactNativeRootToast.a in Frameworks */, 36 | ); 37 | runOnlyForDeploymentPostprocessing = 0; 38 | }; 39 | /* End PBXFrameworksBuildPhase section */ 40 | 41 | /* Begin PBXGroup section */ 42 | 13B07FAE1A68108700A75B9A /* ReactNativeRootToast */ = { 43 | isa = PBXGroup; 44 | children = ( 45 | 13B07FB51A68108700A75B9A /* Images.xcassets */, 46 | 761780EC2CA45674006654EE /* AppDelegate.swift */, 47 | 13B07FB61A68108700A75B9A /* Info.plist */, 48 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, 49 | 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */, 50 | ); 51 | name = ReactNativeRootToast; 52 | sourceTree = ""; 53 | }; 54 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { 55 | isa = PBXGroup; 56 | children = ( 57 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */, 58 | 5DCACB8F33CDC322A6C60F78 /* libPods-ReactNativeRootToast.a */, 59 | ); 60 | name = Frameworks; 61 | sourceTree = ""; 62 | }; 63 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = { 64 | isa = PBXGroup; 65 | children = ( 66 | ); 67 | name = Libraries; 68 | sourceTree = ""; 69 | }; 70 | 83CBB9F61A601CBA00E9B192 = { 71 | isa = PBXGroup; 72 | children = ( 73 | 13B07FAE1A68108700A75B9A /* ReactNativeRootToast */, 74 | 832341AE1AAA6A7D00B99B32 /* Libraries */, 75 | 83CBBA001A601CBA00E9B192 /* Products */, 76 | 2D16E6871FA4F8E400B85C8A /* Frameworks */, 77 | BBD78D7AC51CEA395F1C20DB /* Pods */, 78 | ); 79 | indentWidth = 2; 80 | sourceTree = ""; 81 | tabWidth = 2; 82 | usesTabs = 0; 83 | }; 84 | 83CBBA001A601CBA00E9B192 /* Products */ = { 85 | isa = PBXGroup; 86 | children = ( 87 | 13B07F961A680F5B00A75B9A /* ReactNativeRootToast.app */, 88 | ); 89 | name = Products; 90 | sourceTree = ""; 91 | }; 92 | BBD78D7AC51CEA395F1C20DB /* Pods */ = { 93 | isa = PBXGroup; 94 | children = ( 95 | 3B4392A12AC88292D35C810B /* Pods-ReactNativeRootToast.debug.xcconfig */, 96 | 5709B34CF0A7D63546082F79 /* Pods-ReactNativeRootToast.release.xcconfig */, 97 | ); 98 | path = Pods; 99 | sourceTree = ""; 100 | }; 101 | /* End PBXGroup section */ 102 | 103 | /* Begin PBXNativeTarget section */ 104 | 13B07F861A680F5B00A75B9A /* ReactNativeRootToast */ = { 105 | isa = PBXNativeTarget; 106 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeRootToast" */; 107 | buildPhases = ( 108 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, 109 | 13B07F871A680F5B00A75B9A /* Sources */, 110 | 13B07F8C1A680F5B00A75B9A /* Frameworks */, 111 | 13B07F8E1A680F5B00A75B9A /* Resources */, 112 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 113 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, 114 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, 115 | ); 116 | buildRules = ( 117 | ); 118 | dependencies = ( 119 | ); 120 | name = ReactNativeRootToast; 121 | productName = ReactNativeRootToast; 122 | productReference = 13B07F961A680F5B00A75B9A /* ReactNativeRootToast.app */; 123 | productType = "com.apple.product-type.application"; 124 | }; 125 | /* End PBXNativeTarget section */ 126 | 127 | /* Begin PBXProject section */ 128 | 83CBB9F71A601CBA00E9B192 /* Project object */ = { 129 | isa = PBXProject; 130 | attributes = { 131 | LastUpgradeCheck = 1210; 132 | TargetAttributes = { 133 | 13B07F861A680F5B00A75B9A = { 134 | LastSwiftMigration = 1120; 135 | }; 136 | }; 137 | }; 138 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ReactNativeRootToast" */; 139 | compatibilityVersion = "Xcode 12.0"; 140 | developmentRegion = en; 141 | hasScannedForEncodings = 0; 142 | knownRegions = ( 143 | en, 144 | Base, 145 | ); 146 | mainGroup = 83CBB9F61A601CBA00E9B192; 147 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; 148 | projectDirPath = ""; 149 | projectRoot = ""; 150 | targets = ( 151 | 13B07F861A680F5B00A75B9A /* ReactNativeRootToast */, 152 | ); 153 | }; 154 | /* End PBXProject section */ 155 | 156 | /* Begin PBXResourcesBuildPhase section */ 157 | 13B07F8E1A680F5B00A75B9A /* Resources */ = { 158 | isa = PBXResourcesBuildPhase; 159 | buildActionMask = 2147483647; 160 | files = ( 161 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, 162 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 163 | 24BA148C443C7BAA035D01DB /* PrivacyInfo.xcprivacy in Resources */, 164 | ); 165 | runOnlyForDeploymentPostprocessing = 0; 166 | }; 167 | /* End PBXResourcesBuildPhase section */ 168 | 169 | /* Begin PBXShellScriptBuildPhase section */ 170 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { 171 | isa = PBXShellScriptBuildPhase; 172 | buildActionMask = 2147483647; 173 | files = ( 174 | ); 175 | inputPaths = ( 176 | "$(SRCROOT)/.xcode.env.local", 177 | "$(SRCROOT)/.xcode.env", 178 | ); 179 | name = "Bundle React Native code and images"; 180 | outputPaths = ( 181 | ); 182 | runOnlyForDeploymentPostprocessing = 0; 183 | shellPath = /bin/sh; 184 | shellScript = "set -e\n\nWITH_ENVIRONMENT=\"$REACT_NATIVE_PATH/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"$REACT_NATIVE_PATH/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; 185 | }; 186 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { 187 | isa = PBXShellScriptBuildPhase; 188 | buildActionMask = 2147483647; 189 | files = ( 190 | ); 191 | inputFileListPaths = ( 192 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeRootToast/Pods-ReactNativeRootToast-frameworks-${CONFIGURATION}-input-files.xcfilelist", 193 | ); 194 | name = "[CP] Embed Pods Frameworks"; 195 | outputFileListPaths = ( 196 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeRootToast/Pods-ReactNativeRootToast-frameworks-${CONFIGURATION}-output-files.xcfilelist", 197 | ); 198 | runOnlyForDeploymentPostprocessing = 0; 199 | shellPath = /bin/sh; 200 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeRootToast/Pods-ReactNativeRootToast-frameworks.sh\"\n"; 201 | showEnvVarsInLog = 0; 202 | }; 203 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { 204 | isa = PBXShellScriptBuildPhase; 205 | buildActionMask = 2147483647; 206 | files = ( 207 | ); 208 | inputFileListPaths = ( 209 | ); 210 | inputPaths = ( 211 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 212 | "${PODS_ROOT}/Manifest.lock", 213 | ); 214 | name = "[CP] Check Pods Manifest.lock"; 215 | outputFileListPaths = ( 216 | ); 217 | outputPaths = ( 218 | "$(DERIVED_FILE_DIR)/Pods-ReactNativeRootToast-checkManifestLockResult.txt", 219 | ); 220 | runOnlyForDeploymentPostprocessing = 0; 221 | shellPath = /bin/sh; 222 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 223 | showEnvVarsInLog = 0; 224 | }; 225 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { 226 | isa = PBXShellScriptBuildPhase; 227 | buildActionMask = 2147483647; 228 | files = ( 229 | ); 230 | inputFileListPaths = ( 231 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeRootToast/Pods-ReactNativeRootToast-resources-${CONFIGURATION}-input-files.xcfilelist", 232 | ); 233 | name = "[CP] Copy Pods Resources"; 234 | outputFileListPaths = ( 235 | "${PODS_ROOT}/Target Support Files/Pods-ReactNativeRootToast/Pods-ReactNativeRootToast-resources-${CONFIGURATION}-output-files.xcfilelist", 236 | ); 237 | runOnlyForDeploymentPostprocessing = 0; 238 | shellPath = /bin/sh; 239 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ReactNativeRootToast/Pods-ReactNativeRootToast-resources.sh\"\n"; 240 | showEnvVarsInLog = 0; 241 | }; 242 | /* End PBXShellScriptBuildPhase section */ 243 | 244 | /* Begin PBXSourcesBuildPhase section */ 245 | 13B07F871A680F5B00A75B9A /* Sources */ = { 246 | isa = PBXSourcesBuildPhase; 247 | buildActionMask = 2147483647; 248 | files = ( 249 | 761780ED2CA45674006654EE /* AppDelegate.swift in Sources */, 250 | ); 251 | runOnlyForDeploymentPostprocessing = 0; 252 | }; 253 | /* End PBXSourcesBuildPhase section */ 254 | 255 | /* Begin XCBuildConfiguration section */ 256 | 13B07F941A680F5B00A75B9A /* Debug */ = { 257 | isa = XCBuildConfiguration; 258 | baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-ReactNativeRootToast.debug.xcconfig */; 259 | buildSettings = { 260 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 261 | CLANG_ENABLE_MODULES = YES; 262 | CURRENT_PROJECT_VERSION = 1; 263 | ENABLE_BITCODE = NO; 264 | INFOPLIST_FILE = ReactNativeRootToast/Info.plist; 265 | IPHONEOS_DEPLOYMENT_TARGET = 15.1; 266 | LD_RUNPATH_SEARCH_PATHS = ( 267 | "$(inherited)", 268 | "@executable_path/Frameworks", 269 | ); 270 | MARKETING_VERSION = 1.0; 271 | OTHER_LDFLAGS = ( 272 | "$(inherited)", 273 | "-ObjC", 274 | "-lc++", 275 | ); 276 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 277 | PRODUCT_NAME = ReactNativeRootToast; 278 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 279 | SWIFT_VERSION = 5.0; 280 | VERSIONING_SYSTEM = "apple-generic"; 281 | }; 282 | name = Debug; 283 | }; 284 | 13B07F951A680F5B00A75B9A /* Release */ = { 285 | isa = XCBuildConfiguration; 286 | baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-ReactNativeRootToast.release.xcconfig */; 287 | buildSettings = { 288 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 289 | CLANG_ENABLE_MODULES = YES; 290 | CURRENT_PROJECT_VERSION = 1; 291 | INFOPLIST_FILE = ReactNativeRootToast/Info.plist; 292 | IPHONEOS_DEPLOYMENT_TARGET = 15.1; 293 | LD_RUNPATH_SEARCH_PATHS = ( 294 | "$(inherited)", 295 | "@executable_path/Frameworks", 296 | ); 297 | MARKETING_VERSION = 1.0; 298 | OTHER_LDFLAGS = ( 299 | "$(inherited)", 300 | "-ObjC", 301 | "-lc++", 302 | ); 303 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 304 | PRODUCT_NAME = ReactNativeRootToast; 305 | SWIFT_VERSION = 5.0; 306 | VERSIONING_SYSTEM = "apple-generic"; 307 | }; 308 | name = Release; 309 | }; 310 | 83CBBA201A601CBA00E9B192 /* Debug */ = { 311 | isa = XCBuildConfiguration; 312 | buildSettings = { 313 | ALWAYS_SEARCH_USER_PATHS = NO; 314 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 315 | CLANG_CXX_LANGUAGE_STANDARD = "c++20"; 316 | CLANG_CXX_LIBRARY = "libc++"; 317 | CLANG_ENABLE_MODULES = YES; 318 | CLANG_ENABLE_OBJC_ARC = YES; 319 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 320 | CLANG_WARN_BOOL_CONVERSION = YES; 321 | CLANG_WARN_COMMA = YES; 322 | CLANG_WARN_CONSTANT_CONVERSION = YES; 323 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 324 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 325 | CLANG_WARN_EMPTY_BODY = YES; 326 | CLANG_WARN_ENUM_CONVERSION = YES; 327 | CLANG_WARN_INFINITE_RECURSION = YES; 328 | CLANG_WARN_INT_CONVERSION = YES; 329 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 330 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 331 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 332 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 333 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 334 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 335 | CLANG_WARN_STRICT_PROTOTYPES = YES; 336 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 337 | CLANG_WARN_UNREACHABLE_CODE = YES; 338 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 339 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 340 | COPY_PHASE_STRIP = NO; 341 | ENABLE_STRICT_OBJC_MSGSEND = YES; 342 | ENABLE_TESTABILITY = YES; 343 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; 344 | GCC_C_LANGUAGE_STANDARD = gnu99; 345 | GCC_DYNAMIC_NO_PIC = NO; 346 | GCC_NO_COMMON_BLOCKS = YES; 347 | GCC_OPTIMIZATION_LEVEL = 0; 348 | GCC_PREPROCESSOR_DEFINITIONS = ( 349 | "DEBUG=1", 350 | "$(inherited)", 351 | ); 352 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 353 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 354 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 355 | GCC_WARN_UNDECLARED_SELECTOR = YES; 356 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 357 | GCC_WARN_UNUSED_FUNCTION = YES; 358 | GCC_WARN_UNUSED_VARIABLE = YES; 359 | IPHONEOS_DEPLOYMENT_TARGET = 15.1; 360 | LD_RUNPATH_SEARCH_PATHS = ( 361 | /usr/lib/swift, 362 | "$(inherited)", 363 | ); 364 | LIBRARY_SEARCH_PATHS = ( 365 | "\"$(SDKROOT)/usr/lib/swift\"", 366 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", 367 | "\"$(inherited)\"", 368 | ); 369 | MTL_ENABLE_DEBUG_INFO = YES; 370 | ONLY_ACTIVE_ARCH = YES; 371 | OTHER_CPLUSPLUSFLAGS = ( 372 | "$(OTHER_CFLAGS)", 373 | "-DFOLLY_NO_CONFIG", 374 | "-DFOLLY_MOBILE=1", 375 | "-DFOLLY_USE_LIBCPP=1", 376 | "-DFOLLY_CFG_NO_COROUTINES=1", 377 | "-DFOLLY_HAVE_CLOCK_GETTIME=1", 378 | ); 379 | OTHER_LDFLAGS = ( 380 | "$(inherited)", 381 | " ", 382 | ); 383 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; 384 | SDKROOT = iphoneos; 385 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; 386 | USE_HERMES = true; 387 | }; 388 | name = Debug; 389 | }; 390 | 83CBBA211A601CBA00E9B192 /* Release */ = { 391 | isa = XCBuildConfiguration; 392 | buildSettings = { 393 | ALWAYS_SEARCH_USER_PATHS = NO; 394 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 395 | CLANG_CXX_LANGUAGE_STANDARD = "c++20"; 396 | CLANG_CXX_LIBRARY = "libc++"; 397 | CLANG_ENABLE_MODULES = YES; 398 | CLANG_ENABLE_OBJC_ARC = YES; 399 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 400 | CLANG_WARN_BOOL_CONVERSION = YES; 401 | CLANG_WARN_COMMA = YES; 402 | CLANG_WARN_CONSTANT_CONVERSION = YES; 403 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 404 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 405 | CLANG_WARN_EMPTY_BODY = YES; 406 | CLANG_WARN_ENUM_CONVERSION = YES; 407 | CLANG_WARN_INFINITE_RECURSION = YES; 408 | CLANG_WARN_INT_CONVERSION = YES; 409 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 410 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 411 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 412 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 413 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 414 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 415 | CLANG_WARN_STRICT_PROTOTYPES = YES; 416 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 417 | CLANG_WARN_UNREACHABLE_CODE = YES; 418 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 419 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 420 | COPY_PHASE_STRIP = YES; 421 | ENABLE_NS_ASSERTIONS = NO; 422 | ENABLE_STRICT_OBJC_MSGSEND = YES; 423 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; 424 | GCC_C_LANGUAGE_STANDARD = gnu99; 425 | GCC_NO_COMMON_BLOCKS = YES; 426 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 427 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 428 | GCC_WARN_UNDECLARED_SELECTOR = YES; 429 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 430 | GCC_WARN_UNUSED_FUNCTION = YES; 431 | GCC_WARN_UNUSED_VARIABLE = YES; 432 | IPHONEOS_DEPLOYMENT_TARGET = 15.1; 433 | LD_RUNPATH_SEARCH_PATHS = ( 434 | /usr/lib/swift, 435 | "$(inherited)", 436 | ); 437 | LIBRARY_SEARCH_PATHS = ( 438 | "\"$(SDKROOT)/usr/lib/swift\"", 439 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", 440 | "\"$(inherited)\"", 441 | ); 442 | MTL_ENABLE_DEBUG_INFO = NO; 443 | OTHER_CPLUSPLUSFLAGS = ( 444 | "$(OTHER_CFLAGS)", 445 | "-DFOLLY_NO_CONFIG", 446 | "-DFOLLY_MOBILE=1", 447 | "-DFOLLY_USE_LIBCPP=1", 448 | "-DFOLLY_CFG_NO_COROUTINES=1", 449 | "-DFOLLY_HAVE_CLOCK_GETTIME=1", 450 | ); 451 | OTHER_LDFLAGS = ( 452 | "$(inherited)", 453 | " ", 454 | ); 455 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; 456 | SDKROOT = iphoneos; 457 | USE_HERMES = true; 458 | VALIDATE_PRODUCT = YES; 459 | }; 460 | name = Release; 461 | }; 462 | /* End XCBuildConfiguration section */ 463 | 464 | /* Begin XCConfigurationList section */ 465 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeRootToast" */ = { 466 | isa = XCConfigurationList; 467 | buildConfigurations = ( 468 | 13B07F941A680F5B00A75B9A /* Debug */, 469 | 13B07F951A680F5B00A75B9A /* Release */, 470 | ); 471 | defaultConfigurationIsVisible = 0; 472 | defaultConfigurationName = Release; 473 | }; 474 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ReactNativeRootToast" */ = { 475 | isa = XCConfigurationList; 476 | buildConfigurations = ( 477 | 83CBBA201A601CBA00E9B192 /* Debug */, 478 | 83CBBA211A601CBA00E9B192 /* Release */, 479 | ); 480 | defaultConfigurationIsVisible = 0; 481 | defaultConfigurationName = Release; 482 | }; 483 | /* End XCConfigurationList section */ 484 | }; 485 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; 486 | } 487 | -------------------------------------------------------------------------------- /Example/ios/ReactNativeRootToast.xcodeproj/xcshareddata/xcschemes/rn781.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 53 | 55 | 61 | 62 | 63 | 64 | 70 | 72 | 78 | 79 | 80 | 81 | 83 | 84 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /Example/ios/ReactNativeRootToast.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Example/ios/ReactNativeRootToast/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "scale" : "2x", 6 | "size" : "20x20" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "scale" : "3x", 11 | "size" : "20x20" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "scale" : "2x", 16 | "size" : "29x29" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "scale" : "3x", 21 | "size" : "29x29" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "scale" : "2x", 26 | "size" : "40x40" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "scale" : "3x", 31 | "size" : "40x40" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "scale" : "2x", 36 | "size" : "60x60" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "scale" : "3x", 41 | "size" : "60x60" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "scale" : "1x", 46 | "size" : "1024x1024" 47 | } 48 | ], 49 | "info" : { 50 | "author" : "xcode", 51 | "version" : 1 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Example/ios/ReactNativeRootToast/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Example/ios/ReactNativeRootToast/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ReactNativeRootToast 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | $(MARKETING_VERSION) 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | $(CURRENT_PROJECT_VERSION) 25 | LSRequiresIPhoneOS 26 | 27 | NSAppTransportSecurity 28 | 29 | 30 | NSAllowsArbitraryLoads 31 | 32 | NSAllowsLocalNetworking 33 | 34 | 35 | NSLocationWhenInUseUsageDescription 36 | 37 | UILaunchStoryboardName 38 | LaunchScreen 39 | UIRequiredDeviceCapabilities 40 | 41 | arm64 42 | 43 | UISupportedInterfaceOrientations 44 | 45 | UIInterfaceOrientationPortrait 46 | UIInterfaceOrientationLandscapeLeft 47 | UIInterfaceOrientationLandscapeRight 48 | 49 | UIViewControllerBasedStatusBarAppearance 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Example/ios/ReactNativeRootToast/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 24 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Example/ios/ReactNativeRootToast/PrivacyInfo.xcprivacy: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSPrivacyAccessedAPITypes 6 | 7 | 8 | NSPrivacyAccessedAPIType 9 | NSPrivacyAccessedAPICategoryFileTimestamp 10 | NSPrivacyAccessedAPITypeReasons 11 | 12 | C617.1 13 | 14 | 15 | 16 | NSPrivacyAccessedAPIType 17 | NSPrivacyAccessedAPICategoryUserDefaults 18 | NSPrivacyAccessedAPITypeReasons 19 | 20 | CA92.1 21 | 22 | 23 | 24 | NSPrivacyAccessedAPIType 25 | NSPrivacyAccessedAPICategorySystemBootTime 26 | NSPrivacyAccessedAPITypeReasons 27 | 28 | 35F9.1 29 | 30 | 31 | 32 | NSPrivacyCollectedDataTypes 33 | 34 | NSPrivacyTracking 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /Example/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: 'react-native', 3 | }; 4 | -------------------------------------------------------------------------------- /Example/metro.config.js: -------------------------------------------------------------------------------- 1 | const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config'); 2 | const path = require('path'); 3 | /** 4 | * Metro configuration 5 | * https://reactnative.dev/docs/metro 6 | * 7 | * @type {import('@react-native/metro-config').MetroConfig} 8 | */ 9 | const projectRoot = __dirname; 10 | const workspaceRoot = path.resolve(__dirname, '..'); 11 | const config = { 12 | watchFolders: [workspaceRoot], 13 | resolver: { 14 | nodeModulesPaths: [ 15 | path.resolve(projectRoot, 'node_modules'), 16 | path.resolve(workspaceRoot, 'node_modules'), 17 | ], 18 | }, 19 | }; 20 | 21 | module.exports = mergeConfig(getDefaultConfig(__dirname), config); 22 | -------------------------------------------------------------------------------- /Example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ReactNativeRootToast", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "android": "react-native run-android", 7 | "ios": "react-native run-ios", 8 | "lint": "eslint .", 9 | "start": "react-native start", 10 | "test": "jest" 11 | }, 12 | "dependencies": { 13 | "@react-native-picker/picker": "^2.11.0", 14 | "react": "19.0.0", 15 | "react-native": "0.78.1", 16 | "react-native-root-modal": "^5.0.1", 17 | "react-native-root-toast": "file:../", 18 | "react-native-safe-area-context": "^5.3.0" 19 | }, 20 | "devDependencies": { 21 | "@babel/core": "^7.25.2", 22 | "@babel/preset-env": "^7.25.3", 23 | "@babel/runtime": "^7.25.0", 24 | "@react-native-community/cli": "15.0.1", 25 | "@react-native-community/cli-platform-android": "15.0.1", 26 | "@react-native-community/cli-platform-ios": "15.0.1", 27 | "@react-native/babel-preset": "0.78.1", 28 | "@react-native/eslint-config": "0.78.1", 29 | "@react-native/metro-config": "0.78.1", 30 | "@react-native/typescript-config": "0.78.1", 31 | "@types/jest": "^29.5.13", 32 | "@types/react": "^19.0.0", 33 | "@types/react-test-renderer": "^19.0.0", 34 | "eslint": "^8.19.0", 35 | "jest": "^29.6.3", 36 | "prettier": "2.8.8", 37 | "react-test-renderer": "19.0.0", 38 | "typescript": "5.0.4" 39 | }, 40 | "engines": { 41 | "node": ">=18" 42 | }, 43 | "resolutions": { 44 | "react-native-root-siblings": "^5.0.0" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Example/screen-shoots.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magicismight/react-native-root-toast/c4f2f67406e65f0d1355837b68e47b9c41aa537a/Example/screen-shoots.gif -------------------------------------------------------------------------------- /Example/test.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * Sample React Native App 3 | * https://github.com/facebook/react-native 4 | * 5 | * @format 6 | */ 7 | 8 | import React from 'react'; 9 | import type {PropsWithChildren} from 'react'; 10 | import { 11 | ScrollView, 12 | StatusBar, 13 | StyleSheet, 14 | Text, 15 | useColorScheme, 16 | View, 17 | } from 'react-native'; 18 | 19 | import { 20 | Colors, 21 | DebugInstructions, 22 | Header, 23 | LearnMoreLinks, 24 | ReloadInstructions, 25 | } from 'react-native/Libraries/NewAppScreen'; 26 | 27 | type SectionProps = PropsWithChildren<{ 28 | title: string; 29 | }>; 30 | 31 | function Section({children, title}: SectionProps): React.JSX.Element { 32 | const isDarkMode = useColorScheme() === 'dark'; 33 | return ( 34 | 35 | 42 | {title} 43 | 44 | 51 | {children} 52 | 53 | 54 | ); 55 | } 56 | 57 | function App(): React.JSX.Element { 58 | const isDarkMode = useColorScheme() === 'dark'; 59 | 60 | const backgroundStyle = { 61 | backgroundColor: isDarkMode ? Colors.darker : Colors.lighter, 62 | }; 63 | 64 | /* 65 | * To keep the template simple and small we're adding padding to prevent view 66 | * from rendering under the System UI. 67 | * For bigger apps the reccomendation is to use `react-native-safe-area-context`: 68 | * https://github.com/AppAndFlow/react-native-safe-area-context 69 | * 70 | * You can read more about it here: 71 | * https://github.com/react-native-community/discussions-and-proposals/discussions/827 72 | */ 73 | const safePadding = '5%'; 74 | 75 | return ( 76 | 77 | 81 | 83 | 84 |
85 | 86 | 92 |
93 | Edit App.tsx to change this 94 | screen and then come back to see your edits. 95 |
96 |
97 | 98 |
99 |
100 | 101 |
102 |
103 | Read the docs to discover what to do next: 104 |
105 | 106 |
107 | 108 | 109 | ); 110 | } 111 | 112 | const styles = StyleSheet.create({ 113 | sectionContainer: { 114 | marginTop: 32, 115 | paddingHorizontal: 24, 116 | }, 117 | sectionTitle: { 118 | fontSize: 24, 119 | fontWeight: '600', 120 | }, 121 | sectionDescription: { 122 | marginTop: 8, 123 | fontSize: 18, 124 | fontWeight: '400', 125 | }, 126 | highlight: { 127 | fontWeight: '700', 128 | }, 129 | }); 130 | 131 | export default App; 132 | -------------------------------------------------------------------------------- /Example/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@react-native/typescript-config/tsconfig.json" 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) [2015-2016] [Horcrux] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## react-native-root-toast [![npm version](https://badge.fury.io/js/react-native-root-toast.svg)](http://badge.fury.io/js/react-native-root-toast) 2 | 3 | ----------------------- 4 | 5 | #### Features 6 | 1. Pure javascript solution. 7 | 2. Support both Android and iOS. 8 | 3. Lots of custom options for Toast. 9 | 4. You can show/hide Toast by calling api or using Component inside render. 10 | 11 | ![screen-shoots](./Example/screen-shoots.gif) 12 | 13 | ### Install 14 | 15 | `npm install react-native-root-toast` 16 | 17 | > react-native-root-toast >= 2.1.0 only supports react-native >= 0.47.0 , for lower version choose 2.0.0 or below. 18 | 19 | In react native >= 0.62, the new LogBox component would impact this component's initialization. To make it work we have to explicitly insert a mount point in your app like this: 20 | 21 | ```js 22 | // in your entry file like `App.js` 23 | 24 | // In theory you don't have to install `react-native-root-siblings` because it's a dep of root-toast 25 | // But you can install it explicitly if your editor complains about it. 26 | import { RootSiblingParent } from 'react-native-root-siblings'; 27 | 28 | // in your render function 29 | return ( 30 | // <- use RootSiblingParent to wrap your root component 31 | 32 | 33 | ); 34 | 35 | ``` 36 | 37 | You can skip this step if your react-native is lower than 0.62. And actually you can inject RootSiblingParent into anywhere like a react portal, for example if you have multiple rootviews you can choose where to display the root toast. 38 | 39 | Read more about [`react-native-root-siblings`](https://github.com/magicismight/react-native-root-siblings) which powers `react-native-root-toast`. 40 | 41 | 42 | ### Usage 43 | 44 | There are two different ways to manage a Toast. 45 | 46 | ##### **Calling api** 47 | 48 | ```js 49 | import Toast from 'react-native-root-toast'; 50 | 51 | 52 | // Add a Toast on screen. 53 | let toast = Toast.show('This is a message', { 54 | duration: Toast.durations.LONG, 55 | position: Toast.positions.BOTTOM, 56 | shadow: true, 57 | animation: true, 58 | hideOnPress: true, 59 | delay: 0, 60 | onShow: () => { 61 | // calls on toast\`s appear animation start 62 | }, 63 | onShown: () => { 64 | // calls on toast\`s appear animation end. 65 | }, 66 | onHide: () => { 67 | // calls on toast\`s hide animation start. 68 | }, 69 | onHidden: () => { 70 | // calls on toast\`s hide animation end. 71 | } 72 | }); 73 | 74 | // You can manually hide the Toast, or it will automatically disappear after a `duration` ms timeout. 75 | setTimeout(function () { 76 | Toast.hide(toast); 77 | }, 500); 78 | 79 | ``` 80 | 81 | ##### **Using a Component** 82 | 83 | **NOTE:** 84 | Showing a toast by using a Component inside render, The toast will be automatically disappeared when the `` is unmounted. 85 | 86 | ```js 87 | import React, {Component} from 'react-native'; 88 | import Toast from 'react-native-root-toast'; 89 | 90 | class Example extends Component{ 91 | state = { 92 | visible: false 93 | } 94 | 95 | componentDidMount() { 96 | setTimeout(() => this.setState({ 97 | visible: true 98 | }), 2000); // show toast after 2s 99 | 100 | setTimeout(() => this.setState({ 101 | visible: false 102 | }), 5000); // hide toast after 5s 103 | }; 104 | 105 | render() { 106 | return This is a message; 113 | } 114 | } 115 | 116 | ``` 117 | 118 | --- 119 | 120 | ## Reference 121 | 122 | ### Props 123 | 124 | Name | Default | Type | Description 125 | --------------------|--------------------------|----------|--------------------------- 126 | duration | Toast.durations.SHORT | Number | The duration of the toast. (Only for api calling method) 127 | visible | false | Bool | The visibility of toast. (Only for Toast Component) 128 | position | Toast.positions.BOTTOM | Number | The position of toast showing on screen (A negative number represents the distance from the bottom of screen. A positive number represents the distance form the top of screen. `0` will position the toast to the middle of screen.) 129 | animation | true | Bool | Should preform an animation on toast appearing or disappearing. 130 | shadow | true | Bool | Should drop shadow around Toast element. 131 | backgroundColor | null | String | The background color of the toast. 132 | shadowColor | null | String | The shadow color of the toast. 133 | textColor | null | String | The text color of the toast. 134 | delay | 0 | Number | The delay duration before toast start appearing on screen. 135 | hideOnPress | true | Bool | Should hide toast that appears by pressing on the toast. 136 | opacity | 0.8 | Number | The Toast opacity. 137 | onShow | null | Function | Callback for toast\`s appear animation start 138 | onShown | null | Function | Callback for toast\`s appear animation end 139 | onHide | null | Function | Callback for toast\`s hide animation start 140 | onHidden | null | Function | Callback for toast\`s hide animation end 141 | 142 | ### Constants 143 | 144 | ##### Toast.durations 145 | 146 | presets of duration of the toast. 147 | 148 | 1. Toast.durations.SHORT (equals to *2000*) 149 | 150 | 2. Toast.durations.LONG (equals to *3500*) 151 | 152 | ##### Toast.positions 153 | 154 | presets of position of toast. 155 | 156 | 1. Toast.positions.TOP (equals to *20*) 157 | 158 | 2. Toast.positions.BOTTOM (equals to *-20*) 159 | 160 | 3. Toast.positions.CENTER (equals to *0*) 161 | 162 | -------------------------------------------------------------------------------- /index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * typescript definition 3 | * @author wallel 4 | */ 5 | declare module 'react-native-root-toast' { 6 | import * as React from 'react'; 7 | import * as ReactNative from 'react-native'; 8 | import {TextStyle, StyleProp, ViewStyle, ViewProps} from 'react-native'; 9 | export interface ToastOptions { 10 | containerStyle?: StyleProp; 11 | duration?: number; 12 | visible?: boolean; 13 | position?: number; 14 | animation?: boolean; 15 | shadow?: boolean; 16 | backgroundColor?: string; 17 | opacity?: number; 18 | shadowColor?: string; 19 | textColor?: string; 20 | textStyle?: StyleProp; 21 | delay?: number; 22 | keyboardAvoiding?: boolean; 23 | hideOnPress?: boolean; 24 | onHide?: Function; 25 | onHidden?: Function; 26 | onShow?: Function; 27 | onShown?: Function; 28 | onPress?: Function; 29 | accessible?: boolean; 30 | accessibilityLabel?: string; 31 | accessibilityHint?: string; 32 | accessibilityRole?: string; 33 | } 34 | 35 | export interface ToastProps extends ToastOptions, ViewProps {} 36 | 37 | export interface Durations { 38 | LONG: number; 39 | SHORT: number; 40 | } 41 | export interface Positions { 42 | TOP: number; 43 | BOTTOM: number; 44 | CENTER: number; 45 | } 46 | export default class Toast extends React.Component { 47 | static show: (message: React.ReactNode, options?: ToastOptions) => any; 48 | static hide: (toast: any) => void; 49 | static durations: Durations; 50 | static positions: Positions; 51 | } 52 | 53 | export class ToastContainer extends React.Component {} 54 | } 55 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | import Toast from './lib/Toast'; 2 | import ToastContainer from './lib/ToastContainer'; 3 | 4 | export * from './lib/Toast'; 5 | export { ToastContainer }; 6 | export default Toast; 7 | -------------------------------------------------------------------------------- /lib/Toast.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import RootSiblings from 'react-native-root-siblings'; 3 | import ToastContainer, {positions, durations} from './ToastContainer'; 4 | 5 | class Toast extends Component { 6 | static displayName = 'Toast'; 7 | static positions = positions; 8 | static durations = durations; 9 | 10 | static show = ( 11 | message, 12 | options = {position: positions.BOTTOM, duration: durations.SHORT}, 13 | ) => { 14 | let instance = {destroy: () => {}}; 15 | const onHidden = () => { 16 | options.onHidden && options.onHidden(); 17 | instance.destroy(); 18 | }; 19 | instance = new RootSiblings( 20 | ( 21 | 22 | {message} 23 | 24 | ), 25 | ); 26 | return instance; 27 | }; 28 | 29 | static hide = toast => { 30 | if (toast instanceof RootSiblings) { 31 | toast.destroy(); 32 | } else { 33 | console.warn( 34 | `Toast.hide expected a \`RootSiblings\` instance as argument.\nBut got \`${typeof toast}\` instead.`, 35 | ); 36 | } 37 | }; 38 | 39 | _toast = null; 40 | 41 | componentDidMount = () => { 42 | this._toast = new RootSiblings( 43 | , 44 | ); 45 | }; 46 | 47 | componentDidUpdate = prevProps => { 48 | this._toast.update(); 49 | }; 50 | 51 | componentWillUnmount = () => { 52 | this._toast.destroy(); 53 | }; 54 | 55 | render() { 56 | return null; 57 | } 58 | } 59 | 60 | export {RootSiblings as Manager}; 61 | export default Toast; 62 | -------------------------------------------------------------------------------- /lib/ToastContainer.js: -------------------------------------------------------------------------------- 1 | import React, {Component} from 'react'; 2 | import { 3 | StyleSheet, 4 | Text, 5 | Animated, 6 | Dimensions, 7 | Pressable, 8 | Easing, 9 | Keyboard, 10 | TouchableWithoutFeedback, 11 | Platform, 12 | } from 'react-native'; 13 | import {SafeAreaView} from 'react-native-safe-area-context'; 14 | 15 | const TOAST_MAX_WIDTH = 0.8; 16 | const TOAST_ANIMATION_DURATION = 200; 17 | 18 | const positions = { 19 | TOP: 20, 20 | BOTTOM: -20, 21 | CENTER: 0, 22 | }; 23 | 24 | const durations = { 25 | LONG: 3500, 26 | SHORT: 2000, 27 | }; 28 | 29 | const styles = StyleSheet.create({ 30 | defaultStyle: { 31 | position: 'absolute', 32 | left: 0, 33 | right: 0, 34 | justifyContent: 'center', 35 | alignItems: 'center', 36 | }, 37 | containerStyle: { 38 | padding: 10, 39 | backgroundColor: '#000', 40 | opacity: 0.8, 41 | borderRadius: 5, 42 | }, 43 | shadowStyle: { 44 | shadowColor: '#000', 45 | shadowOffset: { 46 | width: 4, 47 | height: 4, 48 | }, 49 | shadowOpacity: 0.8, 50 | shadowRadius: 6, 51 | elevation: 10, 52 | }, 53 | textStyle: { 54 | fontSize: 16, 55 | color: '#fff', 56 | textAlign: 'center', 57 | }, 58 | }); 59 | 60 | const Touchable = Pressable || TouchableWithoutFeedback; 61 | const Wrapper = SafeAreaView; 62 | const window = Dimensions.get('window'); 63 | class ToastContainer extends Component { 64 | static displayName = 'ToastContainer'; 65 | 66 | static defaultProps = { 67 | visible: false, 68 | duration: durations.SHORT, 69 | animation: true, 70 | shadow: true, 71 | position: positions.BOTTOM, 72 | opacity: 0.8, 73 | delay: 0, 74 | hideOnPress: true, 75 | keyboardAvoiding: true, 76 | accessible: true, 77 | accessibilityLabel: undefined, 78 | accessibilityHint: undefined, 79 | accessibilityRole: 'alert', 80 | }; 81 | state = { 82 | visible: this.props.visible, 83 | opacity: new Animated.Value(0), 84 | windowWidth: window.width, 85 | windowHeight: window.height, 86 | keyboardScreenY: window.height, 87 | }; 88 | 89 | componentDidMount = () => { 90 | this.dimensionListener = Dimensions.addEventListener( 91 | 'change', 92 | this._windowChanged, 93 | ); 94 | if (this.props.keyboardAvoiding) { 95 | this.keyboardListener = Keyboard.addListener( 96 | 'keyboardDidChangeFrame', 97 | this._keyboardDidChangeFrame, 98 | ); 99 | } 100 | if (this.state.visible) { 101 | this._showTimeout = setTimeout(() => this._show(), this.props.delay); 102 | } 103 | }; 104 | 105 | componentDidUpdate = prevProps => { 106 | if (this.props.visible !== prevProps.visible) { 107 | if (this.props.visible) { 108 | clearTimeout(this._showTimeout); 109 | clearTimeout(this._hideTimeout); 110 | this._showTimeout = setTimeout(() => this._show(), this.props.delay); 111 | } else { 112 | this._hide(); 113 | } 114 | 115 | this.setState({ 116 | visible: this.props.visible, 117 | }); 118 | } 119 | }; 120 | 121 | componentWillUnmount = () => { 122 | this._hide(); 123 | this.dimensionListener?.remove(); 124 | this.keyboardListener?.remove?.(); 125 | }; 126 | 127 | _platform = Platform.OS; 128 | _animating = false; 129 | _root = null; 130 | _hideTimeout = null; 131 | _showTimeout = null; 132 | _keyboardHeight = 0; 133 | 134 | _windowChanged = ({window}) => { 135 | this.setState({ 136 | windowWidth: window.width, 137 | windowHeight: window.height, 138 | }); 139 | }; 140 | 141 | _keyboardDidChangeFrame = ({endCoordinates}) => { 142 | this.setState({ 143 | keyboardScreenY: endCoordinates.screenY, 144 | }); 145 | }; 146 | 147 | _setPointerEvents = value => { 148 | if (this._platform !== 'web') { 149 | this._root.setNativeProps({ 150 | pointerEvents: value, 151 | }); 152 | } else { 153 | this._root.style.pointerEvents = value; 154 | } 155 | }; 156 | 157 | _show = () => { 158 | clearTimeout(this._showTimeout); 159 | if (!this._animating) { 160 | clearTimeout(this._hideTimeout); 161 | this._animating = true; 162 | this._setPointerEvents('auto'); 163 | this.props.onShow && this.props.onShow(this.props.siblingManager); 164 | Animated.timing(this.state.opacity, { 165 | toValue: this.props.opacity, 166 | duration: this.props.animation ? TOAST_ANIMATION_DURATION : 0, 167 | easing: Easing.out(Easing.ease), 168 | useNativeDriver: true, 169 | }).start(({finished}) => { 170 | if (finished) { 171 | this._animating = !finished; 172 | this.props.onShown && this.props.onShown(this.props.siblingManager); 173 | if (this.props.duration > 0) { 174 | this._hideTimeout = setTimeout( 175 | () => this._hide(), 176 | this.props.duration, 177 | ); 178 | } 179 | } 180 | }); 181 | } 182 | }; 183 | 184 | _hide = () => { 185 | clearTimeout(this._showTimeout); 186 | clearTimeout(this._hideTimeout); 187 | if (!this._animating) { 188 | if (this._root) { 189 | this._setPointerEvents('none'); 190 | } 191 | 192 | if (this.props.onHide) { 193 | this.props.onHide(this.props.siblingManager); 194 | } 195 | 196 | Animated.timing(this.state.opacity, { 197 | toValue: 0, 198 | duration: this.props.animation ? TOAST_ANIMATION_DURATION : 0, 199 | easing: Easing.in(Easing.ease), 200 | useNativeDriver: true, 201 | }).start(({finished}) => { 202 | if (finished) { 203 | this._animating = false; 204 | this.props.onHidden && this.props.onHidden(this.props.siblingManager); 205 | } 206 | }); 207 | } 208 | }; 209 | 210 | render() { 211 | const {props} = this; 212 | const {windowWidth} = this.state; 213 | let offset = props.position; 214 | 215 | const {windowHeight, keyboardScreenY} = this.state; 216 | const keyboardHeight = Math.max(windowHeight - keyboardScreenY, 0); 217 | let position = offset 218 | ? { 219 | [offset < 0 ? 'bottom' : 'top']: 220 | offset < 0 ? keyboardHeight - offset : offset, 221 | } 222 | : { 223 | top: 0, 224 | bottom: keyboardHeight, 225 | }; 226 | 227 | return this.state.visible || this._animating ? ( 228 | 245 | { 248 | typeof this.props.onPress === 'function' 249 | ? this.props.onPress() 250 | : null; 251 | this.props.hideOnPress ? this._hide() : null; 252 | }}> 253 | (this._root = ele)}> 273 | {typeof props.children === 'string' ? ( 274 | 280 | {this.props.children} 281 | 282 | ) : ( 283 | props.children 284 | )} 285 | 286 | 287 | 288 | ) : null; 289 | } 290 | } 291 | 292 | export default ToastContainer; 293 | export {positions, durations}; 294 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "4.0.1", 3 | "name": "react-native-root-toast", 4 | "description": "react native toast like component, pure javascript solution", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/magicismight/react-native-root-toast" 8 | }, 9 | "license": "MIT", 10 | "main": "./index.js", 11 | "types": "./index.d.ts", 12 | "files": [ 13 | "lib", 14 | "index.js", 15 | "index.d.ts" 16 | ], 17 | "keywords": [ 18 | "react-component", 19 | "react-native", 20 | "ios", 21 | "android", 22 | "image", 23 | "video", 24 | "focus" 25 | ], 26 | "dependencies": { 27 | "react-native-root-siblings": "^5.0.0" 28 | }, 29 | "devDependencies": { 30 | "react": "19.0.0", 31 | "react-native": "0.78.1", 32 | "react-native-safe-area-context": "^5.3.0" 33 | }, 34 | "peerDependencies": { 35 | "react-native": ">=0.47.0", 36 | "react-native-safe-area-context": "*" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /tea.yaml: -------------------------------------------------------------------------------- 1 | # https://tea.xyz/what-is-this-file 2 | --- 3 | version: 1.0.0 4 | codeOwners: 5 | - '0x10D90dC0034E2e82F0AC55954B3ed4EC0550ECe7' 6 | quorum: 1 7 | --------------------------------------------------------------------------------