From 011503ca4acd83509f6401d3c6a2cc1f6267a180 Mon Sep 17 00:00:00 2001 From: ceceppa Date: Thu, 3 Jul 2025 18:02:27 +0100 Subject: [PATCH 1/7] expo module --- .gitignore | 1 + example/.gitignore | 37 + example/App.tsx | 73 + example/android/.gitignore | 16 + example/android/app/build.gradle | 177 + example/android/app/debug.keystore | Bin 0 -> 2257 bytes example/android/app/proguard-rules.pro | 14 + .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 25 + .../expo/modules/ama/example/MainActivity.kt | 61 + .../modules/ama/example/MainApplication.kt | 57 + .../res/drawable-hdpi/splashscreen_logo.png | Bin 0 -> 20754 bytes .../res/drawable-mdpi/splashscreen_logo.png | Bin 0 -> 12863 bytes .../res/drawable-xhdpi/splashscreen_logo.png | Bin 0 -> 29081 bytes .../res/drawable-xxhdpi/splashscreen_logo.png | Bin 0 -> 47123 bytes .../drawable-xxxhdpi/splashscreen_logo.png | Bin 0 -> 66529 bytes .../res/drawable/ic_launcher_background.xml | 6 + .../res/drawable/rn_edit_text_material.xml | 37 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 3300 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 0 -> 8031 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 4103 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 2048 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 0 -> 5079 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 2613 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 4535 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 0 -> 11145 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 5673 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 7345 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 0 -> 18064 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 9091 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 10108 bytes .../ic_launcher_foreground.webp | Bin 0 -> 25030 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 12469 bytes .../app/src/main/res/values-night/colors.xml | 1 + .../app/src/main/res/values/colors.xml | 6 + .../app/src/main/res/values/strings.xml | 5 + .../app/src/main/res/values/styles.xml | 10 + example/android/build.gradle | 37 + example/android/gradle.properties | 59 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43583 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + example/android/gradlew | 251 + example/android/gradlew.bat | 94 + example/android/settings.gradle | 39 + example/app.json | 31 + example/assets/adaptive-icon.png | Bin 0 -> 17547 bytes example/assets/favicon.png | Bin 0 -> 1466 bytes example/assets/icon.png | Bin 0 -> 22380 bytes example/assets/splash-icon.png | Bin 0 -> 17547 bytes example/babel.config.js | 6 + example/index.ts | 8 + example/ios/.gitignore | 30 + example/ios/.xcode.env | 11 + example/ios/Podfile | 64 + example/ios/Podfile.lock | 2046 ++++ example/ios/Podfile.properties.json | 5 + .../project.pbxproj | 541 + .../xcschemes/reactnativeamaexample.xcscheme | 88 + .../contents.xcworkspacedata | 10 + .../reactnativeamaexample/AppDelegate.swift | 70 + .../App-Icon-1024x1024@1x.png | Bin 0 -> 59468 bytes .../AppIcon.appiconset/Contents.json | 14 + .../Images.xcassets/Contents.json | 6 + .../Contents.json | 20 + .../SplashScreenLogo.imageset/Contents.json | 23 + .../SplashScreenLogo.imageset/image.png | Bin 0 -> 60870 bytes .../SplashScreenLogo.imageset/image@2x.png | Bin 0 -> 60870 bytes .../SplashScreenLogo.imageset/image@3x.png | Bin 0 -> 60870 bytes example/ios/reactnativeamaexample/Info.plist | 74 + .../PrivacyInfo.xcprivacy | 48 + .../SplashScreen.storyboard | 44 + .../Supporting/Expo.plist | 12 + .../reactnativeamaexample-Bridging-Header.h | 3 + .../reactnativeamaexample.entitlements | 5 + example/metro.config.js | 34 + example/package.json | 27 + example/src/AppNavigation.tsx | 260 + example/src/assets/fox-1.jpg | Bin 0 -> 5483934 bytes example/src/assets/fox-2.jpg | Bin 0 -> 2870870 bytes example/src/assets/fox-3.jpg | Bin 0 -> 1216663 bytes example/src/assets/images.ts | 5 + example/src/components/BackButton.tsx | 43 + example/src/components/CTAPressable.tsx | 127 + .../src/components/CTATouchableOpacity.tsx | 104 + .../CTATouchableWithoutFeedback.tsx | 108 + example/src/components/Header.tsx | 25 + example/src/components/Spacer.tsx | 12 + example/src/screens/BottomSheet.screen.tsx | 60 + example/src/screens/Carousel.screen.tsx | 90 + .../src/screens/ExpandablePressableScreen.tsx | 37 + example/src/screens/FlatList.screen.tsx | 32 + .../src/screens/FlatListDynamic.screen.tsx | 92 + example/src/screens/FlatListStatic.screen.tsx | 66 + example/src/screens/Form.screen.tsx | 141 + example/src/screens/Home.screen.tsx | 115 + example/src/screens/Loading.screen.tsx | 44 + example/src/screens/Pressable.screen.tsx | 246 + example/src/screens/SwitchListItemScreen.tsx | 200 + example/src/screens/Text.screen.tsx | 69 + .../src/screens/TouchableOpacity.screen.tsx | 260 + .../TouchableWithoutFeedback.screen.tsx | 261 + example/src/screens/UseAMAContext.screen.tsx | 43 + .../screens/UseAnimationDurationScreen.tsx | 114 + example/src/screens/UseAnimationScreen.tsx | 194 + .../UseReanimatedAnimationBuilderScreen.tsx | 69 + .../src/screens/UseReanimatedTimingScreen.tsx | 84 + example/src/screens/UseTimedAction.screen.tsx | 67 + example/src/theme.ts | 30 + example/src/types.ts | 0 example/tsconfig.json | 3 + example/webpack.config.js | 20 + example/yarn.lock | 6347 ++++++++++++ expo-module.config.json | 9 + package.json | 13 +- packages/core/android/build.gradle | 43 + .../core/android/src/main/AndroidManifest.xml | 2 + .../expo/modules/ama/ReactNativeAmaModule.kt | 50 + .../expo/modules/ama/ReactNativeAmaView.kt | 30 + packages/core/expo-module.config.json | 9 + packages/core/ios/ReactNativeAma.podspec | 29 + packages/core/ios/ReactNativeAmaModule.swift | 48 + packages/core/ios/ReactNativeAmaView.swift | 38 + packages/core/src/ReactNativeAma.types.ts | 19 + packages/core/src/ReactNativeAmaModule.ts | 12 + packages/core/src/ReactNativeAmaModule.web.ts | 15 + packages/core/src/ReactNativeAmaView.tsx | 11 + packages/core/src/ReactNativeAmaView.web.tsx | 15 + packages/core/src/index.ts | 4 + react-native-ama.podspec | 2 +- yarn.lock | 8745 ++++++++--------- 132 files changed, 17811 insertions(+), 4901 deletions(-) create mode 100644 example/.gitignore create mode 100644 example/App.tsx create mode 100644 example/android/.gitignore create mode 100644 example/android/app/build.gradle create mode 100644 example/android/app/debug.keystore create mode 100644 example/android/app/proguard-rules.pro create mode 100644 example/android/app/src/debug/AndroidManifest.xml create mode 100644 example/android/app/src/main/AndroidManifest.xml create mode 100644 example/android/app/src/main/java/expo/modules/ama/example/MainActivity.kt create mode 100644 example/android/app/src/main/java/expo/modules/ama/example/MainApplication.kt create mode 100644 example/android/app/src/main/res/drawable-hdpi/splashscreen_logo.png create mode 100644 example/android/app/src/main/res/drawable-mdpi/splashscreen_logo.png create mode 100644 example/android/app/src/main/res/drawable-xhdpi/splashscreen_logo.png create mode 100644 example/android/app/src/main/res/drawable-xxhdpi/splashscreen_logo.png create mode 100644 example/android/app/src/main/res/drawable-xxxhdpi/splashscreen_logo.png create mode 100644 example/android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 example/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 example/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp create mode 100644 example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 example/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp create mode 100644 example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp create mode 100644 example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp create mode 100644 example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp create mode 100644 example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 example/android/app/src/main/res/values-night/colors.xml create mode 100644 example/android/app/src/main/res/values/colors.xml create mode 100644 example/android/app/src/main/res/values/strings.xml create mode 100644 example/android/app/src/main/res/values/styles.xml create mode 100644 example/android/build.gradle create mode 100644 example/android/gradle.properties create mode 100644 example/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 example/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 example/android/gradlew create mode 100644 example/android/gradlew.bat create mode 100644 example/android/settings.gradle create mode 100644 example/app.json create mode 100644 example/assets/adaptive-icon.png create mode 100644 example/assets/favicon.png create mode 100644 example/assets/icon.png create mode 100644 example/assets/splash-icon.png create mode 100644 example/babel.config.js create mode 100644 example/index.ts create mode 100644 example/ios/.gitignore create mode 100644 example/ios/.xcode.env create mode 100644 example/ios/Podfile create mode 100644 example/ios/Podfile.lock create mode 100644 example/ios/Podfile.properties.json create mode 100644 example/ios/reactnativeamaexample.xcodeproj/project.pbxproj create mode 100644 example/ios/reactnativeamaexample.xcodeproj/xcshareddata/xcschemes/reactnativeamaexample.xcscheme create mode 100644 example/ios/reactnativeamaexample.xcworkspace/contents.xcworkspacedata create mode 100644 example/ios/reactnativeamaexample/AppDelegate.swift create mode 100644 example/ios/reactnativeamaexample/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png create mode 100644 example/ios/reactnativeamaexample/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 example/ios/reactnativeamaexample/Images.xcassets/Contents.json create mode 100644 example/ios/reactnativeamaexample/Images.xcassets/SplashScreenBackground.colorset/Contents.json create mode 100644 example/ios/reactnativeamaexample/Images.xcassets/SplashScreenLogo.imageset/Contents.json create mode 100644 example/ios/reactnativeamaexample/Images.xcassets/SplashScreenLogo.imageset/image.png create mode 100644 example/ios/reactnativeamaexample/Images.xcassets/SplashScreenLogo.imageset/image@2x.png create mode 100644 example/ios/reactnativeamaexample/Images.xcassets/SplashScreenLogo.imageset/image@3x.png create mode 100644 example/ios/reactnativeamaexample/Info.plist create mode 100644 example/ios/reactnativeamaexample/PrivacyInfo.xcprivacy create mode 100644 example/ios/reactnativeamaexample/SplashScreen.storyboard create mode 100644 example/ios/reactnativeamaexample/Supporting/Expo.plist create mode 100644 example/ios/reactnativeamaexample/reactnativeamaexample-Bridging-Header.h create mode 100644 example/ios/reactnativeamaexample/reactnativeamaexample.entitlements create mode 100644 example/metro.config.js create mode 100644 example/package.json create mode 100644 example/src/AppNavigation.tsx create mode 100644 example/src/assets/fox-1.jpg create mode 100644 example/src/assets/fox-2.jpg create mode 100644 example/src/assets/fox-3.jpg create mode 100644 example/src/assets/images.ts create mode 100644 example/src/components/BackButton.tsx create mode 100644 example/src/components/CTAPressable.tsx create mode 100644 example/src/components/CTATouchableOpacity.tsx create mode 100644 example/src/components/CTATouchableWithoutFeedback.tsx create mode 100644 example/src/components/Header.tsx create mode 100644 example/src/components/Spacer.tsx create mode 100644 example/src/screens/BottomSheet.screen.tsx create mode 100644 example/src/screens/Carousel.screen.tsx create mode 100644 example/src/screens/ExpandablePressableScreen.tsx create mode 100644 example/src/screens/FlatList.screen.tsx create mode 100644 example/src/screens/FlatListDynamic.screen.tsx create mode 100644 example/src/screens/FlatListStatic.screen.tsx create mode 100644 example/src/screens/Form.screen.tsx create mode 100644 example/src/screens/Home.screen.tsx create mode 100644 example/src/screens/Loading.screen.tsx create mode 100644 example/src/screens/Pressable.screen.tsx create mode 100644 example/src/screens/SwitchListItemScreen.tsx create mode 100644 example/src/screens/Text.screen.tsx create mode 100644 example/src/screens/TouchableOpacity.screen.tsx create mode 100644 example/src/screens/TouchableWithoutFeedback.screen.tsx create mode 100644 example/src/screens/UseAMAContext.screen.tsx create mode 100644 example/src/screens/UseAnimationDurationScreen.tsx create mode 100644 example/src/screens/UseAnimationScreen.tsx create mode 100644 example/src/screens/UseReanimatedAnimationBuilderScreen.tsx create mode 100644 example/src/screens/UseReanimatedTimingScreen.tsx create mode 100644 example/src/screens/UseTimedAction.screen.tsx create mode 100644 example/src/theme.ts create mode 100644 example/src/types.ts create mode 100644 example/tsconfig.json create mode 100644 example/webpack.config.js create mode 100644 example/yarn.lock create mode 100644 expo-module.config.json create mode 100644 packages/core/android/build.gradle create mode 100644 packages/core/android/src/main/AndroidManifest.xml create mode 100644 packages/core/android/src/main/java/expo/modules/ama/ReactNativeAmaModule.kt create mode 100644 packages/core/android/src/main/java/expo/modules/ama/ReactNativeAmaView.kt create mode 100644 packages/core/expo-module.config.json create mode 100644 packages/core/ios/ReactNativeAma.podspec create mode 100644 packages/core/ios/ReactNativeAmaModule.swift create mode 100644 packages/core/ios/ReactNativeAmaView.swift create mode 100644 packages/core/src/ReactNativeAma.types.ts create mode 100644 packages/core/src/ReactNativeAmaModule.ts create mode 100644 packages/core/src/ReactNativeAmaModule.web.ts create mode 100644 packages/core/src/ReactNativeAmaView.tsx create mode 100644 packages/core/src/ReactNativeAmaView.web.tsx diff --git a/.gitignore b/.gitignore index 5b4acc4b..169d16e1 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ coverage !.yarn/releases !.yarn/sdks !.yarn/versions +example/.yarn diff --git a/example/.gitignore b/example/.gitignore new file mode 100644 index 00000000..954fc662 --- /dev/null +++ b/example/.gitignore @@ -0,0 +1,37 @@ +# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files + +# dependencies +node_modules/ + +# Expo +.expo/ +dist/ +web-build/ +expo-env.d.ts + +# Native +.kotlin/ +*.orig.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision + +# Metro +.metro-health-check* + +# debug +npm-debug.* +yarn-debug.* +yarn-error.* + +# macOS +.DS_Store +*.pem + +# local env files +.env*.local + +# typescript +*.tsbuildinfo diff --git a/example/App.tsx b/example/App.tsx new file mode 100644 index 00000000..ccfb054b --- /dev/null +++ b/example/App.tsx @@ -0,0 +1,73 @@ +import { useEvent } from 'expo'; +import ReactNativeAma, { ReactNativeAmaView } from '@react-native-ama/core'; +import { Button, SafeAreaView, ScrollView, Text, View } from 'react-native'; + +export default function App() { + const onChangePayload = useEvent(ReactNativeAma, 'onChange'); + + return ( + + + Module API Example + + {ReactNativeAma.PI} + + + {ReactNativeAma.hello()} + + +