From 77267be5fc1126d6910d49b512ca854af50f3f93 Mon Sep 17 00:00:00 2001 From: Wojciech Lewicki Date: Fri, 12 Aug 2022 11:42:44 +0200 Subject: [PATCH] feat: support Fabric on Android (#1804) Most of Android changes for Fabric and bump of FabricExample to RN 0.69.2. iOS and JS changes are available in #1821. The most notable change on Android is adding methods to components that accept String values of each NumberProp instead of Dynamic. Another change is changed structure of RenderableViewManager.java since we needed to abstract methods that belong only to components inheriting from VirtualView in order to be able to properly override them in their children. --- .github/workflows/android-build-test.yml | 78 +- FabricExample/.flowconfig | 3 +- FabricExample/.gitignore | 8 +- FabricExample/Gemfile | 2 +- FabricExample/_ruby-version | 2 +- FabricExample/android/app/build.gradle | 27 +- .../java/com/fabricexample/MainActivity.java | 10 +- .../MainApplicationReactNativeHost.java | 4 +- .../android/app/src/main/jni/Android.mk | 5 +- FabricExample/android/build.gradle | 10 +- FabricExample/android/settings.gradle | 2 + .../FabricExample.xcodeproj/project.pbxproj | 14 +- .../ios/FabricExample/AppDelegate.mm | 27 +- FabricExample/ios/Podfile | 12 +- FabricExample/ios/Podfile.lock | 1052 +++---- FabricExample/ios/_xcode.env | 11 + FabricExample/package.json | 8 +- FabricExample/yarn.lock | 2592 ++++++++--------- RNSVG.podspec | 3 +- android/build.gradle | 86 +- .../horcrux/svg/FabricEnabledViewGroup.java | 59 + .../horcrux/svg/RNSvgComponentsRegistry.java | 28 + .../main/java/com/horcrux/svg/CircleView.java | 15 + .../java/com/horcrux/svg/EllipseView.java | 20 + .../com/horcrux/svg/ForeignObjectView.java | 20 + .../main/java/com/horcrux/svg/ImageView.java | 21 + .../main/java/com/horcrux/svg/LineView.java | 20 + .../com/horcrux/svg/LinearGradientView.java | 20 + .../main/java/com/horcrux/svg/MarkerView.java | 20 + .../main/java/com/horcrux/svg/MaskView.java | 20 + .../java/com/horcrux/svg/PatternView.java | 19 + .../com/horcrux/svg/RadialGradientView.java | 30 + .../main/java/com/horcrux/svg/RectView.java | 30 + .../java/com/horcrux/svg/RenderableView.java | 64 +- .../horcrux/svg/RenderableViewManager.java | 1955 ++++++++----- .../main/java/com/horcrux/svg/SVGLength.java | 259 +- .../main/java/com/horcrux/svg/SvgPackage.java | 8 + .../main/java/com/horcrux/svg/SvgView.java | 22 +- .../java/com/horcrux/svg/SvgViewManager.java | 44 +- .../java/com/horcrux/svg/TextPathView.java | 5 + .../main/java/com/horcrux/svg/TextView.java | 44 +- .../main/java/com/horcrux/svg/UseView.java | 20 + .../java/com/horcrux/svg/VirtualView.java | 34 +- android/src/main/jni/Android.mk | 43 + android/src/main/jni/OnLoad.cpp | 9 + .../src/main/jni/RNSvgComponentsRegistry.cpp | 83 + .../src/main/jni/RNSvgComponentsRegistry.h | 34 + .../RNSVGCircleManagerDelegate.java | 111 + .../RNSVGCircleManagerInterface.java | 45 + .../RNSVGClipPathManagerDelegate.java | 62 + .../RNSVGClipPathManagerInterface.java | 28 + .../RNSVGDefsManagerDelegate.java | 25 + .../RNSVGDefsManagerInterface.java | 16 + .../RNSVGEllipseManagerDelegate.java | 114 + .../RNSVGEllipseManagerInterface.java | 46 + .../RNSVGForeignObjectManagerDelegate.java | 129 + .../RNSVGForeignObjectManagerInterface.java | 51 + .../RNSVGGroupManagerDelegate.java | 111 + .../RNSVGGroupManagerInterface.java | 45 + .../RNSVGImageManagerDelegate.java | 129 + .../RNSVGImageManagerInterface.java | 51 + .../RNSVGLineManagerDelegate.java | 114 + .../RNSVGLineManagerInterface.java | 46 + .../RNSVGLinearGradientManagerDelegate.java | 83 + .../RNSVGLinearGradientManagerInterface.java | 35 + .../RNSVGMarkerManagerDelegate.java | 147 + .../RNSVGMarkerManagerInterface.java | 57 + .../RNSVGMaskManagerDelegate.java | 138 + .../RNSVGMaskManagerInterface.java | 54 + .../RNSVGPathManagerDelegate.java | 105 + .../RNSVGPathManagerInterface.java | 43 + .../RNSVGPatternManagerDelegate.java | 156 + .../RNSVGPatternManagerInterface.java | 60 + .../RNSVGRadialGradientManagerDelegate.java | 89 + .../RNSVGRadialGradientManagerInterface.java | 37 + .../RNSVGRectManagerDelegate.java | 126 + .../RNSVGRectManagerInterface.java | 50 + .../RNSVGSvgViewManagerDelegate.java | 59 + .../RNSVGSvgViewManagerInterface.java | 26 + .../RNSVGSymbolManagerDelegate.java | 129 + .../RNSVGSymbolManagerInterface.java | 51 + .../RNSVGTSpanManagerDelegate.java | 153 + .../RNSVGTSpanManagerInterface.java | 59 + .../RNSVGTextManagerDelegate.java | 150 + .../RNSVGTextManagerInterface.java | 58 + .../RNSVGTextPathManagerDelegate.java | 120 + .../RNSVGTextPathManagerInterface.java | 48 + .../viewmanagers/RNSVGUseManagerDelegate.java | 123 + .../RNSVGUseManagerInterface.java | 49 + .../horcrux/svg/FabricEnabledViewGroup.java | 18 + common/cpp/Android.mk | 37 + 91 files changed, 7554 insertions(+), 2731 deletions(-) create mode 100644 FabricExample/ios/_xcode.env create mode 100644 android/src/fabric/java/com/horcrux/svg/FabricEnabledViewGroup.java create mode 100644 android/src/fabric/java/com/horcrux/svg/RNSvgComponentsRegistry.java create mode 100644 android/src/main/jni/Android.mk create mode 100644 android/src/main/jni/OnLoad.cpp create mode 100644 android/src/main/jni/RNSvgComponentsRegistry.cpp create mode 100644 android/src/main/jni/RNSvgComponentsRegistry.h create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGCircleManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGCircleManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGClipPathManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGClipPathManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGDefsManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGDefsManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGEllipseManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGEllipseManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGForeignObjectManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGForeignObjectManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGGroupManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGGroupManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGImageManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGImageManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLineManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLineManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMarkerManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMarkerManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMaskManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMaskManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPathManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPathManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPatternManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPatternManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRectManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRectManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSvgViewManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSvgViewManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSymbolManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSymbolManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTSpanManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTSpanManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextPathManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextPathManagerInterface.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGUseManagerDelegate.java create mode 100644 android/src/paper/java/com/facebook/react/viewmanagers/RNSVGUseManagerInterface.java create mode 100644 android/src/paper/java/com/horcrux/svg/FabricEnabledViewGroup.java create mode 100644 common/cpp/Android.mk diff --git a/.github/workflows/android-build-test.yml b/.github/workflows/android-build-test.yml index 9ad03650..ab49c8ae 100644 --- a/.github/workflows/android-build-test.yml +++ b/.github/workflows/android-build-test.yml @@ -1,34 +1,80 @@ name: Test Android build on: pull_request: - branches: - - main paths: + - '.github/workflows/android-build-test.yml' - 'android/**' + - 'common/**' + - 'Example/android/**' + - 'FabricExample/android/**' push: branches: - main - workflow_dispatch: + jobs: build: runs-on: ubuntu-latest - env: - WORKING_DIRECTORY: Example + strategy: + matrix: + working-directory: [Example, FabricExample] concurrency: group: android-${{ github.ref }} cancel-in-progress: true steps: - - name: checkout + - name: Check out Git repository uses: actions/checkout@v2 - - name: Use Node.js 14 - uses: actions/setup-node@v2 + + - name: Set up JDK 11 + uses: actions/setup-java@v1 with: - node-version: 14 - cache: 'yarn' - cache-dependency-path: 'Example/yarn.lock' - - name: Install node dependencies - working-directory: ${{ env.WORKING_DIRECTORY }} - run: yarn + java-version: '11' + + - name: Accept licenses + run: /bin/bash -c "yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses > /dev/null" + + - name: Restore svg node_modules from cache + uses: actions/cache@v2 + id: cache-node-modules-svg + with: + path: | + node_modules + key: ${{ runner.os }}-node-modules-svg-${{ hashFiles('yarn.lock') }} + restore-keys: | + ${{ runner.os }}-node-modules-svg + - name: Install svg node_modules + run: yarn install --frozen-lockfile + + - name: Restore app node_modules from cache + uses: actions/cache@v2 + id: cache-node-modules-app + with: + path: | + ${{ matrix.working-directory }}/node_modules + key: ${{ runner.os }}-node-modules-${{ matrix.working-directory }}-${{ hashFiles(format('{0}/yarn.lock', matrix.working-directory)) }} + restore-keys: | + ${{ runner.os }}-node-modules-${{ matrix.working-directory }}- + - name: Install app node_modules + working-directory: ${{ matrix.working-directory }} + run: yarn install --frozen-lockfile + + - name: Restore build from cache + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + android/build + android/.cxx + ${{ matrix.working-directory }}/android/build + ${{ matrix.working-directory }}/android/.cxx + ${{ matrix.working-directory }}/android/.gradle + ${{ matrix.working-directory }}/android/app/build + ${{ matrix.working-directory }}/android/app/.cxx + ${{ matrix.working-directory }}/node_modules/react-native/ReactAndroid/build + ${{ matrix.working-directory }}/node_modules/react-native/ReactAndroid/hermes-engine/build + ${{ matrix.working-directory }}/node_modules/react-native/ReactAndroid/hermes-engine/.cxx + key: ${{ runner.os }}-build5-${{ matrix.working-directory }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'android/build.gradle', format('{0}/node_modules/react-native/sdks/.hermesversion', matrix.working-directory)) }} + - name: Build app - working-directory: ${{ env.WORKING_DIRECTORY }}/android - run: ./gradlew assembleDebug --console=plain + working-directory: ${{ matrix.working-directory }}/android + run: ./gradlew assembleDebug --build-cache --console=plain -PreactNativeArchitectures=arm64-v8a \ No newline at end of file diff --git a/FabricExample/.flowconfig b/FabricExample/.flowconfig index 975227da..74f3a75e 100644 --- a/FabricExample/.flowconfig +++ b/FabricExample/.flowconfig @@ -52,7 +52,6 @@ nonstrict-import=warn deprecated-type=warn unsafe-getters-setters=warn unnecessary-invariant=warn -signature-verification-failure=warn [strict] deprecated-type @@ -64,4 +63,4 @@ untyped-import untyped-type-import [version] -^0.170.0 +^0.176.3 diff --git a/FabricExample/.gitignore b/FabricExample/.gitignore index 81570d99..344481b2 100644 --- a/FabricExample/.gitignore +++ b/FabricExample/.gitignore @@ -20,6 +20,7 @@ DerivedData *.hmap *.ipa *.xcuserstate +ios/.xcode.env.local # Android/IntelliJ # @@ -49,9 +50,10 @@ buck-out/ # For more information about the recommended setup visit: # https://docs.fastlane.tools/best-practices/source-control/ -*/fastlane/report.xml -*/fastlane/Preview.html -*/fastlane/screenshots +**/fastlane/report.xml +**/fastlane/Preview.html +**/fastlane/screenshots +**/fastlane/test_output # Bundle artifact *.jsbundle diff --git a/FabricExample/Gemfile b/FabricExample/Gemfile index 2c3edcf4..5efda89f 100644 --- a/FabricExample/Gemfile +++ b/FabricExample/Gemfile @@ -1,6 +1,6 @@ source 'https://rubygems.org' # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version -ruby '2.7.4' +ruby '2.7.5' gem 'cocoapods', '~> 1.11', '>= 1.11.2' diff --git a/FabricExample/_ruby-version b/FabricExample/_ruby-version index a4dd9dba..a603bb50 100644 --- a/FabricExample/_ruby-version +++ b/FabricExample/_ruby-version @@ -1 +1 @@ -2.7.4 +2.7.5 diff --git a/FabricExample/android/app/build.gradle b/FabricExample/android/app/build.gradle index aaad0a81..cc791b18 100644 --- a/FabricExample/android/app/build.gradle +++ b/FabricExample/android/app/build.gradle @@ -1,7 +1,6 @@ apply plugin: "com.android.application" import com.android.build.OutputFile -import org.apache.tools.ant.taskdefs.condition.Os /** * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets @@ -79,7 +78,7 @@ import org.apache.tools.ant.taskdefs.condition.Os */ project.ext.react = [ - enableHermes: false, // clean and rebuild if changing + enableHermes: true, // clean and rebuild if changing ] apply from: "../../node_modules/react-native/react.gradle" @@ -152,18 +151,13 @@ android { "GENERATED_SRC_DIR=$buildDir/generated/source", "PROJECT_BUILD_DIR=$buildDir", "REACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid", - "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build" + "REACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build", + "NODE_MODULES_DIR=$rootDir/../node_modules" cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" cppFlags "-std=c++17" // Make sure this target name is the same you specify inside the // src/main/jni/Android.mk file for the `LOCAL_MODULE` variable. targets "fabricexample_appmodules" - - // Fix for windows limit on number of character in file paths and in command lines - if (Os.isFamily(Os.FAMILY_WINDOWS)) { - arguments "NDK_OUT=${rootProject.projectDir.getParent()}\\.cxx", - "NDK_APP_SHORT_COMMANDS=true" - } } } if (!enableSeparateBuildPerCPUArchitecture) { @@ -283,9 +277,10 @@ dependencies { } if (enableHermes) { - def hermesPath = "../../node_modules/hermes-engine/android/"; - debugImplementation files(hermesPath + "hermes-debug.aar") - releaseImplementation files(hermesPath + "hermes-release.aar") + //noinspection GradleDynamicVersion + implementation("com.facebook.react:hermes-engine:+") { // From node_modules + exclude group:'com.facebook.fbjni' + } } else { implementation jscFlavor } @@ -298,7 +293,11 @@ if (isNewArchitectureEnabled()) { configurations.all { resolutionStrategy.dependencySubstitution { substitute(module("com.facebook.react:react-native")) - .using(project(":ReactAndroid")).because("On New Architecture we're building React Native from source") + .using(project(":ReactAndroid")) + .because("On New Architecture we're building React Native from source") + substitute(module("com.facebook.react:hermes-engine")) + .using(project(":ReactAndroid:hermes-engine")) + .because("On New Architecture we're building Hermes from source") } } } @@ -318,4 +317,4 @@ def isNewArchitectureEnabled() { // - Invoke gradle with `-newArchEnabled=true` // - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true` return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true" -} \ No newline at end of file +} diff --git a/FabricExample/android/app/src/main/java/com/fabricexample/MainActivity.java b/FabricExample/android/app/src/main/java/com/fabricexample/MainActivity.java index 0b501ffa..bd617589 100644 --- a/FabricExample/android/app/src/main/java/com/fabricexample/MainActivity.java +++ b/FabricExample/android/app/src/main/java/com/fabricexample/MainActivity.java @@ -17,7 +17,8 @@ public class MainActivity extends ReactActivity { /** * Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and - * you can specify the rendered you wish to use (Fabric or the older renderer). + * you can specify the renderer you wish to use - the new renderer (Fabric) or the old renderer + * (Paper). */ @Override protected ReactActivityDelegate createReactActivityDelegate() { @@ -36,5 +37,12 @@ public class MainActivity extends ReactActivity { reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED); return reactRootView; } + + @Override + protected boolean isConcurrentRootEnabled() { + // If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18). + // More on this on https://reactjs.org/blog/2022/03/29/react-v18.html + return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED; + } } } diff --git a/FabricExample/android/app/src/main/java/com/fabricexample/newarchitecture/MainApplicationReactNativeHost.java b/FabricExample/android/app/src/main/java/com/fabricexample/newarchitecture/MainApplicationReactNativeHost.java index 0968cb25..ec782e0a 100644 --- a/FabricExample/android/app/src/main/java/com/fabricexample/newarchitecture/MainApplicationReactNativeHost.java +++ b/FabricExample/android/app/src/main/java/com/fabricexample/newarchitecture/MainApplicationReactNativeHost.java @@ -16,8 +16,8 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.UIManager; import com.facebook.react.fabric.ComponentFactory; import com.facebook.react.fabric.CoreComponentsRegistry; -import com.facebook.react.fabric.EmptyReactNativeConfig; import com.facebook.react.fabric.FabricJSIModuleProvider; +import com.facebook.react.fabric.ReactNativeConfig; import com.facebook.react.uimanager.ViewManagerRegistry; import com.fabricexample.BuildConfig; import com.fabricexample.newarchitecture.components.MainComponentsRegistry; @@ -105,7 +105,7 @@ public class MainApplicationReactNativeHost extends ReactNativeHost { return new FabricJSIModuleProvider( reactApplicationContext, componentFactory, - new EmptyReactNativeConfig(), + ReactNativeConfig.DEFAULT_CONFIG, viewManagerRegistry); } }); diff --git a/FabricExample/android/app/src/main/jni/Android.mk b/FabricExample/android/app/src/main/jni/Android.mk index b8a16aeb..49499f3d 100644 --- a/FabricExample/android/app/src/main/jni/Android.mk +++ b/FabricExample/android/app/src/main/jni/Android.mk @@ -17,7 +17,7 @@ LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) # If you wish to add a custom TurboModule or Fabric component in your app you -# will have to uncomment those lines to include the generated source +# will have to uncomment those lines to include the generated source # files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni) # # LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni @@ -28,8 +28,7 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) LOCAL_SHARED_LIBRARIES := \ libfabricjni \ libfbjni \ - libfolly_futures \ - libfolly_json \ + libfolly_runtime \ libglog \ libjsi \ libreact_codegen_rncore \ diff --git a/FabricExample/android/build.gradle b/FabricExample/android/build.gradle index f75a6aff..c9bc539d 100644 --- a/FabricExample/android/build.gradle +++ b/FabricExample/android/build.gradle @@ -12,10 +12,6 @@ buildscript { if (System.properties['os.arch'] == "aarch64") { // For M1 Users we need to use the NDK 24 which added support for aarch64 ndkVersion = "24.0.8215888" - } else if (Os.isFamily(Os.FAMILY_WINDOWS)) { - // For Android Users, we need to use NDK 23, otherwise the build will - // fail due to paths longer than the OS limit - ndkVersion = "23.1.7779620" } else { // Otherwise we default to the side-by-side NDK version from AGP. ndkVersion = "21.4.7075529" @@ -26,9 +22,9 @@ buildscript { mavenCentral() } dependencies { - classpath("com.android.tools.build:gradle:7.0.4") + classpath("com.android.tools.build:gradle:7.1.1") classpath("com.facebook.react:react-native-gradle-plugin") - classpath("de.undercouch:gradle-download-task:4.1.2") + classpath("de.undercouch:gradle-download-task:5.0.1") // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -54,4 +50,4 @@ allprojects { google() maven { url 'https://www.jitpack.io' } } -} \ No newline at end of file +} diff --git a/FabricExample/android/settings.gradle b/FabricExample/android/settings.gradle index ec6845e6..e3f34c3f 100644 --- a/FabricExample/android/settings.gradle +++ b/FabricExample/android/settings.gradle @@ -6,4 +6,6 @@ includeBuild('../node_modules/react-native-gradle-plugin') if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") { include(":ReactAndroid") project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid') + include(":ReactAndroid:hermes-engine") + project(":ReactAndroid:hermes-engine").projectDir = file('../node_modules/react-native/ReactAndroid/hermes-engine') } diff --git a/FabricExample/ios/FabricExample.xcodeproj/project.pbxproj b/FabricExample/ios/FabricExample.xcodeproj/project.pbxproj index 1cbb0ed4..ec99136a 100644 --- a/FabricExample/ios/FabricExample.xcodeproj/project.pbxproj +++ b/FabricExample/ios/FabricExample.xcodeproj/project.pbxproj @@ -256,13 +256,15 @@ files = ( ); inputPaths = ( + "$(SRCROOT)/.xcode.env.local", + "$(SRCROOT)/.xcode.env", ); name = "Bundle React Native code and images"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "set -e\n\nexport NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh\n"; + shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; }; 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; @@ -436,7 +438,7 @@ "$(inherited)", ); INFOPLIST_FILE = FabricExampleTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -460,7 +462,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; INFOPLIST_FILE = FabricExampleTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -576,7 +578,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -594,6 +596,7 @@ "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; }; name = Debug; @@ -640,7 +643,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = ( /usr/lib/swift, "$(inherited)", @@ -657,6 +660,7 @@ "-DFOLLY_MOBILE=1", "-DFOLLY_USE_LIBCPP=1", ); + REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; }; diff --git a/FabricExample/ios/FabricExample/AppDelegate.mm b/FabricExample/ios/FabricExample/AppDelegate.mm index 01660040..a43ef35c 100644 --- a/FabricExample/ios/FabricExample/AppDelegate.mm +++ b/FabricExample/ios/FabricExample/AppDelegate.mm @@ -16,6 +16,8 @@ #import +static NSString *const kRNConcurrentRoot = @"concurrentRoot"; + @interface AppDelegate () { RCTTurboModuleManager *_turboModuleManager; RCTSurfacePresenterBridgeAdapter *_bridgeAdapter; @@ -41,7 +43,8 @@ bridge.surfacePresenter = _bridgeAdapter.surfacePresenter; #endif - UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"FabricExample", nil); + NSDictionary *initProps = [self prepareInitialProps]; + UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"FabricExample", initProps); if (@available(iOS 13.0, *)) { rootView.backgroundColor = [UIColor systemBackgroundColor]; @@ -57,6 +60,28 @@ return YES; } +/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. +/// +/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html +/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). +/// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`. +- (BOOL)concurrentRootEnabled +{ + // Switch this bool to turn on and off the concurrent root + return true; +} + +- (NSDictionary *)prepareInitialProps +{ + NSMutableDictionary *initProps = [NSMutableDictionary new]; + +#ifdef RCT_NEW_ARCH_ENABLED + initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]); +#endif + + return initProps; +} + - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge { #if DEBUG diff --git a/FabricExample/ios/Podfile b/FabricExample/ios/Podfile index 6005b90b..628ba9a9 100644 --- a/FabricExample/ios/Podfile +++ b/FabricExample/ios/Podfile @@ -1,9 +1,11 @@ require_relative '../node_modules/react-native/scripts/react_native_pods' require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' -platform :ios, '11.0' +platform :ios, '12.4' install! 'cocoapods', :deterministic_uuids => false +production = ENV["PRODUCTION"] == "1" + ENV['RCT_NEW_ARCH_ENABLED'] = '1' target 'FabricExample' do @@ -15,8 +17,10 @@ target 'FabricExample' do use_react_native!( :path => config[:reactNativePath], # to enable hermes on iOS, change `false` to `true` and then install pods + :production => production, :hermes_enabled => flags[:hermes_enabled], :fabric_enabled => flags[:fabric_enabled], + :flipper_configuration => FlipperConfiguration.enabled, # An absolute path to your application root. :app_path => "#{Pod::Config.instance.installation_root}/.." ) @@ -26,12 +30,6 @@ target 'FabricExample' do # Pods for testing end - # Enables Flipper. - # - # Note that if you have use_frameworks! enabled, Flipper will not work and - # you should disable the next line. - use_flipper!() - post_install do |installer| react_native_post_install(installer) __apply_Xcode_12_5_M1_post_install_workaround(installer) diff --git a/FabricExample/ios/Podfile.lock b/FabricExample/ios/Podfile.lock index 4f7af0c3..dbaa46c7 100644 --- a/FabricExample/ios/Podfile.lock +++ b/FabricExample/ios/Podfile.lock @@ -2,19 +2,19 @@ PODS: - boost (1.76.0) - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.68.1) - - FBReactNativeSpec (0.68.1): + - FBLazyVector (0.69.2) + - FBReactNativeSpec (0.69.2): - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-Core (= 0.68.1) - - React-jsi (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-Core (= 0.69.2) + - React-jsi (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) - Flipper (0.125.0): - Flipper-Folly (~> 2.6) - Flipper-RSocket (~> 1.4) - Flipper-Boost-iOSX (1.76.0.1.11) - - Flipper-DoubleConversion (3.2.0) + - Flipper-DoubleConversion (3.2.0.1) - Flipper-Fmt (7.1.7) - Flipper-Folly (2.6.10): - Flipper-Boost-iOSX @@ -23,7 +23,7 @@ PODS: - Flipper-Glog - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.1100) - - Flipper-Glog (0.5.0.4) + - Flipper-Glog (0.5.0.5) - Flipper-PeerTalk (0.0.4) - Flipper-RSocket (1.4.3): - Flipper-Folly (~> 2.6) @@ -73,7 +73,7 @@ PODS: - FlipperKit/FlipperKitNetworkPlugin - fmt (6.2.1) - glog (0.3.5) - - hermes-engine (0.11.0) + - hermes-engine (0.69.2) - libevent (2.1.12) - OpenSSL-Universal (1.1.1100) - RCT-Folly (2021.06.28.00-v2): @@ -98,604 +98,607 @@ PODS: - fmt (~> 6.2.1) - glog - libevent - - RCTRequired (0.68.1) - - RCTTypeSafety (0.68.1): - - FBLazyVector (= 0.68.1) + - RCTRequired (0.69.2) + - RCTTypeSafety (0.69.2): + - FBLazyVector (= 0.69.2) + - RCTRequired (= 0.69.2) + - React-Core (= 0.69.2) + - React (0.69.2): + - React-Core (= 0.69.2) + - React-Core/DevSupport (= 0.69.2) + - React-Core/RCTWebSocket (= 0.69.2) + - React-RCTActionSheet (= 0.69.2) + - React-RCTAnimation (= 0.69.2) + - React-RCTBlob (= 0.69.2) + - React-RCTImage (= 0.69.2) + - React-RCTLinking (= 0.69.2) + - React-RCTNetwork (= 0.69.2) + - React-RCTSettings (= 0.69.2) + - React-RCTText (= 0.69.2) + - React-RCTVibration (= 0.69.2) + - React-bridging (0.69.2): - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - React-Core (= 0.68.1) - - React (0.68.1): - - React-Core (= 0.68.1) - - React-Core/DevSupport (= 0.68.1) - - React-Core/RCTWebSocket (= 0.68.1) - - React-RCTActionSheet (= 0.68.1) - - React-RCTAnimation (= 0.68.1) - - React-RCTBlob (= 0.68.1) - - React-RCTImage (= 0.68.1) - - React-RCTLinking (= 0.68.1) - - React-RCTNetwork (= 0.68.1) - - React-RCTSettings (= 0.68.1) - - React-RCTText (= 0.68.1) - - React-RCTVibration (= 0.68.1) - - React-callinvoker (0.68.1) - - React-Codegen (0.68.1): - - FBReactNativeSpec (= 0.68.1) + - React-jsi (= 0.69.2) + - React-callinvoker (0.69.2) + - React-Codegen (0.69.2): + - FBReactNativeSpec (= 0.69.2) - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-Core (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-rncore (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Core (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-Core (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-rncore (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Core (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.68.1) - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-Core/Default (= 0.69.2) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/CoreModulesHeaders (0.68.1): + - React-Core/CoreModulesHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/Default (0.68.1): + - React-Core/Default (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/DevSupport (0.68.1): + - React-Core/DevSupport (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.68.1) - - React-Core/RCTWebSocket (= 0.68.1) - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-jsinspector (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-Core/Default (= 0.69.2) + - React-Core/RCTWebSocket (= 0.69.2) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-jsinspector (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTActionSheetHeaders (0.68.1): + - React-Core/RCTActionSheetHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTAnimationHeaders (0.68.1): + - React-Core/RCTAnimationHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTBlobHeaders (0.68.1): + - React-Core/RCTBlobHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTImageHeaders (0.68.1): + - React-Core/RCTImageHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTLinkingHeaders (0.68.1): + - React-Core/RCTLinkingHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTNetworkHeaders (0.68.1): + - React-Core/RCTNetworkHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTSettingsHeaders (0.68.1): + - React-Core/RCTSettingsHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTTextHeaders (0.68.1): + - React-Core/RCTTextHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTVibrationHeaders (0.68.1): + - React-Core/RCTVibrationHeaders (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-Core/RCTWebSocket (0.68.1): + - React-Core/RCTWebSocket (0.69.2): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.68.1) - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-Core/Default (= 0.69.2) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-perflogger (= 0.69.2) - Yoga - - React-CoreModules (0.68.1): + - React-CoreModules (0.69.2): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.1) - - React-Codegen (= 0.68.1) - - React-Core/CoreModulesHeaders (= 0.68.1) - - React-jsi (= 0.68.1) - - React-RCTImage (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-cxxreact (0.68.1): + - RCTTypeSafety (= 0.69.2) + - React-Codegen (= 0.69.2) + - React-Core/CoreModulesHeaders (= 0.69.2) + - React-jsi (= 0.69.2) + - React-RCTImage (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-cxxreact (0.69.2): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsinspector (= 0.68.1) - - React-logger (= 0.68.1) - - React-perflogger (= 0.68.1) - - React-runtimeexecutor (= 0.68.1) - - React-Fabric (0.68.1): + - React-callinvoker (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsinspector (= 0.69.2) + - React-logger (= 0.69.2) + - React-perflogger (= 0.69.2) + - React-runtimeexecutor (= 0.69.2) + - React-Fabric (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-Fabric/animations (= 0.68.1) - - React-Fabric/attributedstring (= 0.68.1) - - React-Fabric/butter (= 0.68.1) - - React-Fabric/componentregistry (= 0.68.1) - - React-Fabric/componentregistrynative (= 0.68.1) - - React-Fabric/components (= 0.68.1) - - React-Fabric/config (= 0.68.1) - - React-Fabric/core (= 0.68.1) - - React-Fabric/debug_core (= 0.68.1) - - React-Fabric/debug_renderer (= 0.68.1) - - React-Fabric/imagemanager (= 0.68.1) - - React-Fabric/leakchecker (= 0.68.1) - - React-Fabric/mounting (= 0.68.1) - - React-Fabric/runtimescheduler (= 0.68.1) - - React-Fabric/scheduler (= 0.68.1) - - React-Fabric/telemetry (= 0.68.1) - - React-Fabric/templateprocessor (= 0.68.1) - - React-Fabric/textlayoutmanager (= 0.68.1) - - React-Fabric/uimanager (= 0.68.1) - - React-Fabric/utils (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/animations (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-Fabric/animations (= 0.69.2) + - React-Fabric/attributedstring (= 0.69.2) + - React-Fabric/butter (= 0.69.2) + - React-Fabric/componentregistry (= 0.69.2) + - React-Fabric/componentregistrynative (= 0.69.2) + - React-Fabric/components (= 0.69.2) + - React-Fabric/config (= 0.69.2) + - React-Fabric/core (= 0.69.2) + - React-Fabric/debug_core (= 0.69.2) + - React-Fabric/debug_renderer (= 0.69.2) + - React-Fabric/imagemanager (= 0.69.2) + - React-Fabric/leakchecker (= 0.69.2) + - React-Fabric/mounting (= 0.69.2) + - React-Fabric/runtimescheduler (= 0.69.2) + - React-Fabric/scheduler (= 0.69.2) + - React-Fabric/telemetry (= 0.69.2) + - React-Fabric/templateprocessor (= 0.69.2) + - React-Fabric/textlayoutmanager (= 0.69.2) + - React-Fabric/uimanager (= 0.69.2) + - React-Fabric/utils (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/animations (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/attributedstring (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/attributedstring (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/butter (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/butter (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/componentregistry (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/componentregistry (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/componentregistrynative (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/componentregistrynative (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-Fabric/components/activityindicator (= 0.68.1) - - React-Fabric/components/image (= 0.68.1) - - React-Fabric/components/inputaccessory (= 0.68.1) - - React-Fabric/components/legacyviewmanagerinterop (= 0.68.1) - - React-Fabric/components/modal (= 0.68.1) - - React-Fabric/components/root (= 0.68.1) - - React-Fabric/components/safeareaview (= 0.68.1) - - React-Fabric/components/scrollview (= 0.68.1) - - React-Fabric/components/slider (= 0.68.1) - - React-Fabric/components/text (= 0.68.1) - - React-Fabric/components/textinput (= 0.68.1) - - React-Fabric/components/unimplementedview (= 0.68.1) - - React-Fabric/components/view (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/activityindicator (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-Fabric/components/activityindicator (= 0.69.2) + - React-Fabric/components/image (= 0.69.2) + - React-Fabric/components/inputaccessory (= 0.69.2) + - React-Fabric/components/legacyviewmanagerinterop (= 0.69.2) + - React-Fabric/components/modal (= 0.69.2) + - React-Fabric/components/root (= 0.69.2) + - React-Fabric/components/safeareaview (= 0.69.2) + - React-Fabric/components/scrollview (= 0.69.2) + - React-Fabric/components/slider (= 0.69.2) + - React-Fabric/components/text (= 0.69.2) + - React-Fabric/components/textinput (= 0.69.2) + - React-Fabric/components/unimplementedview (= 0.69.2) + - React-Fabric/components/view (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/activityindicator (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/image (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/image (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/inputaccessory (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/inputaccessory (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/legacyviewmanagerinterop (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/legacyviewmanagerinterop (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/modal (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/modal (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/root (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/root (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/safeareaview (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/safeareaview (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/scrollview (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/scrollview (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/slider (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/slider (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/text (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/text (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/textinput (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/textinput (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/unimplementedview (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/unimplementedview (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/components/view (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/components/view (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) - Yoga - - React-Fabric/config (0.68.1): + - React-Fabric/config (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/core (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/core (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/debug_core (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/debug_core (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/debug_renderer (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/debug_renderer (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/imagemanager (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/imagemanager (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-RCTImage (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/leakchecker (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-RCTImage (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/leakchecker (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/mounting (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/mounting (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/runtimescheduler (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/runtimescheduler (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/scheduler (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/scheduler (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/telemetry (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/telemetry (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/templateprocessor (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/templateprocessor (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/textlayoutmanager (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/textlayoutmanager (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) - React-Fabric/uimanager - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/uimanager (0.68.1): + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/uimanager (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-Fabric/utils (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-Fabric/utils (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - RCTRequired (= 0.68.1) - - RCTTypeSafety (= 0.68.1) - - React-graphics (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-graphics (0.68.1): + - RCTRequired (= 0.69.2) + - RCTTypeSafety (= 0.69.2) + - React-graphics (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-graphics (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - React-Core/Default (= 0.68.1) - - React-hermes (0.68.1): + - React-Core/Default (= 0.69.2) + - React-hermes (0.69.2): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2021.06.28.00-v2) - RCT-Folly/Futures (= 2021.06.28.00-v2) - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-jsiexecutor (= 0.68.1) - - React-jsinspector (= 0.68.1) - - React-perflogger (= 0.68.1) - - React-jsi (0.68.1): + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-jsiexecutor (= 0.69.2) + - React-jsinspector (= 0.69.2) + - React-perflogger (= 0.69.2) + - React-jsi (0.69.2): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Default (= 0.68.1) - - React-jsi/Default (0.68.1): + - React-jsi/Default (= 0.69.2) + - React-jsi/Default (0.69.2): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Fabric (0.68.1): + - React-jsi/Fabric (0.69.2): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsiexecutor (0.68.1): + - React-jsiexecutor (0.69.2): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-perflogger (= 0.68.1) - - React-jsinspector (0.68.1) - - React-logger (0.68.1): + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-perflogger (= 0.69.2) + - React-jsinspector (0.69.2) + - React-logger (0.69.2): - glog - - React-perflogger (0.68.1) - - React-RCTActionSheet (0.68.1): - - React-Core/RCTActionSheetHeaders (= 0.68.1) - - React-RCTAnimation (0.68.1): + - React-perflogger (0.69.2) + - React-RCTActionSheet (0.69.2): + - React-Core/RCTActionSheetHeaders (= 0.69.2) + - React-RCTAnimation (0.69.2): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.1) - - React-Codegen (= 0.68.1) - - React-Core/RCTAnimationHeaders (= 0.68.1) - - React-jsi (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-RCTBlob (0.68.1): + - RCTTypeSafety (= 0.69.2) + - React-Codegen (= 0.69.2) + - React-Core/RCTAnimationHeaders (= 0.69.2) + - React-jsi (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-RCTBlob (0.69.2): - RCT-Folly (= 2021.06.28.00-v2) - - React-Codegen (= 0.68.1) - - React-Core/RCTBlobHeaders (= 0.68.1) - - React-Core/RCTWebSocket (= 0.68.1) - - React-jsi (= 0.68.1) - - React-RCTNetwork (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-RCTFabric (0.68.1): + - React-Codegen (= 0.69.2) + - React-Core/RCTBlobHeaders (= 0.69.2) + - React-Core/RCTWebSocket (= 0.69.2) + - React-jsi (= 0.69.2) + - React-RCTNetwork (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-RCTFabric (0.69.2): - RCT-Folly/Fabric (= 2021.06.28.00-v2) - - React-Core (= 0.68.1) - - React-Fabric (= 0.68.1) - - React-RCTImage (= 0.68.1) - - React-RCTImage (0.68.1): + - React-Core (= 0.69.2) + - React-Fabric (= 0.69.2) + - React-RCTImage (= 0.69.2) + - React-RCTImage (0.69.2): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.1) - - React-Codegen (= 0.68.1) - - React-Core/RCTImageHeaders (= 0.68.1) - - React-jsi (= 0.68.1) - - React-RCTNetwork (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-RCTLinking (0.68.1): - - React-Codegen (= 0.68.1) - - React-Core/RCTLinkingHeaders (= 0.68.1) - - React-jsi (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-RCTNetwork (0.68.1): + - RCTTypeSafety (= 0.69.2) + - React-Codegen (= 0.69.2) + - React-Core/RCTImageHeaders (= 0.69.2) + - React-jsi (= 0.69.2) + - React-RCTNetwork (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-RCTLinking (0.69.2): + - React-Codegen (= 0.69.2) + - React-Core/RCTLinkingHeaders (= 0.69.2) + - React-jsi (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-RCTNetwork (0.69.2): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.1) - - React-Codegen (= 0.68.1) - - React-Core/RCTNetworkHeaders (= 0.68.1) - - React-jsi (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-RCTSettings (0.68.1): + - RCTTypeSafety (= 0.69.2) + - React-Codegen (= 0.69.2) + - React-Core/RCTNetworkHeaders (= 0.69.2) + - React-jsi (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-RCTSettings (0.69.2): - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.68.1) - - React-Codegen (= 0.68.1) - - React-Core/RCTSettingsHeaders (= 0.68.1) - - React-jsi (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-RCTText (0.68.1): - - React-Core/RCTTextHeaders (= 0.68.1) - - React-RCTVibration (0.68.1): + - RCTTypeSafety (= 0.69.2) + - React-Codegen (= 0.69.2) + - React-Core/RCTSettingsHeaders (= 0.69.2) + - React-jsi (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-RCTText (0.69.2): + - React-Core/RCTTextHeaders (= 0.69.2) + - React-RCTVibration (0.69.2): - RCT-Folly (= 2021.06.28.00-v2) - - React-Codegen (= 0.68.1) - - React-Core/RCTVibrationHeaders (= 0.68.1) - - React-jsi (= 0.68.1) - - ReactCommon/turbomodule/core (= 0.68.1) - - React-rncore (0.68.1) - - React-runtimeexecutor (0.68.1): - - React-jsi (= 0.68.1) - - ReactCommon/turbomodule/core (0.68.1): + - React-Codegen (= 0.69.2) + - React-Core/RCTVibrationHeaders (= 0.69.2) + - React-jsi (= 0.69.2) + - ReactCommon/turbomodule/core (= 0.69.2) + - React-rncore (0.69.2) + - React-runtimeexecutor (0.69.2): + - React-jsi (= 0.69.2) + - ReactCommon/turbomodule/core (0.69.2): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.68.1) - - React-Core (= 0.68.1) - - React-cxxreact (= 0.68.1) - - React-jsi (= 0.68.1) - - React-logger (= 0.68.1) - - React-perflogger (= 0.68.1) + - React-bridging (= 0.69.2) + - React-callinvoker (= 0.69.2) + - React-Core (= 0.69.2) + - React-cxxreact (= 0.69.2) + - React-jsi (= 0.69.2) + - React-logger (= 0.69.2) + - React-perflogger (= 0.69.2) - RNSVG (12.4.4): - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly - RCTRequired - RCTTypeSafety - React @@ -704,7 +707,7 @@ PODS: - ReactCommon/turbomodule/core - RNSVG/common (= 12.4.4) - RNSVG/common (12.4.4): - - RCT-Folly (= 2021.06.28.00-v2) + - RCT-Folly - RCTRequired - RCTTypeSafety - React @@ -723,10 +726,10 @@ DEPENDENCIES: - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - Flipper (= 0.125.0) - Flipper-Boost-iOSX (= 1.76.0.1.11) - - Flipper-DoubleConversion (= 3.2.0) + - Flipper-DoubleConversion (= 3.2.0.1) - Flipper-Fmt (= 7.1.7) - Flipper-Folly (= 2.6.10) - - Flipper-Glog (= 0.5.0.4) + - Flipper-Glog (= 0.5.0.5) - Flipper-PeerTalk (= 0.0.4) - Flipper-RSocket (= 1.4.3) - FlipperKit (= 0.125.0) @@ -743,7 +746,7 @@ DEPENDENCIES: - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.125.0) - FlipperKit/SKIOSNetworkPlugin (= 0.125.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (~> 0.11.0) + - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`) - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) @@ -751,6 +754,7 @@ DEPENDENCIES: - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - React (from `../node_modules/react-native/`) + - React-bridging (from `../node_modules/react-native/ReactCommon`) - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - React-Core (from `../node_modules/react-native/`) @@ -796,7 +800,6 @@ SPEC REPOS: - Flipper-RSocket - FlipperKit - fmt - - hermes-engine - libevent - OpenSSL-Universal - SocketRocket @@ -813,6 +816,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec" RCT-Folly: :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" RCTRequired: @@ -821,6 +826,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/TypeSafety" React: :path: "../node_modules/react-native/" + React-bridging: + :path: "../node_modules/react-native/ReactCommon" React-callinvoker: :path: "../node_modules/react-native/ReactCommon/callinvoker" React-Codegen: @@ -882,57 +889,58 @@ SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 - FBLazyVector: 2c76493a346ef8cacf1f442926a39f805fffec1f - FBReactNativeSpec: d0cd6132e81f71704f0fbe656aa8e7e28e98477b + FBLazyVector: e3c1479be506060131807f2f2435af5107c58410 + FBReactNativeSpec: 9fc7b13677bdbcf32e06b9cb44a9803449196563 Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c - Flipper-DoubleConversion: 3d3d04a078d4f3a1b6c6916587f159dc11f232c4 + Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 - Flipper-Glog: 87bc98ff48de90cb5b0b5114ed3da79d85ee2dd4 + Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 FlipperKit: cbdee19bdd4e7f05472a66ce290f1b729ba3cb86 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 476ee3e89abb49e07f822b48323c51c57124b572 - hermes-engine: 84e3af1ea01dd7351ac5d8689cbbea1f9903ffc3 + hermes-engine: e7f0920bc628f30a90d4916359711147083e2bff libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c RCT-Folly: 4d8508a426467c48885f1151029bc15fa5d7b3b8 - RCTRequired: 00581111c53531e39e3c6346ef0d2c0cf52a5a37 - RCTTypeSafety: 07e03ee7800e7dd65cba8e52ad0c2edb06c96604 - React: e61f4bf3c573d0c61c56b53dc3eb1d9daf0768a0 - React-callinvoker: 047d47230bb6fd66827f8cb0bea4e944ffd1309b - React-Codegen: 04db108bf33ffa80318c16d544146f3cb44e65b3 - React-Core: a4a3a8e10d004b08e013c3d0438259dd89a3894c - React-CoreModules: bb9f8bc36f1ae6d780b856927fa9d4aa01ccccc0 - React-cxxreact: 7dd472aefb8629d6080cbb859240bafccd902704 - React-Fabric: 250c9a06ca52b543e8781a062a54c0553eb69106 - React-graphics: b25a8a7e8d8cd14e368eaf275d35d0596355559d - React-hermes: a245deb80c8d0bc35ed599109562c1c75ca803bc - React-jsi: b25808afe821b607d51c779bdd1717be8393b7ec - React-jsiexecutor: 4a4bae5671b064a2248a690cf75957669489d08c - React-jsinspector: 218a2503198ff28a085f8e16622a8d8f507c8019 - React-logger: f79dd3cc0f9b44f5611c6c7862badd891a862cf8 - React-perflogger: 30ab8d6db10e175626069e742eead3ebe8f24fd5 - React-RCTActionSheet: 4b45da334a175b24dabe75f856b98fed3dfd6201 - React-RCTAnimation: d6237386cb04500889877845b3e9e9291146bc2e - React-RCTBlob: bc9e2cd738c43bd2948e862e371402ef9584730a - React-RCTFabric: fa0dd5a689cab27d51a30eeb7a274b0702c4a175 - React-RCTImage: 9f8cac465c6e5837007f59ade2a0a741016dd6a3 - React-RCTLinking: 5073abb7d30cc0824b2172bd4582fc15bfc40510 - React-RCTNetwork: 28ff94aa7d8fc117fc800b87dd80869a00d2bef3 - React-RCTSettings: f27aa036f7270fe6ca43f8cdd1819e821fa429a0 - React-RCTText: 7cb6f86fa7bc86f22f16333ad243b158e63b2a68 - React-RCTVibration: 9e344c840176b0af9c84d5019eb4fed8b3c105a1 - React-rncore: 6fbbec7c9933e3d187b9db3ec222a931d5dd33b9 - React-runtimeexecutor: 7285b499d0339104b2813a1f58ad1ada4adbd6c0 - ReactCommon: bf2888a826ceedf54b99ad1b6182d1bc4a8a3984 - RNSVG: 5dfdc0de5db1d279cd7fe8d1532c8ded0b827b5f + RCTRequired: b723d4d6da2795df58189a01f92856b6912cf256 + RCTTypeSafety: 3973d2fcf39f43f7819e840d56ea6b2fe45996a0 + React: 242d4ffb093ed57c4761307a69b23b2479930ae9 + React-bridging: 66938204bc9d703b9c357201a40bf498aeb14412 + React-callinvoker: bf0a87845bc3158eec32be848bd9546e79d6dd25 + React-Codegen: 69c62c00f44c3bd3990f660b356c7a39ba55c20c + React-Core: 5acd5715010b56d23846859b3a68c316dad09d5b + React-CoreModules: 73db18e3aaf5e29f73e4b7c9ddf6ead823795d06 + React-cxxreact: 0fc57a199d2d69c0e0401c9eab944be9b972bf1b + React-Fabric: 886dab99466bedd696daff4b98dfd267bc3dc313 + React-graphics: a76dc2652fadc73f816942cbecd41b7119188217 + React-hermes: 333a943b80725725ddc3f38a8b4d44574628bf01 + React-jsi: f845df5e8fd5688cab3cdaaa06f5413e791a01bd + React-jsiexecutor: 7c23e92591431ac925f430b3118de934cb816ac0 + React-jsinspector: 31e53f048cc8f32605de36981903a7bbf9456892 + React-logger: 9a6c684d5cd56c4129e0c2842dba75c4bfb1e981 + React-perflogger: 281c34e42f13245c7a4d6932364d9182f8655e1a + React-RCTActionSheet: 92f4292754a1b4a0e42bf9b1489206a06f878929 + React-RCTAnimation: 2a5bb5549758e4e594481633f3db649d11519f75 + React-RCTBlob: cf573ac95fc612ed4440cad0b92161722430de87 + React-RCTFabric: dfdb31bd0e68749ad7c3a89d89d8eaebb72b68ae + React-RCTImage: af8b9a46a743937db396fcb43320f57b570661dc + React-RCTLinking: 81029ed5767d2a2c13c03caeed32f87b72e73838 + React-RCTNetwork: 24c2b13acdcd43af39b2da90584c92e7799ee366 + React-RCTSettings: 028b0e20ff60d2c7ba47cedec8e99e69b6691c40 + React-RCTText: 6d17c2aead07b9de7ddc8765b580d0fb4b1d2e50 + React-RCTVibration: 0d07f00705b5f11e88aaaaf9131f5e1785d4bd6e + React-rncore: 1c2dfe96b19eb39cad522ce4ba2af55dc1836053 + React-runtimeexecutor: 8030b9cf9b9e87b878d92da680b55b5e74c58e70 + ReactCommon: a9414b91f0d19de002b55d9f4f6cb176d6dd8452 + RNSVG: 79c1551169ce176cc9eadd5e320c62b8912fe315 SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 - Yoga: 17cd9a50243093b547c1e539c749928dd68152da + Yoga: 236056dd74cda4d9d76c20306fd8c20bb087614d YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: cb1a8b8570e204ff83f9b7dbdbac0b2f0dc80a36 +PODFILE CHECKSUM: aecb749de264a1703210af6f43473725c27fc7f0 COCOAPODS: 1.11.3 diff --git a/FabricExample/ios/_xcode.env b/FabricExample/ios/_xcode.env new file mode 100644 index 00000000..3d5782c7 --- /dev/null +++ b/FabricExample/ios/_xcode.env @@ -0,0 +1,11 @@ +# This `.xcode.env` file is versioned and is used to source the environment +# used when running script phases inside Xcode. +# To customize your local environment, you can create an `.xcode.env.local` +# file that is not versioned. + +# NODE_BINARY variable contains the PATH to the node executable. +# +# Customize the NODE_BINARY variable here. +# For example, to use nvm with brew, add the following line +# . "$(brew --prefix nvm)/nvm.sh" --no-use +export NODE_BINARY=$(command -v node) diff --git a/FabricExample/package.json b/FabricExample/package.json index 7d054a6e..8ee8645f 100644 --- a/FabricExample/package.json +++ b/FabricExample/package.json @@ -10,8 +10,8 @@ "lint": "eslint ." }, "dependencies": { - "react": "17.0.2", - "react-native": "^0.68.1", + "react": "18.0.0", + "react-native": "0.69.2", "react-native-svg": "link:../" }, "devDependencies": { @@ -21,8 +21,8 @@ "babel-jest": "^26.6.3", "eslint": "^7.32.0", "jest": "^26.6.3", - "metro-react-native-babel-preset": "^0.67.0", - "react-test-renderer": "17.0.2" + "metro-react-native-babel-preset": "^0.70.3", + "react-test-renderer": "18.0.0" }, "jest": { "preset": "react-native" diff --git a/FabricExample/yarn.lock b/FabricExample/yarn.lock index bd0b8ab4..5cae6377 100644 --- a/FabricExample/yarn.lock +++ b/FabricExample/yarn.lock @@ -3,11 +3,12 @@ "@ampproject/remapping@^2.1.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" - integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: - "@jridgewell/trace-mapping" "^0.3.0" + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" "@babel/code-frame@7.12.11": version "7.12.11" @@ -16,93 +17,93 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: - "@babel/highlight" "^7.16.7" + "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" - integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" + integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.12.9", "@babel/core@^7.13.16", "@babel/core@^7.14.0", "@babel/core@^7.7.5": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" - integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.9.tgz#805461f967c77ff46c74ca0460ccf4fe933ddd59" + integrity sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g== dependencies: "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.7" - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.8" - "@babel/parser" "^7.17.8" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.9" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-module-transforms" "^7.18.9" + "@babel/helpers" "^7.18.9" + "@babel/parser" "^7.18.9" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.1.2" + json5 "^2.2.1" semver "^6.3.0" -"@babel/generator@^7.14.0", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" - integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== +"@babel/generator@^7.14.0", "@babel/generator@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5" + integrity sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug== dependencies: - "@babel/types" "^7.17.0" + "@babel/types" "^7.18.9" + "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" - source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" - integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" - integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" + integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" + "@babel/compat-data" "^7.18.8" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.20.2" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.7": - version "7.17.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" - integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== +"@babel/helper-create-class-features-plugin@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz#d802ee16a64a9e824fcbf0a2ffc92f19d58550ce" + integrity sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" -"@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" - integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== +"@babel/helper-create-regexp-features-plugin@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz#3e35f4e04acbbf25f1b3534a657610a000543d3c" + integrity sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^5.0.1" + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.1.0" "@babel/helper-define-polyfill-provider@^0.3.1": version "0.3.1" @@ -118,217 +119,218 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== +"@babel/helper-environment-visitor@^7.18.6", "@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" -"@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" - integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== +"@babel/helper-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" + integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== dependencies: - "@babel/types" "^7.16.7" + "@babel/template" "^7.18.6" + "@babel/types" "^7.18.9" -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== +"@babel/helper-member-expression-to-functions@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" + integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.9" -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.16.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" - integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" + integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== dependencies: - "@babel/types" "^7.17.0" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.18.6" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== dependencies: - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" - integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" + integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== + +"@babel/helper-remap-async-to-generator@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" + integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== dependencies: - "@babel/types" "^7.16.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-remap-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" - integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== +"@babel/helper-simple-access@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" + integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.8" - "@babel/types" "^7.16.8" + "@babel/types" "^7.18.6" -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== +"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" + integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/types" "^7.18.9" -"@babel/helper-simple-access@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" - integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: - "@babel/types" "^7.17.0" + "@babel/types" "^7.18.6" -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== +"@babel/helper-validator-identifier@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" + integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helper-wrap-function@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz#ae1feddc6ebbaa2fd79346b77821c3bd73a39646" + integrity sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ== dependencies: - "@babel/types" "^7.16.0" + "@babel/helper-function-name" "^7.18.9" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== +"@babel/helpers@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" + integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== dependencies: - "@babel/types" "^7.16.7" + "@babel/template" "^7.18.6" + "@babel/traverse" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-wrap-function@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" - integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== +"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helpers@^7.17.8": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" - integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.17.3" - "@babel/types" "^7.17.0" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" + "@babel/helper-validator-identifier" "^7.18.6" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8", "@babel/parser@^7.7.0": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" - integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.18.9", "@babel/parser@^7.7.0": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.9.tgz#f2dde0c682ccc264a9a8595efd030a5cc8fd2539" + integrity sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg== + +"@babel/plugin-proposal-async-generator-functions@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz#aedac81e6fc12bb643374656dd5f2605bf743d17" + integrity sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w== + dependencies: + "@babel/helper-environment-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" + "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" - integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-export-default-from@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.16.7.tgz#a40ab158ca55627b71c5513f03d3469026a9e929" - integrity sha512-+cENpW1rgIjExn+o5c8Jw/4BuH4eGKKYvkMB8/0ZxFQ9mC0t4z09VsPIwNg6waF69QYC81zxGeAsREGuqQoKeg== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.18.9.tgz#9dfad26452e53cae8f045c6153e82dc50e9bee89" + integrity sha512-1qtsLNCDm5awHLIt+2qAFDi31XC94r4QepMQcOosC7FpY6O+Bgay5f2IyAQt2wvm1TARumpFprnQt5pTIJ9nUg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-export-default-from" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-default-from" "^7.18.6" "@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" - integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-object-rest-spread@^7.0.0": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" - integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" + integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== dependencies: - "@babel/compat-data" "^7.17.0" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/compat-data" "^7.18.8" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.18.8" "@babel/plugin-proposal-optional-catch-binding@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" - integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" + integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-async-generators@^7.8.4": @@ -359,19 +361,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.16.7.tgz#fa89cf13b60de2c3f79acdc2b52a21174c6de060" - integrity sha512-4C3E4NsrLOgftKaTYTULhHsuQrGv3FHrBzOMDiS7UYKIpgGBkAdawg4h+EI8zPeK9M0fiIIh72hIwsI24K7MbA== +"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.18.6.tgz#8df076711a4818c4ce4f23e61d622b0ba2ff84bc" + integrity sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.16.7", "@babel/plugin-syntax-flow@^7.2.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz#202b147e5892b8452bbb0bb269c7ed2539ab8832" - integrity sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ== +"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.18.6", "@babel/plugin-syntax-flow@^7.2.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1" + integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" @@ -387,12 +389,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" - integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -443,275 +445,269 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" - integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== +"@babel/plugin-syntax-typescript@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" + integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-arrow-functions@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" - integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" + integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-async-to-generator@^7.0.0": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" - integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" + integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-remap-async-to-generator" "^7.18.6" "@babel/plugin-transform-block-scoped-functions@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" - integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" + integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-classes@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" - integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz#90818efc5b9746879b869d5ce83eb2aa48bbc3da" + integrity sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-replace-supers" "^7.18.9" + "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" - integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" + integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-destructuring@^7.0.0": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" - integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz#68906549c021cb231bee1db21d3b5b095f8ee292" + integrity sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-exponentiation-operator@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz#291fb140c78dabbf87f2427e7c7c332b126964b8" - integrity sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg== +"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.18.9.tgz#5b4cc521426263b5ce08893a2db41097ceba35bf" + integrity sha512-+G6rp2zRuOAInY5wcggsx4+QVao1qPM0osC9fTUVlAV3zOrzTCnrMAFVnR6+a3T8wz1wFIH7KhYMcMB3u1n80A== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-flow" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-flow" "^7.18.6" "@babel/plugin-transform-for-of@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" - integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-function-name@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" - integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== dependencies: - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-literals@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" - integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-member-expression-literals@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz#d86b217c8e45bb5f2dbc11eefc8eab62cf980d19" - integrity sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" + integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== dependencies: - "@babel/helper-module-transforms" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.17.7" + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-simple-access" "^7.18.6" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-object-assign@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.16.7.tgz#5fe08d63dccfeb6a33aa2638faf98e5c584100f8" - integrity sha512-R8mawvm3x0COTJtveuoqZIjNypn2FjfvXZr4pSQ8VhEFBuQGBz4XhHasZtHXjgXU4XptZ4HtGof3NoYc93ZH9Q== +"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz#c89bfbc7cc6805d692f3a49bc5fc1b630007246d" + integrity sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-object-super@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" - integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" + integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-property-literals@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-react-display-name@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" - integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" + integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.7.tgz#f432ad0cba14c4a1faf44f0076c69e42a4d4479e" - integrity sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" + integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0" - integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.18.6.tgz#06e9ae8a14d2bc19ce6e3c447d842032a50598fc" + integrity sha512-utZmlASneDfdaMh0m/WausbjUjEdGrQJz0vFK93d7wD3xf5wBtX219+q6IlCNZeguIcxS2f/CvLZrlLSvSHQXw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-react-jsx@^7.0.0": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz#eac1565da176ccb1a715dae0b4609858808008c1" - integrity sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.18.6.tgz#2721e96d31df96e3b7ad48ff446995d26bc028ff" + integrity sha512-Mz7xMPxoy9kPS/JScj6fJs03TZ/fZ1dJPlMjRAgTaxaS0fUBk8FV/A2rRgfPsVCZqALNwMexD+0Uaf5zlcKPpw== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-jsx" "^7.16.7" - "@babel/types" "^7.17.0" - -"@babel/plugin-transform-regenerator@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" - integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== - dependencies: - regenerator-transform "^0.14.2" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-jsx" "^7.18.6" + "@babel/types" "^7.18.6" "@babel/plugin-transform-runtime@^7.0.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz#0a2e08b5e2b2d95c4b1d3b3371a2180617455b70" - integrity sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.9.tgz#d9e4b1b25719307bfafbf43065ed7fb3a83adb8f" + integrity sha512-wS8uJwBt7/b/mzE13ktsJdmS4JP/j7PQSaADtnb4I2wL0zK51MQ0pmF8/Jy0wUIS96fr+fXT6S/ifiPXnvrlSg== dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.9" + babel-plugin-polyfill-corejs2 "^0.3.1" + babel-plugin-polyfill-corejs3 "^0.5.2" + babel-plugin-polyfill-regenerator "^0.3.1" semver "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" - integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz#6ea7a6297740f381c540ac56caf75b05b74fb664" + integrity sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" "@babel/plugin-transform-sticky-regex@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" - integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-template-literals@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" - integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typescript@^7.16.7", "@babel/plugin-transform-typescript@^7.5.0": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz#591ce9b6b83504903fa9dd3652c357c2ba7a1ee0" - integrity sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== +"@babel/plugin-transform-typescript@^7.18.6", "@babel/plugin-transform-typescript@^7.5.0": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.18.8.tgz#303feb7a920e650f2213ef37b36bbf327e6fa5a0" + integrity sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-typescript" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-typescript" "^7.18.6" "@babel/plugin-transform-unicode-regex@^7.0.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/preset-flow@^7.13.13": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.16.7.tgz#7fd831323ab25eeba6e4b77a589f680e30581cbd" - integrity sha512-6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.18.6.tgz#83f7602ba566e72a9918beefafef8ef16d2810cb" + integrity sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-flow-strip-types" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-transform-flow-strip-types" "^7.18.6" "@babel/preset-typescript@^7.13.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz#ab114d68bb2020afc069cd51b37ff98a046a70b9" - integrity sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ== + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" + integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-typescript" "^7.16.7" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-transform-typescript" "^7.18.6" "@babel/register@^7.13.16": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.17.7.tgz#5eef3e0f4afc07e25e847720e7b987ae33f08d0b" - integrity sha512-fg56SwvXRifootQEDQAu1mKdjh5uthPzdO0N6t358FktfL4XjAVXuH58ULoiW8mesxiOgNIrxiImqEwv0+hRRA== + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c" + integrity sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw== dependencies: clone-deep "^4.0.1" find-cache-dir "^2.0.0" @@ -719,44 +715,44 @@ pirates "^4.0.5" source-map-support "^0.5.16" -"@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4": - version "7.17.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" - integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.5": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" + integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.0.0", "@babel/template@^7.16.7", "@babel/template@^7.3.3": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== +"@babel/template@^7.0.0", "@babel/template@^7.18.6", "@babel/template@^7.3.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" + integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.6" + "@babel/types" "^7.18.6" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.4": - version "7.17.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" - integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.18.9", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.4": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.9.tgz#deeff3e8f1bad9786874cb2feda7a2d77a904f98" + integrity sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg== dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.17.3" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.17.3" - "@babel/types" "^7.17.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.18.9" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.18.9" + "@babel/types" "^7.18.9" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.7.0": - version "7.17.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.7.0": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.9.tgz#7148d64ba133d8d73a41b3172ac4b83a1452205f" + integrity sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg== dependencies: - "@babel/helper-validator-identifier" "^7.16.7" + "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -788,9 +784,9 @@ strip-json-comments "^3.1.1" "@hapi/hoek@^9.0.0": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" - integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw== + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== "@hapi/topo@^5.0.0": version "5.1.0" @@ -1018,48 +1014,113 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/resolve-uri@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" - integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.11" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" - integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@jridgewell/trace-mapping@^0.3.0": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" - integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.14" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" + integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@react-native-community/cli-debugger-ui@^7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-7.0.3.tgz#3eeeacc5a43513cbcae56e5e965d77726361bcb4" - integrity sha512-G4SA6jFI0j22o+j+kYP8/7sxzbCDqSp2QiHA/X5E0lsGEd2o9qN2zbIjiFr8b8k+VVAYSUONhoC0+uKuINvmkA== +"@react-native-community/cli-clean@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-8.0.0.tgz#c8fc6e8d6a84c90ca0839d48080a87ad455613db" + integrity sha512-VY/kwyH5xp6oXiB9bcwa+I9W5k6WR/nX3s85FuMW76hSlgG1UVAGL04uZPwYlSmMZuSOSuoXOaIjJ7wAvQMBpg== + dependencies: + "@react-native-community/cli-tools" "^8.0.0" + chalk "^4.1.2" + execa "^1.0.0" + prompts "^2.4.0" + +"@react-native-community/cli-config@^8.0.3": + version "8.0.3" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-config/-/cli-config-8.0.3.tgz#485a7e5e97b8d28fac7f904e9cd5f6d156532f46" + integrity sha512-QhLU6QZywkoO4FzpeEkdoYml0nE9tBwhmOUI/c5iYPOtKhhXiW8kNCLiX96TJDiZonalzptkkNiRZkipdz/8hw== + dependencies: + "@react-native-community/cli-tools" "^8.0.0" + cosmiconfig "^5.1.0" + deepmerge "^3.2.0" + glob "^7.1.3" + joi "^17.2.1" + +"@react-native-community/cli-debugger-ui@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-8.0.0.tgz#98263dc525e65015e2d6392c940114028f87e8e9" + integrity sha512-u2jq06GZwZ9sRERzd9FIgpW6yv4YOW4zz7Ym/B8eSzviLmy3yI/8mxJtvlGW+J8lBsfMcQoqJpqI6Rl1nZy9yQ== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-hermes@^6.3.0": - version "6.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-6.3.0.tgz#92b2f07d08626a60f6893c3e3d57c1538c8fb5a7" - integrity sha512-Uhbm9bubyZLZ12vFCIfWbE/Qi3SBTbYIN/TC08EudTLhv/KbPomCQnmFsnJ7AXQFuOZJs73mBxoEAYSbRbwyVA== +"@react-native-community/cli-doctor@^8.0.3": + version "8.0.3" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-8.0.3.tgz#fd1b345b336157b1ef4941aeda944c6747177bb5" + integrity sha512-ndISZhZqOoeSuQCm5KLwJNkckk14Bqn1N8LHJbC6l4zAyDU0nQRO1IVPoV5uyaANMzMqSNzS6k9N4M0PpcuhIQ== dependencies: - "@react-native-community/cli-platform-android" "^6.3.0" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-config" "^8.0.3" + "@react-native-community/cli-platform-ios" "^8.0.2" + "@react-native-community/cli-tools" "^8.0.0" + chalk "^4.1.2" + command-exists "^1.2.8" + envinfo "^7.7.2" + execa "^1.0.0" + hermes-profile-transformer "^0.0.6" + ip "^1.1.5" + node-stream-zip "^1.9.1" + ora "^5.4.1" + prompts "^2.4.0" + semver "^6.3.0" + strip-ansi "^5.2.0" + sudo-prompt "^9.0.0" + wcwidth "^1.0.1" + +"@react-native-community/cli-hermes@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-hermes/-/cli-hermes-8.0.2.tgz#d0c3945b4093128d3095032595c3112378c5cc5e" + integrity sha512-RZ9uHTf3UFtGTYxq88uENJEdaDB8ab+YPBDn+Li1u78IKwNeL04F0A1A3ab3hYUkG4PEPnL2rkYSlzzNFLOSPQ== + dependencies: + "@react-native-community/cli-platform-android" "^8.0.2" + "@react-native-community/cli-tools" "^8.0.0" chalk "^4.1.2" hermes-profile-transformer "^0.0.6" ip "^1.1.5" -"@react-native-community/cli-platform-android@^6.3.0": - version "6.3.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-6.3.0.tgz#ab7d156bd69a392493323eeaba839a874c0e201f" - integrity sha512-d5ufyYcvrZoHznYm5bjBXaiHIJv552t5gYtQpnUsxBhHSQ8QlaNmlLUyeSPRDfOw4ND9b0tPHqs4ufwx6vp/fQ== +"@react-native-community/cli-platform-android@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-8.0.2.tgz#5e408f06a33712263c2a4c4ef3fde4e43c660585" + integrity sha512-pAEkt+GULesr8FphTpaNYSmu+O1CPQ2zCXkAg4kRd0WXpq3BsVqomyDWd/eMXTkY/yYQMGl6KilU2p9r/hnfhA== dependencies: - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-tools" "^8.0.0" chalk "^4.1.2" execa "^1.0.0" fs-extra "^8.1.0" @@ -1068,30 +1129,13 @@ lodash "^4.17.15" logkitty "^0.7.1" slash "^3.0.0" - xmldoc "^1.1.2" -"@react-native-community/cli-platform-android@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-7.0.1.tgz#d165897edf401f9bceff1f361ef446528133cb52" - integrity sha512-nOr0aMkxAymCnbtsQwXBlyoRN2Y+IzC7Qz5T+/zyWwEbTY8SKQI8uV+8+qttUvzSvuXa2PeXsTWluuliOS8KCw== +"@react-native-community/cli-platform-ios@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-8.0.2.tgz#603079d9def2f2159a40f9905a26c19dbbe6f0ef" + integrity sha512-LxWzj6jIZr5Ot893TKFbt0/T3WkVe6pbc/FSTo+TDQq1FQr/Urv16Uqn0AcL4IX2O1g3Qd13d0vtR/Cdpn3VNw== dependencies: - "@react-native-community/cli-tools" "^7.0.1" - chalk "^4.1.2" - execa "^1.0.0" - fs-extra "^8.1.0" - glob "^7.1.3" - jetifier "^1.6.2" - lodash "^4.17.15" - logkitty "^0.7.1" - slash "^3.0.0" - xmldoc "^1.1.2" - -"@react-native-community/cli-platform-ios@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-7.0.1.tgz#1c27af85229246b7a528e97f093e38859896cc93" - integrity sha512-PLRIbzrCzSedmpjuFtQqcqUD45G8q7sEciI1lf5zUbVMXqjIBwJWS7iz8235PyWwj8J4MNHohLC+oyRueFtbGg== - dependencies: - "@react-native-community/cli-tools" "^7.0.1" + "@react-native-community/cli-tools" "^8.0.0" chalk "^4.1.2" execa "^1.0.0" glob "^7.1.3" @@ -1099,57 +1143,42 @@ lodash "^4.17.15" ora "^5.4.1" plist "^3.0.2" - xcode "^3.0.0" -"@react-native-community/cli-plugin-metro@^7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-7.0.3.tgz#b381ed2f68a0b126e4fa238f1956a44846e1ef8a" - integrity sha512-HJrEkFbxv9DNixsGwO+Q0zCcZMghDltyzeB9yQ//D5ZR4ZUEuAIPrRDdEp9xVw0WkBxAIZs6KXLux2/yPMwLhA== +"@react-native-community/cli-plugin-metro@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-8.0.0.tgz#0b355a7a6fe93b347ec32b3edb3b2cd96b04dfd8" + integrity sha512-eIowV2ZRbzIWL3RIKVUUSahntXTuAeKzBSsFuhffLZphsV+UdKdtg5ATR9zbq7nsKap4ZseO5DkVqZngUkC7iQ== dependencies: - "@react-native-community/cli-server-api" "^7.0.3" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-server-api" "^8.0.0" + "@react-native-community/cli-tools" "^8.0.0" chalk "^4.1.2" - metro "^0.67.0" - metro-config "^0.67.0" - metro-core "^0.67.0" - metro-react-native-babel-transformer "^0.67.0" - metro-resolver "^0.67.0" - metro-runtime "^0.67.0" + metro "^0.70.1" + metro-config "^0.70.1" + metro-core "^0.70.1" + metro-react-native-babel-transformer "^0.70.1" + metro-resolver "^0.70.1" + metro-runtime "^0.70.1" readline "^1.3.0" -"@react-native-community/cli-server-api@^7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-7.0.3.tgz#ba9695a2fdfef22750d141153efd94baf641129b" - integrity sha512-JDrLsrkBgNxbG2u3fouoVGL9tKrXUrTsaNwr+oCV+3XyMwbVe42r/OaQ681/iW/7mHXjuVkDnMcp7BMg7e2yJg== +"@react-native-community/cli-server-api@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-8.0.0.tgz#562fee6da9f880531db2af1d3439efb7309281f8" + integrity sha512-TxUs3sMl9clt7sdv30XETc6VRzyaEli2vDrk3TB5W5o5nSd1PmQdP4ccdGLO/nDRXwOy72QmmXlYWMg1XGU0Gg== dependencies: - "@react-native-community/cli-debugger-ui" "^7.0.3" - "@react-native-community/cli-tools" "^6.2.0" + "@react-native-community/cli-debugger-ui" "^8.0.0" + "@react-native-community/cli-tools" "^8.0.0" compression "^1.7.1" connect "^3.6.5" errorhandler "^1.5.0" - nocache "^2.1.0" + nocache "^3.0.1" pretty-format "^26.6.2" serve-static "^1.13.1" ws "^7.5.1" -"@react-native-community/cli-tools@^6.2.0": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-6.2.0.tgz#8f4adc2d83ab96e5654348533c8fa602742c4fce" - integrity sha512-08ssz4GMEnRxC/1FgTTN/Ud7mExQi5xMphItPjfHiTxpZPhrFn+IMx6mya0ncFEhhxQ207wYlJMRLPRRdBZ8oA== - dependencies: - appdirsjs "^1.2.4" - chalk "^4.1.2" - lodash "^4.17.15" - mime "^2.4.1" - node-fetch "^2.6.0" - open "^6.2.0" - semver "^6.3.0" - shell-quote "1.6.1" - -"@react-native-community/cli-tools@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-7.0.1.tgz#73790d6ca2825e42a70a770c1b403a6777e690d6" - integrity sha512-0xra4hKNA5PR2zYVXsDMNiXMGaDNoNRYMY6eTP2aVIxQbqIcVMDWSyCA8wMWX5iOpMWg0cZGaQ6a77f3Rlb34g== +"@react-native-community/cli-tools@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-8.0.0.tgz#2ca9177d7cdf352f6863f278cdacd44066d10473" + integrity sha512-jA4y8CebrRZaOJFjc5zMOnls4KfHkBl2FUtBZV2vcWuedQHa6JVwo+KO88ta3Ysby3uY0+mrZagZfXk7c0mrBw== dependencies: appdirsjs "^1.2.4" chalk "^4.1.2" @@ -1161,49 +1190,38 @@ semver "^6.3.0" shell-quote "^1.7.3" -"@react-native-community/cli-types@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-6.0.0.tgz#90269fbdc7229d5e3b8f2f3e029a94083551040d" - integrity sha512-K493Fk2DMJC0ZM8s8gnfseKxGasIhuDaCUDeLZcoCSFlrjKEuEs1BKKEJiev0CARhKEXKOyyp/uqYM9nWhisNw== +"@react-native-community/cli-types@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-8.0.0.tgz#72d24178e5ed1c2d271da43e0a4a4f59178f261a" + integrity sha512-1lZS1PEvMlFaN3Se1ksyoFWzMjk+YfKi490GgsqKJln9gvFm8tqVPdnXttI5Uf2DQf3BMse8Bk8dNH4oV6Ewow== dependencies: - ora "^3.4.0" + joi "^17.2.1" -"@react-native-community/cli@^7.0.3": - version "7.0.3" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-7.0.3.tgz#1addb462d71786fcbbd266fbceb41819b8cf7839" - integrity sha512-WyJOA829KAhU1pw2MDQt0YhOS9kyR2KqyqgJyTuQhzFVCBPX4F5aDEkZYYn4jdldaDHCPrLJ3ho3gxYTXy+x7w== +"@react-native-community/cli@^8.0.3": + version "8.0.3" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-8.0.3.tgz#57a29bf4c7edb1ef8c60d7ab0183a75af8e57e80" + integrity sha512-7gY7QCEdpYDbvbdZBt6w64YPExLoiUpH/lVRaR4tKl6JalqXzrUotOJnBOS/qEC4q0nk0WXsiC5EkuiSliKS5Q== dependencies: - "@react-native-community/cli-debugger-ui" "^7.0.3" - "@react-native-community/cli-hermes" "^6.3.0" - "@react-native-community/cli-plugin-metro" "^7.0.3" - "@react-native-community/cli-server-api" "^7.0.3" - "@react-native-community/cli-tools" "^6.2.0" - "@react-native-community/cli-types" "^6.0.0" - appdirsjs "^1.2.4" + "@react-native-community/cli-clean" "^8.0.0" + "@react-native-community/cli-config" "^8.0.3" + "@react-native-community/cli-debugger-ui" "^8.0.0" + "@react-native-community/cli-doctor" "^8.0.3" + "@react-native-community/cli-hermes" "^8.0.2" + "@react-native-community/cli-plugin-metro" "^8.0.0" + "@react-native-community/cli-server-api" "^8.0.0" + "@react-native-community/cli-tools" "^8.0.0" + "@react-native-community/cli-types" "^8.0.0" chalk "^4.1.2" - command-exists "^1.2.8" commander "^2.19.0" - cosmiconfig "^5.1.0" - deepmerge "^3.2.0" - envinfo "^7.7.2" execa "^1.0.0" find-up "^4.1.0" fs-extra "^8.1.0" - glob "^7.1.3" graceful-fs "^4.1.3" - joi "^17.2.1" leven "^3.1.0" lodash "^4.17.15" minimist "^1.2.0" - node-stream-zip "^1.9.1" - ora "^3.4.0" - pretty-format "^26.6.2" prompts "^2.4.0" semver "^6.3.0" - serve-static "^1.13.1" - strip-ansi "^5.2.0" - sudo-prompt "^9.0.0" - wcwidth "^1.0.1" "@react-native-community/eslint-config@^2.0.0": version "2.0.0" @@ -1225,16 +1243,16 @@ prettier "^2.0.2" "@react-native-community/eslint-plugin@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@react-native-community/eslint-plugin/-/eslint-plugin-1.1.0.tgz#e42b1bef12d2415411519fd528e64b593b1363dc" - integrity sha512-W/J0fNYVO01tioHjvYWQ9m6RgndVtbElzYozBq1ZPrHO/iCzlqoySHl4gO/fpCl9QEFjvJfjPgtPMTMlsoq5DQ== + version "1.2.0" + resolved "https://registry.yarnpkg.com/@react-native-community/eslint-plugin/-/eslint-plugin-1.2.0.tgz#7d6d789ae8edf73dc9bed1246cd48277edea8066" + integrity sha512-o6aam+0Ug1xGK3ABYmBm0B1YuEKfM/5kaoZO0eHbZwSpw9UzDX4G5y4Nx/K20FHqUmJHkZmLvOUFYwN4N+HqKA== "@react-native/assets@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e" integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== -"@react-native/normalize-color@*", "@react-native/normalize-color@2.0.0": +"@react-native/normalize-color@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@react-native/normalize-color/-/normalize-color-2.0.0.tgz#da955909432474a9a0fe1cbffc66576a0447f567" integrity sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw== @@ -1307,9 +1325,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + version "7.17.1" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" + integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== dependencies: "@babel/types" "^7.3.0" @@ -1345,14 +1363,14 @@ "@types/istanbul-lib-report" "*" "@types/json-schema@^7.0.3": - version "7.0.10" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.10.tgz#9b05b7896166cd00e9cbd59864853abf65d9ac23" - integrity sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A== + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/node@*": - version "17.0.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.23.tgz#3b41a6e643589ac6442bdbd7a4a3ded62f33f7da" - integrity sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw== + version "18.0.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.6.tgz#0ba49ac517ad69abe7a1508bc9b3a5483df9d5d7" + integrity sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1360,9 +1378,9 @@ integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/prettier@^2.0.0": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" - integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== + version "2.6.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.3.tgz#68ada76827b0010d0db071f739314fa429943d0a" + integrity sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg== "@types/stack-utils@^2.0.0": version "2.0.1" @@ -1449,9 +1467,9 @@ eslint-visitor-keys "^1.1.0" abab@^2.0.3, abab@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== abort-controller@^3.0.0: version "3.0.0" @@ -1463,7 +1481,7 @@ abort-controller@^3.0.0: absolute-path@^0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/absolute-path/-/absolute-path-0.0.0.tgz#a78762fbdadfb5297be99b15d35a785b2f095bf7" - integrity sha1-p4di+9rftSl76ZsV01p4Wy8JW/c= + integrity sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA== accepts@^1.3.7, accepts@~1.3.5, accepts@~1.3.7: version "1.3.8" @@ -1497,9 +1515,9 @@ acorn@^7.1.1, acorn@^7.4.0: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.2.4: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + version "8.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" + integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== agent-base@6: version "6.0.2" @@ -1534,9 +1552,9 @@ anser@^1.4.9: integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww== ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== ansi-escapes@^4.2.1: version "4.3.2" @@ -1595,9 +1613,9 @@ anymatch@^3.0.3: picomatch "^2.0.4" appdirsjs@^1.2.4: - version "1.2.6" - resolved "https://registry.yarnpkg.com/appdirsjs/-/appdirsjs-1.2.6.tgz#fccf9ee543315492867cacfcfd4a2b32257d30ac" - integrity sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w== + version "1.2.7" + resolved "https://registry.yarnpkg.com/appdirsjs/-/appdirsjs-1.2.7.tgz#50b4b7948a26ba6090d4aede2ae2dc2b051be3b3" + integrity sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw== argparse@^1.0.7: version "1.0.10" @@ -1609,7 +1627,7 @@ argparse@^1.0.7: arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== arr-flatten@^1.1.0: version "1.1.0" @@ -1619,57 +1637,43 @@ arr-flatten@^1.1.0: arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== -array-filter@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" - integrity sha1-fajPLiZijtcygDWB/SH2fKzS7uw= - -array-includes@^3.1.3, array-includes@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" - integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== +array-includes@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" + integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.19.5" get-intrinsic "^1.1.1" is-string "^1.0.7" -array-map@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" - integrity sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI= - -array-reduce@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" - integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== -array.prototype.flatmap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" - integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== +array.prototype.flatmap@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" + integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.19.0" + es-abstract "^1.19.2" + es-shim-unscopables "^1.0.0" asap@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== ast-types@0.14.2: version "0.14.2" @@ -1693,17 +1697,15 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async@^2.4.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" +async@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== atob@^2.1.2: version "2.1.2" @@ -1769,7 +1771,7 @@ babel-plugin-jest-hoist@^26.6.2: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" -babel-plugin-polyfill-corejs2@^0.3.0: +babel-plugin-polyfill-corejs2@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== @@ -1778,7 +1780,7 @@ babel-plugin-polyfill-corejs2@^0.3.0: "@babel/helper-define-polyfill-provider" "^0.3.1" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.5.0: +babel-plugin-polyfill-corejs3@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== @@ -1786,7 +1788,7 @@ babel-plugin-polyfill-corejs3@^0.5.0: "@babel/helper-define-polyfill-provider" "^0.3.1" core-js-compat "^3.21.0" -babel-plugin-polyfill-regenerator@^0.3.0: +babel-plugin-polyfill-regenerator@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== @@ -1880,11 +1882,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -big-integer@1.6.x: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== - bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -1897,21 +1894,7 @@ bl@^4.1.0: boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -bplist-creator@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" - integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg== - dependencies: - stream-buffers "2.2.x" - -bplist-parser@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.3.0.tgz#ba50666370f61bbf94881636cd9f7d23c5286090" - integrity sha512-zgmaRvT6AN1JpPPV+S0a1/FAtoxSreYDccZGIqEMSvZl9DMe70mJ7MFzpxa1X+gHVdkToE2haRUHHMiW1OdejA== - dependencies: - big-integer "1.6.x" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== brace-expansion@^1.1.7: version "1.1.11" @@ -1937,7 +1920,7 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.1: +braces@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -1949,16 +1932,15 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.17.5, browserslist@^4.19.1: - version "4.20.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" - integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== +browserslist@^4.20.2, browserslist@^4.21.2: + version "4.21.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf" + integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA== dependencies: - caniuse-lite "^1.0.30001317" - electron-to-chromium "^1.4.84" - escalade "^3.1.1" - node-releases "^2.0.2" - picocolors "^1.0.0" + caniuse-lite "^1.0.30001366" + electron-to-chromium "^1.4.188" + node-releases "^2.0.6" + update-browserslist-db "^1.0.4" bser@2.1.1: version "2.1.1" @@ -1983,7 +1965,7 @@ buffer@^5.5.0: bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== cache-base@^1.0.1: version "1.0.1" @@ -2011,21 +1993,21 @@ call-bind@^1.0.0, call-bind@^1.0.2: caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== dependencies: callsites "^2.0.0" caller-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== dependencies: caller-callsite "^2.0.0" callsites@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== callsites@^3.0.0: version "3.1.0" @@ -2042,10 +2024,10 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001317: - version "1.0.30001320" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz#8397391bec389b8ccce328636499b7284ee13285" - integrity sha512-MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA== +caniuse-lite@^1.0.30001366: + version "1.0.30001368" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001368.tgz#c5c06381c6051cd863c45021475434e81936f713" + integrity sha512-wgfRYa9DenEomLG/SdWgQxpIyvdtH3NW8Vq+tB6AwR9e56iOIcu1im5F/wNdDf04XlKHXqIx4N8Jo0PemeBenQ== capture-exit@^2.0.0: version "2.0.0" @@ -2054,7 +2036,7 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: +chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2082,9 +2064,9 @@ ci-info@^2.0.0: integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" - integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + version "3.3.2" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128" + integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg== cjs-module-lexer@^0.6.0: version "0.6.0" @@ -2101,13 +2083,6 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -2115,7 +2090,7 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-spinners@^2.0.0, cli-spinners@^2.5.0: +cli-spinners@^2.5.0: version "2.6.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== @@ -2141,12 +2116,12 @@ clone-deep@^4.0.1: clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== collect-v8-coverage@^1.0.0: version "1.0.1" @@ -2156,7 +2131,7 @@ collect-v8-coverage@^1.0.0: collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== dependencies: map-visit "^1.0.0" object-visit "^1.0.0" @@ -2178,7 +2153,7 @@ color-convert@^2.0.1: color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" @@ -2215,7 +2190,7 @@ commander@~2.13.0: commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== component-emitter@^1.2.1: version "1.3.0" @@ -2245,7 +2220,7 @@ compression@^1.7.1: concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== connect@^3.6.5: version "3.7.0" @@ -2267,14 +2242,14 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== core-js-compat@^3.21.0: - version "3.21.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.1.tgz#cac369f67c8d134ff8f9bd1623e3bc2c42068c82" - integrity sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g== + version "3.23.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.5.tgz#11edce2f1c4f69a96d30ce77c805ce118909cd5b" + integrity sha512-fHYozIFIxd+91IIbXJgWd/igXIc8Mf9is0fusswjnGIWVG96y2cwyUdlCkGOw6rMLHKAxg7xtCIVaHsyOUnJIg== dependencies: - browserslist "^4.19.1" + browserslist "^4.21.2" semver "7.0.0" core-util-is@~1.0.0: @@ -2363,9 +2338,9 @@ data-urls@^2.0.0: whatwg-url "^8.0.0" dayjs@^1.8.15: - version "1.11.0" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.0.tgz#009bf7ef2e2ea2d5db2e6583d2d39a4b5061e805" - integrity sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug== + version "1.11.4" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.4.tgz#3b3c10ca378140d8917e06ebc13a4922af4f433e" + integrity sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g== debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" @@ -2384,7 +2359,7 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decimal.js@^10.2.1: version "10.3.1" @@ -2394,7 +2369,7 @@ decimal.js@^10.2.1: decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" @@ -2414,28 +2389,29 @@ deepmerge@^4.2.2: defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + integrity sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA== dependencies: clone "^1.0.2" -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== dependencies: - object-keys "^1.0.12" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== dependencies: is-descriptor "^0.1.0" define-property@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== dependencies: is-descriptor "^1.0.0" @@ -2450,31 +2426,22 @@ define-property@^2.0.2: delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== denodeify@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" - integrity sha1-OjYof1A05pnnV3kBBSwubJQlFjE= + integrity sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg== -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -deprecated-react-native-prop-types@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-2.3.0.tgz#c10c6ee75ff2b6de94bb127f142b814e6e08d9ab" - integrity sha512-pWD0voFtNYxrVqvBMYf5gq3NA2GCpfodS1yNynTPc93AYA/KEMGeWDqqeUB6R2Z9ZofVhks2aeJXiuQqKNpesA== - dependencies: - "@react-native/normalize-color" "*" - invariant "*" - prop-types "*" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detect-newline@^3.0.0: version "3.1.0" @@ -2540,12 +2507,12 @@ domutils@^3.0.1: ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.84: - version "1.4.92" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.92.tgz#88996e9aceb3a500710fd439abfa89b6cc1ac56c" - integrity sha512-YAVbvQIcDE/IJ/vzDMjD484/hsRbFPW2qXJPaYTfOhtligmfYEYOep+5QojpaEU9kq6bMvNeC2aG7arYvTHYsA== +electron-to-chromium@^1.4.188: + version "1.4.196" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.196.tgz#e18cdc5c1c2c2ebf78da237d0c374cc3b244d4cb" + integrity sha512-uxMa/Dt7PQsLBVXwH+t6JvpHJnrsYBaxWKi/J6HE+/nBtoHENhwBoNkgkm226/Kfxeg0z1eMQLBRPPKcDH8xWA== emittery@^0.7.1: version "0.7.2" @@ -2560,7 +2527,7 @@ emoji-regex@^8.0.0: encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== end-of-stream@^1.1.0: version "1.4.4" @@ -2594,11 +2561,11 @@ error-ex@^1.3.1: is-arrayish "^0.2.1" error-stack-parser@^2.0.6: - version "2.0.7" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.7.tgz#b0c6e2ce27d0495cf78ad98715e0cad1219abb57" - integrity sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA== + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== dependencies: - stackframe "^1.1.1" + stackframe "^1.3.4" errorhandler@^1.5.0: version "1.5.1" @@ -2608,31 +2575,41 @@ errorhandler@^1.5.0: accepts "~1.3.7" escape-html "~1.0.3" -es-abstract@^1.19.0, es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== +es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: + version "1.20.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" + integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" + function.prototype.name "^1.1.5" get-intrinsic "^1.1.1" get-symbol-description "^1.0.0" has "^1.0.3" - has-symbols "^1.0.2" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" internal-slot "^1.0.3" is-callable "^1.2.4" - is-negative-zero "^2.0.1" + is-negative-zero "^2.0.2" is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" + is-shared-array-buffer "^1.0.2" is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" + is-weakref "^1.0.2" + object-inspect "^1.12.0" object-keys "^1.1.1" object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" + regexp.prototype.flags "^1.4.3" + string.prototype.trimend "^1.0.5" + string.prototype.trimstart "^1.0.5" + unbox-primitive "^1.0.2" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" es-to-primitive@^1.2.1: version "1.2.1" @@ -2651,12 +2628,12 @@ escalade@^3.1.1: escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^2.0.0: version "2.0.0" @@ -2715,9 +2692,9 @@ eslint-plugin-prettier@3.1.2: prettier-linter-helpers "^1.0.0" eslint-plugin-react-hooks@^4.0.4: - version "4.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" - integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== eslint-plugin-react-native-globals@^0.1.1: version "0.1.2" @@ -2733,24 +2710,24 @@ eslint-plugin-react-native@^3.8.1: eslint-plugin-react-native-globals "^0.1.1" eslint-plugin-react@^7.20.0: - version "7.29.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz#4717de5227f55f3801a5fd51a16a4fa22b5914d2" - integrity sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ== + version "7.30.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz#2be4ab23ce09b5949c6631413ba64b2810fd3e22" + integrity sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg== dependencies: - array-includes "^3.1.4" - array.prototype.flatmap "^1.2.5" + array-includes "^3.1.5" + array.prototype.flatmap "^1.3.0" doctrine "^2.1.0" estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" object.entries "^1.1.5" object.fromentries "^2.0.5" - object.hasown "^1.1.0" + object.hasown "^1.1.1" object.values "^1.1.5" prop-types "^15.8.1" resolve "^2.0.0-next.3" semver "^6.3.0" - string.prototype.matchall "^4.0.6" + string.prototype.matchall "^4.0.7" eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" @@ -2869,7 +2846,7 @@ esutils@^2.0.2: etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== event-target-shim@^5.0.0, event-target-shim@^5.0.1: version "5.0.1" @@ -2912,12 +2889,12 @@ execa@^4.0.0: exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== dependencies: debug "^2.3.3" define-property "^0.2.5" @@ -2942,14 +2919,14 @@ expect@^26.6.2: extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== dependencies: is-extendable "^0.1.0" extend-shallow@^3.0.0, extend-shallow@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== dependencies: assign-symbols "^1.0.0" is-extendable "^1.0.1" @@ -2986,7 +2963,7 @@ fast-json-stable-stringify@^2.0.0: fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fb-watchman@^2.0.0: version "2.0.1" @@ -3005,7 +2982,7 @@ file-entry-cache@^6.0.1: fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== dependencies: extend-shallow "^2.0.1" is-number "^3.0.0" @@ -3065,14 +3042,14 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + version "3.2.6" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" + integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== flow-parser@0.*: - version "0.174.1" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.174.1.tgz#bb81e17fe45a1e64d9752090e819a6744a539fa0" - integrity sha512-nDMOvlFR+4doLpB3OJpseHZ7uEr3ENptlF6qMas/kzQmNcLzMwfQeFX0gGJ/+em7UdldB/nGsk55tDTOvjbCuw== + version "0.183.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.183.0.tgz#69bcd35608ef179c619df0036c2b61d0f84665ae" + integrity sha512-2e/aIZIM7iJpHCBxpqdXetYYoO3YQEJzA7M8v5bhWhXCu+lIfkeSfOWycWW0rhlnJyjMftbmwn6B2eenKeGlag== flow-parser@^0.121.0: version "0.121.0" @@ -3082,7 +3059,7 @@ flow-parser@^0.121.0: for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== form-data@^3.0.0: version "3.0.1" @@ -3096,19 +3073,19 @@ form-data@^3.0.0: fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== dependencies: map-cache "^0.2.2" fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-extra@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" - integrity sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA= + integrity sha512-VerQV6vEKuhDWD2HGOybV6v5I73syoc/cXAbKlgTC7M/oFVEtklWlp9QH2Ijw3IaWDOQcMkldSPa7zXy79Z/UQ== dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" @@ -3126,7 +3103,7 @@ fs-extra@^8.1.0: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^2.1.2, fsevents@^2.3.2: version "2.3.2" @@ -3138,10 +3115,25 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" @@ -3154,13 +3146,13 @@ get-caller-file@^2.0.1: integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + version "1.1.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" + integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== dependencies: function-bind "^1.1.1" has "^1.0.3" - has-symbols "^1.0.1" + has-symbols "^1.0.3" get-package-type@^0.1.0: version "0.1.0" @@ -3197,7 +3189,7 @@ get-symbol-description@^1.0.0: get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== glob-parent@^5.1.2: version "5.1.2" @@ -3207,14 +3199,14 @@ glob-parent@^5.1.2: is-glob "^4.0.1" glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" @@ -3224,37 +3216,44 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: - version "13.13.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b" - integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A== + version "13.17.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" + integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== dependencies: type-fest "^0.20.2" graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" @@ -3270,7 +3269,7 @@ has-tostringtag@^1.0.0: has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== dependencies: get-value "^2.0.3" has-values "^0.1.4" @@ -3279,7 +3278,7 @@ has-value@^0.3.1: has-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== dependencies: get-value "^2.0.6" has-values "^1.0.0" @@ -3288,12 +3287,12 @@ has-value@^1.0.0: has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== has-values@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== dependencies: is-number "^3.0.0" kind-of "^4.0.0" @@ -3310,17 +3309,17 @@ hermes-engine@~0.11.0: resolved "https://registry.yarnpkg.com/hermes-engine/-/hermes-engine-0.11.0.tgz#bb224730d230a02a5af02c4e090d1f52d57dd3db" integrity sha512-7aMUlZja2IyLYAcZ69NBnwJAR5ZOYlSllj0oMpx08a8HzxHOys0eKCzfphrf6D0vX1JGO1QQvVsQKe6TkYherw== -hermes-estree@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.5.0.tgz#36432a2b12f01b217244da098924efdfdfc12327" - integrity sha512-1h8rvG23HhIR5K6Kt0e5C7BC72J1Ath/8MmSta49vxXp/j6wl7IMHvIRFYBQr35tWnQY97dSGR2uoAJ5pHUQkg== +hermes-estree@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.6.0.tgz#e866fddae1b80aec65fe2ae450a5f2070ad54033" + integrity sha512-2YTGzJCkhdmT6VuNprWjXnvTvw/3iPNw804oc7yknvQpNKo+vJGZmtvLLCghOZf0OwzKaNAzeIMp71zQbNl09w== -hermes-parser@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.5.0.tgz#8b678dd8b29a08b57cbaf60adba4896494c59a53" - integrity sha512-ARnJBScKAkkq8j3BHrNGBUv/4cSpZNbKDsVizEtzmsFeqC67Dopa5s4XRe+e3wN52Dh5Mj2kDB5wJvhcxwDkPg== +hermes-parser@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.6.0.tgz#00d14e91bca830b3c1457050fa4187400cb96328" + integrity sha512-Vf58jBZca2+QBLR9h7B7mdg8oFz2g5ILz1iVouZ5DOrOrAfBmPfJjdjDT8jrO0f+iJ4/hSRrQHqHIjSnTaLUDQ== dependencies: - hermes-estree "0.5.0" + hermes-estree "0.6.0" hermes-profile-transformer@^0.0.6: version "0.0.6" @@ -3346,15 +3345,15 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: - depd "~1.1.2" + depd "2.0.0" inherits "2.0.4" setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" + statuses "2.0.1" toidentifier "1.0.1" http-proxy-agent@^4.0.1: @@ -3367,9 +3366,9 @@ http-proxy-agent@^4.0.1: debug "4" https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: agent-base "6" debug "4" @@ -3409,7 +3408,7 @@ image-size@^0.6.0: import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== dependencies: caller-path "^2.0.0" resolve-from "^3.0.0" @@ -3433,12 +3432,12 @@ import-local@^3.0.2: imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" @@ -3457,7 +3456,7 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -invariant@*, invariant@^2.2.4: +invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -3465,14 +3464,14 @@ invariant@*, invariant@^2.2.4: loose-envify "^1.0.0" ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== dependencies: kind-of "^3.0.2" @@ -3486,7 +3485,7 @@ is-accessor-descriptor@^1.0.0: is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" @@ -3520,17 +3519,17 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.2.0, is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== +is-core-module@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== dependencies: has "^1.0.3" is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== dependencies: kind-of "^3.0.2" @@ -3569,7 +3568,7 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== is-docker@^2.0.0: version "2.2.1" @@ -3579,7 +3578,7 @@ is-docker@^2.0.0: is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== is-extendable@^1.0.1: version "1.0.1" @@ -3591,12 +3590,12 @@ is-extendable@^1.0.1: is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== is-fullwidth-code-point@^3.0.0: version "3.0.0" @@ -3620,22 +3619,22 @@ is-interactive@^1.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== -is-negative-zero@^2.0.1: +is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== dependencies: kind-of "^3.0.2" @@ -3664,15 +3663,17 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== is-stream@^2.0.0: version "2.0.1" @@ -3696,14 +3697,14 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-weakref@^1.0.1: +is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== @@ -3718,7 +3719,7 @@ is-windows@^1.0.2: is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== is-wsl@^2.2.0: version "2.2.0" @@ -3730,24 +3731,24 @@ is-wsl@^2.2.0: isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== dependencies: isarray "1.0.0" isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" @@ -3765,9 +3766,9 @@ istanbul-lib-instrument@^4.0.3: semver "^6.3.0" istanbul-lib-instrument@^5.0.4: - version "5.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" - integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + version "5.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" + integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" @@ -3794,9 +3795,9 @@ istanbul-lib-source-maps@^4.0.0: source-map "^0.6.1" istanbul-reports@^3.0.2: - version "3.1.4" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" - integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== + version "3.1.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -4201,7 +4202,7 @@ jest-watcher@^26.6.2: jest-util "^26.6.2" string-length "^4.0.1" -jest-worker@^26.0.0, jest-worker@^26.6.2: +jest-worker@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -4210,7 +4211,7 @@ jest-worker@^26.0.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^27.5.1: +jest-worker@^27.2.0, jest-worker@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== @@ -4328,7 +4329,7 @@ jsesc@^2.5.1: jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-parse-better-errors@^1.0.1: version "1.0.2" @@ -4353,9 +4354,9 @@ json-schema-traverse@^1.0.0: json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json5@^2.1.2: +json5@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== @@ -4363,41 +4364,36 @@ json5@^2.1.2: jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= + integrity sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw== optionalDependencies: graceful-fs "^4.1.6" jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - "jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.2.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" - integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== + version "3.3.2" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz#afe5efe4332cd3515c065072bd4d6b0aa22152bd" + integrity sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q== dependencies: - array-includes "^3.1.3" + array-includes "^3.1.5" object.assign "^4.1.2" kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== dependencies: is-buffer "^1.1.5" kind-of@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== dependencies: is-buffer "^1.1.5" @@ -4414,7 +4410,7 @@ kind-of@^6.0.0, kind-of@^6.0.2: klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk= + integrity sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw== optionalDependencies: graceful-fs "^4.1.9" @@ -4439,7 +4435,7 @@ levn@^0.4.1: levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" @@ -4467,7 +4463,7 @@ locate-path@^5.0.0: lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.merge@^4.6.2: version "4.6.2" @@ -4477,25 +4473,18 @@ lodash.merge@^4.6.2: lodash.throttle@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" - integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= + integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== lodash.truncate@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.7.0: +lodash@^4.17.10, lodash@^4.17.15, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -4552,12 +4541,12 @@ makeerror@1.0.12: map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== dependencies: object-visit "^1.0.0" @@ -4566,84 +4555,89 @@ mdn-data@2.0.14: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== +memoize-one@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -metro-babel-transformer@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.67.0.tgz#42fe82af9953e5c62d9a8d7d544eb7be9020dd18" - integrity sha512-SBqc4nq/dgsPNFm+mpWcQQzJaXnh0nrfz2pSnZC4i6zMtIakrTWb8SQ78jOU1FZVEZ3nu9xCYVHS9Tbr/LoEuw== +metro-babel-transformer@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.70.3.tgz#dca61852be273824a4b641bd1ecafff07ff3ad1f" + integrity sha512-bWhZRMn+mIOR/s3BDpFevWScz9sV8FGktVfMlF1eJBLoX24itHDbXvTktKBYi38PWIKcHedh6THSFpJogfuwNA== dependencies: "@babel/core" "^7.14.0" - hermes-parser "0.5.0" - metro-source-map "0.67.0" + hermes-parser "0.6.0" + metro-source-map "0.70.3" nullthrows "^1.1.1" -metro-cache-key@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.67.0.tgz#4df6a73cced199e1bddd0f3454bb931a27141eeb" - integrity sha512-FNJe5Rcb2uzY6G6tsqCf0RV4t2rCeX6vSHBxmP7k+4aI4NqX4evtPI0K82r221nBzm5DqNWCURZ0RYUT6jZMGA== +metro-cache-key@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.70.3.tgz#898803db04178a8f440598afba7d82a9cf35abf7" + integrity sha512-0zpw+IcpM3hmGd5sKMdxNv3sbOIUYnMUvx1/yaM6vNRReSPmOLX0bP8fYf3CGgk8NEreZ1OHbVsuw7bdKt40Mw== -metro-cache@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.67.0.tgz#928db5742542719677468c4d22ea29b71c7ec8fc" - integrity sha512-IY5dXiR76L75b2ue/mv+9vW8g5hdQJU6YEe81lj6gTSoUrhcONT0rzY+Gh5QOS2Kk6z9utZQMvd9PRKL9/635A== +metro-cache@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.70.3.tgz#42cf3cdf8a7b3691f3bef9a86bed38d4c5f6201f" + integrity sha512-iCix/+z812fUqa6KlOxaTkY6LQQDoXIe/VljXkGIvpygSCmYyhjQpfQVZEVVPezFmUBYXNdabdQ6cYx6JX3yMg== dependencies: - metro-core "0.67.0" - mkdirp "^0.5.1" + metro-core "0.70.3" rimraf "^2.5.4" -metro-config@0.67.0, metro-config@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.67.0.tgz#5507d3b295bd10c87bd13dbe5a3033a357418786" - integrity sha512-ThAwUmzZwTbKyyrIn2bKIcJDPDBS0LKAbqJZQioflvBGfcgA21h3fdL3IxRmvCEl6OnkEWI0Tn1Z9w2GLAjf2g== +metro-config@0.70.3, metro-config@^0.70.1: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.70.3.tgz#fe6f7330f679d5594e5724af7a69d4dbe1bb5bc3" + integrity sha512-SSCDjSTygoCgzoj61DdrBeJzZDRwQxUEfcgc6t6coxWSExXNR4mOngz0q4SAam49Bmjq9J2Jft6qUKnUTPrRgA== dependencies: cosmiconfig "^5.0.5" jest-validate "^26.5.2" - metro "0.67.0" - metro-cache "0.67.0" - metro-core "0.67.0" - metro-runtime "0.67.0" + metro "0.70.3" + metro-cache "0.70.3" + metro-core "0.70.3" + metro-runtime "0.70.3" -metro-core@0.67.0, metro-core@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.67.0.tgz#75066e11b4df220992abf9cd6200279dd87876c8" - integrity sha512-TOa/ShE1bUq83fGNfV6rFwyfZ288M8ydmWN3g9C2OW8emOHLhJslYD/SIU4DhDkP/99yaJluIALdZ2g0+pCrvQ== +metro-core@0.70.3, metro-core@^0.70.1: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.70.3.tgz#bf4dda15a5185f5a7931de463a1b97ac9ef680a0" + integrity sha512-NzfHB/w5R7yLaOeU1tzPTbBzCRsYSvpKJkLMP0yudszKZzIAZqNdjoEJ9GZ688Wi0ynZxcU0BxukXh4my80ZBw== dependencies: jest-haste-map "^27.3.1" lodash.throttle "^4.1.1" - metro-resolver "0.67.0" + metro-resolver "0.70.3" -metro-hermes-compiler@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.67.0.tgz#9c1340f1882fbf535145868d0d28211ca15b0477" - integrity sha512-X5Pr1jC8/kO6d1EBDJ6yhtuc5euHX89UDNv8qdPJHAET03xfFnlojRPwOw6il2udAH20WLBv+F5M9VY+58zspQ== +metro-hermes-compiler@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.70.3.tgz#ac7ed656fbcf0a59adcd010d3639e4cfdbc76b4f" + integrity sha512-W6WttLi4E72JL/NyteQ84uxYOFMibe0PUr9aBKuJxxfCq6QRnJKOVcNY0NLW0He2tneXGk+8ZsNz8c0flEvYqg== -metro-inspector-proxy@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.67.0.tgz#22b360a837b07e9e2bc87a71af6154dd8fcc02a5" - integrity sha512-5Ubjk94qpNaU3OT2IZa4/dec09bauic1hzWms4czorBzDenkp4kYXG9/aWTmgQLtCk92H3Q8jKl1PQRxUSkrOQ== +metro-inspector-proxy@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.70.3.tgz#321c25b2261e76d8c4bcc39e092714adfcb50a14" + integrity sha512-qQoNdPGrmyoJSWYkxSDpTaAI8xyqVdNDVVj9KRm1PG8niSuYmrCCFGLLFsMvkVYwsCWUGHoGBx0UoAzVp14ejw== dependencies: connect "^3.6.5" debug "^2.2.0" ws "^7.5.1" yargs "^15.3.1" -metro-minify-uglify@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.67.0.tgz#28a77dbd78d9e558dba8c2f31c2b9c6f939df966" - integrity sha512-4CmM5b3MTAmQ/yFEfsHOhD2SuBObB2YF6PKzXZc4agUsQVVtkrrNElaiWa8w26vrTzA9emwcyurxMf4Nl3lYPQ== +metro-minify-uglify@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.70.3.tgz#2f28129ca5b8ef958f3e3fcf004c3707c7732e1e" + integrity sha512-oHyjV9WDqOlDE1FPtvs6tIjjeY/oP1PNUPYL1wqyYtqvjN+zzAOrcbsAAL1sv+WARaeiMsWkF2bwtNo+Hghoog== dependencies: uglify-es "^3.1.9" -metro-react-native-babel-preset@0.67.0, metro-react-native-babel-preset@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.67.0.tgz#53aec093f53a09b56236a9bb534d76658efcbec7" - integrity sha512-tgTG4j0SKwLHbLRELMmgkgkjV1biYkWlGGKOmM484/fJC6bpDikdaFhfjsyE+W+qt7I5szbCPCickMTNQ+zwig== +metro-react-native-babel-preset@0.70.3, metro-react-native-babel-preset@^0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.70.3.tgz#1c77ec4544ecd5fb6c803e70b21284d7483e4842" + integrity sha512-4Nxc1zEiHEu+GTdEMEsHnRgfaBkg8f/Td3+FcQ8NTSvs+xL3LBrQy6N07idWSQZHIdGFf+tTHvRfSIWLD8u8Tg== dependencies: "@babel/core" "^7.14.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" "@babel/plugin-proposal-class-properties" "^7.0.0" "@babel/plugin-proposal-export-default-from" "^7.0.0" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" @@ -4663,17 +4657,15 @@ metro-react-native-babel-preset@0.67.0, metro-react-native-babel-preset@^0.67.0: "@babel/plugin-transform-destructuring" "^7.0.0" "@babel/plugin-transform-exponentiation-operator" "^7.0.0" "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-for-of" "^7.0.0" "@babel/plugin-transform-function-name" "^7.0.0" "@babel/plugin-transform-literals" "^7.0.0" "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-object-assign" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" "@babel/plugin-transform-parameters" "^7.0.0" "@babel/plugin-transform-react-display-name" "^7.0.0" "@babel/plugin-transform-react-jsx" "^7.0.0" "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" - "@babel/plugin-transform-regenerator" "^7.0.0" "@babel/plugin-transform-runtime" "^7.0.0" "@babel/plugin-transform-shorthand-properties" "^7.0.0" "@babel/plugin-transform-spread" "^7.0.0" @@ -4684,61 +4676,63 @@ metro-react-native-babel-preset@0.67.0, metro-react-native-babel-preset@^0.67.0: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.67.0, metro-react-native-babel-transformer@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.67.0.tgz#756d32eb3c05cab3d72fcb1700f8fd09322bb07f" - integrity sha512-P0JT09n7T01epUtgL9mH6BPat3xn4JjBakl4lWHdL61cvEGcrxuIom1eoFFKkgU/K5AVLU4aCAttHS7nSFCcEQ== +metro-react-native-babel-transformer@0.70.3, metro-react-native-babel-transformer@^0.70.1: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.70.3.tgz#195597c32488f820aa9e441bbca7c04fe7de7a2d" + integrity sha512-WKBU6S/G50j9cfmFM4k4oRYprd8u3qjleD4so1E2zbTNILg+gYla7ZFGCAvi2G0ZcqS2XuGCR375c2hF6VVvwg== dependencies: "@babel/core" "^7.14.0" babel-preset-fbjs "^3.4.0" - hermes-parser "0.5.0" - metro-babel-transformer "0.67.0" - metro-react-native-babel-preset "0.67.0" - metro-source-map "0.67.0" + hermes-parser "0.6.0" + metro-babel-transformer "0.70.3" + metro-react-native-babel-preset "0.70.3" + metro-source-map "0.70.3" nullthrows "^1.1.1" -metro-resolver@0.67.0, metro-resolver@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.67.0.tgz#8143c716f77e468d1d42eca805243706eb349959" - integrity sha512-d2KS/zAyOA/z/q4/ff41rAp+1txF4H6qItwpsls/RHStV2j6PqgRHUzq/3ga+VIeoUJntYJ8nGW3+3qSrhFlig== +metro-resolver@0.70.3, metro-resolver@^0.70.1: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.70.3.tgz#c64fdd6d0a88fa62f3f99f87e539b5f603bd47bf" + integrity sha512-5Pc5S/Gs4RlLbziuIWtvtFd9GRoILlaRC8RZDVq5JZWcWHywKy/PjNmOBNhpyvtRlzpJfy/ssIfLhu8zINt1Mw== dependencies: absolute-path "^0.0.0" -metro-runtime@0.67.0, metro-runtime@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.67.0.tgz#a8888dfd06bcebbac3c99dcac7cd622510dd8ee0" - integrity sha512-IFtSL0JUt1xK3t9IoLflTDft82bjieSzdIJWLzrRzBMlesz8ox5bVmnpQbVQEwfYUpEOxbM3VOZauVbdCmXA7g== +metro-runtime@0.70.3, metro-runtime@^0.70.1: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.70.3.tgz#09231b9d05dcbdfb5a13df0a45307273e6fe1168" + integrity sha512-22xU7UdXZacniTIDZgN2EYtmfau2pPyh97Dcs+cWrLcJYgfMKjWBtesnDcUAQy3PHekDYvBdJZkoQUeskYTM+w== + dependencies: + "@babel/runtime" "^7.0.0" -metro-source-map@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.67.0.tgz#e28db7253b9ca688e60d5710ebdccba60b45b2df" - integrity sha512-yxypInsRo3SfS00IgTuL6a2W2tfwLY//vA2E+GeqGBF5zTbJZAhwNGIEl8S87XXZhwzJcxf5/8LjJC1YDzabww== +metro-source-map@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.70.3.tgz#f5976108c18d4661eaa4d188c96713e5d67a903b" + integrity sha512-zsYtZGrwRbbGEFHtmMqqeCH9K9aTGNVPsurMOWCUeQA3VGyVGXPGtLMC+CdAM9jLpUyg6jw2xh0esxi+tYH7Uw== dependencies: "@babel/traverse" "^7.14.0" "@babel/types" "^7.0.0" invariant "^2.2.4" - metro-symbolicate "0.67.0" + metro-symbolicate "0.70.3" nullthrows "^1.1.1" - ob1 "0.67.0" + ob1 "0.70.3" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.67.0.tgz#16729d05663d28176895244b3d932a898fca2b45" - integrity sha512-ZqVVcfa0xSz40eFzA5P8pCF3V6Tna9RU1prFzAJTa3j9dCGqwh0HTXC8AIkMtgX7hNdZrCJI1YipzUBlwkT0/A== +metro-symbolicate@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.70.3.tgz#b039e5629c4ed0c999ea0496d580e1c98260f5cb" + integrity sha512-JTYkF1dpeDUssQ84juE1ycnhHki2ylJBBdJE1JHtfu5oC+z1ElDbBdPHq90Uvt8HbRov/ZAnxvv7Zy6asS+WCA== dependencies: invariant "^2.2.4" - metro-source-map "0.67.0" + metro-source-map "0.70.3" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro-transform-plugins@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.67.0.tgz#6122aa4e5e5f9a767cebcc5af6fd1695666683ce" - integrity sha512-DQFoSDIJdTMPDTUlKaCNJjEXiHGwFNneAF9wDSJ3luO5gigM7t7MuSaPzF4hpjmfmcfPnRhP6AEn9jcza2Sh8Q== +metro-transform-plugins@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.70.3.tgz#7fe87cd0d8979b4d5d6e375751d86188fff38fd9" + integrity sha512-dQRIJoTkWZN2IVS2KzgS1hs7ZdHDX3fS3esfifPkqFAEwHiLctCf0EsPgIknp0AjMLvmGWfSLJigdRB/dc0ASw== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" @@ -4746,29 +4740,29 @@ metro-transform-plugins@0.67.0: "@babel/traverse" "^7.14.0" nullthrows "^1.1.1" -metro-transform-worker@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.67.0.tgz#5689553c25b0657aadefdf4ea2cd8dd06e18882a" - integrity sha512-29n+JdTb80ROiv/wDiBVlY/xRAF/nrjhp/Udv/XJl1DZb+x7JEiPxpbpthPhwwl+AYxVrostGB0W06WJ61hfiw== +metro-transform-worker@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.70.3.tgz#62bfa28ebef98803531c4bcb558de5fc804c94ef" + integrity sha512-MtVVsnHhhBOp9GRLCdAb2mD1dTCsIzT4+m34KMRdBDCEbDIb90YafT5prpU8qbj5uKd0o2FOQdrJ5iy5zQilHw== dependencies: "@babel/core" "^7.14.0" "@babel/generator" "^7.14.0" "@babel/parser" "^7.14.0" "@babel/types" "^7.0.0" babel-preset-fbjs "^3.4.0" - metro "0.67.0" - metro-babel-transformer "0.67.0" - metro-cache "0.67.0" - metro-cache-key "0.67.0" - metro-hermes-compiler "0.67.0" - metro-source-map "0.67.0" - metro-transform-plugins "0.67.0" + metro "0.70.3" + metro-babel-transformer "0.70.3" + metro-cache "0.70.3" + metro-cache-key "0.70.3" + metro-hermes-compiler "0.70.3" + metro-source-map "0.70.3" + metro-transform-plugins "0.70.3" nullthrows "^1.1.1" -metro@0.67.0, metro@^0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.67.0.tgz#8007a041d22de1cdb05184431c67eb7989eef6e0" - integrity sha512-DwuBGAFcAivoac/swz8Lp7Y5Bcge1tzT7T6K0nf1ubqJP8YzBUtyR4pkjEYVUzVu/NZf7O54kHSPVu1ibYzOBQ== +metro@0.70.3, metro@^0.70.1: + version "0.70.3" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.70.3.tgz#4290f538ab5446c7050e718b5c5823eea292c5c2" + integrity sha512-uEWS7xg8oTetQDABYNtsyeUjdLhH3KAvLFpaFFoJqUpOk2A3iygszdqmjobFl6W4zrvKDJS+XxdMR1roYvUhTw== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.14.0" @@ -4779,7 +4773,7 @@ metro@0.67.0, metro@^0.67.0: "@babel/types" "^7.0.0" absolute-path "^0.0.0" accepts "^1.3.7" - async "^2.4.0" + async "^3.2.2" chalk "^4.0.0" ci-info "^2.0.0" connect "^3.6.5" @@ -4787,30 +4781,29 @@ metro@0.67.0, metro@^0.67.0: denodeify "^1.2.1" error-stack-parser "^2.0.6" fs-extra "^1.0.0" - graceful-fs "^4.1.3" - hermes-parser "0.5.0" + graceful-fs "^4.2.4" + hermes-parser "0.6.0" image-size "^0.6.0" invariant "^2.2.4" jest-haste-map "^27.3.1" - jest-worker "^26.0.0" + jest-worker "^27.2.0" lodash.throttle "^4.1.1" - metro-babel-transformer "0.67.0" - metro-cache "0.67.0" - metro-cache-key "0.67.0" - metro-config "0.67.0" - metro-core "0.67.0" - metro-hermes-compiler "0.67.0" - metro-inspector-proxy "0.67.0" - metro-minify-uglify "0.67.0" - metro-react-native-babel-preset "0.67.0" - metro-resolver "0.67.0" - metro-runtime "0.67.0" - metro-source-map "0.67.0" - metro-symbolicate "0.67.0" - metro-transform-plugins "0.67.0" - metro-transform-worker "0.67.0" + metro-babel-transformer "0.70.3" + metro-cache "0.70.3" + metro-cache-key "0.70.3" + metro-config "0.70.3" + metro-core "0.70.3" + metro-hermes-compiler "0.70.3" + metro-inspector-proxy "0.70.3" + metro-minify-uglify "0.70.3" + metro-react-native-babel-preset "0.70.3" + metro-resolver "0.70.3" + metro-runtime "0.70.3" + metro-source-map "0.70.3" + metro-symbolicate "0.70.3" + metro-transform-plugins "0.70.3" + metro-transform-worker "0.70.3" mime-types "^2.1.27" - mkdirp "^0.5.1" node-fetch "^2.2.0" nullthrows "^1.1.1" rimraf "^2.5.4" @@ -4842,12 +4835,12 @@ micromatch@^3.1.10, micromatch@^3.1.4: to-regex "^3.0.2" micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - braces "^3.0.1" - picomatch "^2.2.3" + braces "^3.0.2" + picomatch "^2.3.1" mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" @@ -4871,17 +4864,12 @@ mime@^2.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.2: +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -4911,7 +4899,7 @@ mkdirp@^0.5.1: ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" @@ -4943,7 +4931,7 @@ nanomatch@^1.2.9: natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== negotiator@0.6.3: version "0.6.3" @@ -4960,15 +4948,15 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -nocache@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/nocache/-/nocache-2.1.0.tgz#120c9ffec43b5729b1d5de88cd71aa75a0ba491f" - integrity sha512-0L9FvHG3nfnnmaEQPjT9xhfN4ISk0A8/2j4M37Np4mcDesJjHgEUfgPhdCyZuFI954tjokaIj/A3NdpFNdEh4Q== +nocache@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/nocache/-/nocache-3.0.4.tgz#5b37a56ec6e09fc7d401dceaed2eab40c8bfdf79" + integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== node-dir@^0.1.17: version "0.1.17" resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" - integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= + integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg== dependencies: minimatch "^3.0.2" @@ -4982,7 +4970,7 @@ node-fetch@^2.2.0, node-fetch@^2.6.0: node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== node-notifier@^8.0.0: version "8.0.2" @@ -4996,10 +4984,10 @@ node-notifier@^8.0.0: uuid "^8.3.0" which "^2.0.2" -node-releases@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" - integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== node-stream-zip@^1.9.1: version "1.15.0" @@ -5019,7 +5007,7 @@ normalize-package-data@^2.5.0: normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== dependencies: remove-trailing-separator "^1.0.1" @@ -5031,7 +5019,7 @@ normalize-path@^3.0.0: npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== dependencies: path-key "^2.0.0" @@ -5043,9 +5031,9 @@ npm-run-path@^4.0.0: path-key "^3.0.0" nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" @@ -5055,35 +5043,35 @@ nullthrows@^1.1.1: integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + version "2.2.1" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.1.tgz#10a9f268fbf4c461249ebcfe38e359aa36e2577c" + integrity sha512-JYOWTeFoS0Z93587vRJgASD5Ut11fYl5NyihP3KrYBvMe1FRRs6RN7m20SA/16GM4P6hTnZjT+UmDOt38UeXNg== -ob1@0.67.0: - version "0.67.0" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.67.0.tgz#91f104c90641b1af8c364fc82a4b2c7d0801072d" - integrity sha512-YvZtX8HKYackQ5PwdFIuuNFVsMChRPHvnARRRT0Vk59xsBvL5t9U1Ock3M1sYrKj+Gp73+0q9xcHLAxI+xLi5g== +ob1@0.70.3: + version "0.70.3" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.70.3.tgz#f48cd5a5abf54b0c423b1b06b6d4ff4d049816cb" + integrity sha512-Vy9GGhuXgDRY01QA6kdhToPd8AkLdLpX9GjH5kpqluVqTu70mgOm7tpGoJDZGaNbr9nJlJgnipqHJQRPORixIQ== object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== dependencies: copy-descriptor "^0.1.0" define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== +object-inspect@^1.12.0, object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== -object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -5091,7 +5079,7 @@ object-keys@^1.0.12, object-keys@^1.1.1: object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== dependencies: isobject "^3.0.0" @@ -5123,18 +5111,18 @@ object.fromentries@^2.0.5: define-properties "^1.1.3" es-abstract "^1.19.1" -object.hasown@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" - integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== +object.hasown@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" + integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== dependencies: - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.1.4" + es-abstract "^1.19.5" object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== dependencies: isobject "^3.0.1" @@ -5147,10 +5135,17 @@ object.values@^1.1.5: define-properties "^1.1.3" es-abstract "^1.19.1" +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== dependencies: ee-first "1.1.1" @@ -5162,17 +5157,10 @@ on-headers@~1.0.2: once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - onetime@^5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" @@ -5211,18 +5199,6 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -ora@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" - integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== - dependencies: - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-spinners "^2.0.0" - log-symbols "^2.2.0" - strip-ansi "^5.2.0" - wcwidth "^1.0.1" - ora@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" @@ -5241,7 +5217,7 @@ ora@^5.4.1: os-tmpdir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== p-each-series@^2.1.0: version "2.2.0" @@ -5251,7 +5227,7 @@ p-each-series@^2.1.0: p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" @@ -5289,7 +5265,7 @@ parent-module@^1.0.0: parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" @@ -5317,12 +5293,12 @@ parseurl@~1.3.3: pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" @@ -5332,19 +5308,19 @@ path-exists@^4.0.0: path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6, path-parse@^1.0.7: +path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -5354,7 +5330,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -5383,18 +5359,18 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -plist@^3.0.2, plist@^3.0.4: - version "3.0.5" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987" - integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA== +plist@^3.0.2: + version "3.0.6" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3" + integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== dependencies: base64-js "^1.5.1" - xmlbuilder "^9.0.7" + xmlbuilder "^15.1.1" posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== prelude-ls@^1.2.1: version "1.2.1" @@ -5404,7 +5380,7 @@ prelude-ls@^1.2.1: prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== prettier-linter-helpers@^1.0.0: version "1.0.0" @@ -5414,9 +5390,9 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier@^2.0.2: - version "2.6.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" - integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== pretty-format@^26.5.2, pretty-format@^26.6.2: version "26.6.2" @@ -5453,7 +5429,7 @@ prompts@^2.0.1, prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@*, prop-types@^15.8.1: +prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -5463,9 +5439,9 @@ prop-types@*, prop-types@^15.8.1: react-is "^16.13.1" psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== pump@^3.0.0: version "3.0.0" @@ -5485,78 +5461,84 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -react-devtools-core@^4.23.0: - version "4.24.2" - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.2.tgz#ce10e3ea502559ce4299c13837d2374cf0d435a7" - integrity sha512-UC3rvQCG/dnC95NPNWBFrUEtdAEiFZ9xZe1tTHFOELVR5qfNLroZ3w9tC51NQvvK5E10G2ko3lQ5Vrh3p0bHrA== +react-devtools-core@4.24.0: + version "4.24.0" + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-4.24.0.tgz#7daa196bdc64f3626b3f54f2ff2b96f7c4fdf017" + integrity sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg== dependencies: shell-quote "^1.6.1" ws "^7" -"react-is@^16.12.0 || ^17.0.0", react-is@^17.0.1, react-is@^17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== react-is@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-native-codegen@^0.0.13: - version "0.0.13" - resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.13.tgz#4cc94546fc75a5dbe9350d59c10108f2efe6bc17" - integrity sha512-rCh1P+s0Q4N6vNgS97ckafbhJRztz22+0l0VZoyQC06F07J98kI5cUByH0ATypPRIdpkMbAZc59DoPdDFc01bg== +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-native-codegen@^0.69.1: + version "0.69.1" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.69.1.tgz#3632be2f24464e6fad8dd11a25d1b6f3bc2c7d0b" + integrity sha512-TOZEqBarczcyYN3iZE3VpKkooOevaAzBq9n7lU0h9mQUvtRhLVyolc+a5K6cWI0e4v4K69I0MqzjPcPeFKo32Q== dependencies: "@babel/parser" "^7.14.0" flow-parser "^0.121.0" jscodeshift "^0.13.1" nullthrows "^1.1.1" -react-native-gradle-plugin@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.0.6.tgz#b61a9234ad2f61430937911003cddd7e15c72b45" - integrity sha512-eIlgtsmDp1jLC24dRn43hB3kEcZVqx6DUQbR0N1ABXGnMEafm9I3V3dUUeD1vh+Dy5WqijSoEwLNUPLgu5zDMg== +react-native-gradle-plugin@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.0.7.tgz#96602f909745239deab7b589443f14fce5da2056" + integrity sha512-+4JpbIx42zGTONhBTIXSyfyHICHC29VTvhkkoUOJAh/XHPEixpuBduYgf6Y4y9wsN1ARlQhBBoptTvXvAFQf5g== "react-native-svg@link:..": version "0.0.0" uid "" -react-native@^0.68.1: - version "0.68.1" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.68.1.tgz#c3d92f89028cdc2453fe7cd2d532b3f68d1c27c8" - integrity sha512-5gfvslo5NO2Ece2k/q41eVOK3ca4u1QAOf+qM+auvOiUA4/QR5Yr0WfSGbRpUr2GaFgv7qP11F4+elCravg7uQ== +react-native@0.69.2: + version "0.69.2" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.69.2.tgz#a554cc97700270a51af10bc4bbff73f1ba296617" + integrity sha512-9CdnnAtGYokbBJRFr2VesAOO+BODptpsrwGk2yunHmDM7zHymFeFW1eUS6zDbnxO6yOVgdt7fi7czlkTJrJkuw== dependencies: "@jest/create-cache-key-function" "^27.0.1" - "@react-native-community/cli" "^7.0.3" - "@react-native-community/cli-platform-android" "^7.0.1" - "@react-native-community/cli-platform-ios" "^7.0.1" + "@react-native-community/cli" "^8.0.3" + "@react-native-community/cli-platform-android" "^8.0.2" + "@react-native-community/cli-platform-ios" "^8.0.2" "@react-native/assets" "1.0.0" "@react-native/normalize-color" "2.0.0" "@react-native/polyfills" "2.0.0" abort-controller "^3.0.0" anser "^1.4.9" base64-js "^1.1.2" - deprecated-react-native-prop-types "^2.3.0" event-target-shim "^5.0.1" hermes-engine "~0.11.0" invariant "^2.2.4" jsc-android "^250230.2.1" - metro-react-native-babel-transformer "0.67.0" - metro-runtime "0.67.0" - metro-source-map "0.67.0" + memoize-one "^5.0.0" + metro-react-native-babel-transformer "0.70.3" + metro-runtime "0.70.3" + metro-source-map "0.70.3" + mkdirp "^0.5.1" nullthrows "^1.1.1" pretty-format "^26.5.2" promise "^8.0.3" - react-devtools-core "^4.23.0" - react-native-codegen "^0.0.13" - react-native-gradle-plugin "^0.0.6" + react-devtools-core "4.24.0" + react-native-codegen "^0.69.1" + react-native-gradle-plugin "^0.0.7" react-refresh "^0.4.0" - react-shallow-renderer "16.14.1" + react-shallow-renderer "16.15.0" regenerator-runtime "^0.13.2" - scheduler "^0.20.2" + scheduler "^0.21.0" stacktrace-parser "^0.1.3" - use-subscription ">=1.0.0 <1.6.0" + use-sync-external-store "^1.0.0" whatwg-fetch "^3.0.0" ws "^6.1.4" @@ -5565,31 +5547,29 @@ react-refresh@^0.4.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.3.tgz#966f1750c191672e76e16c2efa569150cc73ab53" integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== -react-shallow-renderer@16.14.1, react-shallow-renderer@^16.13.1: - version "16.14.1" - resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.14.1.tgz#bf0d02df8a519a558fd9b8215442efa5c840e124" - integrity sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg== +react-shallow-renderer@16.15.0, react-shallow-renderer@^16.13.1: + version "16.15.0" + resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" + integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== dependencies: object-assign "^4.1.1" - react-is "^16.12.0 || ^17.0.0" + react-is "^16.12.0 || ^17.0.0 || ^18.0.0" -react-test-renderer@17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-17.0.2.tgz#4cd4ae5ef1ad5670fc0ef776e8cc7e1231d9866c" - integrity sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ== +react-test-renderer@18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.0.0.tgz#fa403d625ea9478a70ace43db88833f6c3a5bb4c" + integrity sha512-SyZTP/FSkwfiKOZuTZiISzsrC8A80KNlQ8PyyoGoOq+VzMAab6Em1POK/CiX3+XyXG6oiJa1C53zYDbdrJu9fw== dependencies: - object-assign "^4.1.1" - react-is "^17.0.2" + react-is "^18.0.0" react-shallow-renderer "^16.13.1" - scheduler "^0.20.2" + scheduler "^0.21.0" -react@17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== +react@18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.0.0.tgz#b468736d1f4a5891f38585ba8e8fb29f91c3cb96" + integrity sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" read-pkg-up@^7.0.1: version "7.0.1" @@ -5635,7 +5615,7 @@ readable-stream@~2.3.6: readline@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" - integrity sha1-xYDXfvLPyHUrEySYBg3JeTp6wBw= + integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== recast@^0.20.4: version "0.20.5" @@ -5664,13 +5644,6 @@ regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.4: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -5679,23 +5652,24 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" - integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== +regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" + functions-have-names "^1.2.2" regexpp@^3.0.0, regexpp@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" - integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== +regexpu-core@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d" + integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA== dependencies: regenerate "^1.4.2" regenerate-unicode-properties "^10.0.1" @@ -5719,7 +5693,7 @@ regjsparser@^0.8.2: remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== repeat-element@^1.1.2: version "1.1.4" @@ -5729,12 +5703,12 @@ repeat-element@^1.1.2: repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" @@ -5756,7 +5730,7 @@ resolve-cwd@^3.0.0: resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= + integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== resolve-from@^4.0.0: version "4.0.0" @@ -5771,32 +5745,25 @@ resolve-from@^5.0.0: resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.18.1: - version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - is-core-module "^2.8.1" + is-core-module "^2.9.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" restore-cursor@^3.1.0: version "3.1.0" @@ -5828,7 +5795,7 @@ rimraf@^3.0.0, rimraf@^3.0.2: rimraf@~2.2.6: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI= + integrity sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg== rimraf@~2.6.2: version "2.6.3" @@ -5855,7 +5822,7 @@ safe-buffer@~5.2.0: safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== dependencies: ret "~0.1.10" @@ -5879,11 +5846,6 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sax@^1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - saxes@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" @@ -5891,13 +5853,12 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== +scheduler@^0.21.0: + version "0.21.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" + integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" "semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.1" @@ -5915,50 +5876,50 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.2.1, semver@^7.3.2: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -send@0.17.2: - version "0.17.2" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" + depd "2.0.0" + destroy "1.2.0" encodeurl "~1.0.2" escape-html "~1.0.3" etag "~1.8.1" fresh "0.5.2" - http-errors "1.8.1" + http-errors "2.0.0" mime "1.6.0" ms "2.1.3" - on-finished "~2.3.0" + on-finished "2.4.1" range-parser "~1.2.1" - statuses "~1.5.0" + statuses "2.0.1" serialize-error@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a" - integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go= + integrity sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw== serve-static@^1.13.1: - version "1.14.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.17.2" + send "0.18.0" set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" @@ -5985,7 +5946,7 @@ shallow-clone@^3.0.0: shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" @@ -5999,23 +5960,13 @@ shebang-command@^2.0.0: shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" - integrity sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c= - dependencies: - array-filter "~0.0.0" - array-map "~0.0.0" - array-reduce "~0.0.0" - jsonify "~0.0.0" - shell-quote@^1.6.1, shell-quote@^1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" @@ -6040,15 +5991,6 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -simple-plist@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.3.0.tgz#f451997663eafd8ea6bad353a01caf49ef186d43" - integrity sha512-uYWpeGFtZtVt2NhG4AHgpwx323zxD85x42heMJBan1qAiqqozIlaGrwrEt6kRjXWRWIXsuV1VLCvVmZan2B5dg== - dependencies: - bplist-creator "0.1.0" - bplist-parser "0.3.0" - plist "^3.0.4" - sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -6131,10 +6073,10 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" @@ -6142,9 +6084,9 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== spdx-correct@^3.0.0: version "3.1.1" @@ -6182,7 +6124,7 @@ split-string@^3.0.1, split-string@^3.0.2: sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== stack-utils@^2.0.2: version "2.0.5" @@ -6191,10 +6133,10 @@ stack-utils@^2.0.2: dependencies: escape-string-regexp "^2.0.0" -stackframe@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.1.tgz#1033a3473ee67f08e2f2fc8eba6aef4f845124e1" - integrity sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg== +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== stacktrace-parser@^0.1.3: version "0.1.10" @@ -6206,20 +6148,20 @@ stacktrace-parser@^0.1.3: static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== dependencies: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stream-buffers@2.2.x: - version "2.2.0" - resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" - integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ= + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== string-length@^4.0.1: version "4.0.2" @@ -6238,7 +6180,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.matchall@^4.0.6: +string.prototype.matchall@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== @@ -6252,21 +6194,23 @@ string.prototype.matchall@^4.0.6: regexp.prototype.flags "^1.4.1" side-channel "^1.0.4" -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== +string.prototype.trimend@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" + integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" + define-properties "^1.1.4" + es-abstract "^1.19.5" -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== +string.prototype.trimstart@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" + integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" + define-properties "^1.1.4" + es-abstract "^1.19.5" string_decoder@^1.1.1: version "1.3.0" @@ -6304,7 +6248,7 @@ strip-bom@^4.0.0: strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== strip-final-newline@^2.0.0: version "2.0.0" @@ -6374,7 +6318,7 @@ table@^6.0.9: temp@0.8.3: version "0.8.3" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" - integrity sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k= + integrity sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw== dependencies: os-tmpdir "^1.0.0" rimraf "~2.2.6" @@ -6406,7 +6350,7 @@ test-exclude@^6.0.0: text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== throat@^5.0.0: version "5.0.0" @@ -6429,19 +6373,19 @@ tmpl@1.0.5: to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== dependencies: kind-of "^3.0.2" to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== dependencies: is-number "^3.0.0" repeat-string "^1.6.1" @@ -6487,7 +6431,7 @@ tr46@^2.1.0: tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== tslib@^1.8.1: version "1.14.1" @@ -6495,9 +6439,9 @@ tslib@^1.8.1: integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== tsutils@^3.17.1: version "3.21.0" @@ -6516,7 +6460,7 @@ type-check@^0.4.0, type-check@~0.4.0: type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== dependencies: prelude-ls "~1.1.2" @@ -6565,14 +6509,14 @@ uglify-es@^3.1.9: commander "~2.13.0" source-map "~0.6.1" -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" unicode-canonical-property-names-ecmascript@^2.0.0: @@ -6616,16 +6560,24 @@ universalify@^0.1.0, universalify@^0.1.2: unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== dependencies: has-value "^0.3.1" isobject "^3.0.0" +update-browserslist-db@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" + integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -6636,14 +6588,12 @@ uri-js@^4.2.2: urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== -"use-subscription@>=1.0.0 <1.6.0": - version "1.5.1" - resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" - integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== - dependencies: - object-assign "^4.1.1" +use-sync-external-store@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== use@^3.1.0: version "3.1.1" @@ -6653,17 +6603,12 @@ use@^3.1.0: util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" - integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@^8.3.0: version "8.3.2" @@ -6695,7 +6640,7 @@ validate-npm-package-license@^3.0.1: vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vlq@^1.0.0: version "1.0.1" @@ -6726,14 +6671,14 @@ walker@^1.0.7, walker@~1.0.5: wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== dependencies: defaults "^1.0.3" webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webidl-conversions@^5.0.0: version "5.0.0" @@ -6765,7 +6710,7 @@ whatwg-mimetype@^2.3.0: whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" @@ -6793,7 +6738,7 @@ which-boxed-primitive@^1.0.2: which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== which@^1.2.9: version "1.3.1" @@ -6826,7 +6771,7 @@ wrap-ansi@^6.2.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^2.3.0: version "2.4.3" @@ -6855,40 +6800,25 @@ ws@^6.1.4: async-limiter "~1.0.0" ws@^7, ws@^7.4.6, ws@^7.5.1: - version "7.5.7" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" - integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== - -xcode@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c" - integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== - dependencies: - simple-plist "^1.1.0" - uuid "^7.0.3" + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== -xmlbuilder@^9.0.7: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= +xmlbuilder@^15.1.1: + version "15.1.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" + integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== xmlchars@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xmldoc@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/xmldoc/-/xmldoc-1.1.2.tgz#6666e029fe25470d599cd30e23ff0d1ed50466d7" - integrity sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ== - dependencies: - sax "^1.2.1" - xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" diff --git a/RNSVG.podspec b/RNSVG.podspec index 8d438d6a..a5b48366 100644 --- a/RNSVG.podspec +++ b/RNSVG.podspec @@ -17,7 +17,6 @@ Pod::Spec.new do |s| if fabric_enabled # folly_version must match the version used in React Native # See folly_version in react-native/React/FBReactNativeSpec/FBReactNativeSpec.podspec - folly_version = '2021.06.28.00-v2' folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' s.pod_target_xcconfig = { @@ -35,7 +34,7 @@ Pod::Spec.new do |s| s.dependency "React" s.dependency "React-RCTFabric" s.dependency "React-Codegen" - s.dependency "RCT-Folly", folly_version + s.dependency "RCT-Folly" s.dependency "RCTRequired" s.dependency "RCTTypeSafety" s.dependency "ReactCommon/turbomodule/core" diff --git a/android/build.gradle b/android/build.gradle index ae49918e..d3a07594 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -14,6 +14,18 @@ buildscript { } } +def isNewArchitectureEnabled() { + // To opt-in for the New Architecture, you can either: + // - Set `newArchEnabled` to true inside the `gradle.properties` file + // - Invoke gradle with `-newArchEnabled=true` + // - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true` + return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true" +} + +if (isNewArchitectureEnabled()) { + apply plugin: "com.facebook.react" +} + apply plugin: 'com.android.library' def safeExtGet(prop, fallback) { @@ -23,14 +35,71 @@ def safeExtGet(prop, fallback) { android { compileSdkVersion safeExtGet('compileSdkVersion', 28) + // Used to override the NDK path/version on internal CI or by allowing + // users to customize the NDK path/version from their root project (e.g. for M1 support) + if (rootProject.hasProperty("ndkPath")) { + ndkPath rootProject.ext.ndkPath + } + if (rootProject.hasProperty("ndkVersion")) { + ndkVersion rootProject.ext.ndkVersion + } + defaultConfig { minSdkVersion safeExtGet('minSdkVersion', 16) //noinspection OldTargetApi targetSdkVersion safeExtGet('targetSdkVersion', 28) + buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString() + if (isNewArchitectureEnabled()) { + var appProject = rootProject.allprojects.find {it.plugins.hasPlugin('com.android.application')} + externalNativeBuild { + ndkBuild { + arguments "APP_PLATFORM=android-21", + "APP_STL=c++_shared", + "NDK_TOOLCHAIN_VERSION=clang", + "GENERATED_SRC_DIR=${appProject.buildDir}/generated/source", + "PROJECT_BUILD_DIR=${appProject.buildDir}", + "REACT_ANDROID_DIR=${appProject.rootDir}/../node_modules/react-native/ReactAndroid", + "REACT_ANDROID_BUILD_DIR=${appProject.rootDir}/../node_modules/react-native/ReactAndroid/build" + cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1" + cppFlags "-std=c++17" + targets "rnsvg_modules" + } + } + } } lintOptions { abortOnError false } + + if (isNewArchitectureEnabled()) { + externalNativeBuild { + ndkBuild { + path "src/main/jni/Android.mk" + } + } + } + packagingOptions { + // For some reason gradle only complains about the duplicated version of libreact_render libraries + // while there are more libraries copied in intermediates folder of the lib build directory, we exlude + // only the ones that make the build fail (ideally we should only include librnscreens_modules but we + // are only allowed to specify exlude patterns) + exclude "**/libreact_render*.so" + } + + sourceSets.main { + java { + if (isNewArchitectureEnabled()) { + srcDirs += [ + "src/fabric/java", + ] + } else { + srcDirs += [ + "src/paper/java", + "build/generated/source/codegen/java" + ] + } + } + } } repositories { @@ -44,6 +113,19 @@ repositories { } dependencies { - //noinspection GradleDynamicVersion - implementation "com.facebook.react:react-native:+" + if (isNewArchitectureEnabled()) { + implementation project(":ReactAndroid") + } else { + implementation 'com.facebook.react:react-native:+' + } } + +if (isNewArchitectureEnabled()) { + react { + reactRoot = rootProject.file("../node_modules/react-native/") + jsRootDir = file("../src/fabric/") + codegenDir = rootProject.file("../node_modules/react-native-codegen/") + libraryName = "rnsvg" + codegenJavaPackageName = "com.horcrux.rnsvg" + } +} \ No newline at end of file diff --git a/android/src/fabric/java/com/horcrux/svg/FabricEnabledViewGroup.java b/android/src/fabric/java/com/horcrux/svg/FabricEnabledViewGroup.java new file mode 100644 index 00000000..b30c62f9 --- /dev/null +++ b/android/src/fabric/java/com/horcrux/svg/FabricEnabledViewGroup.java @@ -0,0 +1,59 @@ +package com.horcrux.svg; + +import android.content.Context; +import android.view.ViewGroup; +import androidx.annotation.UiThread; +import com.facebook.react.bridge.ReactContext; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.bridge.WritableMap; +import com.facebook.react.bridge.WritableNativeMap; +import com.facebook.react.uimanager.FabricViewStateManager; +import com.facebook.react.uimanager.PixelUtil; +import com.facebook.react.uimanager.FabricViewStateManager.HasFabricViewStateManager; +import com.facebook.react.uimanager.FabricViewStateManager.StateUpdateCallback; +import com.facebook.react.views.view.ReactViewGroup; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public abstract class FabricEnabledViewGroup extends ReactViewGroup implements HasFabricViewStateManager { + private final FabricViewStateManager mFabricViewStateManager = new FabricViewStateManager(); + + @NotNull + public FabricViewStateManager getFabricViewStateManager() { + return this.mFabricViewStateManager; + } + + protected final void updateScreenSizeFabric(int width, int height) { + this.updateState(width, height); + } + + @UiThread + public final void updateState(int width, int height) { + final float realWidth = PixelUtil.toDIPFromPixel((float)width); + final float realHeight = PixelUtil.toDIPFromPixel((float)height); + ReadableMap currentState = this.mFabricViewStateManager.getStateData(); + if (currentState != null) { + float delta = 0.9F; + float stateFrameHeight = currentState.hasKey("frameHeight") ? (float)currentState.getDouble("frameHeight") : 0.0F; + float stateFrameWidth = currentState.hasKey("frameWidth") ? (float)currentState.getDouble("frameWidth") : 0.0F; + if (Math.abs(stateFrameWidth - realWidth) < delta && + Math.abs(stateFrameHeight - realHeight) < delta) { + return; + } + } + + this.mFabricViewStateManager.setState((StateUpdateCallback)(new StateUpdateCallback() { + public final WritableMap getStateUpdate() { + WritableMap map = (WritableMap)(new WritableNativeMap()); + map.putDouble("frameWidth", (double)realWidth); + map.putDouble("frameHeight", (double)realHeight); + return map; + } + })); + } + + public FabricEnabledViewGroup(@Nullable ReactContext context) { + super((Context)context); + } +} diff --git a/android/src/fabric/java/com/horcrux/svg/RNSvgComponentsRegistry.java b/android/src/fabric/java/com/horcrux/svg/RNSvgComponentsRegistry.java new file mode 100644 index 00000000..e66a5d2f --- /dev/null +++ b/android/src/fabric/java/com/horcrux/svg/RNSvgComponentsRegistry.java @@ -0,0 +1,28 @@ +package com.horcrux.svg; + +import com.facebook.jni.HybridData; +import com.facebook.proguard.annotations.DoNotStrip; +import com.facebook.react.fabric.ComponentFactory; +import com.facebook.soloader.SoLoader; + +@DoNotStrip +public class RNSvgComponentsRegistry { + static { + SoLoader.loadLibrary("rnsvg_modules"); + } + + @DoNotStrip private final HybridData mHybridData; + + @DoNotStrip + private native HybridData initHybrid(ComponentFactory componentFactory); + + @DoNotStrip + private RNSvgComponentsRegistry(ComponentFactory componentFactory) { + mHybridData = initHybrid(componentFactory); + } + + @DoNotStrip + public static RNSvgComponentsRegistry register(ComponentFactory componentFactory) { + return new RNSvgComponentsRegistry(componentFactory); + } +} diff --git a/android/src/main/java/com/horcrux/svg/CircleView.java b/android/src/main/java/com/horcrux/svg/CircleView.java index c8224ee6..33f37aec 100644 --- a/android/src/main/java/com/horcrux/svg/CircleView.java +++ b/android/src/main/java/com/horcrux/svg/CircleView.java @@ -35,18 +35,33 @@ class CircleView extends RenderableView { invalidate(); } + public void setCx(String cx) { + mCx = SVGLength.from(cx); + invalidate(); + } + @ReactProp(name = "cy") public void setCy(Dynamic cy) { mCy = SVGLength.from(cy); invalidate(); } + public void setCy(String cy) { + mCy = SVGLength.from(cy); + invalidate(); + } + @ReactProp(name = "r") public void setR(Dynamic r) { mR = SVGLength.from(r); invalidate(); } + public void setR(String r) { + mR = SVGLength.from(r); + invalidate(); + } + @Override Path getPath(Canvas canvas, Paint paint) { Path path = new Path(); diff --git a/android/src/main/java/com/horcrux/svg/EllipseView.java b/android/src/main/java/com/horcrux/svg/EllipseView.java index 9b842284..dd450447 100644 --- a/android/src/main/java/com/horcrux/svg/EllipseView.java +++ b/android/src/main/java/com/horcrux/svg/EllipseView.java @@ -36,24 +36,44 @@ class EllipseView extends RenderableView { invalidate(); } + public void setCx(String cx) { + mCx = SVGLength.from(cx); + invalidate(); + } + @ReactProp(name = "cy") public void setCy(Dynamic cy) { mCy = SVGLength.from(cy); invalidate(); } + public void setCy(String cy) { + mCy = SVGLength.from(cy); + invalidate(); + } + @ReactProp(name = "rx") public void setRx(Dynamic rx) { mRx = SVGLength.from(rx); invalidate(); } + public void setRx(String rx) { + mRx = SVGLength.from(rx); + invalidate(); + } + @ReactProp(name = "ry") public void setRy(Dynamic ry) { mRy = SVGLength.from(ry); invalidate(); } + public void setRy(String ry) { + mRy = SVGLength.from(ry); + invalidate(); + } + @Override Path getPath(Canvas canvas, Paint paint) { Path path = new Path(); diff --git a/android/src/main/java/com/horcrux/svg/ForeignObjectView.java b/android/src/main/java/com/horcrux/svg/ForeignObjectView.java index ae906830..1679d5f4 100644 --- a/android/src/main/java/com/horcrux/svg/ForeignObjectView.java +++ b/android/src/main/java/com/horcrux/svg/ForeignObjectView.java @@ -57,24 +57,44 @@ class ForeignObjectView extends GroupView { invalidate(); } + public void setX(String x) { + mX = SVGLength.from(x); + invalidate(); + } + @ReactProp(name = "y") public void setY(Dynamic y) { mY = SVGLength.from(y); invalidate(); } + public void setY(String y) { + mY = SVGLength.from(y); + invalidate(); + } + @ReactProp(name = "width") public void setWidth(Dynamic width) { mW = SVGLength.from(width); invalidate(); } + public void setWidth(String width) { + mW = SVGLength.from(width); + invalidate(); + } + @ReactProp(name = "height") public void setHeight(Dynamic height) { mH = SVGLength.from(height); invalidate(); } + public void setHeight(String height) { + mH = SVGLength.from(height); + invalidate(); + } + void drawGroup(final Canvas canvas, final Paint paint, final float opacity) { pushGlyphContext(); final SvgView svg = getSvgView(); diff --git a/android/src/main/java/com/horcrux/svg/ImageView.java b/android/src/main/java/com/horcrux/svg/ImageView.java index c89f94cd..ab049006 100644 --- a/android/src/main/java/com/horcrux/svg/ImageView.java +++ b/android/src/main/java/com/horcrux/svg/ImageView.java @@ -64,24 +64,45 @@ class ImageView extends RenderableView { invalidate(); } + public void setX(String x) { + mX = SVGLength.from(x); + invalidate(); + } + @ReactProp(name = "y") public void setY(Dynamic y) { mY = SVGLength.from(y); invalidate(); } + public void setY(String y) { + mY = SVGLength.from(y); + invalidate(); + } + @ReactProp(name = "width") public void setWidth(Dynamic width) { mW = SVGLength.from(width); invalidate(); } + public void setWidth(String width) { + mW = SVGLength.from(width); + invalidate(); + } + @ReactProp(name = "height") public void setHeight(Dynamic height) { mH = SVGLength.from(height); invalidate(); } + public void setHeight(String height) { + mH = SVGLength.from(height); + invalidate(); + } + + @ReactProp(name = "src") public void setSrc(@Nullable ReadableMap src) { if (src != null) { diff --git a/android/src/main/java/com/horcrux/svg/LineView.java b/android/src/main/java/com/horcrux/svg/LineView.java index 63b31084..a5eb5229 100644 --- a/android/src/main/java/com/horcrux/svg/LineView.java +++ b/android/src/main/java/com/horcrux/svg/LineView.java @@ -35,24 +35,44 @@ class LineView extends RenderableView { invalidate(); } + public void setX1(String x1) { + mX1 = SVGLength.from(x1); + invalidate(); + } + @ReactProp(name = "y1") public void setY1(Dynamic y1) { mY1 = SVGLength.from(y1); invalidate(); } + public void setY1(String y1) { + mY1 = SVGLength.from(y1); + invalidate(); + } + @ReactProp(name = "x2") public void setX2(Dynamic x2) { mX2 = SVGLength.from(x2); invalidate(); } + public void setX2(String x2) { + mX2 = SVGLength.from(x2); + invalidate(); + } + @ReactProp(name = "y2") public void setY2(Dynamic y2) { mY2 = SVGLength.from(y2); invalidate(); } + public void setY2(String y2) { + mY2 = SVGLength.from(y2); + invalidate(); + } + @Override Path getPath(Canvas canvas, Paint paint) { Path path = new Path(); diff --git a/android/src/main/java/com/horcrux/svg/LinearGradientView.java b/android/src/main/java/com/horcrux/svg/LinearGradientView.java index d1577c0b..b2c432be 100644 --- a/android/src/main/java/com/horcrux/svg/LinearGradientView.java +++ b/android/src/main/java/com/horcrux/svg/LinearGradientView.java @@ -48,24 +48,44 @@ class LinearGradientView extends DefinitionView { invalidate(); } + public void setX1(String x1) { + mX1 = SVGLength.from(x1); + invalidate(); + } + @ReactProp(name = "y1") public void setY1(Dynamic y1) { mY1 = SVGLength.from(y1); invalidate(); } + public void setY1(String y1) { + mY1 = SVGLength.from(y1); + invalidate(); + } + @ReactProp(name = "x2") public void setX2(Dynamic x2) { mX2 = SVGLength.from(x2); invalidate(); } + public void setX2(String x2) { + mX2 = SVGLength.from(x2); + invalidate(); + } + @ReactProp(name = "y2") public void setY2(Dynamic y2) { mY2 = SVGLength.from(y2); invalidate(); } + public void setY2(String y2) { + mY2 = SVGLength.from(y2); + invalidate(); + } + @ReactProp(name = "gradient") public void setGradient(ReadableArray gradient) { mGradient = gradient; diff --git a/android/src/main/java/com/horcrux/svg/MarkerView.java b/android/src/main/java/com/horcrux/svg/MarkerView.java index 308c318b..cdcc41f7 100644 --- a/android/src/main/java/com/horcrux/svg/MarkerView.java +++ b/android/src/main/java/com/horcrux/svg/MarkerView.java @@ -49,24 +49,44 @@ class MarkerView extends GroupView { invalidate(); } + public void setRefX(String refX) { + mRefX = SVGLength.from(refX); + invalidate(); + } + @ReactProp(name = "refY") public void setRefY(Dynamic refY) { mRefY = SVGLength.from(refY); invalidate(); } + public void setRefY(String refY) { + mRefY = SVGLength.from(refY); + invalidate(); + } + @ReactProp(name = "markerWidth") public void setMarkerWidth(Dynamic markerWidth) { mMarkerWidth = SVGLength.from(markerWidth); invalidate(); } + public void setMarkerWidth(String markerWidth) { + mMarkerWidth = SVGLength.from(markerWidth); + invalidate(); + } + @ReactProp(name = "markerHeight") public void setMarkerHeight(Dynamic markerHeight) { mMarkerHeight = SVGLength.from(markerHeight); invalidate(); } + public void setMarkerHeight(String markerHeight) { + mMarkerHeight = SVGLength.from(markerHeight); + invalidate(); + } + @ReactProp(name = "markerUnits") public void setMarkerUnits(String markerUnits) { mMarkerUnits = markerUnits; diff --git a/android/src/main/java/com/horcrux/svg/MaskView.java b/android/src/main/java/com/horcrux/svg/MaskView.java index 88d4cd1d..70e99e88 100644 --- a/android/src/main/java/com/horcrux/svg/MaskView.java +++ b/android/src/main/java/com/horcrux/svg/MaskView.java @@ -52,24 +52,44 @@ class MaskView extends GroupView { invalidate(); } + public void setX(String x) { + mX = SVGLength.from(x); + invalidate(); + } + @ReactProp(name = "y") public void setY(Dynamic y) { mY = SVGLength.from(y); invalidate(); } + public void setY(String y) { + mY = SVGLength.from(y); + invalidate(); + } + @ReactProp(name = "width") public void setWidth(Dynamic width) { mW = SVGLength.from(width); invalidate(); } + public void setWidth(String width) { + mW = SVGLength.from(width); + invalidate(); + } + @ReactProp(name = "height") public void setHeight(Dynamic height) { mH = SVGLength.from(height); invalidate(); } + public void setHeight(String height) { + mH = SVGLength.from(height); + invalidate(); + } + @ReactProp(name = "maskUnits") public void setMaskUnits(int maskUnits) { switch (maskUnits) { diff --git a/android/src/main/java/com/horcrux/svg/PatternView.java b/android/src/main/java/com/horcrux/svg/PatternView.java index 11400d4a..d4fd40a6 100644 --- a/android/src/main/java/com/horcrux/svg/PatternView.java +++ b/android/src/main/java/com/horcrux/svg/PatternView.java @@ -56,24 +56,43 @@ class PatternView extends GroupView { invalidate(); } + public void setX(String x) { + mX = SVGLength.from(x); + invalidate(); + } + @ReactProp(name = "y") public void setY(Dynamic y) { mY = SVGLength.from(y); invalidate(); } + public void setY(String y) { + mY = SVGLength.from(y); + invalidate(); + } + @ReactProp(name = "width") public void setWidth(Dynamic width) { mW = SVGLength.from(width); invalidate(); } + public void setWidth(String width) { + mW = SVGLength.from(width); + invalidate(); + } @ReactProp(name = "height") public void setHeight(Dynamic height) { mH = SVGLength.from(height); invalidate(); } + public void setHeight(String height) { + mH = SVGLength.from(height); + invalidate(); + } + @ReactProp(name = "patternUnits") public void setPatternUnits(int patternUnits) { switch (patternUnits) { diff --git a/android/src/main/java/com/horcrux/svg/RadialGradientView.java b/android/src/main/java/com/horcrux/svg/RadialGradientView.java index 128f8c7b..ac6cbb0a 100644 --- a/android/src/main/java/com/horcrux/svg/RadialGradientView.java +++ b/android/src/main/java/com/horcrux/svg/RadialGradientView.java @@ -49,36 +49,66 @@ class RadialGradientView extends DefinitionView { invalidate(); } + public void setFx(String fx) { + mFx = SVGLength.from(fx); + invalidate(); + } + @ReactProp(name = "fy") public void setFy(Dynamic fy) { mFy = SVGLength.from(fy); invalidate(); } + public void setFy(String fy) { + mFy = SVGLength.from(fy); + invalidate(); + } + @ReactProp(name = "rx") public void setRx(Dynamic rx) { mRx = SVGLength.from(rx); invalidate(); } + public void setRx(String rx) { + mRx = SVGLength.from(rx); + invalidate(); + } + @ReactProp(name = "ry") public void setRy(Dynamic ry) { mRy = SVGLength.from(ry); invalidate(); } + public void setRy(String ry) { + mRy = SVGLength.from(ry); + invalidate(); + } + @ReactProp(name = "cx") public void setCx(Dynamic cx) { mCx = SVGLength.from(cx); invalidate(); } + public void setCx(String cx) { + mCx = SVGLength.from(cx); + invalidate(); + } + @ReactProp(name = "cy") public void setCy(Dynamic cy) { mCy = SVGLength.from(cy); invalidate(); } + public void setCy(String cy) { + mCy = SVGLength.from(cy); + invalidate(); + } + @ReactProp(name = "gradient") public void setGradient(ReadableArray gradient) { mGradient = gradient; diff --git a/android/src/main/java/com/horcrux/svg/RectView.java b/android/src/main/java/com/horcrux/svg/RectView.java index 1e5330cb..0de262ff 100644 --- a/android/src/main/java/com/horcrux/svg/RectView.java +++ b/android/src/main/java/com/horcrux/svg/RectView.java @@ -39,36 +39,66 @@ class RectView extends RenderableView { invalidate(); } + public void setX(String x) { + mX = SVGLength.from(x); + invalidate(); + } + @ReactProp(name = "y") public void setY(Dynamic y) { mY = SVGLength.from(y); invalidate(); } + public void setY(String y) { + mY = SVGLength.from(y); + invalidate(); + } + @ReactProp(name = "width") public void setWidth(Dynamic width) { mW = SVGLength.from(width); invalidate(); } + public void setWidth(String width) { + mW = SVGLength.from(width); + invalidate(); + } + @ReactProp(name = "height") public void setHeight(Dynamic height) { mH = SVGLength.from(height); invalidate(); } + public void setHeight(String height) { + mH = SVGLength.from(height); + invalidate(); + } + @ReactProp(name = "rx") public void setRx(Dynamic rx) { mRx = SVGLength.from(rx); invalidate(); } + public void setRx(String rx) { + mRx = SVGLength.from(rx); + invalidate(); + } + @ReactProp(name = "ry") public void setRy(Dynamic ry) { mRy = SVGLength.from(ry); invalidate(); } + public void setRy(String ry) { + mRy = SVGLength.from(ry); + invalidate(); + } + @Override Path getPath(Canvas canvas, Paint paint) { Path path = new Path(); diff --git a/android/src/main/java/com/horcrux/svg/RenderableView.java b/android/src/main/java/com/horcrux/svg/RenderableView.java index c0cd440e..edfb788b 100644 --- a/android/src/main/java/com/horcrux/svg/RenderableView.java +++ b/android/src/main/java/com/horcrux/svg/RenderableView.java @@ -26,6 +26,7 @@ import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.bridge.JavaOnlyArray; import com.facebook.react.bridge.ReactContext; import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.ReadableType; import com.facebook.react.bridge.ColorPropConverter; import com.facebook.react.uimanager.PointerEvents; @@ -117,10 +118,18 @@ abstract public class RenderableView extends VirtualView { invalidate(); return; } - ReadableType type = fill.getType(); - if (type.equals(ReadableType.Number)) { + + ReadableType fillType = fill.getType(); + if (fillType.equals(ReadableType.Map)) { + ReadableMap fillMap = fill.asMap(); + setFill(fillMap); + } + + + // This code will probably never be reached with current changes + if (fillType.equals(ReadableType.Number)) { this.fill = JavaOnlyArray.of(0, fill.asInt()); - } else if (type.equals(ReadableType.Array)) { + } else if (fillType.equals(ReadableType.Array)) { this.fill = fill.asArray(); } else { JavaOnlyArray arr = new JavaOnlyArray(); @@ -136,6 +145,28 @@ abstract public class RenderableView extends VirtualView { invalidate(); } + public void setFill(ReadableMap fill) { + if (fill == null) { + this.fill = null; + invalidate(); + return; + } + int type = fill.getInt("type"); + if (type == 0) { + ReadableType valueType = fill.getType("value"); + if (valueType.equals(ReadableType.Number)) { + this.fill = JavaOnlyArray.of(0, fill.getInt("value")); + } else if (valueType.equals(ReadableType.Map)) { + this.fill = JavaOnlyArray.of(0, fill.getMap("value")); + } + } else if (type == 1) { + this.fill = JavaOnlyArray.of(1, fill.getString("brushRef")); + } else { + this.fill = JavaOnlyArray.of(type); + } + invalidate(); + } + @ReactProp(name = "fillOpacity", defaultFloat = 1f) public void setFillOpacity(float fillOpacity) { this.fillOpacity = fillOpacity; @@ -184,6 +215,28 @@ abstract public class RenderableView extends VirtualView { invalidate(); } + public void setStroke(@Nullable ReadableMap stroke) { + if (stroke == null) { + this.stroke = null; + invalidate(); + return; + } + int type = stroke.getInt("type"); + if (type == 0) { + ReadableType valueType = stroke.getType("value"); + if (valueType.equals(ReadableType.Number)) { + this.stroke = JavaOnlyArray.of(0, stroke.getInt("value")); + } else if (valueType.equals(ReadableType.Map)) { + this.stroke = JavaOnlyArray.of(0, stroke.getMap("value")); + } + } else if (type == 1) { + this.stroke = JavaOnlyArray.of(1, stroke.getString("brushRef")); + } else { + this.stroke = JavaOnlyArray.of(type); + } + invalidate(); + } + @ReactProp(name = "strokeOpacity", defaultFloat = 1f) public void setStrokeOpacity(float strokeOpacity) { this.strokeOpacity = strokeOpacity; @@ -216,6 +269,11 @@ abstract public class RenderableView extends VirtualView { invalidate(); } + public void setStrokeWidth(String strokeWidth) { + this.strokeWidth = SVGLength.from(strokeWidth); + invalidate(); + } + @ReactProp(name = "strokeMiterlimit", defaultFloat = 4f) public void setStrokeMiterlimit(float strokeMiterlimit) { this.strokeMiterlimit = strokeMiterlimit; diff --git a/android/src/main/java/com/horcrux/svg/RenderableViewManager.java b/android/src/main/java/com/horcrux/svg/RenderableViewManager.java index ab9badcb..833c9a20 100644 --- a/android/src/main/java/com/horcrux/svg/RenderableViewManager.java +++ b/android/src/main/java/com/horcrux/svg/RenderableViewManager.java @@ -27,9 +27,50 @@ import com.facebook.react.uimanager.PointerEvents; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.TransformHelper; import com.facebook.react.uimanager.ViewGroupManager; +import com.facebook.react.uimanager.ViewManagerDelegate; import com.facebook.react.uimanager.ViewProps; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.uimanager.annotations.ReactPropGroup; +import com.facebook.react.viewmanagers.RNSVGCircleManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGCircleManagerInterface; +import com.facebook.react.viewmanagers.RNSVGClipPathManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGClipPathManagerInterface; +import com.facebook.react.viewmanagers.RNSVGDefsManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGDefsManagerInterface; +import com.facebook.react.viewmanagers.RNSVGEllipseManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGEllipseManagerInterface; +import com.facebook.react.viewmanagers.RNSVGForeignObjectManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGForeignObjectManagerInterface; +import com.facebook.react.viewmanagers.RNSVGGroupManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGGroupManagerInterface; +import com.facebook.react.viewmanagers.RNSVGImageManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGImageManagerInterface; +import com.facebook.react.viewmanagers.RNSVGLineManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGLineManagerInterface; +import com.facebook.react.viewmanagers.RNSVGLinearGradientManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGLinearGradientManagerInterface; +import com.facebook.react.viewmanagers.RNSVGMarkerManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGMarkerManagerInterface; +import com.facebook.react.viewmanagers.RNSVGMaskManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGMaskManagerInterface; +import com.facebook.react.viewmanagers.RNSVGPathManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGPathManagerInterface; +import com.facebook.react.viewmanagers.RNSVGPatternManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGPatternManagerInterface; +import com.facebook.react.viewmanagers.RNSVGRadialGradientManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGRadialGradientManagerInterface; +import com.facebook.react.viewmanagers.RNSVGRectManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGRectManagerInterface; +import com.facebook.react.viewmanagers.RNSVGSymbolManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGSymbolManagerInterface; +import com.facebook.react.viewmanagers.RNSVGTSpanManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGTSpanManagerInterface; +import com.facebook.react.viewmanagers.RNSVGTextManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGTextManagerInterface; +import com.facebook.react.viewmanagers.RNSVGTextPathManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGTextPathManagerInterface; +import com.facebook.react.viewmanagers.RNSVGUseManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGUseManagerInterface; import java.util.Locale; @@ -102,442 +143,785 @@ import static com.horcrux.svg.RenderableView.FILL_RULE_NONZERO; import static com.horcrux.svg.RenderableView.JOIN_ROUND; /** - * ViewManager for all RNSVG views + * ViewManager for DefinitionView RNSVG views */ -class RenderableViewManager extends ViewGroupManager { +class VirtualViewManager extends ViewGroupManager { - private enum SVGClass { - RNSVGGroup, - RNSVGPath, - RNSVGText, - RNSVGTSpan, - RNSVGTextPath, - RNSVGImage, - RNSVGCircle, - RNSVGEllipse, - RNSVGLine, - RNSVGRect, - RNSVGClipPath, - RNSVGDefs, - RNSVGUse, - RNSVGSymbol, - RNSVGLinearGradient, - RNSVGRadialGradient, - RNSVGPattern, - RNSVGMask, - RNSVGMarker, - RNSVGForeignObject, + protected final SVGClass svgClass; + protected final String mClassName; + + protected VirtualViewManager(SVGClass svgclass) { + svgClass = svgclass; + mClassName = svgclass.toString(); + } + + static class RenderableShadowNode extends LayoutShadowNode { + + @SuppressWarnings({"unused", "EmptyMethod"}) + @ReactPropGroup( + names = { + ALIGN_SELF, + ALIGN_ITEMS, + COLLAPSABLE, + FLEX, + FLEX_BASIS, + FLEX_DIRECTION, + FLEX_GROW, + FLEX_SHRINK, + FLEX_WRAP, + JUSTIFY_CONTENT, + OVERFLOW, + ALIGN_CONTENT, + DISPLAY, + + /* position */ + POSITION, + RIGHT, + TOP, + BOTTOM, + LEFT, + START, + END, + + /* dimensions */ + WIDTH, + HEIGHT, + MIN_WIDTH, + MAX_WIDTH, + MIN_HEIGHT, + MAX_HEIGHT, + + /* margins */ + MARGIN, + MARGIN_VERTICAL, + MARGIN_HORIZONTAL, + MARGIN_LEFT, + MARGIN_RIGHT, + MARGIN_TOP, + MARGIN_BOTTOM, + MARGIN_START, + MARGIN_END, + + /* paddings */ + PADDING, + PADDING_VERTICAL, + PADDING_HORIZONTAL, + PADDING_LEFT, + PADDING_RIGHT, + PADDING_TOP, + PADDING_BOTTOM, + PADDING_START, + PADDING_END, + + BORDER_WIDTH, + BORDER_START_WIDTH, + BORDER_END_WIDTH, + BORDER_TOP_WIDTH, + BORDER_BOTTOM_WIDTH, + BORDER_LEFT_WIDTH, + BORDER_RIGHT_WIDTH, + } + ) + public void ignoreLayoutProps(int index, Dynamic value) {} + } + + @Override + public LayoutShadowNode createShadowNodeInstance() { + return new RenderableShadowNode(); + } + + @Override + public Class getShadowNodeClass() { + return RenderableShadowNode.class; + } + + static class MatrixDecompositionContext extends MatrixMathHelper.MatrixDecompositionContext { + final double[] perspective = new double[4]; + final double[] scale = new double[3]; + final double[] skew = new double[3]; + final double[] translation = new double[3]; + final double[] rotationDegrees = new double[3]; + } + + private static final MatrixDecompositionContext sMatrixDecompositionContext = + new MatrixDecompositionContext(); + private static final double[] sTransformDecompositionArray = new double[16]; + + private static final int PERSPECTIVE_ARRAY_INVERTED_CAMERA_DISTANCE_INDEX = 2; + private static final float CAMERA_DISTANCE_NORMALIZATION_MULTIPLIER = 5; + + private static final double EPSILON = .00001d; + + private static boolean isZero(double d) { + return !Double.isNaN(d) && Math.abs(d) < EPSILON; + } + + private static void decomposeMatrix() { + + // output values + final double[] perspective = sMatrixDecompositionContext.perspective; + final double[] scale = sMatrixDecompositionContext.scale; + final double[] skew = sMatrixDecompositionContext.skew; + final double[] translation = sMatrixDecompositionContext.translation; + final double[] rotationDegrees = sMatrixDecompositionContext.rotationDegrees; + + // create normalized, 2d array matrix + // and normalized 1d array perspectiveMatrix with redefined 4th column + if (isZero(sTransformDecompositionArray[15])) { + return; + } + double[][] matrix = new double[4][4]; + double[] perspectiveMatrix = new double[16]; + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + double value = sTransformDecompositionArray[(i * 4) + j] / sTransformDecompositionArray[15]; + matrix[i][j] = value; + perspectiveMatrix[(i * 4) + j] = j == 3 ? 0 : value; + } + } + perspectiveMatrix[15] = 1; + + // test for singularity of upper 3x3 part of the perspective matrix + if (isZero(determinant(perspectiveMatrix))) { + return; } - class RenderableShadowNode extends LayoutShadowNode { + // isolate perspective + if (!isZero(matrix[0][3]) || !isZero(matrix[1][3]) || !isZero(matrix[2][3])) { + // rightHandSide is the right hand side of the equation. + // rightHandSide is a vector, or point in 3d space relative to the origin. + double[] rightHandSide = { matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3] }; - @SuppressWarnings({"unused", "EmptyMethod"}) - @ReactPropGroup( - names = { - ALIGN_SELF, - ALIGN_ITEMS, - COLLAPSABLE, - FLEX, - FLEX_BASIS, - FLEX_DIRECTION, - FLEX_GROW, - FLEX_SHRINK, - FLEX_WRAP, - JUSTIFY_CONTENT, - OVERFLOW, - ALIGN_CONTENT, - DISPLAY, - - /* position */ - POSITION, - RIGHT, - TOP, - BOTTOM, - LEFT, - START, - END, - - /* dimensions */ - WIDTH, - HEIGHT, - MIN_WIDTH, - MAX_WIDTH, - MIN_HEIGHT, - MAX_HEIGHT, - - /* margins */ - MARGIN, - MARGIN_VERTICAL, - MARGIN_HORIZONTAL, - MARGIN_LEFT, - MARGIN_RIGHT, - MARGIN_TOP, - MARGIN_BOTTOM, - MARGIN_START, - MARGIN_END, - - /* paddings */ - PADDING, - PADDING_VERTICAL, - PADDING_HORIZONTAL, - PADDING_LEFT, - PADDING_RIGHT, - PADDING_TOP, - PADDING_BOTTOM, - PADDING_START, - PADDING_END, - - BORDER_WIDTH, - BORDER_START_WIDTH, - BORDER_END_WIDTH, - BORDER_TOP_WIDTH, - BORDER_BOTTOM_WIDTH, - BORDER_LEFT_WIDTH, - BORDER_RIGHT_WIDTH, - } - ) - public void ignoreLayoutProps(int index, Dynamic value) {} + // Solve the equation by inverting perspectiveMatrix and multiplying + // rightHandSide by the inverse. + double[] inversePerspectiveMatrix = inverse( + perspectiveMatrix + ); + double[] transposedInversePerspectiveMatrix = transpose( + inversePerspectiveMatrix + ); + multiplyVectorByMatrix(rightHandSide, transposedInversePerspectiveMatrix, perspective); + } else { + // no perspective + perspective[0] = perspective[1] = perspective[2] = 0d; + perspective[3] = 1d; } - @Override - public LayoutShadowNode createShadowNodeInstance() { - return new RenderableShadowNode(); + // translation is simple + System.arraycopy(matrix[3], 0, translation, 0, 3); + + // Now get scale and shear. + // 'row' is a 3 element array of 3 component vectors + double[][] row = new double[3][3]; + for (int i = 0; i < 3; i++) { + row[i][0] = matrix[i][0]; + row[i][1] = matrix[i][1]; + row[i][2] = matrix[i][2]; } - @Override - public Class getShadowNodeClass() { - return RenderableShadowNode.class; + // Compute X scale factor and normalize first row. + scale[0] = v3Length(row[0]); + row[0] = v3Normalize(row[0], scale[0]); + + // Compute XY shear factor and make 2nd row orthogonal to 1st. + skew[0] = v3Dot(row[0], row[1]); + row[1] = v3Combine(row[1], row[0], 1.0, -skew[0]); + + // Compute XY shear factor and make 2nd row orthogonal to 1st. + skew[0] = v3Dot(row[0], row[1]); + row[1] = v3Combine(row[1], row[0], 1.0, -skew[0]); + + // Now, compute Y scale and normalize 2nd row. + scale[1] = v3Length(row[1]); + row[1] = v3Normalize(row[1], scale[1]); + skew[0] /= scale[1]; + + // Compute XZ and YZ shears, orthogonalize 3rd row + skew[1] = v3Dot(row[0], row[2]); + row[2] = v3Combine(row[2], row[0], 1.0, -skew[1]); + skew[2] = v3Dot(row[1], row[2]); + row[2] = v3Combine(row[2], row[1], 1.0, -skew[2]); + + // Next, get Z scale and normalize 3rd row. + scale[2] = v3Length(row[2]); + row[2] = v3Normalize(row[2], scale[2]); + skew[1] /= scale[2]; + skew[2] /= scale[2]; + + // At this point, the matrix (in rows) is orthonormal. + // Check for a coordinate system flip. If the determinant + // is -1, then negate the matrix and the scaling factors. + double[] pdum3 = v3Cross(row[1], row[2]); + if (v3Dot(row[0], pdum3) < 0) { + for (int i = 0; i < 3; i++) { + scale[i] *= -1; + row[i][0] *= -1; + row[i][1] *= -1; + row[i][2] *= -1; + } } + // Now, get the rotations out + // Based on: http://nghiaho.com/?page_id=846 + double conv = 180 / Math.PI; + rotationDegrees[0] = roundTo3Places(-Math.atan2(row[2][1], row[2][2]) * conv); + rotationDegrees[1] = roundTo3Places(-Math.atan2(-row[2][0], Math.sqrt(row[2][1] * row[2][1] + row[2][2] * row[2][2])) * conv); + rotationDegrees[2] = roundTo3Places(-Math.atan2(row[1][0], row[0][0]) * conv); + } - private final SVGClass svgClass; - private final String mClassName; + private static void setTransformProperty(View view, ReadableArray transforms) { + TransformHelper.processTransform(transforms, sTransformDecompositionArray); + decomposeMatrix(); + view.setTranslationX( + PixelUtil.toPixelFromDIP((float) sMatrixDecompositionContext.translation[0])); + view.setTranslationY( + PixelUtil.toPixelFromDIP((float) sMatrixDecompositionContext.translation[1])); + view.setRotation((float) sMatrixDecompositionContext.rotationDegrees[2]); + view.setRotationX((float) sMatrixDecompositionContext.rotationDegrees[0]); + view.setRotationY((float) sMatrixDecompositionContext.rotationDegrees[1]); + view.setScaleX((float) sMatrixDecompositionContext.scale[0]); + view.setScaleY((float) sMatrixDecompositionContext.scale[1]); + + double[] perspectiveArray = sMatrixDecompositionContext.perspective; + + if (perspectiveArray.length > PERSPECTIVE_ARRAY_INVERTED_CAMERA_DISTANCE_INDEX) { + float invertedCameraDistance = (float) perspectiveArray[PERSPECTIVE_ARRAY_INVERTED_CAMERA_DISTANCE_INDEX]; + if (invertedCameraDistance == 0) { + // Default camera distance, before scale multiplier (1280) + invertedCameraDistance = 0.00078125f; + } + float cameraDistance = -1 / invertedCameraDistance; + float scale = DisplayMetricsHolder.getScreenDisplayMetrics().density; + + // The following converts the matrix's perspective to a camera distance + // such that the camera perspective looks the same on Android and iOS. + // The native Android implementation removed the screen density from the + // calculation, so squaring and a normalization value of + // sqrt(5) produces an exact replica with iOS. + // For more information, see https://github.com/facebook/react-native/pull/18302 + float normalizedCameraDistance = scale * scale * cameraDistance * CAMERA_DISTANCE_NORMALIZATION_MULTIPLIER; + view.setCameraDistance(normalizedCameraDistance); - static class MatrixDecompositionContext extends MatrixMathHelper.MatrixDecompositionContext { - final double[] perspective = new double[4]; - final double[] scale = new double[3]; - final double[] skew = new double[3]; - final double[] translation = new double[3]; - final double[] rotationDegrees = new double[3]; } + } - private static final MatrixDecompositionContext sMatrixDecompositionContext = - new MatrixDecompositionContext(); - private static final double[] sTransformDecompositionArray = new double[16]; + private static void resetTransformProperty(View view) { + view.setTranslationX(0); + view.setTranslationY(0); + view.setRotation(0); + view.setRotationX(0); + view.setRotationY(0); + view.setScaleX(1); + view.setScaleY(1); + view.setCameraDistance(0); + } - private static final int PERSPECTIVE_ARRAY_INVERTED_CAMERA_DISTANCE_INDEX = 2; - private static final float CAMERA_DISTANCE_NORMALIZATION_MULTIPLIER = 5; + @Nonnull + public String getName() { + return mClassName; + } - private static final double EPSILON = .00001d; + @ReactProp(name = "mask") + public void setMask(V node, String mask) { + node.setMask(mask); + } - private static boolean isZero(double d) { - return !Double.isNaN(d) && Math.abs(d) < EPSILON; + @ReactProp(name = "markerStart") + public void setMarkerStart(V node, String markerStart) { + node.setMarkerStart(markerStart); + } + + @ReactProp(name = "markerMid") + public void setMarkerMid(V node, String markerMid) { + node.setMarkerMid(markerMid); + } + + @ReactProp(name = "markerEnd") + public void setMarkerEnd(V node, String markerEnd) { + node.setMarkerEnd(markerEnd); + } + + @ReactProp(name = "clipPath") + public void setClipPath(V node, String clipPath) { + node.setClipPath(clipPath); + } + + @ReactProp(name = "clipRule") + public void setClipRule(V node, int clipRule) { + node.setClipRule(clipRule); + } + + @ReactProp(name = "opacity", defaultFloat = 1f) + public void setOpacity(@Nonnull V node, float opacity) { + node.setOpacity(opacity); + } + + @ReactProp(name = "responsible") + public void setResponsible(V node, boolean responsible) { + node.setResponsible(responsible); + } + + @ReactProp(name = ViewProps.POINTER_EVENTS) + public void setPointerEvents(V view, @Nullable String pointerEventsStr) { + if (pointerEventsStr == null) { + view.setPointerEvents(PointerEvents.AUTO); + } else { + PointerEvents pointerEvents = + PointerEvents.valueOf(pointerEventsStr.toUpperCase(Locale.US).replace("-", "_")); + view.setPointerEvents(pointerEvents); } + } - private static void decomposeMatrix() { + @ReactProp(name = "onLayout") + public void setOnLayout(V node, boolean onLayout) { + node.setOnLayout(onLayout); + } - // output values - final double[] perspective = sMatrixDecompositionContext.perspective; - final double[] scale = sMatrixDecompositionContext.scale; - final double[] skew = sMatrixDecompositionContext.skew; - final double[] translation = sMatrixDecompositionContext.translation; - final double[] rotationDegrees = sMatrixDecompositionContext.rotationDegrees; + @ReactProp(name = "name") + public void setName(V node, String name) { + node.setName(name); + } - // create normalized, 2d array matrix - // and normalized 1d array perspectiveMatrix with redefined 4th column - if (isZero(sTransformDecompositionArray[15])) { + @ReactProp(name = "display") + public void setDisplay(V node, String display) { + node.setDisplay(display); + } + + + @ReactProp(name = "matrix") + public void setMatrix(V node, Dynamic matrixArray) { + node.setMatrix(matrixArray); + } + + public void setMatrix(V view, @Nullable ReadableArray value) { + view.setMatrix(value); + } + + @ReactProp(name = "transform") + public void setTransform(V node, Dynamic matrix) { + if (matrix.getType() != ReadableType.Array) { + return; + } + ReadableArray ma = matrix.asArray(); + if (ma == null) { + resetTransformProperty(node); + } else { + setTransformProperty(node, ma); + } + Matrix m = node.getMatrix(); + node.mTransform = m; + node.mTransformInvertible = m.invert(node.mInvTransform); + } + + private void invalidateSvgView(V node) { + SvgView view = node.getSvgView(); + if (view!= null) { + view.invalidate(); + } + if (node instanceof TextView) { + ((TextView)node).getTextContainer().clearChildCache(); + } + } + + @Override + protected void addEventEmitters(@Nonnull ThemedReactContext reactContext, @Nonnull VirtualView view) { + super.addEventEmitters(reactContext, view); + view.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() { + @Override + public void onChildViewAdded(View view, View view1) { + if (view instanceof VirtualView) { + invalidateSvgView((V) view); + } + } + + @Override + public void onChildViewRemoved(View view, View view1) { + if (view instanceof VirtualView) { + invalidateSvgView((V) view); + } + } + }); + } + + /** + * Callback that will be triggered after all properties are updated in current update transaction + * (all @ReactProp handlers for properties updated in current transaction have been called). If + * you want to override this method you should call super.onAfterUpdateTransaction from it as + * the parent class of the ViewManager may rely on callback being executed. + */ + protected void onAfterUpdateTransaction(@Nonnull V node) { + super.onAfterUpdateTransaction(node); + invalidateSvgView(node); + } + + protected enum SVGClass { + RNSVGGroup, + RNSVGPath, + RNSVGText, + RNSVGTSpan, + RNSVGTextPath, + RNSVGImage, + RNSVGCircle, + RNSVGEllipse, + RNSVGLine, + RNSVGRect, + RNSVGClipPath, + RNSVGDefs, + RNSVGUse, + RNSVGSymbol, + RNSVGLinearGradient, + RNSVGRadialGradient, + RNSVGPattern, + RNSVGMask, + RNSVGMarker, + RNSVGForeignObject, + } + + @Nonnull + @Override + protected VirtualView createViewInstance(@Nonnull ThemedReactContext reactContext) { + switch (svgClass) { + case RNSVGGroup: + return new GroupView(reactContext); + case RNSVGPath: + return new PathView(reactContext); + case RNSVGCircle: + return new CircleView(reactContext); + case RNSVGEllipse: + return new EllipseView(reactContext); + case RNSVGLine: + return new LineView(reactContext); + case RNSVGRect: + return new RectView(reactContext); + case RNSVGText: + return new TextView(reactContext); + case RNSVGTSpan: + return new TSpanView(reactContext); + case RNSVGTextPath: + return new TextPathView(reactContext); + case RNSVGImage: + return new ImageView(reactContext); + case RNSVGClipPath: + return new ClipPathView(reactContext); + case RNSVGDefs: + return new DefsView(reactContext); + case RNSVGUse: + return new UseView(reactContext); + case RNSVGSymbol: + return new SymbolView(reactContext); + case RNSVGLinearGradient: + return new LinearGradientView(reactContext); + case RNSVGRadialGradient: + return new RadialGradientView(reactContext); + case RNSVGPattern: + return new PatternView(reactContext); + case RNSVGMask: + return new MaskView(reactContext); + case RNSVGMarker: + return new MarkerView(reactContext); + case RNSVGForeignObject: + return new ForeignObjectView(reactContext); + default: + throw new IllegalStateException("Unexpected type " + svgClass.toString()); + } + } + + + private static final SparseArray mTagToRenderableView = new SparseArray<>(); + private static final SparseArray mTagToRunnable = new SparseArray<>(); + + static void setRenderableView(int tag, RenderableView svg) { + mTagToRenderableView.put(tag, svg); + Runnable task = mTagToRunnable.get(tag); + if (task != null) { + task.run(); + mTagToRunnable.delete(tag); + } + } + + static void runWhenViewIsAvailable(int tag, Runnable task) { + mTagToRunnable.put(tag, task); + } + + static @Nullable RenderableView getRenderableViewByTag(int tag) { + return mTagToRenderableView.get(tag); + } + + @Override + public void onDropViewInstance(@Nonnull VirtualView view) { + super.onDropViewInstance(view); + mTagToRenderableView.remove(view.getId()); + } + +} +/** + * ViewManager for Renderable RNSVG views + */ +class RenderableViewManager extends VirtualViewManager { + + RenderableViewManager(SVGClass svgclass) { + super(svgclass); + } + static class GroupViewManagerAbstract extends RenderableViewManager { + GroupViewManagerAbstract(SVGClass svgClass) { + super(svgClass); + } + + @ReactProp(name = "font") + public void setFont(U node, @Nullable ReadableMap font) { + node.setFont(font); + } + + @ReactProp(name = "fontSize") + public void setFontSize(U node, Dynamic fontSize) { + JavaOnlyMap map = new JavaOnlyMap(); + switch (fontSize.getType()) { + case Number: + map.putDouble("fontSize", fontSize.asDouble()); + break; + case String: + map.putString("fontSize", fontSize.asString()); + break; + default: return; } - double[][] matrix = new double[4][4]; - double[] perspectiveMatrix = new double[16]; - for (int i = 0; i < 4; i++) { - for (int j = 0; j < 4; j++) { - double value = sTransformDecompositionArray[(i * 4) + j] / sTransformDecompositionArray[15]; - matrix[i][j] = value; - perspectiveMatrix[(i * 4) + j] = j == 3 ? 0 : value; - } - } - perspectiveMatrix[15] = 1; + node.setFont(map); + } - // test for singularity of upper 3x3 part of the perspective matrix - if (isZero(determinant(perspectiveMatrix))) { + public void setFontSize(U view, @Nullable String value) { + JavaOnlyMap map = new JavaOnlyMap(); + map.putString("fontSize", value); + view.setFont(map); + } + + @ReactProp(name = "fontWeight") + public void setFontWeight(U node, Dynamic fontWeight) { + JavaOnlyMap map = new JavaOnlyMap(); + switch (fontWeight.getType()) { + case Number: + map.putDouble("fontWeight", fontWeight.asDouble()); + break; + case String: + map.putString("fontWeight", fontWeight.asString()); + break; + default: return; } + node.setFont(map); + } - // isolate perspective - if (!isZero(matrix[0][3]) || !isZero(matrix[1][3]) || !isZero(matrix[2][3])) { - // rightHandSide is the right hand side of the equation. - // rightHandSide is a vector, or point in 3d space relative to the origin. - double[] rightHandSide = { matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3] }; - - // Solve the equation by inverting perspectiveMatrix and multiplying - // rightHandSide by the inverse. - double[] inversePerspectiveMatrix = inverse( - perspectiveMatrix - ); - double[] transposedInversePerspectiveMatrix = transpose( - inversePerspectiveMatrix - ); - multiplyVectorByMatrix(rightHandSide, transposedInversePerspectiveMatrix, perspective); - } else { - // no perspective - perspective[0] = perspective[1] = perspective[2] = 0d; - perspective[3] = 1d; - } - - // translation is simple - System.arraycopy(matrix[3], 0, translation, 0, 3); - - // Now get scale and shear. - // 'row' is a 3 element array of 3 component vectors - double[][] row = new double[3][3]; - for (int i = 0; i < 3; i++) { - row[i][0] = matrix[i][0]; - row[i][1] = matrix[i][1]; - row[i][2] = matrix[i][2]; - } - - // Compute X scale factor and normalize first row. - scale[0] = v3Length(row[0]); - row[0] = v3Normalize(row[0], scale[0]); - - // Compute XY shear factor and make 2nd row orthogonal to 1st. - skew[0] = v3Dot(row[0], row[1]); - row[1] = v3Combine(row[1], row[0], 1.0, -skew[0]); - - // Compute XY shear factor and make 2nd row orthogonal to 1st. - skew[0] = v3Dot(row[0], row[1]); - row[1] = v3Combine(row[1], row[0], 1.0, -skew[0]); - - // Now, compute Y scale and normalize 2nd row. - scale[1] = v3Length(row[1]); - row[1] = v3Normalize(row[1], scale[1]); - skew[0] /= scale[1]; - - // Compute XZ and YZ shears, orthogonalize 3rd row - skew[1] = v3Dot(row[0], row[2]); - row[2] = v3Combine(row[2], row[0], 1.0, -skew[1]); - skew[2] = v3Dot(row[1], row[2]); - row[2] = v3Combine(row[2], row[1], 1.0, -skew[2]); - - // Next, get Z scale and normalize 3rd row. - scale[2] = v3Length(row[2]); - row[2] = v3Normalize(row[2], scale[2]); - skew[1] /= scale[2]; - skew[2] /= scale[2]; - - // At this point, the matrix (in rows) is orthonormal. - // Check for a coordinate system flip. If the determinant - // is -1, then negate the matrix and the scaling factors. - double[] pdum3 = v3Cross(row[1], row[2]); - if (v3Dot(row[0], pdum3) < 0) { - for (int i = 0; i < 3; i++) { - scale[i] *= -1; - row[i][0] *= -1; - row[i][1] *= -1; - row[i][2] *= -1; - } - } - - // Now, get the rotations out - // Based on: http://nghiaho.com/?page_id=846 - double conv = 180 / Math.PI; - rotationDegrees[0] = roundTo3Places(-Math.atan2(row[2][1], row[2][2]) * conv); - rotationDegrees[1] = roundTo3Places(-Math.atan2(-row[2][0], Math.sqrt(row[2][1] * row[2][1] + row[2][2] * row[2][2])) * conv); - rotationDegrees[2] = roundTo3Places(-Math.atan2(row[1][0], row[0][0]) * conv); + public void setFontWeight(U view, @Nullable String value) { + JavaOnlyMap map = new JavaOnlyMap(); + map.putString("fontWeight", value); + view.setFont(map); + } } - private static void setTransformProperty(View view, ReadableArray transforms) { - TransformHelper.processTransform(transforms, sTransformDecompositionArray); - decomposeMatrix(); - view.setTranslationX( - PixelUtil.toPixelFromDIP((float) sMatrixDecompositionContext.translation[0])); - view.setTranslationY( - PixelUtil.toPixelFromDIP((float) sMatrixDecompositionContext.translation[1])); - view.setRotation((float) sMatrixDecompositionContext.rotationDegrees[2]); - view.setRotationX((float) sMatrixDecompositionContext.rotationDegrees[0]); - view.setRotationY((float) sMatrixDecompositionContext.rotationDegrees[1]); - view.setScaleX((float) sMatrixDecompositionContext.scale[0]); - view.setScaleY((float) sMatrixDecompositionContext.scale[1]); + static class GroupViewManager extends GroupViewManagerAbstract implements RNSVGGroupManagerInterface { + GroupViewManager() { + super(SVGClass.RNSVGGroup); + mDelegate = new RNSVGGroupManagerDelegate(this); + } - double[] perspectiveArray = sMatrixDecompositionContext.perspective; + private final ViewManagerDelegate mDelegate; - if (perspectiveArray.length > PERSPECTIVE_ARRAY_INVERTED_CAMERA_DISTANCE_INDEX) { - float invertedCameraDistance = (float) perspectiveArray[PERSPECTIVE_ARRAY_INVERTED_CAMERA_DISTANCE_INDEX]; - if (invertedCameraDistance == 0) { - // Default camera distance, before scale multiplier (1280) - invertedCameraDistance = 0.00078125f; - } - float cameraDistance = -1 / invertedCameraDistance; - float scale = DisplayMetricsHolder.getScreenDisplayMetrics().density; + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } - // The following converts the matrix's perspective to a camera distance - // such that the camera perspective looks the same on Android and iOS. - // The native Android implementation removed the screen density from the - // calculation, so squaring and a normalization value of - // sqrt(5) produces an exact replica with iOS. - // For more information, see https://github.com/facebook/react-native/pull/18302 - float normalizedCameraDistance = scale * scale * cameraDistance * CAMERA_DISTANCE_NORMALIZATION_MULTIPLIER; - view.setCameraDistance(normalizedCameraDistance); - - } } - private static void resetTransformProperty(View view) { - view.setTranslationX(0); - view.setTranslationY(0); - view.setRotation(0); - view.setRotationX(0); - view.setRotationY(0); - view.setScaleX(1); - view.setScaleY(1); - view.setCameraDistance(0); + static class PathViewManager extends RenderableViewManager implements RNSVGPathManagerInterface { + PathViewManager() { + super(SVGClass.RNSVGPath); + mDelegate = new RNSVGPathManagerDelegate(this); } - static class GroupViewManager extends RenderableViewManager { - GroupViewManager() { - super(SVGClass.RNSVGGroup); - } + private final ViewManagerDelegate mDelegate; - GroupViewManager(SVGClass svgClass) { - super(svgClass); - } - - @ReactProp(name = "font") - public void setFont(GroupView node, @Nullable ReadableMap font) { - node.setFont(font); - } - - @ReactProp(name = "fontSize") - public void setFontSize(GroupView node, Dynamic fontSize) { - JavaOnlyMap map = new JavaOnlyMap(); - switch (fontSize.getType()) { - case Number: - map.putDouble("fontSize", fontSize.asDouble()); - break; - case String: - map.putString("fontSize", fontSize.asString()); - break; - default: - return; - } - node.setFont(map); - } - - @ReactProp(name = "fontWeight") - public void setFontWeight(GroupView node, Dynamic fontWeight) { - JavaOnlyMap map = new JavaOnlyMap(); - switch (fontWeight.getType()) { - case Number: - map.putDouble("fontWeight", fontWeight.asDouble()); - break; - case String: - map.putString("fontWeight", fontWeight.asString()); - break; - default: - return; - } - node.setFont(map); - } + protected ViewManagerDelegate getDelegate(){ + return mDelegate; } - - static class PathViewManager extends RenderableViewManager { - PathViewManager() { - super(SVGClass.RNSVGPath); - } - @ReactProp(name = "d") public void setD(PathView node, String d) { node.setD(d); } } - static class TextViewManager extends GroupViewManager { - TextViewManager() { - super(SVGClass.RNSVGText); - } + static class TextViewManagerAbstract extends GroupViewManagerAbstract { + TextViewManagerAbstract(SVGClass svgClass) { + super(svgClass); + } + + @ReactProp(name = "inlineSize") + public void setInlineSize(K node, Dynamic inlineSize) { + node.setInlineSize(inlineSize); + } + + @ReactProp(name = "textLength") + public void setTextLength(K node, Dynamic length) { + node.setTextLength(length); + } + + @ReactProp(name = "lengthAdjust") + public void setLengthAdjust(K node, @Nullable String adjustment) { + node.setLengthAdjust(adjustment); + } + + @ReactProp(name = "alignmentBaseline") + public void setMethod(K node, @Nullable String alignment) { + node.setMethod(alignment); + } + + @ReactProp(name = "baselineShift") + public void setBaselineShift(K node, Dynamic baselineShift) { + node.setBaselineShift(baselineShift); + } + + @ReactProp(name = "verticalAlign") + public void setVerticalAlign(K node, @Nullable String verticalAlign) { + node.setVerticalAlign(verticalAlign); + } + + @ReactProp(name = "rotate") + public void setRotate(K node, Dynamic rotate) { + node.setRotate(rotate); + } + + @ReactProp(name = "dx") + public void setDeltaX(K node, Dynamic deltaX) { + node.setDeltaX(deltaX); + } + + @ReactProp(name = "dy") + public void setDeltaY(K node, Dynamic deltaY) { + node.setDeltaY(deltaY); + } + + @ReactProp(name = "x") + public void setX(K node, Dynamic positionX) { + node.setPositionX(positionX); + } + + @ReactProp(name = "y") + public void setY(K node, Dynamic positionY) { + node.setPositionY(positionY); + } + + @ReactProp(name = "font") + public void setFont(K node, @Nullable ReadableMap font) { + node.setFont(font); + } + + public void setAlignmentBaseline(K view, @Nullable String value) { + view.setMethod(value); + } + + public void setTextAnchor(K view, @Nullable String value) { + // TODO: is it available on Android? + } + + public void setDx(K view, @Nullable ReadableArray value) { + view.setDeltaX(value); + } + + public void setDy(K view, @Nullable ReadableArray value) { + view.setDeltaY(value); + } + + public void setPositionX(K view, @Nullable ReadableArray value) { + view.setPositionX(value); + } + + public void setPositionY(K view, @Nullable ReadableArray value) { + view.setPositionY(value); + } + + public void setX(K view, @Nullable ReadableArray value) { + view.setPositionX(value); + } + + public void setY(K view, @Nullable ReadableArray value) { + view.setPositionY(value); + } + + public void setRotate(K view, @Nullable ReadableArray value) { + view.setRotate(value); + } + + public void setInlineSize(K view, @Nullable String value) { + view.setInlineSize(value); + } + + public void setTextLength(K view, @Nullable String value) { + view.setTextLength(value); + } + + public void setBaselineShift(K view, @Nullable String value) { + view.setBaselineShift(value); + } + } + + static class TextViewManager extends TextViewManagerAbstract implements RNSVGTextManagerInterface { + TextViewManager() { + super(SVGClass.RNSVGText); + mDelegate = new RNSVGTextManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } TextViewManager(SVGClass svgClass) { super(svgClass); + mDelegate = new RNSVGTextManagerDelegate(this); } - @ReactProp(name = "inlineSize") - public void setInlineSize(TextView node, Dynamic inlineSize) { - node.setInlineSize(inlineSize); - } + } - @ReactProp(name = "textLength") - public void setTextLength(TextView node, Dynamic length) { - node.setTextLength(length); - } - - @ReactProp(name = "lengthAdjust") - public void setLengthAdjust(TextView node, @Nullable String adjustment) { - node.setLengthAdjust(adjustment); - } - - @ReactProp(name = "alignmentBaseline") - public void setMethod(TextView node, @Nullable String alignment) { - node.setMethod(alignment); - } - - @ReactProp(name = "baselineShift") - public void setBaselineShift(TextView node, Dynamic baselineShift) { - node.setBaselineShift(baselineShift); - } - - @ReactProp(name = "verticalAlign") - public void setVerticalAlign(TextView node, @Nullable String verticalAlign) { - node.setVerticalAlign(verticalAlign); - } - - @ReactProp(name = "rotate") - public void setRotate(TextView node, Dynamic rotate) { - node.setRotate(rotate); - } - - @ReactProp(name = "dx") - public void setDeltaX(TextView node, Dynamic deltaX) { - node.setDeltaX(deltaX); - } - - @ReactProp(name = "dy") - public void setDeltaY(TextView node, Dynamic deltaY) { - node.setDeltaY(deltaY); - } - - @ReactProp(name = "x") - public void setX(TextView node, Dynamic positionX) { - node.setPositionX(positionX); - } - - @ReactProp(name = "y") - public void setY(TextView node, Dynamic positionY) { - node.setPositionY(positionY); - } - - @ReactProp(name = "font") - public void setFont(TextView node, @Nullable ReadableMap font) { - node.setFont(font); - } + static class TSpanViewManager extends TextViewManagerAbstract implements RNSVGTSpanManagerInterface { + TSpanViewManager() { + super(SVGClass.RNSVGTSpan); + mDelegate = new RNSVGTSpanManagerDelegate(this); } - static class TSpanViewManager extends TextViewManager { - TSpanViewManager() { - super(SVGClass.RNSVGTSpan); - } + TSpanViewManager(SVGClass svgClass) { + super(svgClass); + mDelegate = new RNSVGTSpanManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "content") public void setContent(TSpanView node, @Nullable String content) { node.setContent(content); } + + } + + static class TextPathViewManager extends TextViewManagerAbstract implements RNSVGTextPathManagerInterface { + TextPathViewManager() { + super(SVGClass.RNSVGTextPath); + mDelegate = new RNSVGTextPathManagerDelegate(this); } - static class TextPathViewManager extends TextViewManager { - TextPathViewManager() { - super(SVGClass.RNSVGTextPath); - } + TextPathViewManager(SVGClass svgClass) { + super(svgClass); + mDelegate = new RNSVGTextPathManagerDelegate (this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "href") public void setHref(TextPathView node, String href) { @@ -554,12 +938,22 @@ class RenderableViewManager extends ViewGroupManager { node.setMethod(method); } - @ReactProp(name = "spacing") + @Override + public void setMidLine(TextPathView view, @Nullable String value) { + view.setSharp(value); + } + + @ReactProp(name = "spacing") public void setSpacing(TextPathView node, @Nullable String spacing) { node.setSpacing(spacing); } - @ReactProp(name = "side") + @Override + public void setStartOffset(TextPathView view, @Nullable String value) { + view.setStartOffset(value); + } + + @ReactProp(name = "side") public void setSide(TextPathView node, @Nullable String side) { node.setSide(side); } @@ -570,10 +964,17 @@ class RenderableViewManager extends ViewGroupManager { } } - static class ImageViewManager extends RenderableViewManager { - ImageViewManager(){ - super(SVGClass.RNSVGImage); - } + static class ImageViewManager extends RenderableViewManager implements RNSVGImageManagerInterface { + ImageViewManager() { + super(SVGClass.RNSVGImage); + mDelegate = new RNSVGImageManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "x") public void setX(ImageView node, Dynamic x) { @@ -595,7 +996,37 @@ class RenderableViewManager extends ViewGroupManager { node.setHeight(height); } - @ReactProp(name = "src") + @Override + public void setX(ImageView view, @Nullable String value) { + view.setX(value); + } + + @Override + public void setY(ImageView view, @Nullable String value) { + view.setY(value); + } + + @Override + public void setImagewidth(ImageView view, @Nullable String value) { + view.setWidth(value); + } + + @Override + public void setImageheight(ImageView view, @Nullable String value) { + view.setHeight(value); + } + + @Override + public void setWidth(ImageView view, @Nullable String value) { + view.setWidth(value); + } + + @Override + public void setHeight(ImageView view, @Nullable String value) { + view.setHeight(value); + } + + @ReactProp(name = "src") public void setSrc(ImageView node, @Nullable ReadableMap src) { node.setSrc(src); } @@ -612,12 +1043,19 @@ class RenderableViewManager extends ViewGroupManager { } } - static class CircleViewManager extends RenderableViewManager { + static class CircleViewManager extends RenderableViewManager implements RNSVGCircleManagerInterface { CircleViewManager() { super(SVGClass.RNSVGCircle); + mDelegate = new RNSVGCircleManagerDelegate(this); } - @ReactProp(name = "cx") + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } + + @ReactProp(name = "cx") public void setCx(CircleView node, Dynamic cx) { node.setCx(cx); } @@ -631,12 +1069,34 @@ class RenderableViewManager extends ViewGroupManager { public void setR(CircleView node, Dynamic r) { node.setR(r); } + + @Override + public void setCx(CircleView view, String value) { + view.setCx(value); + } + + @Override + public void setCy(CircleView view, String value) { + view.setCy(value); + } + + @Override + public void setR(CircleView view, String value) { + view.setR(value); + } } - static class EllipseViewManager extends RenderableViewManager { - EllipseViewManager() { - super(SVGClass.RNSVGEllipse); - } + static class EllipseViewManager extends RenderableViewManager implements RNSVGEllipseManagerInterface { + EllipseViewManager() { + super(SVGClass.RNSVGEllipse); + mDelegate = new RNSVGEllipseManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "cx") public void setCx(EllipseView node, Dynamic cx) { @@ -657,12 +1117,40 @@ class RenderableViewManager extends ViewGroupManager { public void setRy(EllipseView node, Dynamic ry) { node.setRy(ry); } + + @Override + public void setCx(EllipseView view, @Nullable String value) { + view.setCx(value); + } + + @Override + public void setCy(EllipseView view, @Nullable String value) { + view.setCy(value); + } + + @Override + public void setRx(EllipseView view, @Nullable String value) { + view.setRx(value); + } + + @Override + public void setRy(EllipseView view, @Nullable String value) { + view.setRy(value); + } } - static class LineViewManager extends RenderableViewManager { - LineViewManager() { - super(SVGClass.RNSVGLine); - } + static class LineViewManager extends RenderableViewManager implements RNSVGLineManagerInterface { + + LineViewManager() { + super(SVGClass.RNSVGLine); + mDelegate = new RNSVGLineManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "x1") public void setX1(LineView node, Dynamic x1) { @@ -683,12 +1171,40 @@ class RenderableViewManager extends ViewGroupManager { public void setY2(LineView node, Dynamic y2) { node.setY2(y2); } + + @Override + public void setX1(LineView view, @Nullable String value) { + view.setX1(value); } - static class RectViewManager extends RenderableViewManager { - RectViewManager() { - super(SVGClass.RNSVGRect); - } + @Override + public void setY1(LineView view, @Nullable String value) { + view.setY1(value); + } + + @Override + public void setX2(LineView view, @Nullable String value) { + view.setX2(value); + } + + @Override + public void setY2(LineView view, @Nullable String value) { + view.setY2(value); + } + } + + static class RectViewManager extends RenderableViewManager implements RNSVGRectManagerInterface { + + RectViewManager() { + super(SVGClass.RNSVGRect); + mDelegate = new RNSVGRectManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "x") public void setX(RectView node, Dynamic x) { @@ -719,31 +1235,131 @@ class RenderableViewManager extends ViewGroupManager { public void setRy(RectView node, Dynamic ry) { node.setRy(ry); } + + @Override + public void setX(RectView view, @Nullable String value) { + view.setX(value); } - static class ClipPathViewManager extends GroupViewManager { + @Override + public void setY(RectView view, @Nullable String value) { + view.setY(value); + + } + + @Override + public void setRectheight(RectView view, @Nullable String value) { + view.setHeight(value); + + } + + @Override + public void setRectwidth(RectView view, @Nullable String value) { + view.setWidth(value); + + } + + @Override + public void setHeight(RectView view, @Nullable String value) { + view.setHeight(value); + + } + + @Override + public void setWidth(RectView view, @Nullable String value) { + view.setWidth(value); + + } + + @Override + public void setRx(RectView view, @Nullable String value) { + view.setRx(value); + + } + + @Override + public void setRy(RectView view, @Nullable String value) { + view.setRy(value); + + } + } + + static class ClipPathViewManager extends GroupViewManagerAbstract implements RNSVGClipPathManagerInterface{ ClipPathViewManager() { super(SVGClass.RNSVGClipPath); + mDelegate = new RNSVGClipPathManagerDelegate(this); } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } } - static class DefsViewManager extends RenderableViewManager { - DefsViewManager() { - super(SVGClass.RNSVGDefs); - } + static class DefsViewManager extends VirtualViewManager implements RNSVGDefsManagerInterface { + + DefsViewManager() { + super(SVGClass.RNSVGDefs); + mDelegate = new RNSVGDefsManagerDelegate(this); } - static class UseViewManager extends RenderableViewManager { - UseViewManager() { - super(SVGClass.RNSVGUse); - } + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } + } + + static class UseViewManager extends RenderableViewManager implements RNSVGUseManagerInterface { + + UseViewManager() { + super(SVGClass.RNSVGUse); + mDelegate = new RNSVGUseManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "href") public void setHref(UseView node, String href) { node.setHref(href); } - @ReactProp(name = "x") + @Override + public void setX(UseView view, @Nullable String value) { + view.setX(value); + } + + @Override + public void setY(UseView view, @Nullable String value) { + view.setY(value); + } + + @Override + public void setUseheight(UseView view, @Nullable String value) { + view.setHeight(value); + } + + @Override + public void setUsewidth(UseView view, @Nullable String value) { + view.setWidth(value); + } + + @Override + public void setHeight(UseView view, @Nullable String value) { + view.setHeight(value); + } + + @Override + public void setWidth(UseView view, @Nullable String value) { + view.setWidth(value); + } + + @ReactProp(name = "x") public void setX(UseView node, Dynamic x) { node.setX(x); } @@ -764,10 +1380,17 @@ class RenderableViewManager extends ViewGroupManager { } } - static class SymbolManager extends GroupViewManager { - SymbolManager() { - super(SVGClass.RNSVGSymbol); - } + static class SymbolManager extends GroupViewManagerAbstract implements RNSVGSymbolManagerInterface { + SymbolManager() { + super(SVGClass.RNSVGSymbol); + mDelegate = new RNSVGSymbolManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "minX") public void setMinX(SymbolView node, float minX) { @@ -800,10 +1423,17 @@ class RenderableViewManager extends ViewGroupManager { } } - static class PatternManager extends GroupViewManager { - PatternManager() { - super(SVGClass.RNSVGPattern); - } + static class PatternManager extends GroupViewManagerAbstract implements RNSVGPatternManagerInterface { + PatternManager() { + super(SVGClass.RNSVGPattern); + mDelegate = new RNSVGPatternManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "x") public void setX(PatternView node, Dynamic x) { @@ -825,7 +1455,37 @@ class RenderableViewManager extends ViewGroupManager { node.setHeight(height); } - @ReactProp(name = "patternUnits") + @Override + public void setX(PatternView view, @Nullable String value) { + view.setX(value); + } + + @Override + public void setY(PatternView view, @Nullable String value) { + view.setY(value); + } + + @Override + public void setPatternheight(PatternView view, @Nullable String value) { + view.setHeight(value); + } + + @Override + public void setPatternwidth(PatternView view, @Nullable String value) { + view.setWidth(value); + } + + @Override + public void setHeight(PatternView view, @Nullable String value) { + view.setHeight(value); + } + + @Override + public void setWidth(PatternView view, @Nullable String value) { + view.setWidth(value); + } + + @ReactProp(name = "patternUnits") public void setPatternUnits(PatternView node, int patternUnits) { node.setPatternUnits(patternUnits); } @@ -871,10 +1531,17 @@ class RenderableViewManager extends ViewGroupManager { } } - static class MaskManager extends GroupViewManager { - MaskManager() { - super(SVGClass.RNSVGMask); - } + static class MaskManager extends GroupViewManagerAbstract implements RNSVGMaskManagerInterface { + MaskManager() { + super(SVGClass.RNSVGMask); + mDelegate = new RNSVGMaskManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "x") public void setX(MaskView node, Dynamic x) { @@ -896,7 +1563,37 @@ class RenderableViewManager extends ViewGroupManager { node.setHeight(height); } - @ReactProp(name = "maskUnits") + @Override + public void setX(MaskView view, @Nullable String value) { + view.setX(value); + } + + @Override + public void setY(MaskView view, @Nullable String value) { + view.setY(value); + } + + @Override + public void setMaskheight(MaskView view, @Nullable String value) { + view.setHeight(value); + } + + @Override + public void setMaskwidth(MaskView view, @Nullable String value) { + view.setWidth(value); + } + + @Override + public void setHeight(MaskView view, @Nullable String value) { + view.setHeight(value); + } + + @Override + public void setWidth(MaskView view, @Nullable String value) { + view.setWidth(value); + } + + @ReactProp(name = "maskUnits") public void setMaskUnits(MaskView node, int maskUnits) { node.setMaskUnits(maskUnits); } @@ -912,11 +1609,17 @@ class RenderableViewManager extends ViewGroupManager { } } - static class ForeignObjectManager extends GroupViewManager { + static class ForeignObjectManager extends GroupViewManagerAbstract implements RNSVGForeignObjectManagerInterface { ForeignObjectManager() { - super(SVGClass.RNSVGForeignObject); + super(SVGClass.RNSVGForeignObject); + mDelegate = new RNSVGForeignObjectManagerDelegate(this); } + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "x") public void setX(ForeignObjectView node, Dynamic x) { node.setX(x); @@ -936,12 +1639,49 @@ class RenderableViewManager extends ViewGroupManager { public void setHeight(ForeignObjectView node, Dynamic height) { node.setHeight(height); } + + @Override + public void setX(ForeignObjectView view, @Nullable String value) { + view.setX(value); + } + + @Override + public void setY(ForeignObjectView view, @Nullable String value) { + view.setY(value); + } + + @Override + public void setForeignObjectheight(ForeignObjectView view, @Nullable String value) { + view.setHeight(value); + } + + @Override + public void setForeignObjectwidth(ForeignObjectView view, @Nullable String value) { + view.setWidth(value); + } + + @Override + public void setHeight(ForeignObjectView view, @Nullable String value) { + view.setHeight(value); + } + + @Override + public void setWidth(ForeignObjectView view, @Nullable String value) { + view.setWidth(value); + } + } + + static class MarkerManager extends GroupViewManagerAbstract implements RNSVGMarkerManagerInterface { + MarkerManager() { + super(SVGClass.RNSVGMarker); + mDelegate = new RNSVGMarkerManagerDelegate(this); } - static class MarkerManager extends GroupViewManager { - MarkerManager() { - super(SVGClass.RNSVGMarker); - } + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "refX") public void setRefX(MarkerView node, Dynamic refX) { @@ -963,7 +1703,27 @@ class RenderableViewManager extends ViewGroupManager { node.setMarkerHeight(markerHeight); } - @ReactProp(name = "markerUnits") + @Override + public void setRefX(MarkerView view, @Nullable String value) { + view.setRefX(value); + } + + @Override + public void setRefY(MarkerView view, @Nullable String value) { + view.setRefY(value); + } + + @Override + public void setMarkerHeight(MarkerView view, @Nullable String value) { + view.setMarkerHeight(value); + } + + @Override + public void setMarkerWidth(MarkerView view, @Nullable String value) { + view.setMarkerWidth(value); + } + + @ReactProp(name = "markerUnits") public void setMarkerUnits(MarkerView node, String markerUnits) { node.setMarkerUnits(markerUnits); } @@ -1004,10 +1764,19 @@ class RenderableViewManager extends ViewGroupManager { } } - static class LinearGradientManager extends RenderableViewManager { - LinearGradientManager() { - super(SVGClass.RNSVGLinearGradient); - } + static class LinearGradientManager extends VirtualViewManager implements RNSVGLinearGradientManagerInterface { + + LinearGradientManager() { + super(SVGClass.RNSVGLinearGradient); + mDelegate = new RNSVGLinearGradientManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } + @ReactProp(name = "x1") public void setX1(LinearGradientView node, Dynamic x1) { @@ -1029,7 +1798,27 @@ class RenderableViewManager extends ViewGroupManager { node.setY2(y2); } - @ReactProp(name = "gradient") + @Override + public void setX1(LinearGradientView view, @Nullable String value) { + view.setX1(value); + } + + @Override + public void setY1(LinearGradientView view, @Nullable String value) { + view.setY1(value); + } + + @Override + public void setX2(LinearGradientView view, @Nullable String value) { + view.setX2(value); + } + + @Override + public void setY2(LinearGradientView view, @Nullable String value) { + view.setY2(value); + } + + @ReactProp(name = "gradient") public void setGradient(LinearGradientView node, ReadableArray gradient) { node.setGradient(gradient); } @@ -1045,10 +1834,18 @@ class RenderableViewManager extends ViewGroupManager { } } - static class RadialGradientManager extends RenderableViewManager { - RadialGradientManager() { - super(SVGClass.RNSVGRadialGradient); - } + static class RadialGradientManager extends VirtualViewManager implements RNSVGRadialGradientManagerInterface { + + RadialGradientManager() { + super(SVGClass.RNSVGRadialGradient); + mDelegate = new RNSVGRadialGradientManagerDelegate(this); + } + + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } @ReactProp(name = "fx") public void setFx(RadialGradientView node, Dynamic fx) { @@ -1080,7 +1877,37 @@ class RenderableViewManager extends ViewGroupManager { node.setCy(cy); } - @ReactProp(name = "gradient") + @Override + public void setFx(RadialGradientView view, @Nullable String value) { + view.setFx(value); + } + + @Override + public void setFy(RadialGradientView view, @Nullable String value) { + view.setFy(value); + } + + @Override + public void setCx(RadialGradientView view, @Nullable String value) { + view.setCx(value); + } + + @Override + public void setCy(RadialGradientView view, @Nullable String value) { + view.setCy(value); + } + + @Override + public void setRx(RadialGradientView view, @Nullable String value) { + view.setRx(value); + } + + @Override + public void setRy(RadialGradientView view, @Nullable String value) { + view.setRy(value); + } + + @ReactProp(name = "gradient") public void setGradient(RadialGradientView node, ReadableArray gradient) { node.setGradient(gradient); } @@ -1096,284 +1923,82 @@ class RenderableViewManager extends ViewGroupManager { } } - private RenderableViewManager(SVGClass svgclass) { - svgClass = svgclass; - mClassName = svgclass.toString(); - } - - @Nonnull - @Override - public String getName() { - return mClassName; - } - - @ReactProp(name = "mask") - public void setMask(VirtualView node, String mask) { - node.setMask(mask); - } - - @ReactProp(name = "markerStart") - public void setMarkerStart(VirtualView node, String markerStart) { - node.setMarkerStart(markerStart); - } - - @ReactProp(name = "markerMid") - public void setMarkerMid(VirtualView node, String markerMid) { - node.setMarkerMid(markerMid); - } - - @ReactProp(name = "markerEnd") - public void setMarkerEnd(VirtualView node, String markerEnd) { - node.setMarkerEnd(markerEnd); - } - - @ReactProp(name = "clipPath") - public void setClipPath(VirtualView node, String clipPath) { - node.setClipPath(clipPath); - } - - @ReactProp(name = "clipRule") - public void setClipRule(VirtualView node, int clipRule) { - node.setClipRule(clipRule); - } - - @ReactProp(name = "opacity", defaultFloat = 1f) - public void setOpacity(@Nonnull VirtualView node, float opacity) { - node.setOpacity(opacity); - } - - @ReactProp(name = "fill") - public void setFill(RenderableView node, @Nullable Dynamic fill) { + @ReactProp(name = "fill") + public void setFill(T node, @Nullable Dynamic fill) { node.setFill(fill); } + public void setFill(T view, @Nullable ReadableMap value) { + view.setFill(value); + } + @ReactProp(name = "fillOpacity", defaultFloat = 1f) - public void setFillOpacity(RenderableView node, float fillOpacity) { + public void setFillOpacity(T node, float fillOpacity) { node.setFillOpacity(fillOpacity); } @ReactProp(name = "fillRule", defaultInt = FILL_RULE_NONZERO) - public void setFillRule(RenderableView node, int fillRule) { + public void setFillRule(T node, int fillRule) { node.setFillRule(fillRule); } @ReactProp(name = "stroke") - public void setStroke(RenderableView node, @Nullable Dynamic strokeColors) { + public void setStroke(T node, @Nullable Dynamic strokeColors) { node.setStroke(strokeColors); } + public void setStroke(T view, @Nullable ReadableMap value) { + view.setStroke(value); + } + @ReactProp(name = "strokeOpacity", defaultFloat = 1f) - public void setStrokeOpacity(RenderableView node, float strokeOpacity) { + public void setStrokeOpacity(T node, float strokeOpacity) { node.setStrokeOpacity(strokeOpacity); } @ReactProp(name = "strokeDasharray") - public void setStrokeDasharray(RenderableView node, @Nullable ReadableArray strokeDasharray) { + public void setStrokeDasharray(T node, @Nullable ReadableArray strokeDasharray) { node.setStrokeDasharray(strokeDasharray); } @ReactProp(name = "strokeDashoffset") - public void setStrokeDashoffset(RenderableView node, float strokeDashoffset) { + public void setStrokeDashoffset(T node, float strokeDashoffset) { node.setStrokeDashoffset(strokeDashoffset); } @ReactProp(name = "strokeWidth") - public void setStrokeWidth(RenderableView node, Dynamic strokeWidth) { + public void setStrokeWidth(T node, Dynamic strokeWidth) { node.setStrokeWidth(strokeWidth); } + public void setStrokeWidth(T view, @Nullable String value) { + view.setStrokeWidth(value); + } + @ReactProp(name = "strokeMiterlimit", defaultFloat = 4f) - public void setStrokeMiterlimit(RenderableView node, float strokeMiterlimit) { + public void setStrokeMiterlimit(T node, float strokeMiterlimit) { node.setStrokeMiterlimit(strokeMiterlimit); } @ReactProp(name = "strokeLinecap", defaultInt = CAP_ROUND) - public void setStrokeLinecap(RenderableView node, int strokeLinecap) { + public void setStrokeLinecap(T node, int strokeLinecap) { node.setStrokeLinecap(strokeLinecap); } @ReactProp(name = "strokeLinejoin", defaultInt = JOIN_ROUND) - public void setStrokeLinejoin(RenderableView node, int strokeLinejoin) { + public void setStrokeLinejoin(T node, int strokeLinejoin) { node.setStrokeLinejoin(strokeLinejoin); } @ReactProp(name = "vectorEffect") - public void setVectorEffect(RenderableView node, int vectorEffect) { + public void setVectorEffect(T node, int vectorEffect) { node.setVectorEffect(vectorEffect); } - @ReactProp(name = "matrix") - public void setMatrix(VirtualView node, Dynamic matrixArray) { - node.setMatrix(matrixArray); - } - - @ReactProp(name = "transform") - public void setTransform(VirtualView node, Dynamic matrix) { - if (matrix.getType() != ReadableType.Array) { - return; - } - ReadableArray ma = matrix.asArray(); - if (ma == null) { - resetTransformProperty(node); - } else { - setTransformProperty(node, ma); - } - Matrix m = node.getMatrix(); - node.mTransform = m; - node.mTransformInvertible = m.invert(node.mInvTransform); - } - @ReactProp(name = "propList") - public void setPropList(RenderableView node, @Nullable ReadableArray propList) { + public void setPropList(T node, @Nullable ReadableArray propList) { node.setPropList(propList); } - @ReactProp(name = "responsible") - public void setResponsible(VirtualView node, boolean responsible) { - node.setResponsible(responsible); - } - - @ReactProp(name = ViewProps.POINTER_EVENTS) - public void setPointerEvents(VirtualView view, @androidx.annotation.Nullable String pointerEventsStr) { - if (pointerEventsStr == null) { - view.setPointerEvents(PointerEvents.AUTO); - } else { - PointerEvents pointerEvents = - PointerEvents.valueOf(pointerEventsStr.toUpperCase(Locale.US).replace("-", "_")); - view.setPointerEvents(pointerEvents); - } - } - - @ReactProp(name = "onLayout") - public void setOnLayout(VirtualView node, boolean onLayout) { - node.setOnLayout(onLayout); - } - - @ReactProp(name = "name") - public void setName(VirtualView node, String name) { - node.setName(name); - } - - @ReactProp(name = "display") - public void setDisplay(VirtualView node, String display) { - node.setDisplay(display); - } - - private void invalidateSvgView(VirtualView node) { - SvgView view = node.getSvgView(); - if (view!= null) { - view.invalidate(); - } - if (node instanceof TextView) { - ((TextView)node).getTextContainer().clearChildCache(); - } - } - - @Override - protected void addEventEmitters(@Nonnull ThemedReactContext reactContext, @Nonnull VirtualView view) { - super.addEventEmitters(reactContext, view); - view.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() { - @Override - public void onChildViewAdded(View view, View view1) { - if (view instanceof VirtualView) { - invalidateSvgView((VirtualView) view); - } - } - - @Override - public void onChildViewRemoved(View view, View view1) { - if (view instanceof VirtualView) { - invalidateSvgView((VirtualView) view); - } - } - }); - } - - /** - * Callback that will be triggered after all properties are updated in current update transaction - * (all @ReactProp handlers for properties updated in current transaction have been called). If - * you want to override this method you should call super.onAfterUpdateTransaction from it as - * the parent class of the ViewManager may rely on callback being executed. - */ - @Override - protected void onAfterUpdateTransaction(@Nonnull VirtualView node) { - super.onAfterUpdateTransaction(node); - invalidateSvgView(node); - } - - @Nonnull - @Override - protected VirtualView createViewInstance(@Nonnull ThemedReactContext reactContext) { - switch (svgClass) { - case RNSVGGroup: - return new GroupView(reactContext); - case RNSVGPath: - return new PathView(reactContext); - case RNSVGCircle: - return new CircleView(reactContext); - case RNSVGEllipse: - return new EllipseView(reactContext); - case RNSVGLine: - return new LineView(reactContext); - case RNSVGRect: - return new RectView(reactContext); - case RNSVGText: - return new TextView(reactContext); - case RNSVGTSpan: - return new TSpanView(reactContext); - case RNSVGTextPath: - return new TextPathView(reactContext); - case RNSVGImage: - return new ImageView(reactContext); - case RNSVGClipPath: - return new ClipPathView(reactContext); - case RNSVGDefs: - return new DefsView(reactContext); - case RNSVGUse: - return new UseView(reactContext); - case RNSVGSymbol: - return new SymbolView(reactContext); - case RNSVGLinearGradient: - return new LinearGradientView(reactContext); - case RNSVGRadialGradient: - return new RadialGradientView(reactContext); - case RNSVGPattern: - return new PatternView(reactContext); - case RNSVGMask: - return new MaskView(reactContext); - case RNSVGMarker: - return new MarkerView(reactContext); - case RNSVGForeignObject: - return new ForeignObjectView(reactContext); - default: - throw new IllegalStateException("Unexpected type " + svgClass.toString()); - } - } - - private static final SparseArray mTagToRenderableView = new SparseArray<>(); - private static final SparseArray mTagToRunnable = new SparseArray<>(); - - static void setRenderableView(int tag, RenderableView svg) { - mTagToRenderableView.put(tag, svg); - Runnable task = mTagToRunnable.get(tag); - if (task != null) { - task.run(); - mTagToRunnable.delete(tag); - } - } - - static void runWhenViewIsAvailable(int tag, Runnable task) { - mTagToRunnable.put(tag, task); - } - - static @Nullable RenderableView getRenderableViewByTag(int tag) { - return mTagToRenderableView.get(tag); - } - - @Override - public void onDropViewInstance(@Nonnull VirtualView view) { - super.onDropViewInstance(view); - mTagToRenderableView.remove(view.getId()); - } } diff --git a/android/src/main/java/com/horcrux/svg/SVGLength.java b/android/src/main/java/com/horcrux/svg/SVGLength.java index 3fc4cbd6..b2203bc6 100644 --- a/android/src/main/java/com/horcrux/svg/SVGLength.java +++ b/android/src/main/java/com/horcrux/svg/SVGLength.java @@ -6,136 +6,153 @@ import com.facebook.react.bridge.ReadableArray; import java.util.ArrayList; class SVGLength { - // https://www.w3.org/TR/SVG/types.html#InterfaceSVGLength - public enum UnitType { - UNKNOWN, - NUMBER, - PERCENTAGE, - EMS, - EXS, - PX, - CM, - MM, - IN, - PT, - PC, - } + // https://www.w3.org/TR/SVG/types.html#InterfaceSVGLength + public enum UnitType { + UNKNOWN, + NUMBER, + PERCENTAGE, + EMS, + EXS, + PX, + CM, + MM, + IN, + PT, + PC, + } - final double value; - final UnitType unit; - private SVGLength() { - value = 0; - unit = UnitType.UNKNOWN; - } - SVGLength(double number) { - value = number; + final double value; + final UnitType unit; + + private SVGLength() { + value = 0; + unit = UnitType.UNKNOWN; + } + + SVGLength(double number) { + value = number; + unit = UnitType.NUMBER; + } + + private SVGLength(String length) { + length = length.trim(); + int stringLength = length.length(); + int percentIndex = stringLength - 1; + if (stringLength == 0 || length.equals("normal")) { + unit = UnitType.UNKNOWN; + value = 0; + } else if (length.codePointAt(percentIndex) == '%') { + unit = UnitType.PERCENTAGE; + value = Double.valueOf(length.substring(0, percentIndex)); + } else { + int twoLetterUnitIndex = stringLength - 2; + if (twoLetterUnitIndex > 0) { + String lastTwo = length.substring(twoLetterUnitIndex); + int end = twoLetterUnitIndex; + switch (lastTwo) { + case "px": + unit = UnitType.NUMBER; + break; + + case "em": + unit = UnitType.EMS; + break; + case "ex": + unit = UnitType.EXS; + break; + + case "pt": + unit = UnitType.PT; + break; + + case "pc": + unit = UnitType.PC; + break; + + case "mm": + unit = UnitType.MM; + break; + + case "cm": + unit = UnitType.CM; + break; + + case "in": + unit = UnitType.IN; + break; + + default: + unit = UnitType.NUMBER; + end = stringLength; + } + value = Double.valueOf(length.substring(0, end)); + } else { unit = UnitType.NUMBER; + value = Double.valueOf(length); + } } - private SVGLength(String length) { - length = length.trim(); - int stringLength = length.length(); - int percentIndex = stringLength - 1; - if (stringLength == 0 || length.equals("normal")) { - unit = UnitType.UNKNOWN; - value = 0; - } else if (length.codePointAt(percentIndex) == '%') { - unit = UnitType.PERCENTAGE; - value = Double.valueOf(length.substring(0, percentIndex)); - } else { - int twoLetterUnitIndex = stringLength - 2; - if (twoLetterUnitIndex > 0) { - String lastTwo = length.substring(twoLetterUnitIndex); - int end = twoLetterUnitIndex; - switch (lastTwo) { - case "px": - unit = UnitType.NUMBER; - break; + } - case "em": - unit = UnitType.EMS; - break; - case "ex": - unit = UnitType.EXS; - break; + static SVGLength from(Dynamic dynamic) { + switch (dynamic.getType()) { + case Number: + return new SVGLength(dynamic.asDouble()); + case String: + return new SVGLength(dynamic.asString()); + default: + return new SVGLength(); + } + } - case "pt": - unit = UnitType.PT; - break; + static SVGLength from(String string) { + return new SVGLength(string); + } - case "pc": - unit = UnitType.PC; - break; + static String toString(Dynamic dynamic) { + switch (dynamic.getType()) { + case Number: + return String.valueOf(dynamic.asDouble()); + case String: + return dynamic.asString(); + default: + return null; + } + } - case "mm": - unit = UnitType.MM; - break; - - case "cm": - unit = UnitType.CM; - break; - - case "in": - unit = UnitType.IN; - break; - - default: - unit = UnitType.NUMBER; - end = stringLength; - } - value = Double.valueOf(length.substring(0, end)); - } else { - unit = UnitType.NUMBER; - value = Double.valueOf(length); - } + static ArrayList arrayFrom(Dynamic dynamic) { + switch (dynamic.getType()) { + case Number: { + ArrayList list = new ArrayList<>(1); + list.add(new SVGLength(dynamic.asDouble())); + return list; + } + case Array: { + ReadableArray arr = dynamic.asArray(); + int size = arr.size(); + ArrayList list = new ArrayList<>(size); + for (int i = 0; i < size; i++) { + Dynamic val = arr.getDynamic(i); + list.add(from(val)); } + return list; + } + case String: { + ArrayList list = new ArrayList<>(1); + list.add(new SVGLength(dynamic.asString())); + return list; + } + default: + return null; } + } - static SVGLength from(Dynamic dynamic) { - switch (dynamic.getType()) { - case Number: - return new SVGLength(dynamic.asDouble()); - case String: - return new SVGLength(dynamic.asString()); - default: - return new SVGLength(); - } - } - - static String toString(Dynamic dynamic) { - switch (dynamic.getType()) { - case Number: - return String.valueOf(dynamic.asDouble()); - case String: - return dynamic.asString(); - default: - return null; - } - } - - static ArrayList arrayFrom(Dynamic dynamic) { - switch (dynamic.getType()) { - case Number: { - ArrayList list = new ArrayList<>(1); - list.add(new SVGLength(dynamic.asDouble())); - return list; - } - case Array: { - ReadableArray arr = dynamic.asArray(); - int size = arr.size(); - ArrayList list = new ArrayList<>(size); - for (int i = 0; i < size; i++) { - Dynamic val = arr.getDynamic(i); - list.add(from(val)); - } - return list; - } - case String: { - ArrayList list = new ArrayList<>(1); - list.add(new SVGLength(dynamic.asString())); - return list; - } - default: - return null; - } + static ArrayList arrayFrom(ReadableArray arr) { + int size = arr.size(); + ArrayList list = new ArrayList<>(size); + for (int i = 0; i < size; i++) { + Dynamic val = arr.getDynamic(i); + list.add(from(val)); } + return list; + } } diff --git a/android/src/main/java/com/horcrux/svg/SvgPackage.java b/android/src/main/java/com/horcrux/svg/SvgPackage.java index ce74e773..bc3a09b8 100644 --- a/android/src/main/java/com/horcrux/svg/SvgPackage.java +++ b/android/src/main/java/com/horcrux/svg/SvgPackage.java @@ -14,6 +14,7 @@ import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.uimanager.ViewManager; +import com.facebook.soloader.SoLoader; import java.util.Arrays; import java.util.Collections; @@ -55,6 +56,13 @@ public class SvgPackage implements ReactPackage { @Nonnull @Override public List createNativeModules(@Nonnull ReactApplicationContext reactContext) { + if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { + // For Fabric, we load c++ native library here, this triggers svg's Fabric + // component registration which is necessary in order to avoid asking users + // to manually add init calls in their application code. + // This should no longer be needed if RN's autolink mechanism has Fabric support + SoLoader.loadLibrary("rnsvg_modules"); + } return Arrays.asList( new SvgViewModule(reactContext), new RNSVGRenderableManager(reactContext) diff --git a/android/src/main/java/com/horcrux/svg/SvgView.java b/android/src/main/java/com/horcrux/svg/SvgView.java index 82dc3285..9c35cf1b 100644 --- a/android/src/main/java/com/horcrux/svg/SvgView.java +++ b/android/src/main/java/com/horcrux/svg/SvgView.java @@ -43,7 +43,7 @@ import javax.annotation.Nullable; * Custom {@link View} implementation that draws an RNSVGSvg React view and its children. */ @SuppressLint("ViewConstructor") -public class SvgView extends ReactViewGroup implements ReactCompoundView, ReactCompoundViewGroup { +public class SvgView extends FabricEnabledViewGroup implements ReactCompoundView, ReactCompoundViewGroup { @Override public boolean interceptsTouchEvent(float touchX, float touchY) { @@ -71,6 +71,8 @@ public class SvgView extends ReactViewGroup implements ReactCompoundView, ReactC public SvgView(ReactContext reactContext) { super(reactContext); mScale = DisplayMetricsHolder.getScreenDisplayMetrics().density; + // for some reason on Fabric the `onDraw` won't be called without it + setWillNotDraw(false); } @Override @@ -189,6 +191,12 @@ public class SvgView extends ReactViewGroup implements ReactCompoundView, ReactC clearChildCache(); } + public void setTintColor(@Nullable Integer tintColor) { + mTintColor = tintColor; + invalidate(); + clearChildCache(); + } + @ReactProp(name = "minX") public void setMinX(float minX) { mMinX = minX; @@ -224,6 +232,12 @@ public class SvgView extends ReactViewGroup implements ReactCompoundView, ReactC clearChildCache(); } + public void setBbWidth(String bbWidth) { + mbbWidth = SVGLength.from(bbWidth); + invalidate(); + clearChildCache(); + } + @ReactProp(name = "bbHeight") public void setBbHeight(Dynamic bbHeight) { mbbHeight = SVGLength.from(bbHeight); @@ -231,6 +245,12 @@ public class SvgView extends ReactViewGroup implements ReactCompoundView, ReactC clearChildCache(); } + public void setBbHeight(String bbHeight) { + mbbHeight = SVGLength.from(bbHeight); + invalidate(); + clearChildCache(); + } + @ReactProp(name = "align") public void setAlign(String align) { mAlign = align; diff --git a/android/src/main/java/com/horcrux/svg/SvgViewManager.java b/android/src/main/java/com/horcrux/svg/SvgViewManager.java index 5d662f1b..77eadb28 100644 --- a/android/src/main/java/com/horcrux/svg/SvgViewManager.java +++ b/android/src/main/java/com/horcrux/svg/SvgViewManager.java @@ -13,9 +13,12 @@ import android.util.SparseArray; import com.facebook.react.bridge.Dynamic; import com.facebook.react.uimanager.ThemedReactContext; +import com.facebook.react.uimanager.ViewManagerDelegate; import com.facebook.react.uimanager.annotations.ReactProp; import com.facebook.react.views.view.ReactViewGroup; import com.facebook.react.views.view.ReactViewManager; +import com.facebook.react.viewmanagers.RNSVGSvgViewManagerDelegate; +import com.facebook.react.viewmanagers.RNSVGSvgViewManagerInterface; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -24,13 +27,23 @@ import javax.annotation.Nullable; * ViewManager for RNSVGSvgView React views. Renders as a {@link SvgView} and handles * invalidating the native view on view updates happening in the underlying tree. */ -class SvgViewManager extends ReactViewManager { +class SvgViewManager extends ReactViewManager implements RNSVGSvgViewManagerInterface { private static final String REACT_CLASS = "RNSVGSvgView"; private static final SparseArray mTagToSvgView = new SparseArray<>(); private static final SparseArray mTagToRunnable = new SparseArray<>(); + private final ViewManagerDelegate mDelegate; + + protected ViewManagerDelegate getDelegate(){ + return mDelegate; + } + + public SvgViewManager() { + mDelegate = new RNSVGSvgViewManagerDelegate(this); + } + static void setSvgView(int tag, SvgView svg) { mTagToSvgView.put(tag, svg); Runnable task = mTagToRunnable.get(tag); @@ -56,7 +69,7 @@ class SvgViewManager extends ReactViewManager { @Nonnull @Override - public SvgView createViewInstance(ThemedReactContext reactContext) { + public ReactViewGroup createViewInstance(ThemedReactContext reactContext) { return new SvgView(reactContext); } @@ -88,21 +101,25 @@ class SvgViewManager extends ReactViewManager { } @ReactProp(name = "minX") + @Override public void setMinX(SvgView node, float minX) { node.setMinX(minX); } @ReactProp(name = "minY") + @Override public void setMinY(SvgView node, float minY) { node.setMinY(minY); } @ReactProp(name = "vbWidth") + @Override public void setVbWidth(SvgView node, float vbWidth) { node.setVbWidth(vbWidth); } @ReactProp(name = "vbHeight") + @Override public void setVbHeight(SvgView node, float vbHeight) { node.setVbHeight(vbHeight); } @@ -118,12 +135,35 @@ class SvgViewManager extends ReactViewManager { } @ReactProp(name = "align") + @Override public void setAlign(SvgView node, String align) { node.setAlign(align); } @ReactProp(name = "meetOrSlice") + @Override public void setMeetOrSlice(SvgView node, int meetOrSlice) { node.setMeetOrSlice(meetOrSlice); } + + @Override + public void setTintColor(SvgView view, @Nullable Integer value) { + view.setTintColor(value); + } + + @Override + public void setColor(SvgView view, @Nullable Integer value) { + view.setTintColor(value); + } + + @Override + public void setBbWidth(SvgView view, @Nullable String value) { + view.setBbWidth(value); + } + + @Override + public void setBbHeight(SvgView view, @Nullable String value) { + view.setBbHeight(value); + } + } diff --git a/android/src/main/java/com/horcrux/svg/TextPathView.java b/android/src/main/java/com/horcrux/svg/TextPathView.java index 34c9d282..90bcc120 100644 --- a/android/src/main/java/com/horcrux/svg/TextPathView.java +++ b/android/src/main/java/com/horcrux/svg/TextPathView.java @@ -48,6 +48,11 @@ class TextPathView extends TextView { invalidate(); } + public void setStartOffset(String startOffset) { + mStartOffset = SVGLength.from(startOffset); + invalidate(); + } + @ReactProp(name = "method") public void setMethod(@Nullable String method) { mMethod = TextPathMethod.valueOf(method); diff --git a/android/src/main/java/com/horcrux/svg/TextView.java b/android/src/main/java/com/horcrux/svg/TextView.java index 151e7fec..39cb3f48 100644 --- a/android/src/main/java/com/horcrux/svg/TextView.java +++ b/android/src/main/java/com/horcrux/svg/TextView.java @@ -19,6 +19,7 @@ import android.view.ViewParent; import com.facebook.react.bridge.Dynamic; import com.facebook.react.bridge.ReactContext; +import com.facebook.react.bridge.ReadableArray; import com.facebook.react.uimanager.annotations.ReactProp; import java.util.ArrayList; @@ -66,12 +67,22 @@ class TextView extends GroupView { invalidate(); } + public void setInlineSize(String inlineSize) { + mInlineSize = SVGLength.from(inlineSize); + invalidate(); + } + @ReactProp(name = "textLength") public void setTextLength(Dynamic length) { mTextLength = SVGLength.from(length); invalidate(); } + public void setTextLength(String length) { + mTextLength = SVGLength.from(length); + invalidate(); + } + @ReactProp(name = "lengthAdjust") public void setLengthAdjust(@Nullable String adjustment) { mLengthAdjust = TextLengthAdjust.valueOf(adjustment); @@ -90,6 +101,11 @@ class TextView extends GroupView { invalidate(); } + public void setBaselineShift(String baselineShift) { + mBaselineShift = baselineShift; + invalidate(); + } + @ReactProp(name = "verticalAlign") public void setVerticalAlign(@Nullable String verticalAlign) { if (verticalAlign != null) { @@ -118,30 +134,56 @@ class TextView extends GroupView { invalidate(); } + public void setRotate(ReadableArray rotate) { + mRotate = SVGLength.arrayFrom(rotate); + invalidate(); + } + @ReactProp(name = "dx") public void setDeltaX(Dynamic deltaX) { mDeltaX = SVGLength.arrayFrom(deltaX); invalidate(); } + public void setDeltaX(ReadableArray deltaX) { + mDeltaX = SVGLength.arrayFrom(deltaX); + invalidate(); + } + @ReactProp(name = "dy") public void setDeltaY(Dynamic deltaY) { mDeltaY = SVGLength.arrayFrom(deltaY); invalidate(); } + public void setDeltaY(ReadableArray deltaY) { + mDeltaY = SVGLength.arrayFrom(deltaY); + invalidate(); + } + @ReactProp(name = "x") public void setPositionX(Dynamic positionX) { mPositionX = SVGLength.arrayFrom(positionX); invalidate(); } - @ReactProp(name = "y") + public void setPositionX(ReadableArray positionX) { + mPositionX = SVGLength.arrayFrom(positionX); + invalidate(); + } + + + @ReactProp(name = "y") public void setPositionY(Dynamic positionY) { mPositionY = SVGLength.arrayFrom(positionY); invalidate(); } + public void setPositionY(ReadableArray positionY) { + mPositionY = SVGLength.arrayFrom(positionY); + invalidate(); + } + @Override void draw(Canvas canvas, Paint paint, float opacity) { setupGlyphContext(canvas); diff --git a/android/src/main/java/com/horcrux/svg/UseView.java b/android/src/main/java/com/horcrux/svg/UseView.java index d79c0a9f..a43f3263 100644 --- a/android/src/main/java/com/horcrux/svg/UseView.java +++ b/android/src/main/java/com/horcrux/svg/UseView.java @@ -45,24 +45,44 @@ class UseView extends RenderableView { invalidate(); } + public void setX(String x) { + mX = SVGLength.from(x); + invalidate(); + } + @ReactProp(name = "y") public void setY(Dynamic y) { mY = SVGLength.from(y); invalidate(); } + public void setY(String y) { + mY = SVGLength.from(y); + invalidate(); + } + @ReactProp(name = "width") public void setWidth(Dynamic width) { mW = SVGLength.from(width); invalidate(); } + public void setWidth(String width) { + mW = SVGLength.from(width); + invalidate(); + } + @ReactProp(name = "height") public void setHeight(Dynamic height) { mH = SVGLength.from(height); invalidate(); } + public void setHeight(String height) { + mH = SVGLength.from(height); + invalidate(); + } + @Override void draw(Canvas canvas, Paint paint, float opacity) { VirtualView template = getSvgView().getDefinedTemplate(mHref); diff --git a/android/src/main/java/com/horcrux/svg/VirtualView.java b/android/src/main/java/com/horcrux/svg/VirtualView.java index edb719cf..99e36104 100644 --- a/android/src/main/java/com/horcrux/svg/VirtualView.java +++ b/android/src/main/java/com/horcrux/svg/VirtualView.java @@ -13,6 +13,7 @@ import android.view.ViewParent; import com.facebook.common.logging.FLog; import com.facebook.react.bridge.Dynamic; import com.facebook.react.bridge.ReactContext; +import com.facebook.react.bridge.ReadableArray; import com.facebook.react.bridge.ReadableType; import com.facebook.react.common.ReactConstants; import com.facebook.react.uimanager.DisplayMetricsHolder; @@ -306,27 +307,32 @@ abstract public class VirtualView extends ReactViewGroup { public void setMatrix(Dynamic matrixArray) { ReadableType type = matrixArray.getType(); if (!matrixArray.isNull() && type.equals(ReadableType.Array)) { - int matrixSize = PropHelper.toMatrixData(matrixArray.asArray(), sRawMatrix, mScale); - if (matrixSize == 6) { - if (mMatrix == null) { - mMatrix = new Matrix(); - mInvMatrix = new Matrix(); - } - mMatrix.setValues(sRawMatrix); - mInvertible = mMatrix.invert(mInvMatrix); - } else if (matrixSize != -1) { - FLog.w(ReactConstants.TAG, "RNSVG: Transform matrices must be of size 6"); - } + setMatrix((ReadableArray) matrixArray); } else { mMatrix.reset(); mInvMatrix.reset(); mInvertible = true; + super.invalidate(); + clearParentCache(); } - - super.invalidate(); - clearParentCache(); } + public void setMatrix(ReadableArray matrixArray) { + int matrixSize = PropHelper.toMatrixData(matrixArray, sRawMatrix, mScale); + if (matrixSize == 6) { + if (mMatrix == null) { + mMatrix = new Matrix(); + mInvMatrix = new Matrix(); + } + mMatrix.setValues(sRawMatrix); + mInvertible = mMatrix.invert(mInvMatrix); + } else if (matrixSize != -1) { + FLog.w(ReactConstants.TAG, "RNSVG: Transform matrices must be of size 6"); + } + super.invalidate(); + clearParentCache(); + } + @ReactProp(name = "responsible") public void setResponsible(boolean responsible) { mResponsible = responsible; diff --git a/android/src/main/jni/Android.mk b/android/src/main/jni/Android.mk new file mode 100644 index 00000000..0a2f669f --- /dev/null +++ b/android/src/main/jni/Android.mk @@ -0,0 +1,43 @@ +SVG_MAIN_THIS_DIR := $(call my-dir) + +include $(REACT_ANDROID_DIR)/Android-prebuilt.mk + +include $(SVG_MAIN_THIS_DIR)/../../../build/generated/source/codegen/jni/Android.mk +include $(SVG_MAIN_THIS_DIR)/../../../../common/cpp/Android.mk + +include $(CLEAR_VARS) + +LOCAL_PATH := $(SVG_MAIN_THIS_DIR) +LOCAL_MODULE := rnsvg_modules + +LOCAL_C_INCLUDES := $(LOCAL_PATH) $(GENERATED_SRC_DIR)/codegen/jni +LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp) $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp) +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) $(GENERATED_SRC_DIR)/codegen/jni + +# Please note as one of the library listed is libreact_codegen_samplelibrary +# This name will be generated as libreact_codegen_ +# where is the one you specified in the Gradle configuration +LOCAL_SHARED_LIBRARIES := libjsi \ + libfbjni \ + libglog \ + libfolly_runtime \ + libyoga \ + libreact_nativemodule_core \ + libturbomodulejsijni \ + librrc_view \ + libreact_render_core \ + libreact_render_graphics \ + libfabricjni \ + libreact_debug \ + libreact_render_componentregistry \ + libreact_render_debug \ + libruntimeexecutor \ + libreact_render_mapbuffer \ + libreact_codegen_rncore \ + libreact_codegen_rnsvg + +LOCAL_CFLAGS := \ + -DLOG_TAG=\"ReactNative\" +LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall + +include $(BUILD_SHARED_LIBRARY) diff --git a/android/src/main/jni/OnLoad.cpp b/android/src/main/jni/OnLoad.cpp new file mode 100644 index 00000000..550b8aec --- /dev/null +++ b/android/src/main/jni/OnLoad.cpp @@ -0,0 +1,9 @@ +#include + +#include "RNSvgComponentsRegistry.h" + +JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) { + return facebook::jni::initialize(vm, [] { + facebook::react::RNSvgComponentsRegistry::registerNatives(); + }); +} \ No newline at end of file diff --git a/android/src/main/jni/RNSvgComponentsRegistry.cpp b/android/src/main/jni/RNSvgComponentsRegistry.cpp new file mode 100644 index 00000000..e0ca31b9 --- /dev/null +++ b/android/src/main/jni/RNSvgComponentsRegistry.cpp @@ -0,0 +1,83 @@ +#include "RNSvgComponentsRegistry.h" + +#include +#include +#include +#include +#include +#include + +namespace facebook { +namespace react { + +RNSvgComponentsRegistry::RNSvgComponentsRegistry( + ComponentFactory *delegate) + : delegate_(delegate) {} + +std::shared_ptr +RNSvgComponentsRegistry::sharedProviderRegistry() { + auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry(); + + // Svg + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + providerRegistry->add(concreteComponentDescriptorProvider()); + + return providerRegistry; +} + +jni::local_ref +RNSvgComponentsRegistry::initHybrid( + jni::alias_ref, + ComponentFactory *delegate) { + auto instance = makeCxxInstance(delegate); + + auto buildRegistryFunction = + [](EventDispatcher::Weak const &eventDispatcher, + ContextContainer::Shared const &contextContainer) + -> ComponentDescriptorRegistry::Shared { + auto registry = RNSvgComponentsRegistry::sharedProviderRegistry() + ->createComponentDescriptorRegistry( + {eventDispatcher, contextContainer}); + + return registry; + }; + + delegate->buildRegistryFunction = buildRegistryFunction; + return instance; +} + +void RNSvgComponentsRegistry::registerNatives() { + registerHybrid({ + makeNativeMethod("initHybrid", RNSvgComponentsRegistry::initHybrid), + }); + + // This is a temporary solution that allows components exported by the svg + // library to be added to the main component registry. This code is triggered + // when c++ svg library is initialized and is needed because RN's autolinking + // does not currently support Fabric components. As a consequence, users would need + // to manually put library initialization calls in their ReactNativeHost implementation + // which is undesirable. + sharedProviderRegistry(); +} + +} // namespace react +} // namespace facebook diff --git a/android/src/main/jni/RNSvgComponentsRegistry.h b/android/src/main/jni/RNSvgComponentsRegistry.h new file mode 100644 index 00000000..d09480c4 --- /dev/null +++ b/android/src/main/jni/RNSvgComponentsRegistry.h @@ -0,0 +1,34 @@ +#pragma once + +#include +#include +#include +#include + +namespace facebook { +namespace react { + +class RNSvgComponentsRegistry + : public facebook::jni::HybridClass { + public: + constexpr static auto kJavaDescriptor = + "Lcom/horcrux/svg/RNSvgComponentsRegistry;"; + + static void registerNatives(); + + RNSvgComponentsRegistry(ComponentFactory *delegate); + + private: + friend HybridBase; + + static std::shared_ptr sharedProviderRegistry(); + + const ComponentFactory *delegate_; + + static jni::local_ref initHybrid( + jni::alias_ref, + ComponentFactory *delegate); +}; + +} // namespace react +} // namespace facebook \ No newline at end of file diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGCircleManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGCircleManagerDelegate.java new file mode 100644 index 00000000..6ac0fd38 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGCircleManagerDelegate.java @@ -0,0 +1,111 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGCircleManagerDelegate & RNSVGCircleManagerInterface> extends BaseViewManagerDelegate { + public RNSVGCircleManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "cx": + mViewManager.setCx(view, value == null ? null : (String) value); + break; + case "cy": + mViewManager.setCy(view, value == null ? null : (String) value); + break; + case "r": + mViewManager.setR(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGCircleManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGCircleManagerInterface.java new file mode 100644 index 00000000..24c455b9 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGCircleManagerInterface.java @@ -0,0 +1,45 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGCircleManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setCx(T view, @Nullable String value); + void setCy(T view, @Nullable String value); + void setR(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGClipPathManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGClipPathManagerDelegate.java new file mode 100644 index 00000000..9d15c8bc --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGClipPathManagerDelegate.java @@ -0,0 +1,62 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGClipPathManagerDelegate & RNSVGClipPathManagerInterface> extends BaseViewManagerDelegate { + public RNSVGClipPathManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGClipPathManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGClipPathManagerInterface.java new file mode 100644 index 00000000..0e40250d --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGClipPathManagerInterface.java @@ -0,0 +1,28 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; + +public interface RNSVGClipPathManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGDefsManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGDefsManagerDelegate.java new file mode 100644 index 00000000..a7304080 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGDefsManagerDelegate.java @@ -0,0 +1,25 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGDefsManagerDelegate & RNSVGDefsManagerInterface> extends BaseViewManagerDelegate { + public RNSVGDefsManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + super.setProperty(view, propName, value); + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGDefsManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGDefsManagerInterface.java new file mode 100644 index 00000000..5b6c4c46 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGDefsManagerInterface.java @@ -0,0 +1,16 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; + +public interface RNSVGDefsManagerInterface { + // No props +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGEllipseManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGEllipseManagerDelegate.java new file mode 100644 index 00000000..ede142ff --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGEllipseManagerDelegate.java @@ -0,0 +1,114 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGEllipseManagerDelegate & RNSVGEllipseManagerInterface> extends BaseViewManagerDelegate { + public RNSVGEllipseManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "cx": + mViewManager.setCx(view, value == null ? null : (String) value); + break; + case "cy": + mViewManager.setCy(view, value == null ? null : (String) value); + break; + case "rx": + mViewManager.setRx(view, value == null ? null : (String) value); + break; + case "ry": + mViewManager.setRy(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGEllipseManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGEllipseManagerInterface.java new file mode 100644 index 00000000..7cbd44a9 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGEllipseManagerInterface.java @@ -0,0 +1,46 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGEllipseManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setCx(T view, @Nullable String value); + void setCy(T view, @Nullable String value); + void setRx(T view, @Nullable String value); + void setRy(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGForeignObjectManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGForeignObjectManagerDelegate.java new file mode 100644 index 00000000..637f470e --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGForeignObjectManagerDelegate.java @@ -0,0 +1,129 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGForeignObjectManagerDelegate & RNSVGForeignObjectManagerInterface> extends BaseViewManagerDelegate { + public RNSVGForeignObjectManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "fontSize": + mViewManager.setFontSize(view, value == null ? null : (String) value); + break; + case "fontWeight": + mViewManager.setFontWeight(view, value == null ? null : (String) value); + break; + case "font": + mViewManager.setFont(view, (ReadableMap) value); + break; + case "x": + mViewManager.setX(view, value == null ? null : (String) value); + break; + case "y": + mViewManager.setY(view, value == null ? null : (String) value); + break; + case "foreignObjectheight": + mViewManager.setForeignObjectheight(view, value == null ? null : (String) value); + break; + case "foreignObjectwidth": + mViewManager.setForeignObjectwidth(view, value == null ? null : (String) value); + break; + case "height": + mViewManager.setHeight(view, value == null ? null : (String) value); + break; + case "width": + mViewManager.setWidth(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGForeignObjectManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGForeignObjectManagerInterface.java new file mode 100644 index 00000000..6cad75cb --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGForeignObjectManagerInterface.java @@ -0,0 +1,51 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGForeignObjectManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setFontSize(T view, @Nullable String value); + void setFontWeight(T view, @Nullable String value); + void setFont(T view, @Nullable ReadableMap value); + void setX(T view, @Nullable String value); + void setY(T view, @Nullable String value); + void setForeignObjectheight(T view, @Nullable String value); + void setForeignObjectwidth(T view, @Nullable String value); + void setHeight(T view, @Nullable String value); + void setWidth(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGGroupManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGGroupManagerDelegate.java new file mode 100644 index 00000000..5d304663 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGGroupManagerDelegate.java @@ -0,0 +1,111 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGGroupManagerDelegate & RNSVGGroupManagerInterface> extends BaseViewManagerDelegate { + public RNSVGGroupManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "fontSize": + mViewManager.setFontSize(view, value == null ? null : (String) value); + break; + case "fontWeight": + mViewManager.setFontWeight(view, value == null ? null : (String) value); + break; + case "font": + mViewManager.setFont(view, (ReadableMap) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGGroupManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGGroupManagerInterface.java new file mode 100644 index 00000000..93eb2ef3 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGGroupManagerInterface.java @@ -0,0 +1,45 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGGroupManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setFontSize(T view, @Nullable String value); + void setFontWeight(T view, @Nullable String value); + void setFont(T view, @Nullable ReadableMap value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGImageManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGImageManagerDelegate.java new file mode 100644 index 00000000..7c70d88b --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGImageManagerDelegate.java @@ -0,0 +1,129 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGImageManagerDelegate & RNSVGImageManagerInterface> extends BaseViewManagerDelegate { + public RNSVGImageManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "x": + mViewManager.setX(view, value == null ? null : (String) value); + break; + case "y": + mViewManager.setY(view, value == null ? null : (String) value); + break; + case "imagewidth": + mViewManager.setImagewidth(view, value == null ? null : (String) value); + break; + case "imageheight": + mViewManager.setImageheight(view, value == null ? null : (String) value); + break; + case "width": + mViewManager.setWidth(view, value == null ? null : (String) value); + break; + case "height": + mViewManager.setHeight(view, value == null ? null : (String) value); + break; + case "src": + mViewManager.setSrc(view, (ReadableMap) value); + break; + case "align": + mViewManager.setAlign(view, value == null ? null : (String) value); + break; + case "meetOrSlice": + mViewManager.setMeetOrSlice(view, value == null ? 0 : ((Double) value).intValue()); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGImageManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGImageManagerInterface.java new file mode 100644 index 00000000..15779c2c --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGImageManagerInterface.java @@ -0,0 +1,51 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGImageManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setX(T view, @Nullable String value); + void setY(T view, @Nullable String value); + void setImagewidth(T view, @Nullable String value); + void setImageheight(T view, @Nullable String value); + void setWidth(T view, @Nullable String value); + void setHeight(T view, @Nullable String value); + void setSrc(T view, @Nullable ReadableMap value); + void setAlign(T view, @Nullable String value); + void setMeetOrSlice(T view, int value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLineManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLineManagerDelegate.java new file mode 100644 index 00000000..7c539fba --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLineManagerDelegate.java @@ -0,0 +1,114 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGLineManagerDelegate & RNSVGLineManagerInterface> extends BaseViewManagerDelegate { + public RNSVGLineManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "x1": + mViewManager.setX1(view, value == null ? null : (String) value); + break; + case "y1": + mViewManager.setY1(view, value == null ? null : (String) value); + break; + case "x2": + mViewManager.setX2(view, value == null ? null : (String) value); + break; + case "y2": + mViewManager.setY2(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLineManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLineManagerInterface.java new file mode 100644 index 00000000..4c59d154 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLineManagerInterface.java @@ -0,0 +1,46 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGLineManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setX1(T view, @Nullable String value); + void setY1(T view, @Nullable String value); + void setX2(T view, @Nullable String value); + void setY2(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerDelegate.java new file mode 100644 index 00000000..c0952e74 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerDelegate.java @@ -0,0 +1,83 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGLinearGradientManagerDelegate & RNSVGLinearGradientManagerInterface> extends BaseViewManagerDelegate { + public RNSVGLinearGradientManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "x1": + mViewManager.setX1(view, value == null ? null : (String) value); + break; + case "y1": + mViewManager.setY1(view, value == null ? null : (String) value); + break; + case "x2": + mViewManager.setX2(view, value == null ? null : (String) value); + break; + case "y2": + mViewManager.setY2(view, value == null ? null : (String) value); + break; + case "gradient": + mViewManager.setGradient(view, (ReadableArray) value); + break; + case "gradientUnits": + mViewManager.setGradientUnits(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "gradientTransform": + mViewManager.setGradientTransform(view, (ReadableArray) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerInterface.java new file mode 100644 index 00000000..c798647b --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGLinearGradientManagerInterface.java @@ -0,0 +1,35 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; + +public interface RNSVGLinearGradientManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setX1(T view, @Nullable String value); + void setY1(T view, @Nullable String value); + void setX2(T view, @Nullable String value); + void setY2(T view, @Nullable String value); + void setGradient(T view, @Nullable ReadableArray value); + void setGradientUnits(T view, int value); + void setGradientTransform(T view, @Nullable ReadableArray value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMarkerManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMarkerManagerDelegate.java new file mode 100644 index 00000000..bf2396df --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMarkerManagerDelegate.java @@ -0,0 +1,147 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGMarkerManagerDelegate & RNSVGMarkerManagerInterface> extends BaseViewManagerDelegate { + public RNSVGMarkerManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "fontSize": + mViewManager.setFontSize(view, value == null ? null : (String) value); + break; + case "fontWeight": + mViewManager.setFontWeight(view, value == null ? null : (String) value); + break; + case "font": + mViewManager.setFont(view, (ReadableMap) value); + break; + case "refX": + mViewManager.setRefX(view, value == null ? null : (String) value); + break; + case "refY": + mViewManager.setRefY(view, value == null ? null : (String) value); + break; + case "markerHeight": + mViewManager.setMarkerHeight(view, value == null ? null : (String) value); + break; + case "markerWidth": + mViewManager.setMarkerWidth(view, value == null ? null : (String) value); + break; + case "markerUnits": + mViewManager.setMarkerUnits(view, value == null ? null : (String) value); + break; + case "orient": + mViewManager.setOrient(view, value == null ? null : (String) value); + break; + case "minX": + mViewManager.setMinX(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "minY": + mViewManager.setMinY(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vbWidth": + mViewManager.setVbWidth(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vbHeight": + mViewManager.setVbHeight(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "align": + mViewManager.setAlign(view, value == null ? null : (String) value); + break; + case "meetOrSlice": + mViewManager.setMeetOrSlice(view, value == null ? 0 : ((Double) value).intValue()); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMarkerManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMarkerManagerInterface.java new file mode 100644 index 00000000..073240af --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMarkerManagerInterface.java @@ -0,0 +1,57 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGMarkerManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setFontSize(T view, @Nullable String value); + void setFontWeight(T view, @Nullable String value); + void setFont(T view, @Nullable ReadableMap value); + void setRefX(T view, @Nullable String value); + void setRefY(T view, @Nullable String value); + void setMarkerHeight(T view, @Nullable String value); + void setMarkerWidth(T view, @Nullable String value); + void setMarkerUnits(T view, @Nullable String value); + void setOrient(T view, @Nullable String value); + void setMinX(T view, float value); + void setMinY(T view, float value); + void setVbWidth(T view, float value); + void setVbHeight(T view, float value); + void setAlign(T view, @Nullable String value); + void setMeetOrSlice(T view, int value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMaskManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMaskManagerDelegate.java new file mode 100644 index 00000000..6c226cb5 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMaskManagerDelegate.java @@ -0,0 +1,138 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGMaskManagerDelegate & RNSVGMaskManagerInterface> extends BaseViewManagerDelegate { + public RNSVGMaskManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "fontSize": + mViewManager.setFontSize(view, value == null ? null : (String) value); + break; + case "fontWeight": + mViewManager.setFontWeight(view, value == null ? null : (String) value); + break; + case "font": + mViewManager.setFont(view, (ReadableMap) value); + break; + case "x": + mViewManager.setX(view, value == null ? null : (String) value); + break; + case "y": + mViewManager.setY(view, value == null ? null : (String) value); + break; + case "maskheight": + mViewManager.setMaskheight(view, value == null ? null : (String) value); + break; + case "maskwidth": + mViewManager.setMaskwidth(view, value == null ? null : (String) value); + break; + case "height": + mViewManager.setHeight(view, value == null ? null : (String) value); + break; + case "width": + mViewManager.setWidth(view, value == null ? null : (String) value); + break; + case "maskUnits": + mViewManager.setMaskUnits(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "maskContentUnits": + mViewManager.setMaskContentUnits(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "maskTransform": + mViewManager.setMaskTransform(view, (ReadableArray) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMaskManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMaskManagerInterface.java new file mode 100644 index 00000000..d167cba0 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGMaskManagerInterface.java @@ -0,0 +1,54 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGMaskManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setFontSize(T view, @Nullable String value); + void setFontWeight(T view, @Nullable String value); + void setFont(T view, @Nullable ReadableMap value); + void setX(T view, @Nullable String value); + void setY(T view, @Nullable String value); + void setMaskheight(T view, @Nullable String value); + void setMaskwidth(T view, @Nullable String value); + void setHeight(T view, @Nullable String value); + void setWidth(T view, @Nullable String value); + void setMaskUnits(T view, int value); + void setMaskContentUnits(T view, int value); + void setMaskTransform(T view, @Nullable ReadableArray value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPathManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPathManagerDelegate.java new file mode 100644 index 00000000..01ce62b9 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPathManagerDelegate.java @@ -0,0 +1,105 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGPathManagerDelegate & RNSVGPathManagerInterface> extends BaseViewManagerDelegate { + public RNSVGPathManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "d": + mViewManager.setD(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPathManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPathManagerInterface.java new file mode 100644 index 00000000..4df21d09 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPathManagerInterface.java @@ -0,0 +1,43 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGPathManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setD(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPatternManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPatternManagerDelegate.java new file mode 100644 index 00000000..08f18e4f --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPatternManagerDelegate.java @@ -0,0 +1,156 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGPatternManagerDelegate & RNSVGPatternManagerInterface> extends BaseViewManagerDelegate { + public RNSVGPatternManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "fontSize": + mViewManager.setFontSize(view, value == null ? null : (String) value); + break; + case "fontWeight": + mViewManager.setFontWeight(view, value == null ? null : (String) value); + break; + case "font": + mViewManager.setFont(view, (ReadableMap) value); + break; + case "x": + mViewManager.setX(view, value == null ? null : (String) value); + break; + case "y": + mViewManager.setY(view, value == null ? null : (String) value); + break; + case "patternheight": + mViewManager.setPatternheight(view, value == null ? null : (String) value); + break; + case "patternwidth": + mViewManager.setPatternwidth(view, value == null ? null : (String) value); + break; + case "height": + mViewManager.setHeight(view, value == null ? null : (String) value); + break; + case "width": + mViewManager.setWidth(view, value == null ? null : (String) value); + break; + case "patternUnits": + mViewManager.setPatternUnits(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "patternContentUnits": + mViewManager.setPatternContentUnits(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "patternTransform": + mViewManager.setPatternTransform(view, (ReadableArray) value); + break; + case "minX": + mViewManager.setMinX(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "minY": + mViewManager.setMinY(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vbWidth": + mViewManager.setVbWidth(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vbHeight": + mViewManager.setVbHeight(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "align": + mViewManager.setAlign(view, value == null ? null : (String) value); + break; + case "meetOrSlice": + mViewManager.setMeetOrSlice(view, value == null ? 0 : ((Double) value).intValue()); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPatternManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPatternManagerInterface.java new file mode 100644 index 00000000..9add4dc0 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGPatternManagerInterface.java @@ -0,0 +1,60 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGPatternManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setFontSize(T view, @Nullable String value); + void setFontWeight(T view, @Nullable String value); + void setFont(T view, @Nullable ReadableMap value); + void setX(T view, @Nullable String value); + void setY(T view, @Nullable String value); + void setPatternheight(T view, @Nullable String value); + void setPatternwidth(T view, @Nullable String value); + void setHeight(T view, @Nullable String value); + void setWidth(T view, @Nullable String value); + void setPatternUnits(T view, int value); + void setPatternContentUnits(T view, int value); + void setPatternTransform(T view, @Nullable ReadableArray value); + void setMinX(T view, float value); + void setMinY(T view, float value); + void setVbWidth(T view, float value); + void setVbHeight(T view, float value); + void setAlign(T view, @Nullable String value); + void setMeetOrSlice(T view, int value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerDelegate.java new file mode 100644 index 00000000..7762143b --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerDelegate.java @@ -0,0 +1,89 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGRadialGradientManagerDelegate & RNSVGRadialGradientManagerInterface> extends BaseViewManagerDelegate { + public RNSVGRadialGradientManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fx": + mViewManager.setFx(view, value == null ? null : (String) value); + break; + case "fy": + mViewManager.setFy(view, value == null ? null : (String) value); + break; + case "cx": + mViewManager.setCx(view, value == null ? null : (String) value); + break; + case "cy": + mViewManager.setCy(view, value == null ? null : (String) value); + break; + case "rx": + mViewManager.setRx(view, value == null ? null : (String) value); + break; + case "ry": + mViewManager.setRy(view, value == null ? null : (String) value); + break; + case "gradient": + mViewManager.setGradient(view, (ReadableArray) value); + break; + case "gradientUnits": + mViewManager.setGradientUnits(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "gradientTransform": + mViewManager.setGradientTransform(view, (ReadableArray) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerInterface.java new file mode 100644 index 00000000..815da8ba --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRadialGradientManagerInterface.java @@ -0,0 +1,37 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; + +public interface RNSVGRadialGradientManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFx(T view, @Nullable String value); + void setFy(T view, @Nullable String value); + void setCx(T view, @Nullable String value); + void setCy(T view, @Nullable String value); + void setRx(T view, @Nullable String value); + void setRy(T view, @Nullable String value); + void setGradient(T view, @Nullable ReadableArray value); + void setGradientUnits(T view, int value); + void setGradientTransform(T view, @Nullable ReadableArray value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRectManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRectManagerDelegate.java new file mode 100644 index 00000000..a88d0a87 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRectManagerDelegate.java @@ -0,0 +1,126 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGRectManagerDelegate & RNSVGRectManagerInterface> extends BaseViewManagerDelegate { + public RNSVGRectManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "x": + mViewManager.setX(view, value == null ? null : (String) value); + break; + case "y": + mViewManager.setY(view, value == null ? null : (String) value); + break; + case "rectheight": + mViewManager.setRectheight(view, value == null ? null : (String) value); + break; + case "rectwidth": + mViewManager.setRectwidth(view, value == null ? null : (String) value); + break; + case "height": + mViewManager.setHeight(view, value == null ? null : (String) value); + break; + case "width": + mViewManager.setWidth(view, value == null ? null : (String) value); + break; + case "rx": + mViewManager.setRx(view, value == null ? null : (String) value); + break; + case "ry": + mViewManager.setRy(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRectManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRectManagerInterface.java new file mode 100644 index 00000000..66554ed2 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGRectManagerInterface.java @@ -0,0 +1,50 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGRectManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setX(T view, @Nullable String value); + void setY(T view, @Nullable String value); + void setRectheight(T view, @Nullable String value); + void setRectwidth(T view, @Nullable String value); + void setHeight(T view, @Nullable String value); + void setWidth(T view, @Nullable String value); + void setRx(T view, @Nullable String value); + void setRy(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSvgViewManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSvgViewManagerDelegate.java new file mode 100644 index 00000000..958b76bd --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSvgViewManagerDelegate.java @@ -0,0 +1,59 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ColorPropConverter; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGSvgViewManagerDelegate & RNSVGSvgViewManagerInterface> extends BaseViewManagerDelegate { + public RNSVGSvgViewManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "bbWidth": + mViewManager.setBbWidth(view, value == null ? null : (String) value); + break; + case "bbHeight": + mViewManager.setBbHeight(view, value == null ? null : (String) value); + break; + case "minX": + mViewManager.setMinX(view, value == null ? Float.NaN : ((Double) value).floatValue()); + break; + case "minY": + mViewManager.setMinY(view, value == null ? Float.NaN : ((Double) value).floatValue()); + break; + case "vbWidth": + mViewManager.setVbWidth(view, value == null ? Float.NaN : ((Double) value).floatValue()); + break; + case "vbHeight": + mViewManager.setVbHeight(view, value == null ? Float.NaN : ((Double) value).floatValue()); + break; + case "align": + mViewManager.setAlign(view, value == null ? null : (String) value); + break; + case "meetOrSlice": + mViewManager.setMeetOrSlice(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "tintColor": + mViewManager.setTintColor(view, ColorPropConverter.getColor(value, view.getContext())); + break; + case "color": + mViewManager.setColor(view, ColorPropConverter.getColor(value, view.getContext())); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSvgViewManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSvgViewManagerInterface.java new file mode 100644 index 00000000..f8faeddb --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSvgViewManagerInterface.java @@ -0,0 +1,26 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; + +public interface RNSVGSvgViewManagerInterface { + void setBbWidth(T view, @Nullable String value); + void setBbHeight(T view, @Nullable String value); + void setMinX(T view, float value); + void setMinY(T view, float value); + void setVbWidth(T view, float value); + void setVbHeight(T view, float value); + void setAlign(T view, @Nullable String value); + void setMeetOrSlice(T view, int value); + void setTintColor(T view, @Nullable Integer value); + void setColor(T view, @Nullable Integer value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSymbolManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSymbolManagerDelegate.java new file mode 100644 index 00000000..6c460b38 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSymbolManagerDelegate.java @@ -0,0 +1,129 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGSymbolManagerDelegate & RNSVGSymbolManagerInterface> extends BaseViewManagerDelegate { + public RNSVGSymbolManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "fontSize": + mViewManager.setFontSize(view, value == null ? null : (String) value); + break; + case "fontWeight": + mViewManager.setFontWeight(view, value == null ? null : (String) value); + break; + case "font": + mViewManager.setFont(view, (ReadableMap) value); + break; + case "minX": + mViewManager.setMinX(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "minY": + mViewManager.setMinY(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vbWidth": + mViewManager.setVbWidth(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vbHeight": + mViewManager.setVbHeight(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "align": + mViewManager.setAlign(view, value == null ? null : (String) value); + break; + case "meetOrSlice": + mViewManager.setMeetOrSlice(view, value == null ? 0 : ((Double) value).intValue()); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSymbolManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSymbolManagerInterface.java new file mode 100644 index 00000000..ce6d41bb --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGSymbolManagerInterface.java @@ -0,0 +1,51 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGSymbolManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setFontSize(T view, @Nullable String value); + void setFontWeight(T view, @Nullable String value); + void setFont(T view, @Nullable ReadableMap value); + void setMinX(T view, float value); + void setMinY(T view, float value); + void setVbWidth(T view, float value); + void setVbHeight(T view, float value); + void setAlign(T view, @Nullable String value); + void setMeetOrSlice(T view, int value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTSpanManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTSpanManagerDelegate.java new file mode 100644 index 00000000..2d5b6386 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTSpanManagerDelegate.java @@ -0,0 +1,153 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGTSpanManagerDelegate & RNSVGTSpanManagerInterface> extends BaseViewManagerDelegate { + public RNSVGTSpanManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "fontSize": + mViewManager.setFontSize(view, value == null ? null : (String) value); + break; + case "fontWeight": + mViewManager.setFontWeight(view, value == null ? null : (String) value); + break; + case "font": + mViewManager.setFont(view, (ReadableMap) value); + break; + case "textAnchor": + mViewManager.setTextAnchor(view, value == null ? null : (String) value); + break; + case "dx": + mViewManager.setDx(view, (ReadableArray) value); + break; + case "dy": + mViewManager.setDy(view, (ReadableArray) value); + break; + case "positionX": + mViewManager.setPositionX(view, (ReadableArray) value); + break; + case "positionY": + mViewManager.setPositionY(view, (ReadableArray) value); + break; + case "x": + mViewManager.setX(view, (ReadableArray) value); + break; + case "y": + mViewManager.setY(view, (ReadableArray) value); + break; + case "rotate": + mViewManager.setRotate(view, (ReadableArray) value); + break; + case "inlineSize": + mViewManager.setInlineSize(view, value == null ? null : (String) value); + break; + case "textLength": + mViewManager.setTextLength(view, value == null ? null : (String) value); + break; + case "baselineShift": + mViewManager.setBaselineShift(view, value == null ? null : (String) value); + break; + case "lengthAdjust": + mViewManager.setLengthAdjust(view, value == null ? null : (String) value); + break; + case "alignmentBaseline": + mViewManager.setAlignmentBaseline(view, value == null ? null : (String) value); + break; + case "content": + mViewManager.setContent(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTSpanManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTSpanManagerInterface.java new file mode 100644 index 00000000..59437cda --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTSpanManagerInterface.java @@ -0,0 +1,59 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGTSpanManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setFontSize(T view, @Nullable String value); + void setFontWeight(T view, @Nullable String value); + void setFont(T view, @Nullable ReadableMap value); + void setTextAnchor(T view, @Nullable String value); + void setDx(T view, @Nullable ReadableArray value); + void setDy(T view, @Nullable ReadableArray value); + void setPositionX(T view, @Nullable ReadableArray value); + void setPositionY(T view, @Nullable ReadableArray value); + void setX(T view, @Nullable ReadableArray value); + void setY(T view, @Nullable ReadableArray value); + void setRotate(T view, @Nullable ReadableArray value); + void setInlineSize(T view, @Nullable String value); + void setTextLength(T view, @Nullable String value); + void setBaselineShift(T view, @Nullable String value); + void setLengthAdjust(T view, @Nullable String value); + void setAlignmentBaseline(T view, @Nullable String value); + void setContent(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextManagerDelegate.java new file mode 100644 index 00000000..0d45f05e --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextManagerDelegate.java @@ -0,0 +1,150 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGTextManagerDelegate & RNSVGTextManagerInterface> extends BaseViewManagerDelegate { + public RNSVGTextManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "fontSize": + mViewManager.setFontSize(view, value == null ? null : (String) value); + break; + case "fontWeight": + mViewManager.setFontWeight(view, value == null ? null : (String) value); + break; + case "font": + mViewManager.setFont(view, (ReadableMap) value); + break; + case "textAnchor": + mViewManager.setTextAnchor(view, value == null ? null : (String) value); + break; + case "dx": + mViewManager.setDx(view, (ReadableArray) value); + break; + case "dy": + mViewManager.setDy(view, (ReadableArray) value); + break; + case "positionX": + mViewManager.setPositionX(view, (ReadableArray) value); + break; + case "positionY": + mViewManager.setPositionY(view, (ReadableArray) value); + break; + case "x": + mViewManager.setX(view, (ReadableArray) value); + break; + case "y": + mViewManager.setY(view, (ReadableArray) value); + break; + case "rotate": + mViewManager.setRotate(view, (ReadableArray) value); + break; + case "inlineSize": + mViewManager.setInlineSize(view, value == null ? null : (String) value); + break; + case "textLength": + mViewManager.setTextLength(view, value == null ? null : (String) value); + break; + case "baselineShift": + mViewManager.setBaselineShift(view, value == null ? null : (String) value); + break; + case "lengthAdjust": + mViewManager.setLengthAdjust(view, value == null ? null : (String) value); + break; + case "alignmentBaseline": + mViewManager.setAlignmentBaseline(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextManagerInterface.java new file mode 100644 index 00000000..562e9293 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextManagerInterface.java @@ -0,0 +1,58 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGTextManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setFontSize(T view, @Nullable String value); + void setFontWeight(T view, @Nullable String value); + void setFont(T view, @Nullable ReadableMap value); + void setTextAnchor(T view, @Nullable String value); + void setDx(T view, @Nullable ReadableArray value); + void setDy(T view, @Nullable ReadableArray value); + void setPositionX(T view, @Nullable ReadableArray value); + void setPositionY(T view, @Nullable ReadableArray value); + void setX(T view, @Nullable ReadableArray value); + void setY(T view, @Nullable ReadableArray value); + void setRotate(T view, @Nullable ReadableArray value); + void setInlineSize(T view, @Nullable String value); + void setTextLength(T view, @Nullable String value); + void setBaselineShift(T view, @Nullable String value); + void setLengthAdjust(T view, @Nullable String value); + void setAlignmentBaseline(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextPathManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextPathManagerDelegate.java new file mode 100644 index 00000000..864b5a8f --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextPathManagerDelegate.java @@ -0,0 +1,120 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGTextPathManagerDelegate & RNSVGTextPathManagerInterface> extends BaseViewManagerDelegate { + public RNSVGTextPathManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "href": + mViewManager.setHref(view, value == null ? null : (String) value); + break; + case "side": + mViewManager.setSide(view, value == null ? null : (String) value); + break; + case "method": + mViewManager.setMethod(view, value == null ? null : (String) value); + break; + case "midLine": + mViewManager.setMidLine(view, value == null ? null : (String) value); + break; + case "spacing": + mViewManager.setSpacing(view, value == null ? null : (String) value); + break; + case "startOffset": + mViewManager.setStartOffset(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextPathManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextPathManagerInterface.java new file mode 100644 index 00000000..3af0b0b5 --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGTextPathManagerInterface.java @@ -0,0 +1,48 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGTextPathManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setHref(T view, @Nullable String value); + void setSide(T view, @Nullable String value); + void setMethod(T view, @Nullable String value); + void setMidLine(T view, @Nullable String value); + void setSpacing(T view, @Nullable String value); + void setStartOffset(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGUseManagerDelegate.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGUseManagerDelegate.java new file mode 100644 index 00000000..324454fd --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGUseManagerDelegate.java @@ -0,0 +1,123 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaDelegate.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; +import com.facebook.react.uimanager.BaseViewManagerDelegate; +import com.facebook.react.uimanager.BaseViewManagerInterface; + +public class RNSVGUseManagerDelegate & RNSVGUseManagerInterface> extends BaseViewManagerDelegate { + public RNSVGUseManagerDelegate(U viewManager) { + super(viewManager); + } + @Override + public void setProperty(T view, String propName, @Nullable Object value) { + switch (propName) { + case "name": + mViewManager.setName(view, value == null ? null : (String) value); + break; + case "opacity": + mViewManager.setOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "matrix": + mViewManager.setMatrix(view, (ReadableArray) value); + break; + case "mask": + mViewManager.setMask(view, value == null ? null : (String) value); + break; + case "markerStart": + mViewManager.setMarkerStart(view, value == null ? null : (String) value); + break; + case "markerMid": + mViewManager.setMarkerMid(view, value == null ? null : (String) value); + break; + case "markerEnd": + mViewManager.setMarkerEnd(view, value == null ? null : (String) value); + break; + case "clipPath": + mViewManager.setClipPath(view, value == null ? null : (String) value); + break; + case "clipRule": + mViewManager.setClipRule(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "responsible": + mViewManager.setResponsible(view, value == null ? false : (boolean) value); + break; + case "display": + mViewManager.setDisplay(view, value == null ? null : (String) value); + break; + case "fill": + mViewManager.setFill(view, (ReadableMap) value); + break; + case "fillOpacity": + mViewManager.setFillOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "fillRule": + mViewManager.setFillRule(view, value == null ? 1 : ((Double) value).intValue()); + break; + case "stroke": + mViewManager.setStroke(view, (ReadableMap) value); + break; + case "strokeOpacity": + mViewManager.setStrokeOpacity(view, value == null ? 1f : ((Double) value).floatValue()); + break; + case "strokeWidth": + mViewManager.setStrokeWidth(view, value == null ? "1" : (String) value); + break; + case "strokeLinecap": + mViewManager.setStrokeLinecap(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeLinejoin": + mViewManager.setStrokeLinejoin(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "strokeDasharray": + mViewManager.setStrokeDasharray(view, (ReadableArray) value); + break; + case "strokeDashoffset": + mViewManager.setStrokeDashoffset(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "strokeMiterlimit": + mViewManager.setStrokeMiterlimit(view, value == null ? 0f : ((Double) value).floatValue()); + break; + case "vectorEffect": + mViewManager.setVectorEffect(view, value == null ? 0 : ((Double) value).intValue()); + break; + case "propList": + mViewManager.setPropList(view, (ReadableArray) value); + break; + case "href": + mViewManager.setHref(view, value == null ? null : (String) value); + break; + case "x": + mViewManager.setX(view, value == null ? null : (String) value); + break; + case "y": + mViewManager.setY(view, value == null ? null : (String) value); + break; + case "useheight": + mViewManager.setUseheight(view, value == null ? null : (String) value); + break; + case "usewidth": + mViewManager.setUsewidth(view, value == null ? null : (String) value); + break; + case "height": + mViewManager.setHeight(view, value == null ? null : (String) value); + break; + case "width": + mViewManager.setWidth(view, value == null ? null : (String) value); + break; + default: + super.setProperty(view, propName, value); + } + } +} diff --git a/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGUseManagerInterface.java b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGUseManagerInterface.java new file mode 100644 index 00000000..d41b5c4f --- /dev/null +++ b/android/src/paper/java/com/facebook/react/viewmanagers/RNSVGUseManagerInterface.java @@ -0,0 +1,49 @@ +/** +* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen). +* +* Do not edit this file as changes may cause incorrect behavior and will be lost +* once the code is regenerated. +* +* @generated by codegen project: GeneratePropsJavaInterface.js +*/ + +package com.facebook.react.viewmanagers; + +import android.view.View; +import androidx.annotation.Nullable; +import com.facebook.react.bridge.ReadableArray; +import com.facebook.react.bridge.ReadableMap; + +public interface RNSVGUseManagerInterface { + void setName(T view, @Nullable String value); + void setOpacity(T view, float value); + void setMatrix(T view, @Nullable ReadableArray value); + void setMask(T view, @Nullable String value); + void setMarkerStart(T view, @Nullable String value); + void setMarkerMid(T view, @Nullable String value); + void setMarkerEnd(T view, @Nullable String value); + void setClipPath(T view, @Nullable String value); + void setClipRule(T view, int value); + void setResponsible(T view, boolean value); + void setDisplay(T view, @Nullable String value); + void setFill(T view, @Nullable ReadableMap value); + void setFillOpacity(T view, float value); + void setFillRule(T view, int value); + void setStroke(T view, @Nullable ReadableMap value); + void setStrokeOpacity(T view, float value); + void setStrokeWidth(T view, @Nullable String value); + void setStrokeLinecap(T view, int value); + void setStrokeLinejoin(T view, int value); + void setStrokeDasharray(T view, @Nullable ReadableArray value); + void setStrokeDashoffset(T view, float value); + void setStrokeMiterlimit(T view, float value); + void setVectorEffect(T view, int value); + void setPropList(T view, @Nullable ReadableArray value); + void setHref(T view, @Nullable String value); + void setX(T view, @Nullable String value); + void setY(T view, @Nullable String value); + void setUseheight(T view, @Nullable String value); + void setUsewidth(T view, @Nullable String value); + void setHeight(T view, @Nullable String value); + void setWidth(T view, @Nullable String value); +} diff --git a/android/src/paper/java/com/horcrux/svg/FabricEnabledViewGroup.java b/android/src/paper/java/com/horcrux/svg/FabricEnabledViewGroup.java new file mode 100644 index 00000000..b3f40f9b --- /dev/null +++ b/android/src/paper/java/com/horcrux/svg/FabricEnabledViewGroup.java @@ -0,0 +1,18 @@ +package com.horcrux.svg; + + +import com.facebook.react.bridge.ReactContext; +import com.facebook.react.views.view.ReactViewGroup; + +import org.jetbrains.annotations.Nullable; + +public abstract class FabricEnabledViewGroup extends ReactViewGroup { + + public FabricEnabledViewGroup(@Nullable ReactContext context) { + super(context); + } + + protected final void updateScreenSizeFabric(int width, int height) { + // do nothing + } +} diff --git a/common/cpp/Android.mk b/common/cpp/Android.mk new file mode 100644 index 00000000..7f6c1e46 --- /dev/null +++ b/common/cpp/Android.mk @@ -0,0 +1,37 @@ +SVG_COMMON_THIS_DIR := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_PATH := $(SVG_COMMON_THIS_DIR) +LOCAL_MODULE := rnsvg_common + +LOCAL_C_INCLUDES := $(LOCAL_PATH) $(GENERATED_SRC_DIR)/codegen/jni +LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/**/*.cpp) +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) $(GENERATED_SRC_DIR)/codegen/jni + +# Please note as one of the library listed is libreact_codegen_samplelibrary +# This name will be generated as libreact_codegen_ +# where is the one you specified in the Gradle configuration +LOCAL_SHARED_LIBRARIES := libjsi \ + libfbjni \ + libglog \ + libfolly_runtime \ + libyoga \ + libreact_nativemodule_core \ + libturbomodulejsijni \ + librrc_view \ + libreact_render_core \ + libreact_render_graphics \ + libfabricjni \ + libreact_debug \ + libreact_render_componentregistry \ + libreact_render_debug \ + libruntimeexecutor \ + libreact_codegen_rncore \ + libreact_codegen_rnsvg + +LOCAL_CFLAGS := \ + -DLOG_TAG=\"ReactNative\" +LOCAL_CFLAGS += -fexceptions -frtti -std=c++17 -Wall + +include $(BUILD_SHARED_LIBRARY) \ No newline at end of file