diff --git a/.lintstagedrc.json b/.lintstagedrc.json
deleted file mode 100644
index 59c8ccb43..000000000
--- a/.lintstagedrc.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "*.{js,jsx,ts,tsx,html,json,yml,yaml,css,scss,md}": ["prettier --write"]
-}
diff --git a/.vscode/settings.json b/.vscode/settings.json
index e62e8f133..ee5885290 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -38,12 +38,12 @@
"rust-analyzer.procMacro.enable": true,
"rust-analyzer.diagnostics.experimental.enable": false,
"tailwindCSS.experimental.classRegex": [
- ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"],
- "tw`([^`]*)",
- "tw\\.[^`]+`([^`]*)`",
- "tw\\(.*?\\).*?`([^`]*)",
- "tw\\.style\\(([^)]*)\\)",
- "twStyle\\(([^)]*)\\)"
+ ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"], // cva(....)`...`
+ "tw\\.[^`]+`([^`]*)`", // tw.xxx`...`
+ "tw\\(.*?\\).*?`([^`]*)", // tw(....)`...`
+ "tw`([^`]*)", // tw`...` (mobile)
+ "twStyle\\(([^)]*)\\)", // twStyle(....) (mobile)
+ ["styled\\([^,)]+,([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"] // styled(....)`...` (mobile)
],
"search.exclude": {
"**/node_modules": true,
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index d9b04cd13..de7f0726b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -69,12 +69,12 @@ To run mobile app
- Install [Android Studio](https://developer.android.com/studio) for Android and [Xcode](https://apps.apple.com/au/app/xcode/id497799835) for IOS development
- `./.github/scripts/setup-system.sh mobile`
+
- The should setup most of the dependencies for the mobile app to build.
-- You must also ensure [you must have NDK 24.0.8215888 and CMake](https://developer.android.com/studio/projects/install-ndk#default-version) in Android Studio
-- `cd apps/mobile && pnpm i` - This is a separate workspace, you need to do this!
+
+- You must also ensure [you must have NDK 23.1.7779620 and CMake](https://developer.android.com/studio/projects/install-ndk#default-version) in Android Studio
- `pnpm android` - runs on Android Emulator
- `pnpm ios` - runs on iOS Emulator
-- `pnpm start` - For already bundled app
### Pull Request
diff --git a/Cargo.lock b/Cargo.lock
index 01b48e41e..f84a45a79 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3130,8 +3130,7 @@ dependencies = [
[[package]]
name = "if-watch"
version = "3.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba7abdbb86e485125dad06c2691e1e393bf3b08c7b743b43aa162a00fd39062e"
+source = "git+https://github.com/oscartbeaumont/if-watch?rev=410e8e1d2d0730f1441df1c29294fec4c3c04193#410e8e1d2d0730f1441df1c29294fec4c3c04193"
dependencies = [
"async-io",
"core-foundation",
@@ -4081,7 +4080,7 @@ dependencies = [
[[package]]
name = "mdns-sd"
version = "0.6.1"
-source = "git+https://github.com/oscartbeaumont/mdns-sd.git?rev=45515a98e9e408c102871abaa5a9bff3bee0cbe8#45515a98e9e408c102871abaa5a9bff3bee0cbe8"
+source = "git+https://github.com/oscartbeaumont/mdns-sd?rev=45515a98e9e408c102871abaa5a9bff3bee0cbe8#45515a98e9e408c102871abaa5a9bff3bee0cbe8"
dependencies = [
"flume",
"if-addrs",
diff --git a/Cargo.toml b/Cargo.toml
index d0a34a322..d1b462eca 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -40,8 +40,10 @@ tokio = { version = "1.25.0" }
[patch.crates-io]
# We use this patch so we can compile for the IOS simulator on M1
openssl-sys = { git = "https://github.com/spacedriveapp/rust-openssl", rev = "92c3dec225a9e984884d5b30a517e5d44a24d03b" }
+# We patch this so that it can be built for IOS - The `main` branch uses macOS specific APIs
+if-watch = { git = "https://github.com/oscartbeaumont/if-watch", rev = "410e8e1d2d0730f1441df1c29294fec4c3c04193" }
-mdns-sd = { git = "https://github.com/oscartbeaumont/mdns-sd.git", rev = "45515a98e9e408c102871abaa5a9bff3bee0cbe8" } # TODO: Do upstream PR
+mdns-sd = { git = "https://github.com/oscartbeaumont/mdns-sd", rev = "45515a98e9e408c102871abaa5a9bff3bee0cbe8" } # TODO: Do upstream PR
rspc = { git = "https://github.com/oscartbeaumont/rspc", rev = "c03872c0ba29d2429e9c059dfb235cdd03e15e8c" } # TODO: Move back to crates.io when new jsonrpc executor + `tokio::spawn` in the Tauri IPC plugin + upgraded Tauri version is released
specta = { git = "https://github.com/oscartbeaumont/rspc", rev = "c03872c0ba29d2429e9c059dfb235cdd03e15e8c" }
diff --git a/apps/landing/package.json b/apps/landing/package.json
index 39b0b7c97..d6f8cde07 100644
--- a/apps/landing/package.json
+++ b/apps/landing/package.json
@@ -29,7 +29,7 @@
"react-burger-menu": "^3.0.8",
"react-dom": "^18.2.0",
"react-helmet": "^6.1.0",
- "react-hook-form": "^7.36.1",
+ "react-hook-form": "^7.43.5",
"react-tsparticles": "^2.3.3",
"sirv": "^2.0.2",
"ts-node": "^10.9.1",
diff --git a/apps/mobile/.gitignore b/apps/mobile/.gitignore
index c8eb0f9a6..6b0b6caab 100644
--- a/apps/mobile/.gitignore
+++ b/apps/mobile/.gitignore
@@ -37,12 +37,6 @@ node_modules/
npm-debug.log
yarn-error.log
-# BUCK
-buck-out/
-\.buckd/
-*.keystore
-!debug.keystore
-
# Bundle artifacts
*.jsbundle
@@ -53,3 +47,6 @@ buck-out/
.expo/
web-build/
dist/
+
+# Temporary files created by Metro to check the health of the file watcher
+.metro-health-check*
\ No newline at end of file
diff --git a/apps/mobile/android/.gitignore b/apps/mobile/android/.gitignore
index 64436baaf..ab9e6d140 100644
--- a/apps/mobile/android/.gitignore
+++ b/apps/mobile/android/.gitignore
@@ -11,11 +11,5 @@ local.properties
*.iml
*.hprof
-# BUCK
-buck-out/
-\.buckd/
-*.keystore
-!debug.keystore
-
# Bundle artifacts
-*.jsbundle
+*.jsbundle
\ No newline at end of file
diff --git a/apps/mobile/android/app/BUCK b/apps/mobile/android/app/BUCK
deleted file mode 100644
index cabced2a6..000000000
--- a/apps/mobile/android/app/BUCK
+++ /dev/null
@@ -1,55 +0,0 @@
-# To learn about Buck see [Docs](https://buckbuild.com/).
-# To run your application with Buck:
-# - install Buck
-# - `npm start` - to start the packager
-# - `cd android`
-# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
-# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
-# - `buck install -r android/app` - compile, install and run application
-#
-
-load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
-
-lib_deps = []
-
-create_aar_targets(glob(["libs/*.aar"]))
-
-create_jar_targets(glob(["libs/*.jar"]))
-
-android_library(
- name = "all-libs",
- exported_deps = lib_deps,
-)
-
-android_library(
- name = "app-code",
- srcs = glob([
- "src/main/java/**/*.java",
- ]),
- deps = [
- ":all-libs",
- ":build_config",
- ":res",
- ],
-)
-
-android_build_config(
- name = "build_config",
- package = "com.spacedrive.app",
-)
-
-android_resource(
- name = "res",
- package = "com.spacedrive.app",
- res = "src/main/res",
-)
-
-android_binary(
- name = "app",
- keystore = "//android/keystores:debug",
- manifest = "src/main/AndroidManifest.xml",
- package_type = "debug",
- deps = [
- ":app-code",
- ],
-)
diff --git a/apps/mobile/android/app/build.gradle b/apps/mobile/android/app/build.gradle
index cecfb1815..c12552698 100644
--- a/apps/mobile/android/app/build.gradle
+++ b/apps/mobile/android/app/build.gradle
@@ -1,8 +1,10 @@
apply plugin: "com.android.application"
+apply plugin: "com.facebook.react"
import com.android.build.OutputFile
-import org.apache.tools.ant.taskdefs.condition.Os
+
+// SPACEDRIVE CODE
apply plugin: 'org.mozilla.rust-android-gradle.rust-android'
cargo {
@@ -23,134 +25,108 @@ tasks.whenTaskAdded { task ->
}
}
-/**
- * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
- * and bundleReleaseJsAndAssets).
- * These basically call `react-native bundle` with the correct arguments during the Android build
- * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
- * bundle directly from the development server. Below you can see all the possible configurations
- * and their defaults. If you decide to add a configuration block, make sure to add it before the
- * `apply from: "../../node_modules/react-native/react.gradle"` line.
- *
- * project.ext.react = [
- * // the name of the generated asset file containing your JS bundle
- * bundleAssetName: "index.android.bundle",
- *
- * // the entry file for bundle generation. If none specified and
- * // "index.android.js" exists, it will be used. Otherwise "index.js" is
- * // default. Can be overridden with ENTRY_FILE environment variable.
- * entryFile: "index.android.js",
- *
- * // https://reactnative.dev/docs/performance#enable-the-ram-format
- * bundleCommand: "ram-bundle",
- *
- * // whether to bundle JS and assets in debug mode
- * bundleInDebug: false,
- *
- * // whether to bundle JS and assets in release mode
- * bundleInRelease: true,
- *
- * // whether to bundle JS and assets in another build variant (if configured).
- * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
- * // The configuration property can be in the following formats
- * // 'bundleIn${productFlavor}${buildType}'
- * // 'bundleIn${buildType}'
- * // bundleInFreeDebug: true,
- * // bundleInPaidRelease: true,
- * // bundleInBeta: true,
- *
- * // whether to disable dev mode in custom build variants (by default only disabled in release)
- * // for example: to disable dev mode in the staging build type (if configured)
- * devDisabledInStaging: true,
- * // The configuration property can be in the following formats
- * // 'devDisabledIn${productFlavor}${buildType}'
- * // 'devDisabledIn${buildType}'
- *
- * // the root of your project, i.e. where "package.json" lives
- * root: "../../",
- *
- * // where to put the JS bundle asset in debug mode
- * jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
- *
- * // where to put the JS bundle asset in release mode
- * jsBundleDirRelease: "$buildDir/intermediates/assets/release",
- *
- * // where to put drawable resources / React Native assets, e.g. the ones you use via
- * // require('./image.png')), in debug mode
- * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
- *
- * // where to put drawable resources / React Native assets, e.g. the ones you use via
- * // require('./image.png')), in release mode
- * resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
- *
- * // by default the gradle tasks are skipped if none of the JS files or assets change; this means
- * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
- * // date; if you have any other folders that you want to ignore for performance reasons (gradle
- * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
- * // for example, you might want to remove it from here.
- * inputExcludes: ["android/**", "ios/**"],
- *
- * // override which node gets called and with what additional arguments
- * nodeExecutableAndArgs: ["node"],
- *
- * // supply additional arguments to the packager
- * extraPackagerArgs: []
- * ]
- */
+// SPACEDRIVE CODE END
def projectRoot = rootDir.getAbsoluteFile().getParentFile().getAbsolutePath()
+def expoDebuggableVariants = ['debug']
+// Override `debuggableVariants` for expo-updates debugging
+if (System.getenv('EX_UPDATES_NATIVE_DEBUG') == "1") {
+ react {
+ expoDebuggableVariants = []
+ }
+}
-def reactNativeRoot = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath()
-
-project.ext.react = [
- entryFile: ["node", "-e", "require('expo/scripts/resolveAppEntry')", projectRoot, "android"].execute(null, rootDir).text.trim(),
- enableHermes: (findProperty('expo.jsEngine') ?: "jsc") == "hermes",
- hermesCommand: new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath() + "/sdks/hermesc/%OS-BIN%/hermesc",
- cliPath: "${reactNativeRoot}/cli.js",
- composeSourceMapsPath: "${reactNativeRoot}/scripts/compose-source-maps.js",
-]
-
-apply from: new File(reactNativeRoot, "react.gradle")
/**
- * Set this to true to create two separate APKs instead of one:
- * - An APK that only works on ARM devices
- * - An APK that only works on x86 devices
- * The advantage is the size of the APK is reduced by about 4MB.
- * Upload all the APKs to the Play Store and people will download
- * the correct one based on the CPU architecture of their device.
+ * This is the configuration block to customize your React Native Android app.
+ * By default you don't need to apply any configuration, just uncomment the lines you need.
+ */
+react {
+ entryFile = file(["node", "-e", "require('expo/scripts/resolveAppEntry')", projectRoot, "android", "absolute"].execute(null, rootDir).text.trim())
+ reactNativeDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsoluteFile()
+ hermesCommand = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim()).getParentFile().getAbsolutePath() + "/sdks/hermesc/%OS-BIN%/hermesc"
+ debuggableVariants = expoDebuggableVariants
+
+ // Use Expo CLI to bundle the app, this ensures the Metro config
+ // works correctly with Expo projects.
+ cliFile = new File(["node", "--print", "require.resolve('@expo/cli')"].execute(null, rootDir).text.trim())
+ bundleCommand = "export:embed"
+
+ /* Folders */
+ // The root of your project, i.e. where "package.json" lives. Default is '..'
+ // root = file("../")
+ // The folder where the react-native NPM package is. Default is ../node_modules/react-native
+ // reactNativeDir = file("../node_modules/react-native")
+ // The folder where the react-native Codegen package is. Default is ../node_modules/react-native-codegen
+ // codegenDir = file("../node_modules/react-native-codegen")
+
+ /* Variants */
+ // The list of variants to that are debuggable. For those we're going to
+ // skip the bundling of the JS bundle and the assets. By default is just 'debug'.
+ // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
+ // debuggableVariants = ["liteDebug", "prodDebug"]
+
+ /* Bundling */
+ // A list containing the node command and its flags. Default is just 'node'.
+ // nodeExecutableAndArgs = ["node"]
+
+ //
+ // The path to the CLI configuration file. Default is empty.
+ // bundleConfig = file(../rn-cli.config.js)
+ //
+ // The name of the generated asset file containing your JS bundle
+ // bundleAssetName = "MyApplication.android.bundle"
+ //
+ // The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
+ // entryFile = file("../js/MyApplication.android.js")
+ //
+ // A list of extra flags to pass to the 'bundle' commands.
+ // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
+ // extraPackagerArgs = []
+
+ /* Hermes Commands */
+ // The hermes compiler command to run. By default it is 'hermesc'
+ // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
+ //
+ // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
+ // hermesFlags = ["-O", "-output-source-map"]
+}
+
+// Override `hermesEnabled` by `expo.jsEngine`
+ext {
+ hermesEnabled = (findProperty('expo.jsEngine') ?: "hermes") == "hermes"
+}
+
+/**
+ * Set this to true to create four separate APKs instead of one,
+ * one for each native architecture. This is useful if you don't
+ * use App Bundles (https://developer.android.com/guide/app-bundle/)
+ * and want to have separate APKs to upload to the Play Store.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
- * Run Proguard to shrink the Java bytecode in release builds.
+ * Set this to true to Run Proguard on Release builds to minify the Java bytecode.
*/
def enableProguardInReleaseBuilds = (findProperty('android.enableProguardInReleaseBuilds') ?: false).toBoolean()
/**
- * The preferred build flavor of JavaScriptCore.
+ * The preferred build flavor of JavaScriptCore (JSC)
*
* For example, to use the international variant, you can use:
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
*
* The international variant includes ICU i18n library and necessary data
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
- * give correct results when using with locales other than en-US. Note that
+ * give correct results when using with locales other than en-US. Note that
* this variant is about 6MiB larger per architecture than default.
*/
def jscFlavor = 'org.webkit:android-jsc:+'
/**
- * Whether to enable the Hermes VM.
- *
- * This should be set on project.ext.react and that value will be read here. If it is not set
- * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
- * and the benefits of using Hermes will therefore be sharply reduced.
- */
-def enableHermes = project.ext.react.get("enableHermes", false);
-
-/**
- * Architectures to build native code for.
+ * Private function to get the list of Native Architectures you want to build.
+ * This reads the value from reactNativeArchitectures in your gradle.properties
+ * file and works together with the --active-arch-only flag of react-native run-android.
*/
def reactNativeArchitectures() {
def value = project.getProperties().get("reactNativeArchitectures")
@@ -163,84 +139,11 @@ android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
- applicationId 'com.spacedrive.app'
+ applicationId "com.spacedrive.app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "0.0.1"
- buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
-
- if (isNewArchitectureEnabled()) {
- // We configure the NDK build only if you decide to opt-in for the New Architecture.
- externalNativeBuild {
- ndkBuild {
- arguments "APP_PLATFORM=android-21",
- "APP_STL=c++_shared",
- "NDK_TOOLCHAIN_VERSION=clang",
- "GENERATED_SRC_DIR=$buildDir/generated/source",
- "PROJECT_BUILD_DIR=$buildDir",
- "REACT_ANDROID_DIR=${reactNativeRoot}/ReactAndroid",
- "REACT_ANDROID_BUILD_DIR=${reactNativeRoot}/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 "spacedrive_appmodules"
-
- // Fix for windows limit on number of character in file paths and in command lines
- if (Os.isFamily(Os.FAMILY_WINDOWS)) {
- arguments "NDK_APP_SHORT_COMMANDS=true"
- }
- }
- }
- if (!enableSeparateBuildPerCPUArchitecture) {
- ndk {
- abiFilters (*reactNativeArchitectures())
- }
- }
- }
- }
-
- if (isNewArchitectureEnabled()) {
- // We configure the NDK build only if you decide to opt-in for the New Architecture.
- externalNativeBuild {
- ndkBuild {
- path "$projectDir/src/main/jni/Android.mk"
- }
- }
- def reactAndroidProjectDir = project(':ReactAndroid').projectDir
- def packageReactNdkDebugLibs = tasks.register("packageReactNdkDebugLibs", Copy) {
- dependsOn(":ReactAndroid:packageReactNdkDebugLibsForBuck")
- from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
- into("$buildDir/react-ndk/exported")
- }
- def packageReactNdkReleaseLibs = tasks.register("packageReactNdkReleaseLibs", Copy) {
- dependsOn(":ReactAndroid:packageReactNdkReleaseLibsForBuck")
- from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
- into("$buildDir/react-ndk/exported")
- }
- afterEvaluate {
- // If you wish to add a custom TurboModule or component locally,
- // you should uncomment this line.
- // preBuild.dependsOn("generateCodegenArtifactsFromSchema")
- preDebugBuild.dependsOn(packageReactNdkDebugLibs)
- preReleaseBuild.dependsOn(packageReactNdkReleaseLibs)
-
- // Due to a bug inside AGP, we have to explicitly set a dependency
- // between configureNdkBuild* tasks and the preBuild tasks.
- // This can be removed once this is solved: https://issuetracker.google.com/issues/207403732
- configureNdkBuildRelease.dependsOn(preReleaseBuild)
- configureNdkBuildDebug.dependsOn(preDebugBuild)
- reactNativeArchitectures().each { architecture ->
- tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure {
- dependsOn("preDebugBuild")
- }
- tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure {
- dependsOn("preReleaseBuild")
- }
- }
- }
}
splits {
@@ -277,11 +180,12 @@ android {
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// https://developer.android.com/studio/build/configure-apk-splits.html
+ // Example: versionCode 1 will generate 1001 for armeabi-v7a, 1002 for x86, etc.
def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
- versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
+ defaultConfig.versionCode * 1000 + versionCodes.get(abi)
}
}
@@ -309,10 +213,8 @@ android {
}
dependencies {
- implementation fileTree(dir: "libs", include: ["*.jar"])
-
- //noinspection GradleDynamicVersion
- implementation "com.facebook.react:react-native:+" // From node_modules
+ // The version of react-native is set by the React Native Gradle Plugin
+ implementation("com.facebook.react:react-android")
def isGifEnabled = (findProperty('expo.gif.enabled') ?: "") == "true";
def isWebpEnabled = (findProperty('expo.webp.enabled') ?: "") == "true";
@@ -321,76 +223,38 @@ dependencies {
// If your app supports Android versions before Ice Cream Sandwich (API level 14)
if (isGifEnabled || isWebpEnabled) {
- implementation "com.facebook.fresco:fresco:${frescoVersion}"
- implementation "com.facebook.fresco:imagepipeline-okhttp3:${frescoVersion}"
+ implementation("com.facebook.fresco:fresco:${frescoVersion}")
+ implementation("com.facebook.fresco:imagepipeline-okhttp3:${frescoVersion}")
}
if (isGifEnabled) {
// For animated gif support
- implementation "com.facebook.fresco:animated-gif:${frescoVersion}"
+ implementation("com.facebook.fresco:animated-gif:${frescoVersion}")
}
if (isWebpEnabled) {
// For webp support
- implementation "com.facebook.fresco:webpsupport:${frescoVersion}"
+ implementation("com.facebook.fresco:webpsupport:${frescoVersion}")
if (isWebpAnimatedEnabled) {
// Animated webp support
- implementation "com.facebook.fresco:animated-webp:${frescoVersion}"
+ implementation("com.facebook.fresco:animated-webp:${frescoVersion}")
}
}
- implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
- debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
- exclude group:'com.facebook.fbjni'
- }
+ implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0")
+
+ debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
- exclude group:'com.facebook.flipper'
exclude group:'com.squareup.okhttp3', module:'okhttp'
}
- debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
- exclude group:'com.facebook.flipper'
- }
+ debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
- if (enableHermes) {
- //noinspection GradleDynamicVersion
- implementation("com.facebook.react:hermes-engine:+") { // From node_modules
- exclude group:'com.facebook.fbjni'
- }
+ if (hermesEnabled.toBoolean()) {
+ implementation("com.facebook.react:hermes-android")
} else {
implementation jscFlavor
}
}
-if (isNewArchitectureEnabled()) {
- // If new architecture is enabled, we let you build RN from source
- // Otherwise we fallback to a prebuilt .aar bundled in the NPM package.
- // This will be applied to all the imported transtitive dependency.
- 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")
- substitute(module("com.facebook.react:hermes-engine"))
- .using(project(":ReactAndroid:hermes-engine"))
- .because("On New Architecture we're building Hermes from source")
- }
- }
-}
-
-// Run this once to be able to run the application with BUCK
-// puts all compile dependencies into folder libs for BUCK to use
-task copyDownloadableDepsToLibs(type: Copy) {
- from configurations.implementation
- into 'libs'
-}
-
apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute(null, rootDir).text.trim(), "../native_modules.gradle");
-applyNativeModulesAppBuildGradle(project)
-
-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"
-}
+applyNativeModulesAppBuildGradle(project)
\ No newline at end of file
diff --git a/apps/mobile/android/app/build_defs.bzl b/apps/mobile/android/app/build_defs.bzl
deleted file mode 100644
index fff270f8d..000000000
--- a/apps/mobile/android/app/build_defs.bzl
+++ /dev/null
@@ -1,19 +0,0 @@
-"""Helper definitions to glob .aar and .jar targets"""
-
-def create_aar_targets(aarfiles):
- for aarfile in aarfiles:
- name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
- lib_deps.append(":" + name)
- android_prebuilt_aar(
- name = name,
- aar = aarfile,
- )
-
-def create_jar_targets(jarfiles):
- for jarfile in jarfiles:
- name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
- lib_deps.append(":" + name)
- prebuilt_jar(
- name = name,
- binary_jar = jarfile,
- )
diff --git a/apps/mobile/android/app/proguard-rules.pro b/apps/mobile/android/app/proguard-rules.pro
index 551eb41da..78d6c0389 100644
--- a/apps/mobile/android/app/proguard-rules.pro
+++ b/apps/mobile/android/app/proguard-rules.pro
@@ -11,4 +11,4 @@
-keep class com.swmansion.reanimated.** { *; }
-keep class com.facebook.react.turbomodule.** { *; }
-# Add any project specific keep options here:
+# Add any project specific keep options here:
\ No newline at end of file
diff --git a/apps/mobile/android/app/src/debug/java/com/spacedrive/app/ReactNativeFlipper.java b/apps/mobile/android/app/src/debug/java/com/spacedrive/app/ReactNativeFlipper.java
index 00c9f2231..37ca9c904 100644
--- a/apps/mobile/android/app/src/debug/java/com/spacedrive/app/ReactNativeFlipper.java
+++ b/apps/mobile/android/app/src/debug/java/com/spacedrive/app/ReactNativeFlipper.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) Facebook, Inc. and its affiliates.
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
*
*
This source code is licensed under the MIT license found in the LICENSE file in the root
* directory of this source tree.
@@ -17,22 +17,27 @@ import com.facebook.flipper.plugins.inspector.DescriptorMapping;
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
-import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
+import com.facebook.react.ReactInstanceEventListener;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.modules.network.NetworkingModule;
import okhttp3.OkHttpClient;
+/**
+ * Class responsible of loading Flipper inside your React Native application. This is the debug
+ * flavor of it. Here you can add your own plugins and customize the Flipper setup.
+ */
public class ReactNativeFlipper {
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
if (FlipperUtils.shouldEnableFlipper(context)) {
final FlipperClient client = AndroidFlipperClient.getInstance(context);
+
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
- client.addPlugin(new ReactFlipperPlugin());
client.addPlugin(new DatabasesFlipperPlugin(context));
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
client.addPlugin(CrashReporterPlugin.getInstance());
+
NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
NetworkingModule.setCustomClientBuilder(
new NetworkingModule.CustomClientBuilder() {
@@ -43,12 +48,13 @@ public class ReactNativeFlipper {
});
client.addPlugin(networkFlipperPlugin);
client.start();
+
// Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
// Hence we run if after all native modules have been initialized
ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
if (reactContext == null) {
reactInstanceManager.addReactInstanceEventListener(
- new ReactInstanceManager.ReactInstanceEventListener() {
+ new ReactInstanceEventListener() {
@Override
public void onReactContextInitialized(ReactContext reactContext) {
reactInstanceManager.removeReactInstanceEventListener(this);
diff --git a/apps/mobile/android/app/src/main/java/com/spacedrive/app/MainActivity.java b/apps/mobile/android/app/src/main/java/com/spacedrive/app/MainActivity.java
index 94ac57750..1309a4b94 100644
--- a/apps/mobile/android/app/src/main/java/com/spacedrive/app/MainActivity.java
+++ b/apps/mobile/android/app/src/main/java/com/spacedrive/app/MainActivity.java
@@ -5,7 +5,8 @@ import android.os.Bundle;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
-import com.facebook.react.ReactRootView;
+import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
+import com.facebook.react.defaults.DefaultReactActivityDelegate;
import expo.modules.ReactActivityDelegateWrapper;
@@ -29,15 +30,20 @@ public class MainActivity extends ReactActivity {
}
/**
- * Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and
- * you can specify the renderer you wish to use - the new renderer (Fabric) or the old renderer
- * (Paper).
+ * Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link
+ * DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React
+ * (aka React 18) with two boolean flags.
*/
@Override
protected ReactActivityDelegate createReactActivityDelegate() {
- return new ReactActivityDelegateWrapper(this, BuildConfig.IS_NEW_ARCHITECTURE_ENABLED,
- new MainActivityDelegate(this, getMainComponentName())
- );
+ return new ReactActivityDelegateWrapper(this, BuildConfig.IS_NEW_ARCHITECTURE_ENABLED, new DefaultReactActivityDelegate(
+ this,
+ getMainComponentName(),
+ // If you opted-in for the New Architecture, we enable the Fabric Renderer.
+ DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled
+ // If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18).
+ DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled
+ ));
}
/**
@@ -59,25 +65,4 @@ public class MainActivity extends ReactActivity {
// because it's doing more than {@link Activity#moveTaskToBack} in fact.
super.invokeDefaultOnBackPressed();
}
-
- public static class MainActivityDelegate extends ReactActivityDelegate {
- public MainActivityDelegate(ReactActivity activity, String mainComponentName) {
- super(activity, mainComponentName);
- }
-
- @Override
- protected ReactRootView createRootView() {
- ReactRootView reactRootView = new ReactRootView(getContext());
- // If you opted-in for the New Architecture, we enable the Fabric Renderer.
- 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;
- }
- }
-}
+}
\ No newline at end of file
diff --git a/apps/mobile/android/app/src/main/java/com/spacedrive/app/MainApplication.java b/apps/mobile/android/app/src/main/java/com/spacedrive/app/MainApplication.java
index 1d47d6150..ad2962a9e 100644
--- a/apps/mobile/android/app/src/main/java/com/spacedrive/app/MainApplication.java
+++ b/apps/mobile/android/app/src/main/java/com/spacedrive/app/MainApplication.java
@@ -1,69 +1,70 @@
package com.spacedrive.app;
import android.app.Application;
-import android.content.Context;
import android.content.res.Configuration;
import androidx.annotation.NonNull;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
-import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
-import com.facebook.react.config.ReactFeatureFlags;
+import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
+import com.facebook.react.defaults.DefaultReactNativeHost;
import com.facebook.soloader.SoLoader;
-import com.spacedrive.app.newarchitecture.MainApplicationReactNativeHost;
import expo.modules.ApplicationLifecycleDispatcher;
import expo.modules.ReactNativeHostWrapper;
-import java.lang.reflect.InvocationTargetException;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
- private final ReactNativeHost mReactNativeHost = new ReactNativeHostWrapper(
- this,
- new ReactNativeHost(this) {
- @Override
- public boolean getUseDeveloperSupport() {
- return BuildConfig.DEBUG;
- }
- @Override
- protected List getPackages() {
- @SuppressWarnings("UnnecessaryLocalVariable")
- List packages = new PackageList(this).getPackages();
- // Packages that cannot be autolinked yet can be added manually here, for example:
- packages.add(new com.spacedrive.app.SpacedrivePackage());
- return packages;
- }
+ private final ReactNativeHost mReactNativeHost =
+ new ReactNativeHostWrapper(this, new DefaultReactNativeHost(this) {
+ @Override
+ public boolean getUseDeveloperSupport() {
+ return BuildConfig.DEBUG;
+ }
- @Override
- protected String getJSMainModuleName() {
- return "index";
- }
+ @Override
+ protected List getPackages() {
+ @SuppressWarnings("UnnecessaryLocalVariable")
+ List packages = new PackageList(this).getPackages();
+ // Packages that cannot be autolinked yet can be added manually here, for example:
+ packages.add(new com.spacedrive.app.SpacedrivePackage());
+ return packages;
+ }
+
+ @Override
+ protected String getJSMainModuleName() {
+ return "index";
+ }
+
+ @Override
+ protected boolean isNewArchEnabled() {
+ return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
+ }
+
+ @Override
+ protected Boolean isHermesEnabled() {
+ return BuildConfig.IS_HERMES_ENABLED;
+ }
});
- private final ReactNativeHost mNewArchitectureNativeHost =
- new ReactNativeHostWrapper(this, new MainApplicationReactNativeHost(this));
-
@Override
public ReactNativeHost getReactNativeHost() {
- if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
- return mNewArchitectureNativeHost;
- } else {
- return mReactNativeHost;
- }
+ return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
- // If you opted-in for the New Architecture, we enable the TurboModule system
- ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
SoLoader.init(this, /* native exopackage */ false);
-
- initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
+ if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
+ // If you opted-in for the New Architecture, we load the native entry point for this app.
+ DefaultNewArchitectureEntryPoint.load();
+ }
+ ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
ApplicationLifecycleDispatcher.onApplicationCreate(this);
}
@@ -72,35 +73,4 @@ public class MainApplication extends Application implements ReactApplication {
super.onConfigurationChanged(newConfig);
ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig);
}
-
- /**
- * Loads Flipper in React Native templates. Call this in the onCreate method with something like
- * initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
- *
- * @param context
- * @param reactInstanceManager
- */
- private static void initializeFlipper(
- Context context, ReactInstanceManager reactInstanceManager) {
- if (BuildConfig.DEBUG) {
- try {
- /*
- We use reflection here to pick up the class that initializes Flipper,
- since Flipper library is not available in release mode
- */
- Class> aClass = Class.forName("com.spacedrive.app.ReactNativeFlipper");
- aClass
- .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
- .invoke(null, context, reactInstanceManager);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- }
- }
-}
+}
\ No newline at end of file
diff --git a/apps/mobile/android/app/src/main/java/com/spacedrive/app/newarchitecture/MainApplicationReactNativeHost.java b/apps/mobile/android/app/src/main/java/com/spacedrive/app/newarchitecture/MainApplicationReactNativeHost.java
deleted file mode 100644
index 1a3e3aa1d..000000000
--- a/apps/mobile/android/app/src/main/java/com/spacedrive/app/newarchitecture/MainApplicationReactNativeHost.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package com.spacedrive.app.newarchitecture;
-
-import android.app.Application;
-import androidx.annotation.NonNull;
-import com.facebook.react.PackageList;
-import com.facebook.react.ReactInstanceManager;
-import com.facebook.react.ReactNativeHost;
-import com.facebook.react.ReactPackage;
-import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
-import com.facebook.react.bridge.JSIModulePackage;
-import com.facebook.react.bridge.JSIModuleProvider;
-import com.facebook.react.bridge.JSIModuleSpec;
-import com.facebook.react.bridge.JSIModuleType;
-import com.facebook.react.bridge.JavaScriptContextHolder;
-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.spacedrive.app.BuildConfig;
-import com.spacedrive.app.newarchitecture.components.MainComponentsRegistry;
-import com.spacedrive.app.newarchitecture.modules.MainApplicationTurboModuleManagerDelegate;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A {@link ReactNativeHost} that helps you load everything needed for the New Architecture, both
- * TurboModule delegates and the Fabric Renderer.
- *
- * Please note that this class is used ONLY if you opt-in for the New Architecture (see the
- * `newArchEnabled` property). Is ignored otherwise.
- */
-public class MainApplicationReactNativeHost extends ReactNativeHost {
- public MainApplicationReactNativeHost(Application application) {
- super(application);
- }
-
- @Override
- public boolean getUseDeveloperSupport() {
- return BuildConfig.DEBUG;
- }
-
- @Override
- protected List getPackages() {
- List packages = new PackageList(this).getPackages();
- // Packages that cannot be autolinked yet can be added manually here, for example:
- // packages.add(new MyReactNativePackage());
- // TurboModules must also be loaded here providing a valid TurboReactPackage implementation:
- // packages.add(new TurboReactPackage() { ... });
- // If you have custom Fabric Components, their ViewManagers should also be loaded here
- // inside a ReactPackage.
- return packages;
- }
-
- @Override
- protected String getJSMainModuleName() {
- return "index";
- }
-
- @NonNull
- @Override
- protected ReactPackageTurboModuleManagerDelegate.Builder
- getReactPackageTurboModuleManagerDelegateBuilder() {
- // Here we provide the ReactPackageTurboModuleManagerDelegate Builder. This is necessary
- // for the new architecture and to use TurboModules correctly.
- return new MainApplicationTurboModuleManagerDelegate.Builder();
- }
-
- @Override
- protected JSIModulePackage getJSIModulePackage() {
- return new JSIModulePackage() {
- @Override
- public List getJSIModules(
- final ReactApplicationContext reactApplicationContext,
- final JavaScriptContextHolder jsContext) {
- final List specs = new ArrayList<>();
-
- // Here we provide a new JSIModuleSpec that will be responsible of providing the
- // custom Fabric Components.
- specs.add(
- new JSIModuleSpec() {
- @Override
- public JSIModuleType getJSIModuleType() {
- return JSIModuleType.UIManager;
- }
-
- @Override
- public JSIModuleProvider getJSIModuleProvider() {
- final ComponentFactory componentFactory = new ComponentFactory();
- CoreComponentsRegistry.register(componentFactory);
-
- // Here we register a Components Registry.
- // The one that is generated with the template contains no components
- // and just provides you the one from React Native core.
- MainComponentsRegistry.register(componentFactory);
-
- final ReactInstanceManager reactInstanceManager = getReactInstanceManager();
-
- ViewManagerRegistry viewManagerRegistry =
- new ViewManagerRegistry(
- reactInstanceManager.getOrCreateViewManagers(reactApplicationContext));
-
- return new FabricJSIModuleProvider(
- reactApplicationContext,
- componentFactory,
- ReactNativeConfig.DEFAULT_CONFIG,
- viewManagerRegistry);
- }
- });
- return specs;
- }
- };
- }
-}
diff --git a/apps/mobile/android/app/src/main/java/com/spacedrive/app/newarchitecture/components/MainComponentsRegistry.java b/apps/mobile/android/app/src/main/java/com/spacedrive/app/newarchitecture/components/MainComponentsRegistry.java
deleted file mode 100644
index 0c5bce1e3..000000000
--- a/apps/mobile/android/app/src/main/java/com/spacedrive/app/newarchitecture/components/MainComponentsRegistry.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.spacedrive.app.newarchitecture.components;
-
-import com.facebook.jni.HybridData;
-import com.facebook.proguard.annotations.DoNotStrip;
-import com.facebook.react.fabric.ComponentFactory;
-import com.facebook.soloader.SoLoader;
-
-/**
- * Class responsible to load the custom Fabric Components. This class has native methods and needs a
- * corresponding C++ implementation/header file to work correctly (already placed inside the jni/
- * folder for you).
- *
- * Please note that this class is used ONLY if you opt-in for the New Architecture (see the
- * `newArchEnabled` property). Is ignored otherwise.
- */
-@DoNotStrip
-public class MainComponentsRegistry {
- static {
- SoLoader.loadLibrary("fabricjni");
- }
-
- @DoNotStrip private final HybridData mHybridData;
-
- @DoNotStrip
- private native HybridData initHybrid(ComponentFactory componentFactory);
-
- @DoNotStrip
- private MainComponentsRegistry(ComponentFactory componentFactory) {
- mHybridData = initHybrid(componentFactory);
- }
-
- @DoNotStrip
- public static MainComponentsRegistry register(ComponentFactory componentFactory) {
- return new MainComponentsRegistry(componentFactory);
- }
-}
diff --git a/apps/mobile/android/app/src/main/java/com/spacedrive/app/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java b/apps/mobile/android/app/src/main/java/com/spacedrive/app/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java
deleted file mode 100644
index a2cd752da..000000000
--- a/apps/mobile/android/app/src/main/java/com/spacedrive/app/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.spacedrive.app.newarchitecture.modules;
-
-import com.facebook.jni.HybridData;
-import com.facebook.react.ReactPackage;
-import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
-import com.facebook.react.bridge.ReactApplicationContext;
-import com.facebook.soloader.SoLoader;
-import java.util.List;
-
-/**
- * Class responsible to load the TurboModules. This class has native methods and needs a
- * corresponding C++ implementation/header file to work correctly (already placed inside the jni/
- * folder for you).
- *
- *
Please note that this class is used ONLY if you opt-in for the New Architecture (see the
- * `newArchEnabled` property). Is ignored otherwise.
- */
-public class MainApplicationTurboModuleManagerDelegate
- extends ReactPackageTurboModuleManagerDelegate {
-
- private static volatile boolean sIsSoLibraryLoaded;
-
- protected MainApplicationTurboModuleManagerDelegate(
- ReactApplicationContext reactApplicationContext, List packages) {
- super(reactApplicationContext, packages);
- }
-
- protected native HybridData initHybrid();
-
- native boolean canCreateTurboModule(String moduleName);
-
- public static class Builder extends ReactPackageTurboModuleManagerDelegate.Builder {
- protected MainApplicationTurboModuleManagerDelegate build(
- ReactApplicationContext context, List packages) {
- return new MainApplicationTurboModuleManagerDelegate(context, packages);
- }
- }
-
- @Override
- protected synchronized void maybeLoadOtherSoLibraries() {
- if (!sIsSoLibraryLoaded) {
- // If you change the name of your application .so file in the Android.mk file,
- // make sure you update the name here as well.
- SoLoader.loadLibrary("spacedrive_appmodules");
- sIsSoLibraryLoaded = true;
- }
- }
-}
diff --git a/apps/mobile/android/app/src/main/jni/MainApplicationModuleProvider.cpp b/apps/mobile/android/app/src/main/jni/MainApplicationModuleProvider.cpp
deleted file mode 100644
index 0ac23cc62..000000000
--- a/apps/mobile/android/app/src/main/jni/MainApplicationModuleProvider.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#include "MainApplicationModuleProvider.h"
-
-#include
-
-namespace facebook {
-namespace react {
-
-std::shared_ptr MainApplicationModuleProvider(
- const std::string moduleName,
- const JavaTurboModule::InitParams ¶ms) {
- // Here you can provide your own module provider for TurboModules coming from
- // either your application or from external libraries. The approach to follow
- // is similar to the following (for a library called `samplelibrary`:
- //
- // auto module = samplelibrary_ModuleProvider(moduleName, params);
- // if (module != nullptr) {
- // return module;
- // }
- // return rncore_ModuleProvider(moduleName, params);
- return rncore_ModuleProvider(moduleName, params);
-}
-
-} // namespace react
-} // namespace facebook
diff --git a/apps/mobile/android/app/src/main/jni/MainApplicationModuleProvider.h b/apps/mobile/android/app/src/main/jni/MainApplicationModuleProvider.h
deleted file mode 100644
index 0fa43fa69..000000000
--- a/apps/mobile/android/app/src/main/jni/MainApplicationModuleProvider.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#pragma once
-
-#include
-#include
-
-#include
-
-namespace facebook {
-namespace react {
-
-std::shared_ptr MainApplicationModuleProvider(
- const std::string moduleName,
- const JavaTurboModule::InitParams ¶ms);
-
-} // namespace react
-} // namespace facebook
diff --git a/apps/mobile/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp b/apps/mobile/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp
deleted file mode 100644
index dbbdc3d13..000000000
--- a/apps/mobile/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "MainApplicationTurboModuleManagerDelegate.h"
-#include "MainApplicationModuleProvider.h"
-
-namespace facebook {
-namespace react {
-
-jni::local_ref
-MainApplicationTurboModuleManagerDelegate::initHybrid(
- jni::alias_ref) {
- return makeCxxInstance();
-}
-
-void MainApplicationTurboModuleManagerDelegate::registerNatives() {
- registerHybrid({
- makeNativeMethod(
- "initHybrid", MainApplicationTurboModuleManagerDelegate::initHybrid),
- makeNativeMethod(
- "canCreateTurboModule",
- MainApplicationTurboModuleManagerDelegate::canCreateTurboModule),
- });
-}
-
-std::shared_ptr
-MainApplicationTurboModuleManagerDelegate::getTurboModule(
- const std::string name,
- const std::shared_ptr jsInvoker) {
- // Not implemented yet: provide pure-C++ NativeModules here.
- return nullptr;
-}
-
-std::shared_ptr
-MainApplicationTurboModuleManagerDelegate::getTurboModule(
- const std::string name,
- const JavaTurboModule::InitParams ¶ms) {
- return MainApplicationModuleProvider(name, params);
-}
-
-bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule(
- std::string name) {
- return getTurboModule(name, nullptr) != nullptr ||
- getTurboModule(name, {.moduleName = name}) != nullptr;
-}
-
-} // namespace react
-} // namespace facebook
diff --git a/apps/mobile/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h b/apps/mobile/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
deleted file mode 100644
index f5670d9f8..000000000
--- a/apps/mobile/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#include
-#include
-
-#include
-#include
-
-namespace facebook {
-namespace react {
-
-class MainApplicationTurboModuleManagerDelegate
- : public jni::HybridClass<
- MainApplicationTurboModuleManagerDelegate,
- TurboModuleManagerDelegate> {
- public:
- // Adapt it to the package you used for your Java class.
- static constexpr auto kJavaDescriptor =
- "Lcom/spacedrive/app/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate;";
-
- static jni::local_ref initHybrid(jni::alias_ref);
-
- static void registerNatives();
-
- std::shared_ptr getTurboModule(
- const std::string name,
- const std::shared_ptr jsInvoker) override;
- std::shared_ptr getTurboModule(
- const std::string name,
- const JavaTurboModule::InitParams ¶ms) override;
-
- /**
- * Test-only method. Allows user to verify whether a TurboModule can be
- * created by instances of this class.
- */
- bool canCreateTurboModule(std::string name);
-};
-
-} // namespace react
-} // namespace facebook
diff --git a/apps/mobile/android/app/src/main/jni/MainComponentsRegistry.cpp b/apps/mobile/android/app/src/main/jni/MainComponentsRegistry.cpp
deleted file mode 100644
index 8f7edffd6..000000000
--- a/apps/mobile/android/app/src/main/jni/MainComponentsRegistry.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-#include "MainComponentsRegistry.h"
-
-#include
-#include
-#include
-#include
-
-namespace facebook {
-namespace react {
-
-MainComponentsRegistry::MainComponentsRegistry(ComponentFactory *delegate) {}
-
-std::shared_ptr
-MainComponentsRegistry::sharedProviderRegistry() {
- auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry();
-
- // Custom Fabric Components go here. You can register custom
- // components coming from your App or from 3rd party libraries here.
- //
- // providerRegistry->add(concreteComponentDescriptorProvider<
- // AocViewerComponentDescriptor>());
- return providerRegistry;
-}
-
-jni::local_ref
-MainComponentsRegistry::initHybrid(
- jni::alias_ref,
- ComponentFactory *delegate) {
- auto instance = makeCxxInstance(delegate);
-
- auto buildRegistryFunction =
- [](EventDispatcher::Weak const &eventDispatcher,
- ContextContainer::Shared const &contextContainer)
- -> ComponentDescriptorRegistry::Shared {
- auto registry = MainComponentsRegistry::sharedProviderRegistry()
- ->createComponentDescriptorRegistry(
- {eventDispatcher, contextContainer});
-
- auto mutableRegistry =
- std::const_pointer_cast(registry);
-
- mutableRegistry->setFallbackComponentDescriptor(
- std::make_shared(
- ComponentDescriptorParameters{
- eventDispatcher, contextContainer, nullptr}));
-
- return registry;
- };
-
- delegate->buildRegistryFunction = buildRegistryFunction;
- return instance;
-}
-
-void MainComponentsRegistry::registerNatives() {
- registerHybrid({
- makeNativeMethod("initHybrid", MainComponentsRegistry::initHybrid),
- });
-}
-
-} // namespace react
-} // namespace facebook
diff --git a/apps/mobile/android/app/src/main/jni/MainComponentsRegistry.h b/apps/mobile/android/app/src/main/jni/MainComponentsRegistry.h
deleted file mode 100644
index a7f222542..000000000
--- a/apps/mobile/android/app/src/main/jni/MainComponentsRegistry.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#pragma once
-
-#include
-#include
-#include
-#include
-
-namespace facebook {
-namespace react {
-
-class MainComponentsRegistry
- : public facebook::jni::HybridClass {
- public:
- // Adapt it to the package you used for your Java class.
- constexpr static auto kJavaDescriptor =
- "Lcom/spacedrive/app/newarchitecture/components/MainComponentsRegistry;";
-
- static void registerNatives();
-
- MainComponentsRegistry(ComponentFactory *delegate);
-
- private:
- static std::shared_ptr
- sharedProviderRegistry();
-
- static jni::local_ref initHybrid(
- jni::alias_ref,
- ComponentFactory *delegate);
-};
-
-} // namespace react
-} // namespace facebook
diff --git a/apps/mobile/android/app/src/main/jni/OnLoad.cpp b/apps/mobile/android/app/src/main/jni/OnLoad.cpp
deleted file mode 100644
index c569b6e86..000000000
--- a/apps/mobile/android/app/src/main/jni/OnLoad.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
-#include
-#include "MainApplicationTurboModuleManagerDelegate.h"
-#include "MainComponentsRegistry.h"
-
-JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
- return facebook::jni::initialize(vm, [] {
- facebook::react::MainApplicationTurboModuleManagerDelegate::
- registerNatives();
- facebook::react::MainComponentsRegistry::registerNatives();
- });
-}
diff --git a/apps/mobile/android/app/src/release/java/com/spacedrive/app/ReactNativeFlipper.java b/apps/mobile/android/app/src/release/java/com/spacedrive/app/ReactNativeFlipper.java
new file mode 100644
index 000000000..50dd8daac
--- /dev/null
+++ b/apps/mobile/android/app/src/release/java/com/spacedrive/app/ReactNativeFlipper.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the LICENSE file in the root
+ * directory of this source tree.
+ */
+package com.spacedrive.app;
+
+import android.content.Context;
+import com.facebook.react.ReactInstanceManager;
+
+/**
+ * Class responsible of loading Flipper inside your React Native application. This is the release
+ * flavor of it so it's empty as we don't want to load Flipper.
+ */
+public class ReactNativeFlipper {
+ public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
+ // Do nothing as we don't want to initialize Flipper on Release.
+ }
+}
\ No newline at end of file
diff --git a/apps/mobile/android/build.gradle b/apps/mobile/android/build.gradle
index dc4382afd..c05852a6e 100644
--- a/apps/mobile/android/build.gradle
+++ b/apps/mobile/android/build.gradle
@@ -4,38 +4,31 @@ import org.apache.tools.ant.taskdefs.condition.Os
buildscript {
ext {
- buildToolsVersion = findProperty('android.buildToolsVersion') ?: '31.0.0'
+ buildToolsVersion = findProperty('android.buildToolsVersion') ?: '33.0.0'
minSdkVersion = Integer.parseInt(findProperty('android.minSdkVersion') ?: '21')
- compileSdkVersion = Integer.parseInt(findProperty('android.compileSdkVersion') ?: '31')
- targetSdkVersion = Integer.parseInt(findProperty('android.targetSdkVersion') ?: '31')
- reactNativeVersion = "0.69.4" // https://github.com/expo/expo/issues/18129
+ compileSdkVersion = Integer.parseInt(findProperty('android.compileSdkVersion') ?: '33')
+ targetSdkVersion = Integer.parseInt(findProperty('android.targetSdkVersion') ?: '33')
if (findProperty('android.kotlinVersion')) {
kotlinVersion = findProperty('android.kotlinVersion')
}
frescoVersion = findProperty('expo.frescoVersion') ?: '2.5.0'
- 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 {
- // Otherwise we default to the side-by-side NDK version from AGP.
- ndkVersion = '21.4.7075529'
- }
+ // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
+ ndkVersion = "23.1.7779620"
}
repositories {
google()
mavenCentral()
+ // Spacedrive -- Required for the Android Rust plugin.
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
- classpath('com.android.tools.build:gradle:7.1.1')
+ classpath('com.android.tools.build:gradle:7.4.1')
classpath('com.facebook.react:react-native-gradle-plugin')
- classpath('de.undercouch:gradle-download-task:5.0.1')
+ // Spacedrive -- Rust plugin.
classpath('org.mozilla.rust-android-gradle:plugin:0.9.3')
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
}
}
@@ -52,13 +45,7 @@ allprojects {
}
google()
- mavenCentral {
- // We don't want to fetch react-native from Maven Central as there are
- // older versions over there.
- content {
- excludeGroup 'com.facebook.react'
- }
- }
+ mavenCentral()
maven { url 'https://www.jitpack.io' }
}
}
diff --git a/apps/mobile/android/gradle.properties b/apps/mobile/android/gradle.properties
index 9911ac4af..243667b99 100644
--- a/apps/mobile/android/gradle.properties
+++ b/apps/mobile/android/gradle.properties
@@ -50,4 +50,4 @@ expo.gif.enabled=true
expo.webp.enabled=true
# Enable animated webp support (~3.4 MB increase)
# Disabled by default because iOS doesn't support animated webp
-expo.webp.animated=false
+expo.webp.animated=false
\ No newline at end of file
diff --git a/apps/mobile/android/gradle/wrapper/gradle-wrapper.properties b/apps/mobile/android/gradle/wrapper/gradle-wrapper.properties
index 669386b87..7b54e6906 100644
--- a/apps/mobile/android/gradle/wrapper/gradle-wrapper.properties
+++ b/apps/mobile/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
+zipStorePath=wrapper/dists
\ No newline at end of file
diff --git a/apps/mobile/android/gradlew b/apps/mobile/android/gradlew
index 1b6c78733..ab2855b44 100755
--- a/apps/mobile/android/gradlew
+++ b/apps/mobile/android/gradlew
@@ -205,6 +205,12 @@ set -- \
org.gradle.wrapper.GradleWrapperMain \
"$@"
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
+fi
+
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
@@ -231,4 +237,4 @@ eval "set -- $(
tr '\n' ' '
)" '"$@"'
-exec "$JAVACMD" "$@"
+exec "$JAVACMD" "$@"
\ No newline at end of file
diff --git a/apps/mobile/android/gradlew.bat b/apps/mobile/android/gradlew.bat
index ac1b06f93..a74609357 100644
--- a/apps/mobile/android/gradlew.bat
+++ b/apps/mobile/android/gradlew.bat
@@ -14,7 +14,7 @@
@rem limitations under the License.
@rem
-@if "%DEBUG%" == "" @echo off
+@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@@ -25,7 +25,7 @@
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
+if "%DIRNAME%"=="" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto execute
+if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@@ -75,15 +75,17 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
:end
@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
+if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
-:omega
+:omega
\ No newline at end of file
diff --git a/apps/mobile/android/settings.gradle b/apps/mobile/android/settings.gradle
index d52a28091..7505dd3b5 100644
--- a/apps/mobile/android/settings.gradle
+++ b/apps/mobile/android/settings.gradle
@@ -7,11 +7,4 @@ apply from: new File(["node", "--print", "require.resolve('@react-native-communi
applyNativeModulesSettingsGradle(settings)
include ':app'
-includeBuild(new File(["node", "--print", "require.resolve('react-native-gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile())
-
-if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") {
- include(":ReactAndroid")
- project(":ReactAndroid").projectDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), "../ReactAndroid");
- include(":ReactAndroid:hermes-engine")
- project(":ReactAndroid:hermes-engine").projectDir = new File(["node", "--print", "require.resolve('react-native/package.json')"].execute(null, rootDir).text.trim(), "../ReactAndroid/hermes-engine");
-}
+includeBuild(new File(["node", "--print", "require.resolve('react-native-gradle-plugin/package.json')"].execute(null, rootDir).text.trim()).getParentFile())
\ No newline at end of file
diff --git a/apps/mobile/app.json b/apps/mobile/app.json
index 02add5aa7..02f0b25d9 100644
--- a/apps/mobile/app.json
+++ b/apps/mobile/app.json
@@ -7,6 +7,7 @@
"orientation": "portrait",
"jsEngine": "hermes",
"scheme": "spacedrive",
+ "platforms": ["ios", "android"],
"userInterfaceStyle": "automatic",
"updates": {
"enabled": false,
diff --git a/apps/mobile/ios/Podfile b/apps/mobile/ios/Podfile
index a1ba532e9..499f54880 100644
--- a/apps/mobile/ios/Podfile
+++ b/apps/mobile/ios/Podfile
@@ -5,34 +5,62 @@ require File.join(File.dirname(`node --print "require.resolve('@react-native-com
require 'json'
podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {}
+ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0'
+
platform :ios, podfile_properties['ios.deploymentTarget'] || '13.0'
install! 'cocoapods',
:deterministic_uuids => false
+prepare_react_native_project!
+
+# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
+# because `react-native-flipper` depends on (FlipperKit,...), which will be excluded. To fix this,
+# you can also exclude `react-native-flipper` in `react-native.config.js`
+#
+# ```js
+# module.exports = {
+# dependencies: {
+# ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
+# }
+# }
+# ```
+flipper_config = FlipperConfiguration.disabled
+if ENV['NO_FLIPPER'] == '1' then
+ # Explicitly disabled through environment variables
+ flipper_config = FlipperConfiguration.disabled
+elsif podfile_properties.key?('ios.flipper') then
+ # Configure Flipper in Podfile.properties.json
+ if podfile_properties['ios.flipper'] == 'true' then
+ flipper_config = FlipperConfiguration.enabled(["Debug", "Release"])
+ elsif podfile_properties['ios.flipper'] != 'false' then
+ flipper_config = FlipperConfiguration.enabled(["Debug", "Release"], { 'Flipper' => podfile_properties['ios.flipper'] })
+ end
+end
+
target 'Spacedrive' do
use_expo_modules!
config = use_native_modules!
use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']
+ use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS']
# Flags change depending on the env values.
flags = get_default_flags()
use_react_native!(
:path => config[:reactNativePath],
- :hermes_enabled => podfile_properties['expo.jsEngine'] == 'hermes',
+ :hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes',
:fabric_enabled => flags[:fabric_enabled],
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/..",
- #
- # Uncomment to opt-in to using Flipper
- # Note that if you have use_frameworks! enabled, Flipper will not work
- # :flipper_configuration => !ENV['CI'] ? FlipperConfiguration.enabled : FlipperConfiguration.disabled,
+ # Note that if you have use_frameworks! enabled, Flipper will not work if enabled
+ :flipper_configuration => flipper_config
)
post_install do |installer|
react_native_post_install(
installer,
+ config[:reactNativePath],
# Set `mac_catalyst_enabled` to `true` in order to apply patches
# necessary for Mac Catalyst builds
:mac_catalyst_enabled => false
diff --git a/apps/mobile/ios/Podfile.lock b/apps/mobile/ios/Podfile.lock
index 184617f70..56e28f269 100644
--- a/apps/mobile/ios/Podfile.lock
+++ b/apps/mobile/ios/Podfile.lock
@@ -1,38 +1,41 @@
PODS:
- boost (1.76.0)
- DoubleConversion (1.1.6)
- - EXApplication (5.0.1):
+ - EXApplication (5.1.1):
- ExpoModulesCore
- - EXConstants (14.0.2):
+ - EXConstants (14.2.1):
- ExpoModulesCore
- - EXFileSystem (15.1.1):
+ - EXFileSystem (15.2.2):
- ExpoModulesCore
- - EXFont (11.0.1):
+ - EXFont (11.1.1):
- ExpoModulesCore
- - EXMediaLibrary (15.0.0):
+ - EXMediaLibrary (15.2.2):
- ExpoModulesCore
- React-Core
- - Expo (47.0.13):
+ - Expo (48.0.6):
- ExpoModulesCore
- - ExpoKeepAwake (11.0.1):
+ - ExpoKeepAwake (12.0.1):
- ExpoModulesCore
- - ExpoModulesCore (1.1.1):
+ - ExpoModulesCore (1.2.4):
- React-Core
+ - React-RCTAppDelegate
- ReactCommon/turbomodule/core
- - EXSplashScreen (0.17.5):
+ - EXSplashScreen (0.18.1):
- ExpoModulesCore
- React-Core
- - FBLazyVector (0.70.5)
- - FBReactNativeSpec (0.70.5):
+ - FBLazyVector (0.71.3)
+ - FBReactNativeSpec (0.71.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTRequired (= 0.70.5)
- - RCTTypeSafety (= 0.70.5)
- - React-Core (= 0.70.5)
- - React-jsi (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
+ - RCTRequired (= 0.71.3)
+ - RCTTypeSafety (= 0.71.3)
+ - React-Core (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - ReactCommon/turbomodule/core (= 0.71.3)
- fmt (6.2.1)
- glog (0.3.5)
- - hermes-engine (0.70.5)
+ - hermes-engine (0.71.3):
+ - hermes-engine/Pre-built (= 0.71.3)
+ - hermes-engine/Pre-built (0.71.3)
- libevent (2.1.12)
- lottie-ios (3.4.4)
- lottie-react-native (5.1.4):
@@ -55,214 +58,239 @@ PODS:
- fmt (~> 6.2.1)
- glog
- libevent
- - RCTRequired (0.70.5)
- - RCTTypeSafety (0.70.5):
- - FBLazyVector (= 0.70.5)
- - RCTRequired (= 0.70.5)
- - React-Core (= 0.70.5)
- - React (0.70.5):
- - React-Core (= 0.70.5)
- - React-Core/DevSupport (= 0.70.5)
- - React-Core/RCTWebSocket (= 0.70.5)
- - React-RCTActionSheet (= 0.70.5)
- - React-RCTAnimation (= 0.70.5)
- - React-RCTBlob (= 0.70.5)
- - React-RCTImage (= 0.70.5)
- - React-RCTLinking (= 0.70.5)
- - React-RCTNetwork (= 0.70.5)
- - React-RCTSettings (= 0.70.5)
- - React-RCTText (= 0.70.5)
- - React-RCTVibration (= 0.70.5)
- - React-bridging (0.70.5):
- - RCT-Folly (= 2021.07.22.00)
- - React-jsi (= 0.70.5)
- - React-callinvoker (0.70.5)
- - React-Codegen (0.70.5):
- - FBReactNativeSpec (= 0.70.5)
- - RCT-Folly (= 2021.07.22.00)
- - RCTRequired (= 0.70.5)
- - RCTTypeSafety (= 0.70.5)
- - React-Core (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
- - React-Core (0.70.5):
+ - RCTRequired (0.71.3)
+ - RCTTypeSafety (0.71.3):
+ - FBLazyVector (= 0.71.3)
+ - RCTRequired (= 0.71.3)
+ - React-Core (= 0.71.3)
+ - React (0.71.3):
+ - React-Core (= 0.71.3)
+ - React-Core/DevSupport (= 0.71.3)
+ - React-Core/RCTWebSocket (= 0.71.3)
+ - React-RCTActionSheet (= 0.71.3)
+ - React-RCTAnimation (= 0.71.3)
+ - React-RCTBlob (= 0.71.3)
+ - React-RCTImage (= 0.71.3)
+ - React-RCTLinking (= 0.71.3)
+ - React-RCTNetwork (= 0.71.3)
+ - React-RCTSettings (= 0.71.3)
+ - React-RCTText (= 0.71.3)
+ - React-RCTVibration (= 0.71.3)
+ - React-callinvoker (0.71.3)
+ - React-Codegen (0.71.3):
+ - FBReactNativeSpec
+ - hermes-engine
+ - RCT-Folly
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - React-jsi
+ - React-jsiexecutor
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - React-Core (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-Core/Default (= 0.70.5)
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-Core/Default (= 0.71.3)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/CoreModulesHeaders (0.70.5):
+ - React-Core/CoreModulesHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/Default (0.70.5):
+ - React-Core/Default (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/DevSupport (0.70.5):
+ - React-Core/DevSupport (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-Core/Default (= 0.70.5)
- - React-Core/RCTWebSocket (= 0.70.5)
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-jsinspector (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-Core/Default (= 0.71.3)
+ - React-Core/RCTWebSocket (= 0.71.3)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-jsinspector (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTActionSheetHeaders (0.70.5):
+ - React-Core/RCTActionSheetHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTAnimationHeaders (0.70.5):
+ - React-Core/RCTAnimationHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTBlobHeaders (0.70.5):
+ - React-Core/RCTBlobHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTImageHeaders (0.70.5):
+ - React-Core/RCTImageHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTLinkingHeaders (0.70.5):
+ - React-Core/RCTLinkingHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTNetworkHeaders (0.70.5):
+ - React-Core/RCTNetworkHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTSettingsHeaders (0.70.5):
+ - React-Core/RCTSettingsHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTTextHeaders (0.70.5):
+ - React-Core/RCTTextHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTVibrationHeaders (0.70.5):
+ - React-Core/RCTVibrationHeaders (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-Core/RCTWebSocket (0.70.5):
+ - React-Core/RCTWebSocket (0.71.3):
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-Core/Default (= 0.70.5)
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-Core/Default (= 0.71.3)
+ - React-cxxreact (= 0.71.3)
+ - React-hermes
+ - React-jsi (= 0.71.3)
+ - React-jsiexecutor (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- Yoga
- - React-CoreModules (0.70.5):
+ - React-CoreModules (0.71.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.70.5)
- - React-Codegen (= 0.70.5)
- - React-Core/CoreModulesHeaders (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-RCTImage (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
- - React-cxxreact (0.70.5):
+ - RCTTypeSafety (= 0.71.3)
+ - React-Codegen (= 0.71.3)
+ - React-Core/CoreModulesHeaders (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - React-RCTBlob
+ - React-RCTImage (= 0.71.3)
+ - ReactCommon/turbomodule/core (= 0.71.3)
+ - React-cxxreact (0.71.3):
- boost (= 1.76.0)
- DoubleConversion
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-callinvoker (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsinspector (= 0.70.5)
- - React-logger (= 0.70.5)
- - React-perflogger (= 0.70.5)
- - React-runtimeexecutor (= 0.70.5)
- - React-hermes (0.70.5):
+ - React-callinvoker (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - React-jsinspector (= 0.71.3)
+ - React-logger (= 0.71.3)
+ - React-perflogger (= 0.71.3)
+ - React-runtimeexecutor (= 0.71.3)
+ - React-hermes (0.71.3):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- RCT-Folly/Futures (= 2021.07.22.00)
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-jsiexecutor (= 0.70.5)
- - React-jsinspector (= 0.70.5)
- - React-perflogger (= 0.70.5)
- - React-jsi (0.70.5):
+ - React-cxxreact (= 0.71.3)
+ - React-jsi
+ - React-jsiexecutor (= 0.71.3)
+ - React-jsinspector (= 0.71.3)
+ - React-perflogger (= 0.71.3)
+ - React-jsi (0.71.3):
- boost (= 1.76.0)
- DoubleConversion
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-jsi/Default (= 0.70.5)
- - React-jsi/Default (0.70.5):
- - boost (= 1.76.0)
+ - React-jsiexecutor (0.71.3):
- DoubleConversion
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-jsiexecutor (0.70.5):
- - DoubleConversion
- - glog
- - RCT-Folly (= 2021.07.22.00)
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-perflogger (= 0.70.5)
- - React-jsinspector (0.70.5)
- - React-logger (0.70.5):
+ - React-cxxreact (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - React-perflogger (= 0.71.3)
+ - React-jsinspector (0.71.3)
+ - React-logger (0.71.3):
- glog
- react-native-document-picker (8.1.3):
- React-Core
@@ -272,77 +300,95 @@ PODS:
- RCTTypeSafety
- React-Core
- ReactCommon/turbomodule/core
- - React-perflogger (0.70.5)
- - React-RCTActionSheet (0.70.5):
- - React-Core/RCTActionSheetHeaders (= 0.70.5)
- - React-RCTAnimation (0.70.5):
+ - React-perflogger (0.71.3)
+ - React-RCTActionSheet (0.71.3):
+ - React-Core/RCTActionSheetHeaders (= 0.71.3)
+ - React-RCTAnimation (0.71.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.70.5)
- - React-Codegen (= 0.70.5)
- - React-Core/RCTAnimationHeaders (= 0.70.5)
- - React-jsi (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
- - React-RCTBlob (0.70.5):
+ - RCTTypeSafety (= 0.71.3)
+ - React-Codegen (= 0.71.3)
+ - React-Core/RCTAnimationHeaders (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - ReactCommon/turbomodule/core (= 0.71.3)
+ - React-RCTAppDelegate (0.71.3):
+ - RCT-Folly
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Core
+ - ReactCommon/turbomodule/core
+ - React-RCTBlob (0.71.3):
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-Codegen (= 0.70.5)
- - React-Core/RCTBlobHeaders (= 0.70.5)
- - React-Core/RCTWebSocket (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-RCTNetwork (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
- - React-RCTImage (0.70.5):
+ - React-Codegen (= 0.71.3)
+ - React-Core/RCTBlobHeaders (= 0.71.3)
+ - React-Core/RCTWebSocket (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - React-RCTNetwork (= 0.71.3)
+ - ReactCommon/turbomodule/core (= 0.71.3)
+ - React-RCTImage (0.71.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.70.5)
- - React-Codegen (= 0.70.5)
- - React-Core/RCTImageHeaders (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-RCTNetwork (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
- - React-RCTLinking (0.70.5):
- - React-Codegen (= 0.70.5)
- - React-Core/RCTLinkingHeaders (= 0.70.5)
- - React-jsi (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
- - React-RCTNetwork (0.70.5):
+ - RCTTypeSafety (= 0.71.3)
+ - React-Codegen (= 0.71.3)
+ - React-Core/RCTImageHeaders (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - React-RCTNetwork (= 0.71.3)
+ - ReactCommon/turbomodule/core (= 0.71.3)
+ - React-RCTLinking (0.71.3):
+ - React-Codegen (= 0.71.3)
+ - React-Core/RCTLinkingHeaders (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - ReactCommon/turbomodule/core (= 0.71.3)
+ - React-RCTNetwork (0.71.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.70.5)
- - React-Codegen (= 0.70.5)
- - React-Core/RCTNetworkHeaders (= 0.70.5)
- - React-jsi (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
- - React-RCTSettings (0.70.5):
+ - RCTTypeSafety (= 0.71.3)
+ - React-Codegen (= 0.71.3)
+ - React-Core/RCTNetworkHeaders (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - ReactCommon/turbomodule/core (= 0.71.3)
+ - React-RCTSettings (0.71.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.70.5)
- - React-Codegen (= 0.70.5)
- - React-Core/RCTSettingsHeaders (= 0.70.5)
- - React-jsi (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
- - React-RCTText (0.70.5):
- - React-Core/RCTTextHeaders (= 0.70.5)
- - React-RCTVibration (0.70.5):
+ - RCTTypeSafety (= 0.71.3)
+ - React-Codegen (= 0.71.3)
+ - React-Core/RCTSettingsHeaders (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - ReactCommon/turbomodule/core (= 0.71.3)
+ - React-RCTText (0.71.3):
+ - React-Core/RCTTextHeaders (= 0.71.3)
+ - React-RCTVibration (0.71.3):
- RCT-Folly (= 2021.07.22.00)
- - React-Codegen (= 0.70.5)
- - React-Core/RCTVibrationHeaders (= 0.70.5)
- - React-jsi (= 0.70.5)
- - ReactCommon/turbomodule/core (= 0.70.5)
- - React-runtimeexecutor (0.70.5):
- - React-jsi (= 0.70.5)
- - ReactCommon/turbomodule/core (0.70.5):
+ - React-Codegen (= 0.71.3)
+ - React-Core/RCTVibrationHeaders (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - ReactCommon/turbomodule/core (= 0.71.3)
+ - React-runtimeexecutor (0.71.3):
+ - React-jsi (= 0.71.3)
+ - ReactCommon/turbomodule/bridging (0.71.3):
- DoubleConversion
- glog
+ - hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-bridging (= 0.70.5)
- - React-callinvoker (= 0.70.5)
- - React-Core (= 0.70.5)
- - React-cxxreact (= 0.70.5)
- - React-jsi (= 0.70.5)
- - React-logger (= 0.70.5)
- - React-perflogger (= 0.70.5)
+ - React-callinvoker (= 0.71.3)
+ - React-Core (= 0.71.3)
+ - React-cxxreact (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - React-logger (= 0.71.3)
+ - React-perflogger (= 0.71.3)
+ - ReactCommon/turbomodule/core (0.71.3):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2021.07.22.00)
+ - React-callinvoker (= 0.71.3)
+ - React-Core (= 0.71.3)
+ - React-cxxreact (= 0.71.3)
+ - React-jsi (= 0.71.3)
+ - React-logger (= 0.71.3)
+ - React-perflogger (= 0.71.3)
- RNCAsyncStorage (1.17.11):
- React-Core
- RNCMaskedView (0.2.8):
- React-Core
- - RNFlashList (1.4.1):
+ - RNFlashList (1.4.0):
- React-Core
- RNFS (2.20.0):
- React-Core
@@ -375,16 +421,16 @@ PODS:
- React-RCTText
- ReactCommon/turbomodule/core
- Yoga
- - RNScreens (3.19.0):
+ - RNScreens (3.20.0):
- React-Core
- React-RCTImage
- - RNSVG (13.8.0):
+ - RNSVG (13.4.0):
- React-Core
- Yoga (1.14.0)
DEPENDENCIES:
- - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
- - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
+ - boost (from `../../../node_modules/react-native/third-party-podspecs/boost.podspec`)
+ - DoubleConversion (from `../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- EXApplication (from `../../../node_modules/expo-application/ios`)
- EXConstants (from `../../../node_modules/expo-constants/ios`)
- EXFileSystem (from `../../../node_modules/expo-file-system/ios`)
@@ -394,51 +440,51 @@ DEPENDENCIES:
- ExpoKeepAwake (from `../../../node_modules/expo-keep-awake/ios`)
- ExpoModulesCore (from `../../../node_modules/expo-modules-core`)
- EXSplashScreen (from `../../../node_modules/expo-splash-screen/ios`)
- - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
- - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- - hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`)
+ - FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`)
+ - FBReactNativeSpec (from `../../../node_modules/react-native/React/FBReactNativeSpec`)
+ - glog (from `../../../node_modules/react-native/third-party-podspecs/glog.podspec`)
+ - hermes-engine (from `../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
- libevent (~> 2.1.12)
- - lottie-react-native (from `../node_modules/lottie-react-native`)
- - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- - 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`)
+ - lottie-react-native (from `../../../node_modules/lottie-react-native`)
+ - RCT-Folly (from `../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
+ - RCTRequired (from `../../../node_modules/react-native/Libraries/RCTRequired`)
+ - RCTTypeSafety (from `../../../node_modules/react-native/Libraries/TypeSafety`)
+ - React (from `../../../node_modules/react-native/`)
+ - React-callinvoker (from `../../../node_modules/react-native/ReactCommon/callinvoker`)
- React-Codegen (from `build/generated/ios`)
- - React-Core (from `../node_modules/react-native/`)
- - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
- - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`)
- - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
- - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
- - React-logger (from `../node_modules/react-native/ReactCommon/logger`)
- - react-native-document-picker (from `../node_modules/react-native-document-picker`)
- - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
- - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
- - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
- - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
- - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
- - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
- - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
- - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
- - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
- - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
- - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
- - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
- - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
- - "RNCMaskedView (from `../node_modules/@react-native-masked-view/masked-view`)"
- - "RNFlashList (from `../node_modules/@shopify/flash-list`)"
- - RNFS (from `../node_modules/react-native-fs`)
- - RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
- - RNReanimated (from `../node_modules/react-native-reanimated`)
- - RNScreens (from `../node_modules/react-native-screens`)
- - RNSVG (from `../node_modules/react-native-svg`)
- - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
+ - React-Core (from `../../../node_modules/react-native/`)
+ - React-Core/RCTWebSocket (from `../../../node_modules/react-native/`)
+ - React-CoreModules (from `../../../node_modules/react-native/React/CoreModules`)
+ - React-cxxreact (from `../../../node_modules/react-native/ReactCommon/cxxreact`)
+ - React-hermes (from `../../../node_modules/react-native/ReactCommon/hermes`)
+ - React-jsi (from `../../../node_modules/react-native/ReactCommon/jsi`)
+ - React-jsiexecutor (from `../../../node_modules/react-native/ReactCommon/jsiexecutor`)
+ - React-jsinspector (from `../../../node_modules/react-native/ReactCommon/jsinspector`)
+ - React-logger (from `../../../node_modules/react-native/ReactCommon/logger`)
+ - react-native-document-picker (from `../../../node_modules/react-native-document-picker`)
+ - react-native-safe-area-context (from `../../../node_modules/react-native-safe-area-context`)
+ - React-perflogger (from `../../../node_modules/react-native/ReactCommon/reactperflogger`)
+ - React-RCTActionSheet (from `../../../node_modules/react-native/Libraries/ActionSheetIOS`)
+ - React-RCTAnimation (from `../../../node_modules/react-native/Libraries/NativeAnimation`)
+ - React-RCTAppDelegate (from `../../../node_modules/react-native/Libraries/AppDelegate`)
+ - React-RCTBlob (from `../../../node_modules/react-native/Libraries/Blob`)
+ - React-RCTImage (from `../../../node_modules/react-native/Libraries/Image`)
+ - React-RCTLinking (from `../../../node_modules/react-native/Libraries/LinkingIOS`)
+ - React-RCTNetwork (from `../../../node_modules/react-native/Libraries/Network`)
+ - React-RCTSettings (from `../../../node_modules/react-native/Libraries/Settings`)
+ - React-RCTText (from `../../../node_modules/react-native/Libraries/Text`)
+ - React-RCTVibration (from `../../../node_modules/react-native/Libraries/Vibration`)
+ - React-runtimeexecutor (from `../../../node_modules/react-native/ReactCommon/runtimeexecutor`)
+ - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`)
+ - "RNCAsyncStorage (from `../../../node_modules/@react-native-async-storage/async-storage`)"
+ - "RNCMaskedView (from `../../../node_modules/@react-native-masked-view/masked-view`)"
+ - "RNFlashList (from `../../../node_modules/@shopify/flash-list`)"
+ - RNFS (from `../../../node_modules/react-native-fs`)
+ - RNGestureHandler (from `../../../node_modules/react-native-gesture-handler`)
+ - RNReanimated (from `../../../node_modules/react-native-reanimated`)
+ - RNScreens (from `../../../node_modules/react-native-screens`)
+ - RNSVG (from `../../../node_modules/react-native-svg`)
+ - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
trunk:
@@ -448,9 +494,9 @@ SPEC REPOS:
EXTERNAL SOURCES:
boost:
- :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/boost.podspec"
DoubleConversion:
- :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
EXApplication:
:path: "../../../node_modules/expo-application/ios"
EXConstants:
@@ -470,151 +516,151 @@ EXTERNAL SOURCES:
EXSplashScreen:
:path: "../../../node_modules/expo-splash-screen/ios"
FBLazyVector:
- :path: "../node_modules/react-native/Libraries/FBLazyVector"
+ :path: "../../../node_modules/react-native/Libraries/FBLazyVector"
FBReactNativeSpec:
- :path: "../node_modules/react-native/React/FBReactNativeSpec"
+ :path: "../../../node_modules/react-native/React/FBReactNativeSpec"
glog:
- :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/glog.podspec"
hermes-engine:
- :podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec"
+ :podspec: "../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
lottie-react-native:
- :path: "../node_modules/lottie-react-native"
+ :path: "../../../node_modules/lottie-react-native"
RCT-Folly:
- :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
RCTRequired:
- :path: "../node_modules/react-native/Libraries/RCTRequired"
+ :path: "../../../node_modules/react-native/Libraries/RCTRequired"
RCTTypeSafety:
- :path: "../node_modules/react-native/Libraries/TypeSafety"
+ :path: "../../../node_modules/react-native/Libraries/TypeSafety"
React:
- :path: "../node_modules/react-native/"
- React-bridging:
- :path: "../node_modules/react-native/ReactCommon"
+ :path: "../../../node_modules/react-native/"
React-callinvoker:
- :path: "../node_modules/react-native/ReactCommon/callinvoker"
+ :path: "../../../node_modules/react-native/ReactCommon/callinvoker"
React-Codegen:
:path: build/generated/ios
React-Core:
- :path: "../node_modules/react-native/"
+ :path: "../../../node_modules/react-native/"
React-CoreModules:
- :path: "../node_modules/react-native/React/CoreModules"
+ :path: "../../../node_modules/react-native/React/CoreModules"
React-cxxreact:
- :path: "../node_modules/react-native/ReactCommon/cxxreact"
+ :path: "../../../node_modules/react-native/ReactCommon/cxxreact"
React-hermes:
- :path: "../node_modules/react-native/ReactCommon/hermes"
+ :path: "../../../node_modules/react-native/ReactCommon/hermes"
React-jsi:
- :path: "../node_modules/react-native/ReactCommon/jsi"
+ :path: "../../../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
- :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
+ :path: "../../../node_modules/react-native/ReactCommon/jsiexecutor"
React-jsinspector:
- :path: "../node_modules/react-native/ReactCommon/jsinspector"
+ :path: "../../../node_modules/react-native/ReactCommon/jsinspector"
React-logger:
- :path: "../node_modules/react-native/ReactCommon/logger"
+ :path: "../../../node_modules/react-native/ReactCommon/logger"
react-native-document-picker:
- :path: "../node_modules/react-native-document-picker"
+ :path: "../../../node_modules/react-native-document-picker"
react-native-safe-area-context:
- :path: "../node_modules/react-native-safe-area-context"
+ :path: "../../../node_modules/react-native-safe-area-context"
React-perflogger:
- :path: "../node_modules/react-native/ReactCommon/reactperflogger"
+ :path: "../../../node_modules/react-native/ReactCommon/reactperflogger"
React-RCTActionSheet:
- :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
+ :path: "../../../node_modules/react-native/Libraries/ActionSheetIOS"
React-RCTAnimation:
- :path: "../node_modules/react-native/Libraries/NativeAnimation"
+ :path: "../../../node_modules/react-native/Libraries/NativeAnimation"
+ React-RCTAppDelegate:
+ :path: "../../../node_modules/react-native/Libraries/AppDelegate"
React-RCTBlob:
- :path: "../node_modules/react-native/Libraries/Blob"
+ :path: "../../../node_modules/react-native/Libraries/Blob"
React-RCTImage:
- :path: "../node_modules/react-native/Libraries/Image"
+ :path: "../../../node_modules/react-native/Libraries/Image"
React-RCTLinking:
- :path: "../node_modules/react-native/Libraries/LinkingIOS"
+ :path: "../../../node_modules/react-native/Libraries/LinkingIOS"
React-RCTNetwork:
- :path: "../node_modules/react-native/Libraries/Network"
+ :path: "../../../node_modules/react-native/Libraries/Network"
React-RCTSettings:
- :path: "../node_modules/react-native/Libraries/Settings"
+ :path: "../../../node_modules/react-native/Libraries/Settings"
React-RCTText:
- :path: "../node_modules/react-native/Libraries/Text"
+ :path: "../../../node_modules/react-native/Libraries/Text"
React-RCTVibration:
- :path: "../node_modules/react-native/Libraries/Vibration"
+ :path: "../../../node_modules/react-native/Libraries/Vibration"
React-runtimeexecutor:
- :path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
+ :path: "../../../node_modules/react-native/ReactCommon/runtimeexecutor"
ReactCommon:
- :path: "../node_modules/react-native/ReactCommon"
+ :path: "../../../node_modules/react-native/ReactCommon"
RNCAsyncStorage:
- :path: "../node_modules/@react-native-async-storage/async-storage"
+ :path: "../../../node_modules/@react-native-async-storage/async-storage"
RNCMaskedView:
- :path: "../node_modules/@react-native-masked-view/masked-view"
+ :path: "../../../node_modules/@react-native-masked-view/masked-view"
RNFlashList:
- :path: "../node_modules/@shopify/flash-list"
+ :path: "../../../node_modules/@shopify/flash-list"
RNFS:
- :path: "../node_modules/react-native-fs"
+ :path: "../../../node_modules/react-native-fs"
RNGestureHandler:
- :path: "../node_modules/react-native-gesture-handler"
+ :path: "../../../node_modules/react-native-gesture-handler"
RNReanimated:
- :path: "../node_modules/react-native-reanimated"
+ :path: "../../../node_modules/react-native-reanimated"
RNScreens:
- :path: "../node_modules/react-native-screens"
+ :path: "../../../node_modules/react-native-screens"
RNSVG:
- :path: "../node_modules/react-native-svg"
+ :path: "../../../node_modules/react-native-svg"
Yoga:
- :path: "../node_modules/react-native/ReactCommon/yoga"
+ :path: "../../../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
- boost: a7c83b31436843459a1961bfd74b96033dc77234
+ boost: 57d2868c099736d80fcd648bf211b4431e51a558
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
- EXApplication: 034b1c40a8e9fe1bff76a1e511ee90dff64ad834
- EXConstants: 3c86653c422dd77e40d10cbbabb3025003977415
- EXFileSystem: 60602b6eefa6873f97172c684b7537c9760b50d6
- EXFont: 319606bfe48c33b5b5063fb0994afdc496befe80
- EXMediaLibrary: b1c4f78878e45f6a359aff3a059e1660c41b73ab
- Expo: b9fa98bf260992312ee3c424400819fb9beadafe
- ExpoKeepAwake: 69b59d0a8d2b24de9f82759c39b3821fec030318
- ExpoModulesCore: 65ae09e2b2d3dd8ece30a5acc83c569968125ab0
- EXSplashScreen: 3e989924f61a8dd07ee4ea584c6ba14be9b51949
- FBLazyVector: affa4ba1bfdaac110a789192f4d452b053a86624
- FBReactNativeSpec: fe8b5f1429cfe83a8d72dc8ed61dc7704cac8745
+ EXApplication: d8f53a7eee90a870a75656280e8d4b85726ea903
+ EXConstants: f348da07e21b23d2b085e270d7b74f282df1a7d9
+ EXFileSystem: 844e86ca9b5375486ecc4ef06d3838d5597d895d
+ EXFont: 6ea3800df746be7233208d80fe379b8ed74f4272
+ EXMediaLibrary: 792fe9b828b5bfa2c5a8b629730f175af2938285
+ Expo: 04ba1ddde0be07aff4306ae636a1804810679145
+ ExpoKeepAwake: 69f5f627670d62318410392d03e0b5db0f85759a
+ ExpoModulesCore: 1667335d4f4c9b7801990930e6f0eea42c916a21
+ EXSplashScreen: cd7fb052dff5ba8311d5c2455ecbebffe1b7a8ca
+ FBLazyVector: 60195509584153283780abdac5569feffb8f08cc
+ FBReactNativeSpec: c5a5c4f1b95ae42a17cd22c8c89c482a7b327fe3
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
- hermes-engine: 7fe5fc6ef707b7fdcb161b63898ec500e285653d
+ hermes-engine: 38bfe887e456b33b697187570a08de33969f5db7
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
lottie-ios: 8f97d3271e155c2d688875c29cd3c74908aef5f8
lottie-react-native: b702fab740cdb952a8e2354713d3beda63ff97b0
- RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda
- RCTRequired: 21229f84411088e5d8538f21212de49e46cc83e2
- RCTTypeSafety: 62eed57a32924b09edaaf170a548d1fc96223086
- React: f0254ccddeeef1defe66c6b1bb9133a4f040792b
- React-bridging: e46911666b7ec19538a620a221d6396cd293d687
- React-callinvoker: 66b62e2c34546546b2f21ab0b7670346410a2b53
- React-Codegen: b6999435966df3bdf82afa3f319ba0d6f9a8532a
- React-Core: dabbc9d1fe0a11d884e6ee1599789cf8eb1058a5
- React-CoreModules: 5b6b7668f156f73a56420df9ec68ca2ec8f2e818
- React-cxxreact: c7ca2baee46db22a30fce9e639277add3c3f6ad1
- React-hermes: c93e1d759ad5560dfea54d233013d7d2c725c286
- React-jsi: a565dcb49130ed20877a9bb1105ffeecbb93d02d
- React-jsiexecutor: 31564fa6912459921568e8b0e49024285a4d584b
- React-jsinspector: badd81696361249893a80477983e697aab3c1a34
- React-logger: fdda34dd285bdb0232e059b19d9606fa0ec3bb9c
+ RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
+ RCTRequired: bec48f07daf7bcdc2655a0cde84e07d24d2a9e2a
+ RCTTypeSafety: 171394eebacf71e1cfad79dbfae7ee8fc16ca80a
+ React: d7433ccb6a8c36e4cbed59a73c0700fc83c3e98a
+ React-callinvoker: 15f165009bd22ae829b2b600e50bcc98076ce4b8
+ React-Codegen: b5910000eaf1e0c2f47d29be6f82f5f1264420d7
+ React-Core: b6f2f78d580a90b83fd7b0d1c6911c799f6eac82
+ React-CoreModules: e0cbc1a4f4f3f60e23c476fef7ab37be363ea8c1
+ React-cxxreact: c87f3f124b2117d00d410b35f16c2257e25e50fa
+ React-hermes: c64ca6bdf16a7069773103c9bedaf30ec90ab38f
+ React-jsi: 39729361645568e238081b3b3180fbad803f25a4
+ React-jsiexecutor: 515b703d23ffadeac7687bc2d12fb08b90f0aaa1
+ React-jsinspector: 9f7c9137605e72ca0343db4cea88006cb94856dd
+ React-logger: 957e5dc96d9dbffc6e0f15e0ee4d2b42829ff207
react-native-document-picker: 958e2bc82e128be69055be261aeac8d872c8d34c
react-native-safe-area-context: 39c2d8be3328df5d437ac1700f4f3a4f75716acc
- React-perflogger: e68d3795cf5d247a0379735cbac7309adf2fb931
- React-RCTActionSheet: 05452c3b281edb27850253db13ecd4c5a65bc247
- React-RCTAnimation: 578eebac706428e68466118e84aeacf3a282b4da
- React-RCTBlob: f47a0aa61e7d1fb1a0e13da832b0da934939d71a
- React-RCTImage: 60f54b66eed65d86b6dffaf4733d09161d44929d
- React-RCTLinking: 91073205aeec4b29450ca79b709277319368ac9e
- React-RCTNetwork: ca91f2c9465a7e335c8a5fae731fd7f10572213b
- React-RCTSettings: 1a9a5d01337d55c18168c1abe0f4a589167d134a
- React-RCTText: c591e8bd9347a294d8416357ca12d779afec01d5
- React-RCTVibration: 8e5c8c5d17af641f306d7380d8d0fe9b3c142c48
- React-runtimeexecutor: 7401c4a40f8728fd89df4a56104541b760876117
- ReactCommon: c9246996e73bf75a2c6c3ff15f1e16707cdc2da9
+ React-perflogger: af8a3d31546077f42d729b949925cc4549f14def
+ React-RCTActionSheet: 57cc5adfefbaaf0aae2cf7e10bccd746f2903673
+ React-RCTAnimation: 11c61e94da700c4dc915cf134513764d87fc5e2b
+ React-RCTAppDelegate: c3980adeaadcfd6cb495532e928b36ac6db3c14a
+ React-RCTBlob: ccc5049d742b41971141415ca86b83b201495695
+ React-RCTImage: 7a9226b0944f1e76e8e01e35a9245c2477cdbabb
+ React-RCTLinking: bbe8cc582046a9c04f79c235b73c93700263e8b4
+ React-RCTNetwork: fc2ca322159dc54e06508d4f5c3e934da63dc013
+ React-RCTSettings: f1e9db2cdf946426d3f2b210e4ff4ce0f0d842ef
+ React-RCTText: 1c41dd57e5d742b1396b4eeb251851ce7ff0fca1
+ React-RCTVibration: 5199a180d04873366a83855de55ac33ce60fe4d5
+ React-runtimeexecutor: 7bf0dafc7b727d93c8cb94eb00a9d3753c446c3e
+ ReactCommon: 6f65ea5b7d84deb9e386f670dd11ce499ded7b40
RNCAsyncStorage: 8616bd5a58af409453ea4e1b246521bb76578d60
RNCMaskedView: bc0170f389056201c82a55e242e5d90070e18e5a
- RNFlashList: 8ec7f7454721145fe84566bb9e88bcf58981c9fe
+ RNFlashList: 399bf6a0db68f594ad2c86aaff3ea39564f39f8a
RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
RNGestureHandler: 071d7a9ad81e8b83fe7663b303d132406a7d8f39
- RNReanimated: 6668b0587bebd4b15dd849b99e5a9c70fc12ed95
- RNScreens: ea4cd3a853063cda19a4e3c28d2e52180c80f4eb
- RNSVG: c1e76b81c76cdcd34b4e1188852892dc280eb902
- Yoga: eca980a5771bf114c41a754098cd85e6e0d90ed7
+ RNReanimated: addc4900bf47882118d0a1b21747fa6705fa8cff
+ RNScreens: 218801c16a2782546d30bd2026bb625c0302d70f
+ RNSVG: 07dbd870b0dcdecc99b3a202fa37c8ca163caec2
+ Yoga: 5ed1699acbba8863755998a4245daa200ff3817b
-PODFILE CHECKSUM: 4065c8b949a453403939de6e852185dbd374d972
+PODFILE CHECKSUM: 17065850599b1e955efad7a619cf825c012744d7
COCOAPODS: 1.11.3
diff --git a/apps/mobile/ios/Spacedrive.xcodeproj/project.pbxproj b/apps/mobile/ios/Spacedrive.xcodeproj/project.pbxproj
index cfcd470b9..8d11b30da 100644
--- a/apps/mobile/ios/Spacedrive.xcodeproj/project.pbxproj
+++ b/apps/mobile/ios/Spacedrive.xcodeproj/project.pbxproj
@@ -250,7 +250,7 @@
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Spacedrive/Pods-Spacedrive-frameworks.sh",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
@@ -589,7 +589,7 @@
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\"";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
- REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
+ REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native";
SDKROOT = iphoneos;
};
name = Debug;
@@ -642,7 +642,7 @@
);
LIBRARY_SEARCH_PATHS = "$(SDKROOT)/usr/lib/swift\"$(inherited)\"";
MTL_ENABLE_DEBUG_INFO = NO;
- REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
+ REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native";
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
diff --git a/apps/mobile/ios/Spacedrive/AppDelegate.h b/apps/mobile/ios/Spacedrive/AppDelegate.h
index f7d297204..eaba2fa40 100644
--- a/apps/mobile/ios/Spacedrive/AppDelegate.h
+++ b/apps/mobile/ios/Spacedrive/AppDelegate.h
@@ -1,9 +1,7 @@
-#import
-#import
+#import
#import
-
#import
-@interface AppDelegate : EXAppDelegateWrapper
+@interface AppDelegate : EXAppDelegateWrapper
-@end
+@end
\ No newline at end of file
diff --git a/apps/mobile/ios/Spacedrive/AppDelegate.mm b/apps/mobile/ios/Spacedrive/AppDelegate.mm
index a6e13e11a..a327ae802 100644
--- a/apps/mobile/ios/Spacedrive/AppDelegate.mm
+++ b/apps/mobile/ios/Spacedrive/AppDelegate.mm
@@ -1,89 +1,19 @@
#import "AppDelegate.h"
-#import
#import
-#import
#import
-#import
-
-#import
-
-#if RCT_NEW_ARCH_ENABLED
-#import
-#import
-#import
-#import
-#import
-#import
-
-#import
-
-static NSString *const kRNConcurrentRoot = @"concurrentRoot";
-
-@interface AppDelegate () {
- RCTTurboModuleManager *_turboModuleManager;
- RCTSurfacePresenterBridgeAdapter *_bridgeAdapter;
- std::shared_ptr _reactNativeConfig;
- facebook::react::ContextContainer::Shared _contextContainer;
-}
-@end
-#endif
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
- RCTAppSetupPrepareApp(application);
+ self.moduleName = @"main";
- RCTBridge *bridge = [self.reactDelegate createBridgeWithDelegate:self launchOptions:launchOptions];
+ // You can add your custom initial props in the dictionary below.
+ // They will be passed down to the ViewController used by React Native.
+ self.initialProps = @{};
-#if RCT_NEW_ARCH_ENABLED
- _contextContainer = std::make_shared();
- _reactNativeConfig = std::make_shared();
- _contextContainer->insert("ReactNativeConfig", _reactNativeConfig);
- _bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:bridge contextContainer:_contextContainer];
- bridge.surfacePresenter = _bridgeAdapter.surfacePresenter;
-#endif
-
- NSDictionary *initProps = [self prepareInitialProps];
- UIView *rootView = [self.reactDelegate createRootViewWithBridge:bridge moduleName:@"main" initialProperties:initProps];
-
- rootView.backgroundColor = [UIColor whiteColor];
- self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
- UIViewController *rootViewController = [self.reactDelegate createRootViewController];
- rootViewController.view = rootView;
- self.window.rootViewController = rootViewController;
- [self.window makeKeyAndVisible];
-
- [super application:application didFinishLaunchingWithOptions:launchOptions];
-
- return YES;
-}
-
-- (NSArray> *)extraModulesForBridge:(RCTBridge *)bridge
-{
- // If you'd like to export some custom RCTBridgeModules, add them here!
- return @[];
-}
-
-/// 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];
-#if RCT_NEW_ARCH_ENABLED
- initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]);
-#endif
- return initProps;
+ return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
@@ -95,6 +25,16 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot";
#endif
}
+/// 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` feature is enabled. Otherwise, it returns `false`.
+- (BOOL)concurrentRootEnabled
+{
+ return true;
+}
+
// Linking API
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options {
return [super application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options];
@@ -124,43 +64,4 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot";
return [super application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler];
}
-#if RCT_NEW_ARCH_ENABLED
-
-#pragma mark - RCTCxxBridgeDelegate
-
-- (std::unique_ptr)jsExecutorFactoryForBridge:(RCTBridge *)bridge
-{
- _turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge
- delegate:self
- jsInvoker:bridge.jsCallInvoker];
- return RCTAppSetupDefaultJsExecutorFactory(bridge, _turboModuleManager);
-}
-
-#pragma mark RCTTurboModuleManagerDelegate
-
-- (Class)getModuleClassFromName:(const char *)name
-{
- return RCTCoreModulesClassProvider(name);
-}
-
-- (std::shared_ptr)getTurboModule:(const std::string &)name
- jsInvoker:(std::shared_ptr)jsInvoker
-{
- return nullptr;
-}
-
-- (std::shared_ptr)getTurboModule:(const std::string &)name
- initParams:
- (const facebook::react::ObjCTurboModule::InitParams &)params
-{
- return nullptr;
-}
-
-- (id)getModuleInstanceFromClass:(Class)moduleClass
-{
- return RCTAppSetupDefaultModuleFromClass(moduleClass);
-}
-
-#endif
-
-@end
+@end
\ No newline at end of file
diff --git a/apps/mobile/ios/Spacedrive/Supporting/Expo.plist b/apps/mobile/ios/Spacedrive/Supporting/Expo.plist
index 883eed2cd..e5af010dd 100644
--- a/apps/mobile/ios/Spacedrive/Supporting/Expo.plist
+++ b/apps/mobile/ios/Spacedrive/Supporting/Expo.plist
@@ -9,7 +9,7 @@
EXUpdatesLaunchWaitMs
0
EXUpdatesSDKVersion
- 46.0.0
+ 48.0.0
EXUpdatesURL
https://exp.host/@utkudev/spacedrive
diff --git a/apps/mobile/ios/Spacedrive/main.m b/apps/mobile/ios/Spacedrive/main.m
index 25181b6cc..44e059c6d 100644
--- a/apps/mobile/ios/Spacedrive/main.m
+++ b/apps/mobile/ios/Spacedrive/main.m
@@ -6,5 +6,4 @@ int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
-}
-
+}
\ No newline at end of file
diff --git a/apps/mobile/ios/build-rust.sh b/apps/mobile/ios/build-rust.sh
index 31021c885..be81cd494 100755
--- a/apps/mobile/ios/build-rust.sh
+++ b/apps/mobile/ios/build-rust.sh
@@ -2,6 +2,8 @@
set -e
+export PROTOC=/opt/homebrew/bin/protoc
+
TARGET_DIRECTORY=../../../target
CARGO_FLAGS=
diff --git a/apps/mobile/metro.config.js b/apps/mobile/metro.config.js
index 7320fd4fb..31ff9af2b 100644
--- a/apps/mobile/metro.config.js
+++ b/apps/mobile/metro.config.js
@@ -12,6 +12,7 @@ const projectRoot = __dirname;
const workspaceRoot = path.resolve(projectRoot, '../..');
const metroConfig = makeMetroConfig({
+ ...expoDefaultConfig,
projectRoot,
watchFolders: [workspaceRoot],
resolver: {
@@ -29,6 +30,7 @@ const metroConfig = makeMetroConfig({
]
},
transformer: {
+ ...expoDefaultConfig.transformer,
// Metro default is "uglify-es" but terser should be faster and has better defaults.
minifierPath: 'metro-minify-terser',
minifierConfig: {
diff --git a/apps/mobile/package.json b/apps/mobile/package.json
index db612c3fa..150ee03b3 100644
--- a/apps/mobile/package.json
+++ b/apps/mobile/package.json
@@ -11,62 +11,62 @@
"xcode": "open ios/spacedrive.xcworkspace",
"android-studio": "open -a '/Applications/Android Studio.app' ./android",
"lint": "eslint src",
- "postinstall": "node scripts/postinstall.js",
"typecheck": "tsc -b",
"eas-build-pre-install": "npm i -g pnpm@7.18.2"
},
"dependencies": {
"@gorhom/bottom-sheet": "^4.4.5",
+ "@hookform/resolvers": "^2.9.11",
"@react-native-async-storage/async-storage": "~1.17.11",
"@react-native-masked-view/masked-view": "0.2.8",
- "@react-navigation/bottom-tabs": "^6.5.4",
- "@react-navigation/drawer": "^6.5.8",
- "@react-navigation/native": "^6.1.3",
- "@react-navigation/stack": "^6.3.12",
+ "@react-navigation/bottom-tabs": "^6.5.7",
+ "@react-navigation/drawer": "^6.6.2",
+ "@react-navigation/native": "^6.1.6",
+ "@react-navigation/stack": "^6.3.16",
"@rspc/client": "^0.0.0-main-7c0a67c1",
"@rspc/react": "^0.0.0-main-7c0a67c1",
"@sd/assets": "workspace:*",
"@sd/client": "workspace:*",
- "@shopify/flash-list": "1.4.1",
- "@tanstack/react-query": "^4.24.4",
+ "@shopify/flash-list": "1.4.0",
+ "@tanstack/react-query": "^4.26.1",
"byte-size": "^8.1.0",
"class-variance-authority": "^0.4.0",
"dayjs": "^1.11.5",
- "expo": "^47.0.13",
- "expo-linking": "~3.3.0",
- "expo-media-library": "~15.0.0",
- "expo-splash-screen": "~0.17.5",
- "expo-status-bar": "~1.4.2",
+ "expo": "^48.0.6",
+ "expo-linking": "~4.0.1",
+ "expo-media-library": "~15.2.2",
+ "expo-splash-screen": "~0.18.1",
+ "expo-status-bar": "~1.4.4",
"intl": "^1.2.5",
"lottie-react-native": "5.1.4",
- "moti": "^0.22.0",
+ "moti": "^0.24.2",
"phosphor-react-native": "^1.1.2",
- "react": "18.1.0",
- "react-hook-form": "^7.43.0",
- "react-native": "0.70.5",
+ "react": "18.2.0",
+ "react-hook-form": "^7.43.5",
+ "react-native": "0.71.3",
"react-native-document-picker": "^8.1.1",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "~2.9.0",
"react-native-popup-menu": "^0.16.1",
"react-native-reanimated": "~2.14.4",
"react-native-safe-area-context": "4.5.0",
- "react-native-screens": "~3.19.0",
- "react-native-svg": "13.8.0",
+ "react-native-screens": "~3.20.0",
+ "react-native-svg": "13.4.0",
"react-native-wheel-color-picker": "^1.2.0",
- "twrnc": "^3.5.0",
+ "twrnc": "^3.6.0",
"use-count-up": "^3.0.1",
"use-debounce": "^9.0.2",
- "valtio": "^1.8.0"
+ "valtio": "^1.10.3",
+ "zod": "^3.21.4"
},
"devDependencies": {
"@rnx-kit/metro-config": "^1.3.5",
"@sd/config": "workspace:*",
- "@types/react": "~18.0.26",
- "@types/react-native": "~0.70.8",
+ "@types/react": "~18.0.27",
"babel-plugin-module-resolver": "^5.0.0",
"eslint-plugin-react-native": "^4.0.0",
- "metro-minify-terser": "^0.74.1",
+ "metro-minify-terser": "0.76.0",
"react-native-svg-transformer": "^1.0.0",
- "typescript": "^4.9.4"
+ "typescript": "^4.9.5"
}
}
diff --git a/apps/mobile/scripts/postinstall.js b/apps/mobile/scripts/postinstall.js
index c79431e6f..cca9a10cc 100644
--- a/apps/mobile/scripts/postinstall.js
+++ b/apps/mobile/scripts/postinstall.js
@@ -2,6 +2,7 @@
let fs = require('fs-extra');
let path = require('path');
+// Not used atm, keeping it here in case we need it in the future
async function copyReactNativeCodegen() {
const paths = [
['../../../node_modules/react-native-codegen', '../node_modules/react-native-codegen'],
diff --git a/apps/mobile/src/components/animation/layout.tsx b/apps/mobile/src/components/animation/layout.tsx
index 03ad295eb..011739d6b 100644
--- a/apps/mobile/src/components/animation/layout.tsx
+++ b/apps/mobile/src/components/animation/layout.tsx
@@ -1,32 +1,49 @@
import { MotiView, useDynamicAnimation } from 'moti';
import { PropsWithChildren, ReactNode } from 'react';
-import { StyleSheet, View } from 'react-native';
+import { StyleSheet, View, ViewProps } from 'react-native';
import { useDerivedValue, useSharedValue } from 'react-native-reanimated';
import Layout from '~/constants/Layout';
import { tw } from '~/lib/tailwind';
-// Anything wrapped with FadeIn will fade in on mount.
-export const FadeInAnimation = ({ children, delay }: PropsWithChildren<{ delay?: number }>) => (
-
- {children}
-
-);
+type MotiViewProps = PropsWithChildren;
-export const FadeInUpAnimation = ({ children, delay }: PropsWithChildren<{ delay?: number }>) => (
+// Anything wrapped with FadeIn will fade in on mount.
+export const FadeInAnimation = ({
+ children,
+ delay,
+ ...props
+}: MotiViewProps & { delay?: number }) => (
{children}
);
-export const LogoAnimation = ({ children }: PropsWithChildren) => (
+export const FadeInUpAnimation = ({
+ children,
+ delay,
+ ...props
+}: MotiViewProps & { delay?: number }) => (
+ {children}
+
+);
+
+export const LogoAnimation = ({ children, ...props }: MotiViewProps) => (
+
{children}
diff --git a/apps/mobile/src/components/animation/lottie.tsx b/apps/mobile/src/components/animation/lottie.tsx
index a599cf322..e2e7ffb7c 100644
--- a/apps/mobile/src/components/animation/lottie.tsx
+++ b/apps/mobile/src/components/animation/lottie.tsx
@@ -1,19 +1,14 @@
-import AnimatedLottieView from 'lottie-react-native';
-import { StyleProp, View, ViewStyle } from 'react-native';
+import AnimatedLottieView, { AnimatedLottieViewProps } from 'lottie-react-native';
-type Props = {
- style?: StyleProp;
-};
+type AnimationProps = Omit;
-export const PulseAnimation = ({ style }: Props) => {
+export const PulseAnimation = ({ style }: AnimationProps) => {
return (
-
-
-
+
);
};
diff --git a/apps/mobile/src/components/drawer/DrawerLibraryManager.tsx b/apps/mobile/src/components/drawer/DrawerLibraryManager.tsx
index 66bea4093..94df55e5d 100644
--- a/apps/mobile/src/components/drawer/DrawerLibraryManager.tsx
+++ b/apps/mobile/src/components/drawer/DrawerLibraryManager.tsx
@@ -9,7 +9,7 @@ import { tw, twStyle } from '~/lib/tailwind';
import { currentLibraryStore } from '~/utils/nav';
import { AnimatedHeight } from '../animation/layout';
import CreateLibraryDialog from '../dialog/CreateLibraryDialog';
-import Divider from '../primitive/Divider';
+import { Divider } from '../primitive/Divider';
const DrawerLibraryManager = () => {
const [dropdownClosed, setDropdownClosed] = useState(true);
@@ -51,7 +51,7 @@ const DrawerLibraryManager = () => {
{/* Libraries */}
{libraries.data?.map((library) => {
- console.log('library', library);
+ // console.log('library', library);
return (
(currentLibraryStore.id = library.uuid)}>
{
const { item } = data;
- // temp fix (will handle this on mobile-inspector branch)
- const objectData = data ? (isObject(data) ? data.item : data.item.object) : null;
- const isVid = ObjectKind[objectData?.kind || 0] === 'Video';
-
const gridItemSize = Layout.window.width / getExplorerStore().gridNumColumns;
return (
@@ -25,15 +21,7 @@ const FileItem = ({ data }: FileItemProps) => {
height: gridItemSize
})}
>
-
- {item.extension && isVid && (
-
- {item.extension}
-
- )}
+
{item?.name}
diff --git a/apps/mobile/src/components/explorer/FileRow.tsx b/apps/mobile/src/components/explorer/FileRow.tsx
index 7bb32e821..a42d92a52 100644
--- a/apps/mobile/src/components/explorer/FileRow.tsx
+++ b/apps/mobile/src/components/explorer/FileRow.tsx
@@ -1,6 +1,6 @@
import React from 'react';
import { Text, View } from 'react-native';
-import { ExplorerItem, ObjectKind, isObject } from '@sd/client';
+import { ExplorerItem } from '@sd/client';
import { tw, twStyle } from '~/lib/tailwind';
import { getExplorerStore } from '~/stores/explorerStore';
import FileThumb from './FileThumb';
@@ -12,21 +12,13 @@ type FileRowProps = {
const FileRow = ({ data }: FileRowProps) => {
const { item } = data;
- // temp fix (will handle this on mobile-inspector branch)
- const objectData = data ? (isObject(data) ? data.item : data.item.object) : null;
- const isVid = ObjectKind[objectData?.kind || 0] === 'Video';
-
return (
-
+
{item?.name}
diff --git a/apps/mobile/src/components/explorer/FileThumb.tsx b/apps/mobile/src/components/explorer/FileThumb.tsx
index 10fca052c..7dae1a7bd 100644
--- a/apps/mobile/src/components/explorer/FileThumb.tsx
+++ b/apps/mobile/src/components/explorer/FileThumb.tsx
@@ -1,8 +1,8 @@
+import * as icons from '@sd/assets/icons';
import { PropsWithChildren } from 'react';
import { Image, View } from 'react-native';
import { DocumentDirectoryPath } from 'react-native-fs';
-import { ExplorerItem, isObject, isPath } from '@sd/client';
-// import icons from '../../assets/icons/file';
+import { ExplorerItem, ObjectKind, isObject, isPath } from '@sd/client';
import { tw } from '../../lib/tailwind';
import FolderIcon from '../icons/FolderIcon';
@@ -13,112 +13,82 @@ type FileThumbProps = {
* default: `1`
*/
size?: number;
- kind?: string;
};
export const getThumbnailUrlById = (casId: string) =>
`${DocumentDirectoryPath}/thumbnails/${encodeURIComponent(casId)}.webp`;
+type KindType = keyof typeof icons | 'Unknown';
+
+function getExplorerItemData(data: ExplorerItem) {
+ const objectData = data ? (isObject(data) ? data.item : data.item.object) : null;
+
+ return {
+ casId: (isObject(data) ? data.item.file_paths[0]?.cas_id : data.item.cas_id) || null,
+ isDir: isPath(data) && data.item.is_dir,
+ kind: ObjectKind[objectData?.kind || 0] as KindType,
+ hasThumbnail: data.has_thumbnail,
+ extension: data.item.extension
+ };
+}
+
const FileThumbWrapper = ({ children, size = 1 }: PropsWithChildren<{ size: number }>) => (
{children}
);
-export default function FileThumb({ data, size = 1, kind }: FileThumbProps) {
- // const Icon = useMemo(() => {
- // const Icon = icons[data.extension];
- // return Icon;
- // }, [data.extension]);
+export default function FileThumb({ data, size = 1 }: FileThumbProps) {
+ const { casId, isDir, kind, hasThumbnail, extension } = getExplorerItemData(data);
- if (isPath(data) && data.item.is_dir)
+ if (isPath(data) && data.item.is_dir) {
return (
);
+ }
- const casId = isObject(data) ? data.item.file_paths[0]?.cas_id : data.item.cas_id;
- if (!casId) return null;
-
- // Icon
- let icon = undefined;
- if (kind === 'Archive') icon = require('@sd/assets/images/Archive.png');
- else if (kind === 'Video') icon = require('@sd/assets/images/Video.png');
- else if (kind === 'Document' && data.item.extension === 'pdf')
- icon = require('@sd/assets/images/Document_pdf.png');
- else if (kind === 'Executable') icon = require('@sd/assets/images/Executable.png');
-
- if (icon) {
+ if (hasThumbnail && casId) {
+ // TODO: Handle Image checkers bg?
return (
-
+
);
}
- const url = getThumbnailUrlById(casId);
+ // Default icon
+ let icon = icons['Document'];
- if (data.has_thumbnail && url) {
- return (
-
-
-
- );
+ if (isDir) {
+ icon = icons['Folder'];
+ } else if (
+ kind &&
+ extension &&
+ icons[`${kind}_${extension.toLowerCase()}` as keyof typeof icons]
+ ) {
+ // e.g. Document_pdf
+ icon = icons[`${kind}_${extension.toLowerCase()}` as keyof typeof icons];
+ } else if (kind !== 'Unknown' && kind && icons[kind]) {
+ icon = icons[kind];
}
+ // TODO: Handle video thumbnails
+
+ // // 10 percent of the size
+ // const videoBarsHeight = Math.floor(size / 10);
+
+ // // calculate 16:9 ratio for height from size
+ // const videoHeight = Math.floor((size * 9) / 16) + videoBarsHeight * 2;
+
return (
-
+
);
-
- // Default file icon
- // return (
- //
- //
- //
- //
- //
- //
- //
- //
- // {/* File Icon & Extension */}
- //
- // {Icon && (
- // >}>
- //
- //
- // )}
- //
- // {data.extension}
- //
- //
- //
- //
- // );
}
diff --git a/apps/mobile/src/components/form/Input.tsx b/apps/mobile/src/components/form/Input.tsx
index 7f6512873..151f3b2e3 100644
--- a/apps/mobile/src/components/form/Input.tsx
+++ b/apps/mobile/src/components/form/Input.tsx
@@ -1,15 +1,17 @@
import { VariantProps, cva } from 'class-variance-authority';
-import { FC } from 'react';
-import { TextInputProps as RNTextInputProps, TextInput } from 'react-native';
+import { Eye, EyeSlash } from 'phosphor-react-native';
+import { useState } from 'react';
+import { Pressable, TextInputProps as RNTextInputProps, TextInput, View } from 'react-native';
import { tw, twStyle } from '~/lib/tailwind';
const input = cva(['rounded-md border text-sm leading-tight shadow-sm'], {
variants: {
variant: {
- default: 'border-app-line bg-app text-ink'
+ default: 'border-app-line bg-app-input text-ink'
},
size: {
- default: ['py-2', 'px-3']
+ default: ['py-2', 'px-3'],
+ md: ['py-2.5', 'px-3.5']
}
},
defaultVariants: {
@@ -20,13 +22,51 @@ const input = cva(['rounded-md border text-sm leading-tight shadow-sm'], {
type InputProps = VariantProps & RNTextInputProps;
-export const Input: FC = ({ variant, ...props }) => {
+export const Input = ({ variant, size, ...props }: InputProps) => {
const { style, ...otherProps } = props;
return (
);
};
+
+// Same as above but configured with password props & show/hide password button
+
+type PasswordInputProps = InputProps & {
+ isNewPassword?: boolean;
+};
+
+export const PasswordInput = ({ variant, size, ...props }: PasswordInputProps) => {
+ const { style, isNewPassword = false, ...otherProps } = props;
+
+ const [showPassword, setShowPassword] = useState(false);
+
+ const Icon = showPassword ? EyeSlash : Eye;
+
+ return (
+
+
+ setShowPassword((v) => !v)}
+ >
+
+
+
+ );
+};
diff --git a/apps/mobile/src/components/icons/FolderIcon.tsx b/apps/mobile/src/components/icons/FolderIcon.tsx
index 3c898e88e..77cc3236b 100644
--- a/apps/mobile/src/components/icons/FolderIcon.tsx
+++ b/apps/mobile/src/components/icons/FolderIcon.tsx
@@ -1,3 +1,4 @@
+import { Folder } from '@sd/assets/icons';
import FolderWhite from '@sd/assets/svgs/folder-white.svg';
import { Image } from 'react-native';
@@ -17,7 +18,7 @@ const FolderIcon: React.FC = ({ size = 24, isWhite }) => {
return isWhite ? (
) : (
-
+
);
};
diff --git a/apps/mobile/src/components/key/PasswordMeter.tsx b/apps/mobile/src/components/key/PasswordMeter.tsx
new file mode 100644
index 000000000..aa656f160
--- /dev/null
+++ b/apps/mobile/src/components/key/PasswordMeter.tsx
@@ -0,0 +1,51 @@
+import { Text, View, ViewStyle } from 'react-native';
+import { getPasswordStrength } from '@sd/client';
+import { tw, twStyle } from '~/lib/tailwind';
+
+// NOTE: Lazy load this component.
+
+type PasswordMeterProps = {
+ password: string;
+ containerStyle?: ViewStyle;
+};
+
+const PasswordMeter = (props: PasswordMeterProps) => {
+ const { score, scoreText } = getPasswordStrength(props.password);
+
+ return (
+
+
+ Password strength
+
+ {scoreText}
+
+
+
+
+
+
+ );
+};
+
+export default PasswordMeter;
diff --git a/apps/mobile/src/components/layout/Card.tsx b/apps/mobile/src/components/layout/Card.tsx
index abc9b617b..1bdb764e2 100644
--- a/apps/mobile/src/components/layout/Card.tsx
+++ b/apps/mobile/src/components/layout/Card.tsx
@@ -11,7 +11,7 @@ const Card = ({ children, ...props }: CardProps) => {
return (
{children}
diff --git a/apps/mobile/src/components/layout/Dialog.tsx b/apps/mobile/src/components/layout/Dialog.tsx
index cfab38e66..487c1685d 100644
--- a/apps/mobile/src/components/layout/Dialog.tsx
+++ b/apps/mobile/src/components/layout/Dialog.tsx
@@ -95,8 +95,7 @@ const Dialog = (props: DialogProps) => {
{props.loading && }
@@ -106,7 +105,6 @@ const Dialog = (props: DialogProps) => {
diff --git a/apps/mobile/src/components/modal/ImportModal.tsx b/apps/mobile/src/components/modal/ImportModal.tsx
index 6d82d4347..4dde15fb1 100644
--- a/apps/mobile/src/components/modal/ImportModal.tsx
+++ b/apps/mobile/src/components/modal/ImportModal.tsx
@@ -132,13 +132,13 @@ const ImportModal = forwardRef((_, ref) => {
return (
- {/*
+ {/*
TEST
*/}
-
+
Import from Files
-
+
Import from Photos
TODO
diff --git a/apps/mobile/src/components/modal/inspector/FileInfoModal.tsx b/apps/mobile/src/components/modal/inspector/FileInfoModal.tsx
index 9283d44fd..73d1e43bb 100644
--- a/apps/mobile/src/components/modal/inspector/FileInfoModal.tsx
+++ b/apps/mobile/src/components/modal/inspector/FileInfoModal.tsx
@@ -14,7 +14,7 @@ import { ExplorerItem, formatBytes, isObject, useLibraryQuery } from '@sd/client
import FileThumb from '~/components/explorer/FileThumb';
import InfoTagPills from '~/components/explorer/sections/InfoTagPills';
import { Modal, ModalRef, ModalScrollView } from '~/components/layout/Modal';
-import Divider from '~/components/primitive/Divider';
+import { Divider } from '~/components/primitive/Divider';
import useForwardedRef from '~/hooks/useForwardedRef';
import { tw } from '~/lib/tailwind';
diff --git a/apps/mobile/src/components/modal/tag/CreateTagModal.tsx b/apps/mobile/src/components/modal/tag/CreateTagModal.tsx
index f3bd34659..cea85ad79 100644
--- a/apps/mobile/src/components/modal/tag/CreateTagModal.tsx
+++ b/apps/mobile/src/components/modal/tag/CreateTagModal.tsx
@@ -78,7 +78,6 @@ const CreateTagModal = forwardRef((_, ref) => {
)}
createTag({ color: tagColor, name: tagName })}
style={tw`mt-6`}
disabled={tagName.length === 0}
diff --git a/apps/mobile/src/components/modal/tag/UpdateTagModal.tsx b/apps/mobile/src/components/modal/tag/UpdateTagModal.tsx
index b878141c8..ea520d7d5 100644
--- a/apps/mobile/src/components/modal/tag/UpdateTagModal.tsx
+++ b/apps/mobile/src/components/modal/tag/UpdateTagModal.tsx
@@ -77,7 +77,6 @@ const UpdateTagModal = forwardRef((props, ref) => {
{/* TODO: Add loading to button */}
updateTag({ id: props.tag.id, color: tagColor, name: tagName })}
style={tw`mt-6`}
disabled={tagName.length === 0}
diff --git a/apps/mobile/src/components/primitive/Button.tsx b/apps/mobile/src/components/primitive/Button.tsx
index b06d2abd0..2c16d204e 100644
--- a/apps/mobile/src/components/primitive/Button.tsx
+++ b/apps/mobile/src/components/primitive/Button.tsx
@@ -1,21 +1,21 @@
import { VariantProps, cva } from 'class-variance-authority';
import { MotiPressable, MotiPressableProps } from 'moti/interactions';
import { FC, useMemo } from 'react';
-import { Pressable, PressableProps } from 'react-native';
-import { tw, twStyle } from '~/lib/tailwind';
+import { Pressable, PressableProps, View, ViewProps } from 'react-native';
+import { twStyle } from '~/lib/tailwind';
const button = cva(['items-center justify-center rounded-md border shadow-sm'], {
variants: {
variant: {
danger: ['border-red-800 bg-red-600'],
gray: ['border-app-line bg-app-button'],
- dark_gray: ['border-app-box bg-app'],
- accent: ['border-accent-deep bg-accent shadow-app-shade/10 shadow-md']
+ darkGray: ['border-app-box bg-app'],
+ accent: ['border-accent-deep bg-accent shadow-app-shade/10 shadow-md'],
+ outline: ['border-sidebar-line/60 ']
},
size: {
- default: ['py-1', 'px-3'],
+ default: ['py-1.5', 'px-3'],
sm: ['py-1', 'px-2'],
- md: ['py-1.5', 'px-3'],
lg: ['py-2', 'px-4']
},
disabled: {
@@ -70,3 +70,18 @@ export const AnimatedButton: FC = ({ variant, size, disable
);
};
+
+// Useful for when you want to replicate a button but don't want to deal with the pressable logic (e.g. you need to disable the inner pressable)
+type FakeButtonProps = VariantProps & ViewProps;
+
+export const FakeButton: FC = ({ variant, size, ...props }) => {
+ const { style, ...otherProps } = props;
+ return (
+
+ {props.children}
+
+ );
+};
diff --git a/apps/mobile/src/components/primitive/Divider.tsx b/apps/mobile/src/components/primitive/Divider.tsx
index da8744695..08ba31988 100644
--- a/apps/mobile/src/components/primitive/Divider.tsx
+++ b/apps/mobile/src/components/primitive/Divider.tsx
@@ -1,12 +1,4 @@
-import { StyleProp, View, ViewStyle } from 'react-native';
-import { tw } from '~/lib/tailwind';
+import { View } from 'react-native';
+import { styled } from '~/lib/tailwind';
-type DividerProps = {
- style?: StyleProp;
-};
-
-const Divider = ({ style }: DividerProps) => {
- return ;
-};
-
-export default Divider;
+export const Divider = styled(View, 'bg-app-line my-1 h-[1px] w-full');
diff --git a/apps/mobile/src/components/settings/SettingsContainer.tsx b/apps/mobile/src/components/settings/SettingsContainer.tsx
index 6a317179b..3a973586c 100644
--- a/apps/mobile/src/components/settings/SettingsContainer.tsx
+++ b/apps/mobile/src/components/settings/SettingsContainer.tsx
@@ -1,6 +1,6 @@
import { PropsWithChildren } from 'react';
import { Text, View } from 'react-native';
-import { tw } from '~/lib/tailwind';
+import { styled, tw } from '~/lib/tailwind';
type SettingsContainerProps = PropsWithChildren<{
title?: string;
@@ -16,3 +16,6 @@ export function SettingsContainer({ children, title, description }: SettingsCont
);
}
+
+export const SettingsInputTitle = styled(Text, 'text-ink mb-1.5 ml-1 text-sm font-medium');
+export const SettingsInputInfo = styled(Text, 'mt-2 text-xs text-ink-faint');
diff --git a/apps/mobile/src/components/settings/SettingsItem.tsx b/apps/mobile/src/components/settings/SettingsItem.tsx
index 793c9b811..277abd85b 100644
--- a/apps/mobile/src/components/settings/SettingsItem.tsx
+++ b/apps/mobile/src/components/settings/SettingsItem.tsx
@@ -12,7 +12,7 @@ type SettingsItemProps = {
export function SettingsItem(props: SettingsItemProps) {
return (
-
+
{props.leftIcon && props.leftIcon({ size: 20, color: tw.color('ink'), style: tw`mr-3` })}
{props.title}
diff --git a/apps/mobile/src/hooks/useZodForm.ts b/apps/mobile/src/hooks/useZodForm.ts
new file mode 100644
index 000000000..731af1449
--- /dev/null
+++ b/apps/mobile/src/hooks/useZodForm.ts
@@ -0,0 +1,21 @@
+import { zodResolver } from '@hookform/resolvers/zod';
+import { UseFormProps, useForm } from 'react-hook-form';
+import { z } from 'zod';
+
+interface UseZodFormProps
+ extends Exclude>, 'resolver'> {
+ schema?: S;
+}
+
+export const useZodForm = >>(
+ props?: UseZodFormProps
+) => {
+ const { schema, ...formProps } = props ?? {};
+
+ return useForm({
+ ...formProps,
+ resolver: zodResolver(schema || z.object({}))
+ });
+};
+
+export { z } from 'zod';
diff --git a/apps/mobile/src/lib/tailwind.ts b/apps/mobile/src/lib/tailwind.ts
index dc22ed506..1fbc8c9d6 100644
--- a/apps/mobile/src/lib/tailwind.ts
+++ b/apps/mobile/src/lib/tailwind.ts
@@ -1,7 +1,23 @@
+import React, { ComponentType } from 'react';
import { create } from 'twrnc';
const tw = create(require(`../../tailwind.config.js`));
+function styled (Component: ComponentType
, baseStyles?: string) {
+ return React.forwardRef, P>(({ style, ...props }: any, ref) =>
+ React.createElement(Component as any, {
+ ...props,
+ style: twStyle(baseStyles, style),
+ ref
+ })
+ );
+}
+
+// Same as clsx, this works with the eslint plugin (tailwindcss/classnames-order).
const twStyle = tw.style;
-export { tw, twStyle };
+tw.style = () => {
+ throw new Error('Use twStyle instead of tw.style');
+};
+
+export { tw, twStyle, styled };
diff --git a/apps/mobile/src/main.tsx b/apps/mobile/src/main.tsx
index 3c202a35e..2960aa316 100644
--- a/apps/mobile/src/main.tsx
+++ b/apps/mobile/src/main.tsx
@@ -9,6 +9,7 @@ SplashScreen.preventAutoHideAsync();
const _localStorage = new Map();
// We patch stuff onto `globalThis` so that `@sd/client` can use it. This is super hacky but as far as I can tell, there's no better way to do this.
+// TODO: Add env value to automatically set this to `true` in development and false in production builds.
globalThis.isDev = true;
// Custom polyfill for browser `localStorage`
diff --git a/apps/mobile/src/navigation/OnboardingNavigator.tsx b/apps/mobile/src/navigation/OnboardingNavigator.tsx
index a4db12dfd..90944ba1d 100644
--- a/apps/mobile/src/navigation/OnboardingNavigator.tsx
+++ b/apps/mobile/src/navigation/OnboardingNavigator.tsx
@@ -1,21 +1,37 @@
import { StackScreenProps, createStackNavigator } from '@react-navigation/stack';
-import CreateLibraryScreen from '~/screens/onboarding/CreateLibrary';
-import OnboardingScreen from '~/screens/onboarding/Onboarding';
+import CreatingLibraryScreen from '~/screens/onboarding/CreatingLibrary';
+import GetStartedScreen from '~/screens/onboarding/GetStarted';
+import MasterPasswordScreen from '~/screens/onboarding/MasterPassword';
+import NewLibraryScreen from '~/screens/onboarding/NewLibrary';
+import PrivacyScreen from '~/screens/onboarding/Privacy';
const OnboardingStack = createStackNavigator();
export default function OnboardingNavigator() {
return (
-
-
-
+
+
+
+
+
+
);
}
export type OnboardingStackParamList = {
- Onboarding: undefined;
- CreateLibrary: undefined;
+ GetStarted: undefined;
+ NewLibrary: undefined;
+ MasterPassword: undefined;
+ Privacy: undefined;
+ CreatingLibrary: undefined;
};
export type OnboardingStackScreenProps =
diff --git a/apps/mobile/src/navigation/SettingsNavigator.tsx b/apps/mobile/src/navigation/SettingsNavigator.tsx
index 0e11fa9b4..385ebcc85 100644
--- a/apps/mobile/src/navigation/SettingsNavigator.tsx
+++ b/apps/mobile/src/navigation/SettingsNavigator.tsx
@@ -8,6 +8,7 @@ import LibrarySettingsScreen from '~/screens/settings/client/LibrarySettings';
import PrivacySettingsScreen from '~/screens/settings/client/PrivacySettings';
import AboutScreen from '~/screens/settings/info/About';
import SupportScreen from '~/screens/settings/info/Support';
+import EditLocationSettingsScreen from '~/screens/settings/library/EditLocationSettings';
import KeysSettingsScreen from '~/screens/settings/library/KeysSettings';
import LibraryGeneralSettingsScreen from '~/screens/settings/library/LibraryGeneralSettings';
import LocationSettingsScreen from '~/screens/settings/library/LocationSettings';
@@ -71,6 +72,11 @@ export default function SettingsNavigator() {
component={LocationSettingsScreen}
options={{ headerTitle: 'Locations' }}
/>
+
();
@@ -39,21 +39,6 @@ export default function TabNavigator() {
tabBarLabelStyle: tw`text-[10px] font-semibold`
}}
/>
- (
-
- ),
- tabBarLabel: 'Nodes',
- tabBarLabelStyle: tw`text-[10px] font-semibold`
- }}
- />
+ (
+
+ ),
+ tabBarLabel: 'Spacedrop',
+ tabBarLabelStyle: tw`text-[10px] font-semibold`
+ }}
+ />
);
}
export type TabParamList = {
OverviewStack: NavigatorScreenParams;
- NodesStack: NavigatorScreenParams;
+ SpacedropStack: NavigatorScreenParams;
SpacesStack: NavigatorScreenParams;
};
diff --git a/apps/mobile/src/navigation/tabs/NodesStack.tsx b/apps/mobile/src/navigation/tabs/SpacedropStack.tsx
similarity index 55%
rename from apps/mobile/src/navigation/tabs/NodesStack.tsx
rename to apps/mobile/src/navigation/tabs/SpacedropStack.tsx
index d110a2c51..82cb16d0e 100644
--- a/apps/mobile/src/navigation/tabs/NodesStack.tsx
+++ b/apps/mobile/src/navigation/tabs/SpacedropStack.tsx
@@ -2,16 +2,16 @@ import { CompositeScreenProps } from '@react-navigation/native';
import { StackScreenProps, createStackNavigator } from '@react-navigation/stack';
import Header from '~/components/header/Header';
import { tw } from '~/lib/tailwind';
-import NodesScreen from '~/screens/Nodes';
+import SpacedropScreen from '~/screens/Spacedrop';
import { SharedScreens, SharedScreensParamList } from '../SharedScreens';
import { TabScreenProps } from '../TabNavigator';
-const Stack = createStackNavigator();
+const Stack = createStackNavigator();
-export default function NodesStack() {
+export default function SpacedropStack() {
return (
-
+
{SharedScreens(Stack as any)}
);
}
-export type NodesStackParamList = {
- Nodes: undefined;
+export type SpacedropStackParamList = {
+ Spacedrop: undefined;
} & SharedScreensParamList;
-export type NodesStackScreenProps = CompositeScreenProps<
- StackScreenProps,
- TabScreenProps<'NodesStack'>
->;
+export type SpacedropStackScreenProps =
+ CompositeScreenProps<
+ StackScreenProps,
+ TabScreenProps<'SpacedropStack'>
+ >;
diff --git a/apps/mobile/src/screens/Nodes.tsx b/apps/mobile/src/screens/Nodes.tsx
deleted file mode 100644
index 9c62f1c97..000000000
--- a/apps/mobile/src/screens/Nodes.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Text, View } from 'react-native';
-import { tw } from '~/lib/tailwind';
-import { NodesStackScreenProps } from '~/navigation/tabs/NodesStack';
-
-export default function NodesScreen({ navigation }: NodesStackScreenProps<'Nodes'>) {
- return (
-
- Nodes
-
- );
-}
diff --git a/apps/mobile/src/screens/Spacedrop.tsx b/apps/mobile/src/screens/Spacedrop.tsx
new file mode 100644
index 000000000..c55b14eec
--- /dev/null
+++ b/apps/mobile/src/screens/Spacedrop.tsx
@@ -0,0 +1,141 @@
+import { GoogleDrive, Mega, iCloud } from '@sd/assets/images';
+import { DeviceMobile, Icon, Laptop, User } from 'phosphor-react-native';
+import { Alert, Image, ImageSourcePropType, Pressable, ScrollView, Text, View } from 'react-native';
+import { Polygon, Svg } from 'react-native-svg';
+import { InfoPill } from '~/components/primitive/InfoPill';
+import { tw, twStyle } from '~/lib/tailwind';
+import { SpacedropStackScreenProps } from '~/navigation/tabs/SpacedropStack';
+
+const testData = [
+ {
+ name: "Jamie's MacBook Pro",
+ receivingNodeOsType: 'macOS',
+ connectionType: 'lan',
+ icon: Laptop
+ },
+ {
+ name: "Jamie's MacBook Pro",
+ receivingNodeOsType: 'iOS',
+ connectionType: 'lan',
+ icon: DeviceMobile
+ },
+ {
+ name: 'Brendan Alan',
+ image: 'https://github.com/brendonovich.png',
+ connectionType: 'p2p'
+ },
+ {
+ name: 'Oscar Beaumont',
+ image: 'https://github.com/oscartbeaumont.png',
+ connectionType: 'usb'
+ },
+ {
+ name: 'maxichrome',
+ image: 'https://github.com/maxichrome.png',
+ connectionType: 'p2p'
+ },
+ {
+ name: 'Utku',
+ image: 'https://github.com/utkubakir.png',
+ connectionType: 'p2p'
+ },
+ { name: "Jamie's Google Drive", brandIcon: 'google-drive', connectionType: 'cloud' },
+ { name: 'iCloud', brandIcon: 'icloud', connectionType: 'cloud' },
+ { name: 'Mega', brandIcon: 'mega', connectionType: 'cloud' }
+] as DropItemProps[];
+
+const Hexagon = () => {
+ const width = 180;
+ const height = width * 1.1547;
+
+ return (
+
+
+
+ );
+};
+
+type OperatingSystem = 'browser' | 'linux' | 'macOS' | 'windows' | 'iOS' | 'android';
+
+type DropItemProps = {
+ name: string;
+ connectionType: 'lan' | 'bluetooth' | 'usb' | 'p2p' | 'cloud';
+ receivingNodeOsType: OperatingSystem;
+} & ({ image: string } | { icon: Icon } | { brandIcon: string });
+
+function DropItem(props: DropItemProps) {
+ let icon;
+ if ('image' in props) {
+ icon = ;
+ } else if ('brandIcon' in props) {
+ let brandIconSrc: ImageSourcePropType | undefined;
+ switch (props.brandIcon) {
+ case 'google-drive':
+ brandIconSrc = GoogleDrive;
+ break;
+ case 'icloud':
+ brandIconSrc = iCloud;
+ break;
+ case 'mega':
+ brandIconSrc = Mega;
+ break;
+ }
+ if (!brandIconSrc) throw new Error('Invalid brand icon url: ' + props.brandIcon);
+ icon = (
+
+ {/* // Needs width and height */}
+
+
+ );
+ } else {
+ // Use the custom icon or default to User icon.
+ const Icon = props.icon || User;
+ icon = ;
+ }
+ return (
+
+
+
+ Alert.alert('TODO')}
+ >
+
+ {icon}
+
+ {props.name && (
+
+ {props.name}
+
+ )}
+
+ {props.receivingNodeOsType && }
+ {props.connectionType && (
+
+ )}
+
+
+
+
+ );
+}
+
+export default function SpacedropScreen({ navigation }: SpacedropStackScreenProps<'Spacedrop'>) {
+ return (
+
+
+ {testData.map((item, i) => (
+
+ ))}
+
+
+ );
+}
diff --git a/apps/mobile/src/screens/onboarding/CreateLibrary.tsx b/apps/mobile/src/screens/onboarding/CreateLibrary.tsx
deleted file mode 100644
index 7d6d590b6..000000000
--- a/apps/mobile/src/screens/onboarding/CreateLibrary.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Text, View } from 'react-native';
-import CreateLibraryDialog from '~/components/dialog/CreateLibraryDialog';
-import { AnimatedButton } from '~/components/primitive/Button';
-import { tw } from '~/lib/tailwind';
-import { OnboardingStackScreenProps } from '~/navigation/OnboardingNavigator';
-
-const CreateLibraryScreen = ({ navigation }: OnboardingStackScreenProps<'CreateLibrary'>) => {
- return (
-
-
- Onboarding screen for users to create their first library
-
-
-
-
- Create Library
-
-
-
-
- );
-};
-
-export default CreateLibraryScreen;
diff --git a/apps/mobile/src/screens/onboarding/CreatingLibrary.tsx b/apps/mobile/src/screens/onboarding/CreatingLibrary.tsx
new file mode 100644
index 000000000..7a6dcca91
--- /dev/null
+++ b/apps/mobile/src/screens/onboarding/CreatingLibrary.tsx
@@ -0,0 +1,87 @@
+import { useQueryClient } from '@tanstack/react-query';
+import React, { useEffect, useRef, useState } from 'react';
+import { Text } from 'react-native';
+import {
+ HASHING_ALGOS,
+ resetOnboardingStore,
+ telemetryStore,
+ useBridgeMutation,
+ useDebugState,
+ useOnboardingStore
+} from '@sd/client';
+import { PulseAnimation } from '~/components/animation/lottie';
+import { tw } from '~/lib/tailwind';
+import { OnboardingStackScreenProps } from '~/navigation/OnboardingNavigator';
+import { currentLibraryStore } from '~/utils/nav';
+import { OnboardingContainer, OnboardingDescription, OnboardingTitle } from './GetStarted';
+
+const CreatingLibraryScreen = ({ navigation }: OnboardingStackScreenProps<'CreatingLibrary'>) => {
+ const [status, setStatus] = useState('Creating your library...');
+
+ const queryClient = useQueryClient();
+
+ const debugState = useDebugState();
+ const obStore = useOnboardingStore();
+
+ const createLibrary = useBridgeMutation('library.create', {
+ onSuccess: (lib) => {
+ resetOnboardingStore();
+ queryClient.setQueryData(['library.list'], (libraries: any) => [...(libraries || []), lib]);
+ // Switch to the new library
+ currentLibraryStore.id = lib.uuid;
+ },
+ onError: () => {
+ // TODO: Show toast
+ resetOnboardingStore();
+ navigation.navigate('GetStarted');
+ }
+ });
+
+ const created = useRef(false);
+
+ const create = async () => {
+ telemetryStore.shareTelemetry = obStore.shareTelemetry;
+
+ createLibrary.mutate({
+ name: obStore.newLibraryName,
+ auth: {
+ type: 'TokenizedPassword',
+ value: obStore.passwordSetToken || ''
+ },
+ algorithm: obStore.algorithm,
+ hashing_algorithm: HASHING_ALGOS[obStore.hashingAlgorithm]
+ });
+
+ return;
+ };
+
+ useEffect(() => {
+ if (created.current == true) return;
+ created.current = true;
+ create();
+ const timer = setTimeout(() => {
+ setStatus('Almost done...');
+ }, 2000);
+ const timer2 = setTimeout(() => {
+ if (debugState.enabled) {
+ setStatus(`You're running in development, this will take longer...`);
+ }
+ }, 5000);
+ return () => {
+ clearTimeout(timer);
+ clearTimeout(timer2);
+ };
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, []);
+
+ return (
+
+ ðŸ›
+ Creating your library
+ {status}
+
+
+ );
+};
+
+export default CreatingLibraryScreen;
diff --git a/apps/mobile/src/screens/onboarding/GetStarted.tsx b/apps/mobile/src/screens/onboarding/GetStarted.tsx
new file mode 100644
index 000000000..023065ea3
--- /dev/null
+++ b/apps/mobile/src/screens/onboarding/GetStarted.tsx
@@ -0,0 +1,82 @@
+import { AppLogo, BloomOne } from '@sd/assets/images';
+import { useNavigation, useRoute } from '@react-navigation/native';
+import { CaretLeft } from 'phosphor-react-native';
+import { Image, KeyboardAvoidingView, Platform, Pressable, Text, View } from 'react-native';
+import { useSafeAreaInsets } from 'react-native-safe-area-context';
+import { FadeInUpAnimation, LogoAnimation } from '~/components/animation/layout';
+import { AnimatedButton } from '~/components/primitive/Button';
+import { styled, tw, twStyle } from '~/lib/tailwind';
+import { OnboardingStackScreenProps } from '~/navigation/OnboardingNavigator';
+
+export function OnboardingContainer({ children }: React.PropsWithChildren) {
+ const navigation = useNavigation();
+ const route = useRoute();
+
+ const { top, bottom } = useSafeAreaInsets();
+
+ return (
+
+ {route.name !== 'GetStarted' && route.name !== 'CreatingLibrary' && (
+ navigation.goBack()}
+ >
+
+
+ )}
+
+
+ {children}
+
+
+ © 2022 Spacedrive Technology Inc.
+
+
+ {/* Bloom */}
+
+
+ );
+}
+
+export const OnboardingTitle = styled(
+ Text,
+ 'text-ink text-center text-4xl font-extrabold leading-tight'
+);
+
+export const OnboardingDescription = styled(
+ Text,
+ 'text-ink-dull text-center text-base leading-relaxed'
+);
+
+const GetStartedScreen = ({ navigation }: OnboardingStackScreenProps<'GetStarted'>) => {
+ return (
+
+ {/* Logo */}
+
+
+
+ {/* Title */}
+
+ The file explorer from the future.
+
+ {/* Description */}
+
+
+ Welcome to Spacedrive, an open source cross-platform file manager.
+
+
+ {/* Get Started Button */}
+
+ navigation.push('NewLibrary')}>
+ Get Started
+
+
+
+ );
+};
+
+export default GetStartedScreen;
diff --git a/apps/mobile/src/screens/onboarding/MasterPassword.tsx b/apps/mobile/src/screens/onboarding/MasterPassword.tsx
new file mode 100644
index 000000000..b6bbcc4ad
--- /dev/null
+++ b/apps/mobile/src/screens/onboarding/MasterPassword.tsx
@@ -0,0 +1,151 @@
+import React, { lazy, useState } from 'react';
+import { Controller } from 'react-hook-form';
+import { Alert, Text, View } from 'react-native';
+import { getOnboardingStore, useBridgeMutation, useOnboardingStore } from '@sd/client';
+import { PasswordInput } from '~/components/form/Input';
+import { Button } from '~/components/primitive/Button';
+import { useZodForm, z } from '~/hooks/useZodForm';
+import { tw } from '~/lib/tailwind';
+import { OnboardingStackScreenProps } from '~/navigation/OnboardingNavigator';
+import { OnboardingContainer, OnboardingDescription, OnboardingTitle } from './GetStarted';
+
+const PasswordMeter = lazy(() => import('~/components/key/PasswordMeter'));
+
+const schema = z.object({
+ password: z.string(),
+ password_validate: z.string(),
+ algorithm: z.string(),
+ hashing_algorithm: z.string()
+});
+
+const MasterPasswordScreen = ({ navigation }: OnboardingStackScreenProps<'MasterPassword'>) => {
+ const [showPasswordValidate, setShowPasswordValidate] = useState(false);
+
+ const obStore = useOnboardingStore();
+
+ const form = useZodForm({
+ schema,
+ defaultValues: {
+ password: '',
+ password_validate: '',
+ algorithm: 'XChaCha20Poly1305',
+ hashing_algorithm: 'Argon2id-s'
+ }
+ });
+
+ const tokenizeSensitiveKey = useBridgeMutation('nodes.tokenizeSensitiveKey', {
+ onSuccess: (data) => {
+ getOnboardingStore().passwordSetToken = data.token;
+ navigation.navigate('Privacy');
+ },
+ onError: (err: any) => {
+ Alert.alert(err);
+ }
+ });
+
+ const handleSetPassword = form.handleSubmit(async (data) => {
+ if (data.password !== data.password_validate) {
+ if (!showPasswordValidate) {
+ setShowPasswordValidate(true);
+ // focus on confirm password field
+ } else {
+ form.setError('password_validate', {
+ type: 'manual',
+ message: 'Passwords do not match'
+ });
+ }
+ } else {
+ tokenizeSensitiveKey.mutate({
+ secret_key: data.password
+ });
+ }
+ });
+
+ const handleNoPassword = form.handleSubmit(async (data) => {
+ tokenizeSensitiveKey.mutate({ secret_key: '' });
+ });
+
+ const password = form.watch('password');
+
+ return (
+
+ Set a master password
+
+ This will be used to encrypt your library and/or open the built-in key manager.
+
+
+
+ (
+
+ )}
+ />
+
+ {showPasswordValidate && (
+
+ (
+
+ )}
+ />
+
+ )}
+ {form.formState.errors.password_validate && (
+
+ {form.formState.errors.password_validate.message}
+
+ )}
+
+
+ {password.length > 0 && (
+
+
+ {!showPasswordValidate ? 'Set password' : 'Confirm Password'}
+
+
+ )}
+
+ {obStore.passwordSetToken ? (
+ {
+ getOnboardingStore().passwordSetToken = null;
+ form.reset();
+ }}
+ >
+ Remove password
+
+ ) : (
+
+ Continue without password
+
+ )}
+
+
+
+
+ );
+};
+
+export default MasterPasswordScreen;
diff --git a/apps/mobile/src/screens/onboarding/NewLibrary.tsx b/apps/mobile/src/screens/onboarding/NewLibrary.tsx
new file mode 100644
index 000000000..bd1a96445
--- /dev/null
+++ b/apps/mobile/src/screens/onboarding/NewLibrary.tsx
@@ -0,0 +1,77 @@
+import { Database } from '@sd/assets/icons';
+import { Controller } from 'react-hook-form';
+import { Alert, Image, Text, View } from 'react-native';
+import { getOnboardingStore, useOnboardingStore } from '@sd/client';
+import { Input } from '~/components/form/Input';
+import { Button } from '~/components/primitive/Button';
+import { useZodForm, z } from '~/hooks/useZodForm';
+import { tw } from '~/lib/tailwind';
+import { OnboardingStackScreenProps } from '~/navigation/OnboardingNavigator';
+import { OnboardingContainer, OnboardingDescription, OnboardingTitle } from './GetStarted';
+
+const schema = z.object({
+ name: z.string().min(1, { message: 'Library name is required' })
+});
+
+const NewLibraryScreen = ({ navigation }: OnboardingStackScreenProps<'NewLibrary'>) => {
+ const obStore = useOnboardingStore();
+
+ const form = useZodForm({
+ schema,
+ defaultValues: {
+ name: obStore.newLibraryName
+ }
+ });
+
+ const handleNewLibrary = form.handleSubmit(async (data) => {
+ getOnboardingStore().newLibraryName = data.name;
+ navigation.navigate('MasterPassword');
+ });
+
+ const handleImport = () => {
+ Alert.alert('TODO');
+ };
+
+ return (
+
+
+ Create a Library
+
+
+ Libraries are a secure, on-device database. Your files remain where they are, the Library
+ catalogs them and stores all Spacedrive related data.
+
+ (
+
+ )}
+ />
+
+
+ {form.formState.errors.name && (
+
+ {form.formState.errors.name.message}
+
+ )}
+
+
+ New Library
+
+ OR
+
+ Import Library
+
+
+
+ );
+};
+
+export default NewLibraryScreen;
diff --git a/apps/mobile/src/screens/onboarding/Onboarding.tsx b/apps/mobile/src/screens/onboarding/Onboarding.tsx
deleted file mode 100644
index e8e9eee51..000000000
--- a/apps/mobile/src/screens/onboarding/Onboarding.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import { AppLogo } from '@sd/assets/images';
-import { Image, Text, View } from 'react-native';
-import { FadeInUpAnimation, LogoAnimation } from '~/components/animation/layout';
-import { AnimatedButton } from '~/components/primitive/Button';
-import { tw } from '~/lib/tailwind';
-import { OnboardingStackScreenProps } from '~/navigation/OnboardingNavigator';
-
-const OnboardingScreen = ({ navigation }: OnboardingStackScreenProps<'Onboarding'>) => {
- return (
-
- {/* Logo */}
-
-
-
-
-
- {/* Text */}
-
-
-
- A file explorer from the future.
-
-
-
-
- Combine your drives and clouds into one database that you can organize and explore from
- any device.
-
-
-
- {/* Get Started Button */}
-
- navigation.navigate('CreateLibrary')}>
- Get Started
-
-
-
- );
-};
-
-export default OnboardingScreen;
diff --git a/apps/mobile/src/screens/onboarding/Privacy.tsx b/apps/mobile/src/screens/onboarding/Privacy.tsx
new file mode 100644
index 000000000..972d781d5
--- /dev/null
+++ b/apps/mobile/src/screens/onboarding/Privacy.tsx
@@ -0,0 +1,82 @@
+import React, { useState } from 'react';
+import { Pressable, Text, View, ViewStyle } from 'react-native';
+import { getOnboardingStore } from '@sd/client';
+import { Button } from '~/components/primitive/Button';
+import { tw, twStyle } from '~/lib/tailwind';
+import { OnboardingStackScreenProps } from '~/navigation/OnboardingNavigator';
+import { OnboardingContainer, OnboardingDescription, OnboardingTitle } from './GetStarted';
+
+type RadioButtonProps = {
+ title: string;
+ description: string;
+ isSelected: boolean;
+ style?: ViewStyle;
+};
+
+// Make this a component?
+const RadioButton = ({ title, description, isSelected, style }: RadioButtonProps) => {
+ return (
+
+
+ {isSelected && }
+
+
+ {title}
+ {description}
+
+
+ );
+};
+
+const PrivacyScreen = ({ navigation }: OnboardingStackScreenProps<'Privacy'>) => {
+ const [shareTelemetry, setShareTelemetry] = useState<'share-telemetry' | 'no-share-telemetry'>(
+ 'share-telemetry'
+ );
+
+ const onPress = () => {
+ getOnboardingStore().shareTelemetry = shareTelemetry === 'share-telemetry';
+ navigation.navigate('CreatingLibrary');
+ };
+
+ return (
+
+ Your Privacy
+
+ Spacedrive is built for privacy, that's why we're open source and local first. So we'll make
+ it very clear what data is shared with us.
+
+
+ setShareTelemetry('share-telemetry')}>
+
+
+ setShareTelemetry('no-share-telemetry')}>
+
+
+
+
+ Continue
+
+
+ );
+};
+
+export default PrivacyScreen;
diff --git a/apps/mobile/src/screens/settings/Settings.tsx b/apps/mobile/src/screens/settings/Settings.tsx
index 313821c32..6fc0800de 100644
--- a/apps/mobile/src/screens/settings/Settings.tsx
+++ b/apps/mobile/src/screens/settings/Settings.tsx
@@ -109,7 +109,7 @@ function renderSectionHeader({ section }: { section: { title: string } }) {
return (
@@ -129,14 +129,15 @@ export default function SettingsScreen({ navigation }: SettingsStackScreenProps<
navigation.navigate(item.navigateTo)}
+ onPress={() => navigation.navigate(item.navigateTo as any)}
/>
)}
renderSectionHeader={renderSectionHeader}
ListFooterComponent={
- Spacedrive
- v0.1.0
+ Spacedrive
+ {/* TODO: Get this automatically (expo-device have this?) */}
+ v0.1.0
}
showsVerticalScrollIndicator={false}
diff --git a/apps/mobile/src/screens/settings/client/GeneralSettings.tsx b/apps/mobile/src/screens/settings/client/GeneralSettings.tsx
index c38437d42..f62861c86 100644
--- a/apps/mobile/src/screens/settings/client/GeneralSettings.tsx
+++ b/apps/mobile/src/screens/settings/client/GeneralSettings.tsx
@@ -1,9 +1,9 @@
-import React from 'react';
import { Text, View } from 'react-native';
import { useBridgeQuery } from '@sd/client';
import { Input } from '~/components/form/Input';
import Card from '~/components/layout/Card';
-import Divider from '~/components/primitive/Divider';
+import { Divider } from '~/components/primitive/Divider';
+import { SettingsInputTitle } from '~/components/settings/SettingsContainer';
import { tw } from '~/lib/tailwind';
import { SettingsStackScreenProps } from '~/navigation/SettingsNavigator';
@@ -14,7 +14,7 @@ const GeneralSettingsScreen = ({ navigation }: SettingsStackScreenProps<'General
return (
-
+
{/* Card Header */}
Connected Node
@@ -32,9 +32,9 @@ const GeneralSettingsScreen = ({ navigation }: SettingsStackScreenProps<'General
{/* Divider */}
{/* Node Name and Port */}
- Node Name
+ Node Name
- Node Port
+ Node Port
diff --git a/apps/mobile/src/screens/settings/client/LibrarySettings.tsx b/apps/mobile/src/screens/settings/client/LibrarySettings.tsx
index 2deb8017d..d82c346ec 100644
--- a/apps/mobile/src/screens/settings/client/LibrarySettings.tsx
+++ b/apps/mobile/src/screens/settings/client/LibrarySettings.tsx
@@ -31,13 +31,13 @@ function LibraryItem({
- navigation.replace('LibraryGeneralSettings')}>
+ navigation.replace('LibraryGeneralSettings')}>
+
}
diff --git a/apps/mobile/src/screens/settings/library/EditLocationSettings.tsx b/apps/mobile/src/screens/settings/library/EditLocationSettings.tsx
new file mode 100644
index 000000000..9ecbb131f
--- /dev/null
+++ b/apps/mobile/src/screens/settings/library/EditLocationSettings.tsx
@@ -0,0 +1,218 @@
+import { useQueryClient } from '@tanstack/react-query';
+import { Archive, ArrowsClockwise, Trash } from 'phosphor-react-native';
+import React from 'react';
+import { Controller } from 'react-hook-form';
+import { Alert, ScrollView, Text, View } from 'react-native';
+import { useLibraryMutation, useLibraryQuery } from '@sd/client';
+import { Input } from '~/components/form/Input';
+import { Switch } from '~/components/form/Switch';
+import DeleteLocationModal from '~/components/modal/confirm-modals/DeleteLocationModal';
+import { AnimatedButton, Button, FakeButton } from '~/components/primitive/Button';
+import { Divider } from '~/components/primitive/Divider';
+import {
+ SettingsContainer,
+ SettingsInputInfo,
+ SettingsInputTitle
+} from '~/components/settings/SettingsContainer';
+import { SettingsItem } from '~/components/settings/SettingsItem';
+import { useZodForm, z } from '~/hooks/useZodForm';
+import { tw } from '~/lib/tailwind';
+import { SettingsStackScreenProps } from '~/navigation/SettingsNavigator';
+
+const schema = z.object({
+ displayName: z.string(),
+ localPath: z.string(),
+ indexer_rules_ids: z.array(z.string()),
+ generatePreviewMedia: z.boolean(),
+ syncPreviewMedia: z.boolean(),
+ hidden: z.boolean()
+});
+
+const EditLocationSettingsScreen = ({
+ route,
+ navigation
+}: SettingsStackScreenProps<'EditLocationSettings'>) => {
+ const { id } = route.params;
+
+ const queryClient = useQueryClient();
+
+ const form = useZodForm({ schema });
+
+ const updateLocation = useLibraryMutation('locations.update', {
+ onError: (e) => console.log({ e }),
+ onSuccess: () => {
+ form.reset(form.getValues());
+ queryClient.invalidateQueries(['locations.list']);
+ // TODO: Show toast & navigate back & reset input focus!
+ }
+ });
+
+ const onSubmit = form.handleSubmit((data) =>
+ updateLocation.mutateAsync({
+ id: Number(id),
+ name: data.displayName,
+ sync_preview_media: data.syncPreviewMedia,
+ generate_preview_media: data.generatePreviewMedia,
+ hidden: data.hidden,
+ indexer_rules_ids: []
+ })
+ );
+
+ navigation.setOptions({
+ headerRight: () => (
+
+ {form.formState.isDirty && (
+ form.reset()}
+ disabled={!form.formState.isDirty}
+ >
+ Reset
+
+ )}
+
+ Save
+
+
+ )
+ });
+
+ useLibraryQuery(['locations.getById', id], {
+ onSuccess: (data) => {
+ if (data && !form.formState.isDirty)
+ form.reset({
+ displayName: data.name,
+ localPath: data.path,
+ indexer_rules_ids: data.indexer_rules.map((i) => i.indexer_rule.id.toString()),
+ generatePreviewMedia: data.generate_preview_media,
+ syncPreviewMedia: data.sync_preview_media,
+ hidden: data.hidden
+ });
+ }
+ });
+
+ const fullRescan = useLibraryMutation('locations.fullRescan');
+
+ return (
+
+ {/* Inputs */}
+
+ Display Name
+ (
+
+ )}
+ />
+
+ The name of this Location, this is what will be displayed in the sidebar. Will not rename
+ the actual folder on disk.
+
+
+ Local Path
+ (
+
+ )}
+ />
+
+ The path to this Location, this is where the files will be stored on disk.
+
+
+
+ {/* Switches */}
+
+
+ (
+
+ )}
+ />
+ }
+ />
+ (
+
+ )}
+ />
+ }
+ />
+ (
+
+ )}
+ />
+ }
+ />
+
+
+ {/* Indexer Rules */}
+ TODO: Indexer Rules
+ {/* Buttons */}
+
+
+ fullRescan.mutate(id)}>
+
+
+ }
+ />
+
+
+ Alert.alert('Archiving locations is coming soon...')}
+ >
+
+
+ }
+ />
+
+
+
+
+
+ }
+ />
+ }
+ />
+
+
+
+ );
+};
+
+export default EditLocationSettingsScreen;
diff --git a/apps/mobile/src/screens/settings/library/LibraryGeneralSettings.tsx b/apps/mobile/src/screens/settings/library/LibraryGeneralSettings.tsx
index a4cb55c8a..a67dca83d 100644
--- a/apps/mobile/src/screens/settings/library/LibraryGeneralSettings.tsx
+++ b/apps/mobile/src/screens/settings/library/LibraryGeneralSettings.tsx
@@ -1,23 +1,29 @@
import { Trash } from 'phosphor-react-native';
import React from 'react';
-import { Controller, useForm } from 'react-hook-form';
-import { Alert, Text, View } from 'react-native';
+import { Controller } from 'react-hook-form';
+import { Alert, View } from 'react-native';
import { useBridgeMutation, useLibraryContext } from '@sd/client';
import { Input } from '~/components/form/Input';
import { Switch } from '~/components/form/Switch';
-import { Button } from '~/components/primitive/Button';
-import { SettingsContainer } from '~/components/settings/SettingsContainer';
+import DeleteLibraryModal from '~/components/modal/confirm-modals/DeleteLibraryModal';
+import { AnimatedButton } from '~/components/primitive/Button';
+import { Divider } from '~/components/primitive/Divider';
+import { SettingsContainer, SettingsInputTitle } from '~/components/settings/SettingsContainer';
import { SettingsItem } from '~/components/settings/SettingsItem';
import { useAutoForm } from '~/hooks/useAutoForm';
+import { useZodForm, z } from '~/hooks/useZodForm';
import { tw } from '~/lib/tailwind';
import { SettingsStackScreenProps } from '~/navigation/SettingsNavigator';
+const schema = z.object({ name: z.string(), description: z.string() });
+
const LibraryGeneralSettingsScreen = ({
navigation
}: SettingsStackScreenProps<'LibraryGeneralSettings'>) => {
const { library } = useLibraryContext();
- const form = useForm({
+ const form = useZodForm({
+ schema,
defaultValues: { name: library.config.name, description: library.config.description }
});
@@ -25,15 +31,14 @@ const LibraryGeneralSettingsScreen = ({
useAutoForm(form, (value) => {
editLibrary({ description: value.description, name: value.name, id: library.uuid });
- console.log('Updated', value);
+ // console.log('Updated', value);
// TODO: Show toast
});
return (
-
- {/* This looks bad... */}
-
- Name
+
+
+ Name
{/* Description */}
- Description
+ Description
- {/* Encrypt */}
-
-
- } />
-
-
- {/* Export */}
- Alert.alert('TODO')} />
-
- {/* Delete Library */}
- {/* TODO: Open delete library dialog here, but do handle library switching and what happens if there is no library set ? */}
-
- Alert.alert('TODO')}>
-
-
- }
- />
-
+
+
+ {/* Encrypt */}
+
+ } />
+
+ {/* Export */}
+ Alert.alert('TODO')} />
+ {/* Delete Library */}
+
+
+
+
+ }
+ />
+ }
+ />
+
+
);
};
diff --git a/apps/mobile/src/screens/settings/library/LocationSettings.tsx b/apps/mobile/src/screens/settings/library/LocationSettings.tsx
index 2025097a3..80377ada6 100644
--- a/apps/mobile/src/screens/settings/library/LocationSettings.tsx
+++ b/apps/mobile/src/screens/settings/library/LocationSettings.tsx
@@ -1,4 +1,4 @@
-import { CaretRight, Repeat, Trash } from 'phosphor-react-native';
+import { CaretRight, Pen, Repeat, Trash } from 'phosphor-react-native';
import { Animated, FlatList, Pressable, Text, View } from 'react-native';
import { Swipeable } from 'react-native-gesture-handler';
import {
@@ -14,7 +14,13 @@ import DeleteLocationModal from '~/components/modal/confirm-modals/DeleteLocatio
import { tw, twStyle } from '~/lib/tailwind';
import { SettingsStackScreenProps } from '~/navigation/SettingsNavigator';
-function LocationItem({ location, index }: { location: Location & { node: Node }; index: number }) {
+type LocationItemProps = {
+ location: Location & { node: Node };
+ index: number;
+ navigation: SettingsStackScreenProps<'LocationSettings'>['navigation'];
+};
+
+function LocationItem({ location, index, navigation }: LocationItemProps) {
const fullRescan = useLibraryMutation('locations.fullRescan', {
onMutate: () => {
// TODO: Show Toast
@@ -23,7 +29,11 @@ function LocationItem({ location, index }: { location: Location & { node: Node }
const onlineLocations = useOnlineLocations();
- const renderRightActions = (progress: Animated.AnimatedInterpolation) => {
+ const renderRightActions = (
+ progress: Animated.AnimatedInterpolation,
+ _: any,
+ swipeable: Swipeable
+ ) => {
const translate = progress.interpolate({
inputRange: [0, 1],
outputRange: [100, 0],
@@ -32,8 +42,20 @@ function LocationItem({ location, index }: { location: Location & { node: Node }
return (
+ {
+ navigation.navigate('EditLocationSettings', { id: location.id });
+ swipeable.close();
+ }}
+ >
+
+
{/* Full Re-scan IS too much here */}
fullRescan.mutate(location.id)}
>
@@ -106,7 +128,9 @@ const LocationSettingsScreen = ({ navigation }: SettingsStackScreenProps<'Locati
item.id.toString()}
- renderItem={({ item, index }) => }
+ renderItem={({ item, index }) => (
+
+ )}
/>
);
diff --git a/apps/mobile/src/screens/settings/library/TagsSettings.tsx b/apps/mobile/src/screens/settings/library/TagsSettings.tsx
index bc243ef70..c836cea57 100644
--- a/apps/mobile/src/screens/settings/library/TagsSettings.tsx
+++ b/apps/mobile/src/screens/settings/library/TagsSettings.tsx
@@ -29,13 +29,13 @@ function TagItem({ tag, index }: { tag: Tag; index: number }) {
style={[tw`flex flex-row items-center`, { transform: [{ translateX: translate }] }]}
>
swipeable.close()} />
- updateTagModalRef.current?.present()}>
+ updateTagModalRef.current?.present()}>
+
}
diff --git a/apps/mobile/tailwind.config.js b/apps/mobile/tailwind.config.js
index ad795fedd..a5a9dd329 100644
--- a/apps/mobile/tailwind.config.js
+++ b/apps/mobile/tailwind.config.js
@@ -36,6 +36,8 @@ module.exports = {
button: 'hsla(230, 15%, 23%, 1)',
// menu
menu: 'hsla(230, 25%, 5%, 1)',
+ // input
+ input: 'hsla(230, 15%, 20%, 1)',
50: 'hsla(230, 15%, 5%, 1)',
100: 'hsla(230, 15%, 10%, 1)',
150: 'hsla(230, 15%, 15%, 1)',
diff --git a/core/src/lib.rs b/core/src/lib.rs
index ab4c98faf..480a648a6 100644
--- a/core/src/lib.rs
+++ b/core/src/lib.rs
@@ -112,8 +112,8 @@ impl Node {
);
#[cfg(not(target_os = "android"))]
let subscriber = subscriber.with(tracing_subscriber::fmt::layer().with_filter(CONSOLE_LOG_FILTER));
- #[cfg(target_os = "android")]
- let subscriber = subscriber.with(tracing_android::layer("com.spacedrive.app").unwrap()); // TODO: This is not working
+ // #[cfg(target_os = "android")]
+ // let subscriber = subscriber.with(tracing_android::layer("com.spacedrive.app").unwrap()); // TODO: This is not working
subscriber
// .with(
// Layer::default()
diff --git a/docs/developers/prerequisites/environment-setup.md b/docs/developers/prerequisites/environment-setup.md
index ade22b054..9f12c9ff1 100644
--- a/docs/developers/prerequisites/environment-setup.md
+++ b/docs/developers/prerequisites/environment-setup.md
@@ -59,7 +59,7 @@ To run mobile app
1. Install [Android Studio](https://developer.android.com/studio) for Android and [Xcode](https://apps.apple.com/au/app/xcode/id497799835) for IOS development
2. `./.github/scripts/setup-system.sh mobile`
_The should setup most of the dependencies for the mobile app to build._
-3. You must also ensure you have [NDK 24.0.8215888 and CMake](https://developer.android.com/studio/projects/install-ndk#default-version) in Android Studio
+3. You must also ensure you have [NDK 23.1.7779620 and CMake](https://developer.android.com/studio/projects/install-ndk#default-version) in Android Studio
4. `pnpm mobile android` - runs on Android Emulator
5. `pnpm mobile ios` - runs on iOS Emulator
@@ -68,4 +68,4 @@ To run mobile app
If you are having issues ensure you are using the following versions of Rust and Node:
- Rust version: **1.67.0**
-- Node version: **17**
+- Node version: **18**
diff --git a/interface/app/$libraryId/KeyManager/Mounter.tsx b/interface/app/$libraryId/KeyManager/Mounter.tsx
index ba928a0a2..216ca2b44 100644
--- a/interface/app/$libraryId/KeyManager/Mounter.tsx
+++ b/interface/app/$libraryId/KeyManager/Mounter.tsx
@@ -1,14 +1,9 @@
import { Eye, EyeSlash, Info } from 'phosphor-react';
import { useEffect, useRef, useState } from 'react';
-import {
- Algorithm,
- HASHING_ALGOS,
- HashingAlgoSlug,
- generatePassword,
- useLibraryMutation
-} from '@sd/client';
+import { Algorithm, HASHING_ALGOS, HashingAlgoSlug, useLibraryMutation } from '@sd/client';
import { Button, CategoryHeading, Input, Select, SelectOption, Slider, Switch, tw } from '@sd/ui';
import { Tooltip } from '@sd/ui';
+import { generatePassword } from '~/util';
const KeyHeading = tw(CategoryHeading)`mb-1`;
diff --git a/interface/app/$libraryId/settings/library/general.tsx b/interface/app/$libraryId/settings/library/general.tsx
index cd7314928..3a31d16e0 100644
--- a/interface/app/$libraryId/settings/library/general.tsx
+++ b/interface/app/$libraryId/settings/library/general.tsx
@@ -1,9 +1,10 @@
import { useForm } from 'react-hook-form';
import { useBridgeMutation, useLibraryContext } from '@sd/client';
-import { Button, Input, Switch } from '@sd/ui';
+import { Button, Input, Switch, dialogManager } from '@sd/ui';
import { useDebouncedFormWatch } from '~/hooks/useDebouncedForm';
import { Heading } from '../Layout';
import Setting from '../Setting';
+import DeleteLibraryDialog from '../node/libraries/DeleteDialog';
export const Component = () => {
const { library } = useLibraryContext();
@@ -64,7 +65,16 @@ export const Component = () => {
description="This is permanent, your files will not be deleted, only the Spacedrive library."
>
-
+ {
+ dialogManager.create((dp) => (
+
+ ));
+ }}
+ >
Delete
diff --git a/interface/app/$libraryId/settings/library/keys/MasterPasswordDialog.tsx b/interface/app/$libraryId/settings/library/keys/MasterPasswordDialog.tsx
index a722a4275..b8620c731 100644
--- a/interface/app/$libraryId/settings/library/keys/MasterPasswordDialog.tsx
+++ b/interface/app/$libraryId/settings/library/keys/MasterPasswordDialog.tsx
@@ -4,22 +4,14 @@ import {
Algorithm,
HASHING_ALGOS,
HashingAlgoSlug,
- generatePassword,
hashingAlgoSlugSchema,
useLibraryMutation
} from '@sd/client';
-import {
- Button,
- Dialog,
- Input,
- PasswordMeter,
- Select,
- SelectOption,
- UseDialogProps,
- useDialog
-} from '@sd/ui';
+import { Button, Dialog, Input, Select, SelectOption, UseDialogProps, useDialog } from '@sd/ui';
import { useZodForm, z } from '@sd/ui/src/forms';
import { showAlertDialog } from '~/components/AlertDialog';
+import { PasswordMeter } from '~/components/PasswordMeter';
+import { generatePassword } from '~/util';
const schema = z.object({
masterPassword: z.string(),
diff --git a/interface/app/$libraryId/settings/node/libraries/CreateDialog.tsx b/interface/app/$libraryId/settings/node/libraries/CreateDialog.tsx
index c1cf8d552..b51565dc7 100644
--- a/interface/app/$libraryId/settings/node/libraries/CreateDialog.tsx
+++ b/interface/app/$libraryId/settings/node/libraries/CreateDialog.tsx
@@ -5,7 +5,6 @@ import {
Algorithm,
HASHING_ALGOS,
HashingAlgoSlug,
- generatePassword,
hashingAlgoSlugSchema,
useBridgeMutation,
usePlausibleEvent
@@ -14,7 +13,6 @@ import {
Button,
CheckBox,
Dialog,
- PasswordMeter,
Select,
SelectOption,
Tooltip,
@@ -22,6 +20,8 @@ import {
useDialog
} from '@sd/ui';
import { forms } from '@sd/ui';
+import { PasswordMeter } from '~/components/PasswordMeter';
+import { generatePassword } from '~/util';
import { usePlatform } from '~/util/Platform';
const { Input, z, useZodForm } = forms;
diff --git a/interface/app/onboarding/creating-library.tsx b/interface/app/onboarding/creating-library.tsx
index aa4d2cbdc..cd82759a6 100644
--- a/interface/app/onboarding/creating-library.tsx
+++ b/interface/app/onboarding/creating-library.tsx
@@ -1,9 +1,7 @@
-/* eslint-disable react-hooks/exhaustive-deps */
import { useQueryClient } from '@tanstack/react-query';
import { useEffect, useRef, useState } from 'react';
import { useNavigate } from 'react-router';
import {
- Algorithm,
HASHING_ALGOS,
resetOnboardingStore,
telemetryStore,
@@ -59,7 +57,7 @@ export default function OnboardingCreatingLibrary() {
type: 'TokenizedPassword',
value: obStore.passwordSetToken || ''
},
- algorithm: obStore.algorithm as Algorithm,
+ algorithm: obStore.algorithm,
hashing_algorithm: HASHING_ALGOS[obStore.hashingAlgorithm]
});
@@ -84,6 +82,7 @@ export default function OnboardingCreatingLibrary() {
clearTimeout(timer);
clearTimeout(timer2);
};
+ // eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
return (
diff --git a/interface/app/onboarding/master-password.tsx b/interface/app/onboarding/master-password.tsx
index 6cf6449dc..efbd3921e 100644
--- a/interface/app/onboarding/master-password.tsx
+++ b/interface/app/onboarding/master-password.tsx
@@ -1,8 +1,9 @@
import { useState } from 'react';
import { useNavigate } from 'react-router';
import { getOnboardingStore, useBridgeMutation, useOnboardingStore } from '@sd/client';
-import { Button, Card, PasswordMeter } from '@sd/ui';
+import { Button, Card } from '@sd/ui';
import { Form, PasswordInput, useZodForm, z } from '@sd/ui/src/forms';
+import { PasswordMeter } from '~/components/PasswordMeter';
import { OnboardingContainer, OnboardingDescription, OnboardingTitle } from './Layout';
import { useUnlockOnboardingScreen } from './Progress';
@@ -118,7 +119,9 @@ export default function OnboardingNewLibrary() {
disabled={form.formState.isSubmitting}
variant="outline"
size="sm"
- onClick={() => {
+ onClick={(event: any) => {
+ // Without this, form is submitted before token gets removed
+ event.preventDefault();
getOnboardingStore().passwordSetToken = null;
form.reset();
}}
diff --git a/interface/components/PasswordMeter.tsx b/interface/components/PasswordMeter.tsx
new file mode 100644
index 000000000..f7ba676f9
--- /dev/null
+++ b/interface/components/PasswordMeter.tsx
@@ -0,0 +1,45 @@
+import clsx from 'clsx';
+import { getPasswordStrength } from '@sd/client';
+
+export interface PasswordMeterProps {
+ password: string;
+}
+
+export const PasswordMeter = (props: PasswordMeterProps) => {
+ const { score, scoreText } = getPasswordStrength(props.password);
+
+ return (
+
+
Password strength
+
+ {scoreText}
+
+
+
+ );
+};
diff --git a/interface/package.json b/interface/package.json
index 649bf6ddb..6e8879a45 100644
--- a/interface/package.json
+++ b/interface/package.json
@@ -19,6 +19,7 @@
"@fontsource/inter": "^4.5.13",
"@headlessui/react": "^1.7.3",
"@hookform/resolvers": "^2.9.10",
+ "crypto-random-string": "^5.0.0",
"@radix-ui/react-progress": "^1.0.1",
"@radix-ui/react-slider": "^1.1.0",
"@radix-ui/react-toast": "^1.1.2",
@@ -35,9 +36,6 @@
"@tanstack/react-query-devtools": "^4.22.0",
"@tanstack/react-virtual": "3.0.0-beta.18",
"@vitejs/plugin-react": "^2.1.0",
- "@zxcvbn-ts/core": "^2.1.0",
- "@zxcvbn-ts/language-common": "^2.0.1",
- "@zxcvbn-ts/language-en": "^2.1.0",
"autoprefixer": "^10.4.12",
"byte-size": "^8.1.0",
"class-variance-authority": "^0.4.0",
@@ -48,7 +46,7 @@
"react-colorful": "^5.6.1",
"react-dom": "^18.2.0",
"react-error-boundary": "^3.1.4",
- "react-hook-form": "^7.36.1",
+ "react-hook-form": "^7.43.5",
"react-json-view": "^1.21.3",
"react-loading-skeleton": "^3.1.0",
"react-qr-code": "^2.0.11",
diff --git a/interface/util/index.tsx b/interface/util/index.tsx
new file mode 100644
index 000000000..cf4eb11fb
--- /dev/null
+++ b/interface/util/index.tsx
@@ -0,0 +1,5 @@
+import cryptoRandomString from 'crypto-random-string';
+
+// NOTE: `crypto` module is not available in RN so this can't be in client
+export const generatePassword = (length: number) =>
+ cryptoRandomString({ length, type: 'ascii-printable' });
diff --git a/package.json b/package.json
index 129f49527..4ff07ecdc 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
"codegen": "cargo test -p sd-core api::tests::test_and_export_rspc_bindings -- --exact",
"typecheck": "turbo run typecheck",
"lint": "turbo run lint",
- "lint:fix": "turbo run lint -- lint:fix",
+ "lint:fix": "turbo run lint -- --fix",
"clean": "rimraf node_modules/ **/node_modules/ target/ **/.build/ **/.next/ **/dist/**"
},
"pnpm": {
diff --git a/packages/client/package.json b/packages/client/package.json
index d257018e5..dc255f288 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -18,7 +18,9 @@
"@rspc/react": "^0.0.0-main-7c0a67c1",
"@sd/config": "workspace:*",
"@tanstack/react-query": "^4.12.0",
- "crypto-random-string": "^5.0.0",
+ "@zxcvbn-ts/core": "^2.1.0",
+ "@zxcvbn-ts/language-common": "^2.0.1",
+ "@zxcvbn-ts/language-en": "^2.1.0",
"plausible-tracker": "^0.3.8",
"valtio": "^1.7.4"
},
diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts
index 1f1b0fc64..a15e3fb0f 100644
--- a/packages/client/src/index.ts
+++ b/packages/client/src/index.ts
@@ -11,3 +11,4 @@ export * from './stores';
export * from './rspc';
export * from './core';
export * from './utils';
+export * from './lib';
diff --git a/packages/client/src/lib/index.ts b/packages/client/src/lib/index.ts
new file mode 100644
index 000000000..35dc0c351
--- /dev/null
+++ b/packages/client/src/lib/index.ts
@@ -0,0 +1 @@
+export * from './passwordStrength';
diff --git a/packages/client/src/lib/passwordStrength.ts b/packages/client/src/lib/passwordStrength.ts
new file mode 100644
index 000000000..85ca53f49
--- /dev/null
+++ b/packages/client/src/lib/passwordStrength.ts
@@ -0,0 +1,20 @@
+import { zxcvbn, zxcvbnOptions } from '@zxcvbn-ts/core';
+import zxcvbnCommonPackage from '@zxcvbn-ts/language-common';
+import zxcvbnEnPackage from '@zxcvbn-ts/language-en';
+
+const options = {
+ dictionary: {
+ ...zxcvbnCommonPackage.dictionary,
+ ...zxcvbnEnPackage.dictionary
+ },
+ graps: zxcvbnCommonPackage.adjacencyGraphs,
+ translations: zxcvbnEnPackage.translations
+};
+
+const ratings = ['Poor', 'Weak', 'Good', 'Strong', 'Perfect'];
+
+export function getPasswordStrength(password: string): { scoreText: string; score: number } {
+ zxcvbnOptions.setOptions(options);
+ const result = zxcvbn(password);
+ return { scoreText: ratings[result.score]!, score: result.score };
+}
diff --git a/packages/client/src/stores/onboardingStore.ts b/packages/client/src/stores/onboardingStore.ts
index eca025f4c..e594e512f 100644
--- a/packages/client/src/stores/onboardingStore.ts
+++ b/packages/client/src/stores/onboardingStore.ts
@@ -1,4 +1,5 @@
import { useSnapshot } from 'valtio';
+import { Algorithm } from '../core';
import { HashingAlgoSlug } from '../utils';
import { valtioPersist } from './util';
@@ -15,7 +16,7 @@ const onboardingStoreDefaults = {
unlockedScreens: ['start'],
lastActiveScreen: null as string | null,
shouldEncryptLibrary: false,
- algorithm: 'XChaCha20Poly1305',
+ algorithm: 'XChaCha20Poly1305' as Algorithm,
hashingAlgorithm: 'Argon2id-s' as HashingAlgoSlug,
passwordSetToken: null as string | null,
shareTelemetry: true,
diff --git a/packages/client/src/stores/telemetryState.tsx b/packages/client/src/stores/telemetryState.tsx
index c337f9302..602b650a7 100644
--- a/packages/client/src/stores/telemetryState.tsx
+++ b/packages/client/src/stores/telemetryState.tsx
@@ -1,5 +1,5 @@
import { useSnapshot } from 'valtio';
-import { valtioPersist } from '.';
+import { valtioPersist } from './util';
export const telemetryStore = valtioPersist('sd-telemetryStore', {
shareTelemetry: false // false by default, so functions cannot accidentally send data if the user has not decided
diff --git a/packages/client/src/utils/keys.ts b/packages/client/src/utils/keys.ts
index a680f9019..644032727 100644
--- a/packages/client/src/utils/keys.ts
+++ b/packages/client/src/utils/keys.ts
@@ -1,10 +1,6 @@
-import cryptoRandomString from 'crypto-random-string';
import { z } from 'zod';
import { HashingAlgorithm } from '../core';
-export const generatePassword = (length: number) =>
- cryptoRandomString({ length, type: 'ascii-printable' });
-
export const hashingAlgoSlugSchema = z.union([
z.literal("Argon2id-s"),
z.literal("Argon2id-h"),
diff --git a/packages/ui/src/PasswordMeter.tsx b/packages/ui/src/PasswordMeter.tsx
deleted file mode 100644
index 20393f691..000000000
--- a/packages/ui/src/PasswordMeter.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import { zxcvbn, zxcvbnOptions } from '@zxcvbn-ts/core';
-import zxcvbnCommonPackage from '@zxcvbn-ts/language-common';
-import zxcvbnEnPackage from '@zxcvbn-ts/language-en';
-import clsx from 'clsx';
-
-const options = {
- dictionary: {
- ...zxcvbnCommonPackage.dictionary,
- ...zxcvbnEnPackage.dictionary
- },
- graps: zxcvbnCommonPackage.adjacencyGraphs,
- translations: zxcvbnEnPackage.translations
-};
-zxcvbnOptions.setOptions(options);
-
-const ratings = ['Poor', 'Weak', 'Good', 'Strong', 'Perfect'];
-
-export interface PasswordMeterProps {
- password: string;
-}
-
-export const PasswordMeter = (props: PasswordMeterProps) => {
- const zx = zxcvbn(props.password);
-
- const widthCalcStyle = {
- width: `${zx.score !== 0 ? zx.score * 25 : 12.5}%`
- };
-
- return (
-
-
Password strength
-
- {ratings[zx.score]}
-
-
-
- );
-};
diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts
index 0f3188969..953bde36f 100644
--- a/packages/ui/src/index.ts
+++ b/packages/ui/src/index.ts
@@ -18,7 +18,6 @@ export * from './utils';
export * from './Tooltip';
export * from './Slider';
export * from './Divider';
-export * from './PasswordMeter';
export * from './Shortcut';
export * from './ProgressBar';
export * from './Folder';
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 382ef84da..7ae53aa8d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -119,7 +119,7 @@ importers:
react-burger-menu: ^3.0.8
react-dom: ^18.2.0
react-helmet: ^6.1.0
- react-hook-form: ^7.36.1
+ react-hook-form: ^7.43.5
react-tsparticles: ^2.3.3
rollup-plugin-visualizer: ^5.8.2
sass: ^1.55.0
@@ -152,7 +152,7 @@ importers:
react-burger-menu: 3.0.9_biqbaboplfbrettd7655fr4n2y
react-dom: 18.2.0_react@18.2.0
react-helmet: 6.1.0_react@18.2.0
- react-hook-form: 7.42.1_react@18.2.0
+ react-hook-form: 7.43.5_react@18.2.0
react-tsparticles: 2.8.0_react@18.2.0
sirv: 2.0.2
ts-node: 10.9.1_awa2wsr5thmg3i7jqycphctjfq
@@ -186,107 +186,109 @@ importers:
apps/mobile:
specifiers:
'@gorhom/bottom-sheet': ^4.4.5
+ '@hookform/resolvers': ^2.9.11
'@react-native-async-storage/async-storage': ~1.17.11
'@react-native-masked-view/masked-view': 0.2.8
- '@react-navigation/bottom-tabs': ^6.5.4
- '@react-navigation/drawer': ^6.5.8
- '@react-navigation/native': ^6.1.3
- '@react-navigation/stack': ^6.3.12
+ '@react-navigation/bottom-tabs': ^6.5.7
+ '@react-navigation/drawer': ^6.6.2
+ '@react-navigation/native': ^6.1.6
+ '@react-navigation/stack': ^6.3.16
'@rnx-kit/metro-config': ^1.3.5
'@rspc/client': ^0.0.0-main-7c0a67c1
'@rspc/react': ^0.0.0-main-7c0a67c1
'@sd/assets': workspace:*
'@sd/client': workspace:*
'@sd/config': workspace:*
- '@shopify/flash-list': 1.4.1
- '@tanstack/react-query': ^4.24.4
- '@types/react': ~18.0.26
- '@types/react-native': ~0.70.8
+ '@shopify/flash-list': 1.4.0
+ '@tanstack/react-query': ^4.26.1
+ '@types/react': ~18.0.27
babel-plugin-module-resolver: ^5.0.0
byte-size: ^8.1.0
class-variance-authority: ^0.4.0
dayjs: ^1.11.5
eslint-plugin-react-native: ^4.0.0
- expo: ^47.0.13
- expo-linking: ~3.3.0
- expo-media-library: ~15.0.0
- expo-splash-screen: ~0.17.5
- expo-status-bar: ~1.4.2
+ expo: ^48.0.6
+ expo-linking: ~4.0.1
+ expo-media-library: ~15.2.2
+ expo-splash-screen: ~0.18.1
+ expo-status-bar: ~1.4.4
intl: ^1.2.5
lottie-react-native: 5.1.4
- metro-minify-terser: ^0.74.1
- moti: ^0.22.0
+ metro-minify-terser: 0.76.0
+ moti: ^0.24.2
phosphor-react-native: ^1.1.2
- react: 18.1.0
- react-hook-form: ^7.43.0
- react-native: 0.70.5
+ react: 18.2.0
+ react-hook-form: ^7.43.5
+ react-native: 0.71.3
react-native-document-picker: ^8.1.1
react-native-fs: ^2.20.0
react-native-gesture-handler: ~2.9.0
react-native-popup-menu: ^0.16.1
react-native-reanimated: ~2.14.4
react-native-safe-area-context: 4.5.0
- react-native-screens: ~3.19.0
- react-native-svg: 13.8.0
+ react-native-screens: ~3.20.0
+ react-native-svg: 13.4.0
react-native-svg-transformer: ^1.0.0
react-native-wheel-color-picker: ^1.2.0
- twrnc: ^3.5.0
- typescript: ^4.9.4
+ twrnc: ^3.6.0
+ typescript: ^4.9.5
use-count-up: ^3.0.1
use-debounce: ^9.0.2
- valtio: ^1.8.0
+ valtio: ^1.10.3
+ zod: ^3.21.4
dependencies:
- '@gorhom/bottom-sheet': 4.4.5_w366bumyfs4uyicayprrehskae
- '@react-native-async-storage/async-storage': 1.17.11_react-native@0.70.5
- '@react-native-masked-view/masked-view': 0.2.8_tj3nonr5gneraukzjkxpsiy7yu
- '@react-navigation/bottom-tabs': 6.5.4_tzhjy2gc5kvqqitykreeetpfsq
- '@react-navigation/drawer': 6.5.8_5pbm2y6oxn4wiaxvhnj4nykkku
- '@react-navigation/native': 6.1.3_tj3nonr5gneraukzjkxpsiy7yu
- '@react-navigation/stack': 6.3.12_tvuqzzu4d6qsmbauwbo7nuei7e
+ '@gorhom/bottom-sheet': 4.4.5_roruo4vjpd27jjmcsfgplose2a
+ '@hookform/resolvers': 2.9.11_react-hook-form@7.43.5
+ '@react-native-async-storage/async-storage': 1.17.11_react-native@0.71.3
+ '@react-native-masked-view/masked-view': 0.2.8_yqouayos4dnow7nnkhah4yzuzq
+ '@react-navigation/bottom-tabs': 6.5.7_lzeolizq5fdjozeb3mtrlbatoi
+ '@react-navigation/drawer': 6.6.2_7vhdhx5mqw5r775ehb5p4uprq4
+ '@react-navigation/native': 6.1.6_yqouayos4dnow7nnkhah4yzuzq
+ '@react-navigation/stack': 6.3.16_pf4j4f7edywtcmcmtmj6rq4iri
'@rspc/client': 0.0.0-main-7c0a67c1
- '@rspc/react': 0.0.0-main-7c0a67c1_6niuqkvdadibsmemv5phcmgdcq
+ '@rspc/react': 0.0.0-main-7c0a67c1_xytdzyysqpeqv6tutfmk3i4niq
'@sd/assets': link:../../packages/assets
'@sd/client': link:../../packages/client
- '@shopify/flash-list': 1.4.1_tj3nonr5gneraukzjkxpsiy7yu
- '@tanstack/react-query': 4.24.4_tj3nonr5gneraukzjkxpsiy7yu
+ '@shopify/flash-list': 1.4.0_yqouayos4dnow7nnkhah4yzuzq
+ '@tanstack/react-query': 4.26.1_yqouayos4dnow7nnkhah4yzuzq
byte-size: 8.1.0
- class-variance-authority: 0.4.0_typescript@4.9.4
+ class-variance-authority: 0.4.0_typescript@4.9.5
dayjs: 1.11.7
- expo: 47.0.13
- expo-linking: 3.3.0_expo@47.0.13
- expo-media-library: 15.0.0_expo@47.0.13
- expo-splash-screen: 0.17.5_expo@47.0.13
- expo-status-bar: 1.4.2
+ expo: 48.0.6
+ expo-linking: 4.0.1_expo@48.0.6
+ expo-media-library: 15.2.2_expo@48.0.6
+ expo-splash-screen: 0.18.1_expo@48.0.6
+ expo-status-bar: 1.4.4
intl: 1.2.5
- lottie-react-native: 5.1.4_tj3nonr5gneraukzjkxpsiy7yu
- moti: 0.22.0_wwrhtnmkhk6ixblrbdwhxojxqi
- phosphor-react-native: 1.1.2_tdhmirddlb52bzkqlwgrsfpe6m
- react: 18.1.0
- react-hook-form: 7.43.0_react@18.1.0
- react-native: 0.70.5_react@18.1.0
- react-native-document-picker: 8.1.3_tj3nonr5gneraukzjkxpsiy7yu
- react-native-fs: 2.20.0_react-native@0.70.5
- react-native-gesture-handler: 2.9.0_tj3nonr5gneraukzjkxpsiy7yu
+ lottie-react-native: 5.1.4_yqouayos4dnow7nnkhah4yzuzq
+ moti: 0.24.2_j2lje2xtngrkm2tptyce2pxl5m
+ phosphor-react-native: 1.1.2_nspe6j2x24lhqdltgpf6gwh4ma
+ react: 18.2.0
+ react-hook-form: 7.43.5_react@18.2.0
+ react-native: 0.71.3_react@18.2.0
+ react-native-document-picker: 8.1.3_yqouayos4dnow7nnkhah4yzuzq
+ react-native-fs: 2.20.0_react-native@0.71.3
+ react-native-gesture-handler: 2.9.0_yqouayos4dnow7nnkhah4yzuzq
react-native-popup-menu: 0.16.1
- react-native-reanimated: 2.14.4_tj3nonr5gneraukzjkxpsiy7yu
- react-native-safe-area-context: 4.5.0_tj3nonr5gneraukzjkxpsiy7yu
- react-native-screens: 3.19.0_tj3nonr5gneraukzjkxpsiy7yu
- react-native-svg: 13.8.0_tj3nonr5gneraukzjkxpsiy7yu
+ react-native-reanimated: 2.14.4_yqouayos4dnow7nnkhah4yzuzq
+ react-native-safe-area-context: 4.5.0_yqouayos4dnow7nnkhah4yzuzq
+ react-native-screens: 3.20.0_yqouayos4dnow7nnkhah4yzuzq
+ react-native-svg: 13.4.0_yqouayos4dnow7nnkhah4yzuzq
react-native-wheel-color-picker: 1.2.0
- twrnc: 3.6.0_react-native@0.70.5
- use-count-up: 3.0.1_react@18.1.0
- use-debounce: 9.0.3_react@18.1.0
- valtio: 1.9.0_react@18.1.0
+ twrnc: 3.6.0_react-native@0.71.3
+ use-count-up: 3.0.1_react@18.2.0
+ use-debounce: 9.0.3_react@18.2.0
+ valtio: 1.10.3_react@18.2.0
+ zod: 3.21.4
devDependencies:
- '@rnx-kit/metro-config': 1.3.5_tj3nonr5gneraukzjkxpsiy7yu
+ '@rnx-kit/metro-config': 1.3.5_yqouayos4dnow7nnkhah4yzuzq
'@sd/config': link:../../packages/config
'@types/react': 18.0.27
- '@types/react-native': 0.70.9
babel-plugin-module-resolver: 5.0.0
eslint-plugin-react-native: 4.0.0
- metro-minify-terser: 0.74.1
- react-native-svg-transformer: 1.0.0_kqpsw65h73u7hvgblav6crprhi
- typescript: 4.9.4
+ metro-minify-terser: 0.76.0
+ react-native-svg-transformer: 1.0.0_csdbj5z546ts5ngzc62z27kx4u
+ typescript: 4.9.5
apps/server:
specifiers: {}
@@ -399,13 +401,11 @@ importers:
'@types/react-dom': ^18.0.6
'@types/react-router-dom': ^5.3.3
'@vitejs/plugin-react': ^2.1.0
- '@zxcvbn-ts/core': ^2.1.0
- '@zxcvbn-ts/language-common': ^2.0.1
- '@zxcvbn-ts/language-en': ^2.1.0
autoprefixer: ^10.4.12
byte-size: ^8.1.0
class-variance-authority: ^0.4.0
clsx: ^1.2.1
+ crypto-random-string: ^5.0.0
dayjs: ^1.11.5
phosphor-react: ^1.4.1
prettier: ^2.7.1
@@ -413,7 +413,7 @@ importers:
react-colorful: ^5.6.1
react-dom: ^18.2.0
react-error-boundary: ^3.1.4
- react-hook-form: ^7.36.1
+ react-hook-form: ^7.43.5
react-json-view: ^1.21.3
react-loading-skeleton: ^3.1.0
react-qr-code: ^2.0.11
@@ -430,7 +430,7 @@ importers:
dependencies:
'@fontsource/inter': 4.5.15
'@headlessui/react': 1.7.7_biqbaboplfbrettd7655fr4n2y
- '@hookform/resolvers': 2.9.10_react-hook-form@7.43.0
+ '@hookform/resolvers': 2.9.11_react-hook-form@7.43.5
'@radix-ui/react-progress': 1.0.1_biqbaboplfbrettd7655fr4n2y
'@radix-ui/react-slider': 1.1.0_biqbaboplfbrettd7655fr4n2y
'@radix-ui/react-toast': 1.1.2_biqbaboplfbrettd7655fr4n2y
@@ -447,20 +447,18 @@ importers:
'@tanstack/react-query-devtools': 4.22.0_pkeil6ml7pq7xvil3imldjs2sa
'@tanstack/react-virtual': 3.0.0-beta.18_react@18.2.0
'@vitejs/plugin-react': 2.2.0_vite@4.1.4
- '@zxcvbn-ts/core': 2.1.0
- '@zxcvbn-ts/language-common': 2.0.1
- '@zxcvbn-ts/language-en': 2.1.0
autoprefixer: 10.4.13
byte-size: 8.1.0
class-variance-authority: 0.4.0_typescript@4.9.4
clsx: 1.2.1
+ crypto-random-string: 5.0.0
dayjs: 1.11.7
phosphor-react: 1.4.1_react@18.2.0
react: 18.2.0
react-colorful: 5.6.1_biqbaboplfbrettd7655fr4n2y
react-dom: 18.2.0_react@18.2.0
react-error-boundary: 3.1.4_react@18.2.0
- react-hook-form: 7.43.0_react@18.2.0
+ react-hook-form: 7.43.5_react@18.2.0
react-json-view: 1.21.3_5ndqzdd6t4rivxsukjv3i3ak2q
react-loading-skeleton: 3.1.0_react@18.2.0
react-qr-code: 2.0.11_react@18.2.0
@@ -497,7 +495,9 @@ importers:
'@sd/config': workspace:*
'@tanstack/react-query': ^4.12.0
'@types/react': ^18.0.21
- crypto-random-string: ^5.0.0
+ '@zxcvbn-ts/core': ^2.1.0
+ '@zxcvbn-ts/language-common': ^2.0.1
+ '@zxcvbn-ts/language-en': ^2.1.0
plausible-tracker: ^0.3.8
scripts: '*'
tsconfig: '*'
@@ -508,7 +508,9 @@ importers:
'@rspc/react': 0.0.0-main-7c0a67c1_tqsbl3x6ixew47ctvte2nz2yki
'@sd/config': link:../config
'@tanstack/react-query': 4.22.0
- crypto-random-string: 5.0.0
+ '@zxcvbn-ts/core': 2.1.0
+ '@zxcvbn-ts/language-common': 2.0.1
+ '@zxcvbn-ts/language-en': 2.1.0
plausible-tracker: 0.3.8
valtio: 1.9.0
devDependencies:
@@ -672,7 +674,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.18.6
- '@babel/generator': 7.20.7
+ '@babel/generator': 7.20.14
'@babel/helper-module-transforms': 7.20.11
'@babel/helpers': 7.20.7
'@babel/parser': 7.20.7
@@ -736,6 +738,28 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/core/7.21.0:
+ resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@ampproject/remapping': 2.2.0
+ '@babel/code-frame': 7.18.6
+ '@babel/generator': 7.21.1
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
+ '@babel/helper-module-transforms': 7.21.2
+ '@babel/helpers': 7.21.0
+ '@babel/parser': 7.21.2
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
+ convert-source-map: 1.9.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/generator/7.17.7:
resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==}
engines: {node: '>=6.9.0'}
@@ -762,6 +786,15 @@ packages:
'@jridgewell/gen-mapping': 0.3.2
jsesc: 2.5.2
+ /@babel/generator/7.21.1:
+ resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.2
+ '@jridgewell/gen-mapping': 0.3.2
+ '@jridgewell/trace-mapping': 0.3.17
+ jsesc: 2.5.2
+
/@babel/helper-annotate-as-pure/7.18.6:
resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==}
engines: {node: '>=6.9.0'}
@@ -815,6 +848,19 @@ packages:
lru-cache: 5.1.1
semver: 6.3.0
+ /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.0:
+ resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/compat-data': 7.20.10
+ '@babel/core': 7.21.0
+ '@babel/helper-validator-option': 7.18.6
+ browserslist: 4.21.4
+ lru-cache: 5.1.1
+ semver: 6.3.0
+
/@babel/helper-create-class-features-plugin/7.20.12:
resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==}
engines: {node: '>=6.9.0'}
@@ -851,6 +897,78 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/helper-create-class-features-plugin/7.20.12_@babel+core@7.21.0:
+ resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.19.0
+ '@babel/helper-member-expression-to-functions': 7.20.7
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-replace-supers': 7.20.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ '@babel/helper-split-export-declaration': 7.18.6
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-create-class-features-plugin/7.21.0:
+ resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-member-expression-to-functions': 7.21.0
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-replace-supers': 7.20.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ '@babel/helper-split-export-declaration': 7.18.6
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.20.12
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-member-expression-to-functions': 7.21.0
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-replace-supers': 7.20.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ '@babel/helper-split-export-declaration': 7.18.6
+ transitivePeerDependencies:
+ - supports-color
+
+ /@babel/helper-create-class-features-plugin/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-member-expression-to-functions': 7.21.0
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-replace-supers': 7.20.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ '@babel/helper-split-export-declaration': 7.18.6
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/helper-create-regexp-features-plugin/7.20.5:
resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==}
engines: {node: '>=6.9.0'}
@@ -871,6 +989,16 @@ packages:
'@babel/helper-annotate-as-pure': 7.18.6
regexpu-core: 5.2.2
+ /@babel/helper-create-regexp-features-plugin/7.20.5_@babel+core@7.21.0:
+ resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-annotate-as-pure': 7.18.6
+ regexpu-core: 5.2.2
+
/@babel/helper-define-polyfill-provider/0.1.5_@babel+core@7.20.12:
resolution: {integrity: sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==}
peerDependencies:
@@ -919,6 +1047,21 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/helper-define-polyfill-provider/0.3.3_@babel+core@7.21.0:
+ resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==}
+ peerDependencies:
+ '@babel/core': ^7.4.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ debug: 4.3.4
+ lodash.debounce: 4.0.8
+ resolve: 1.22.1
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/helper-environment-visitor/7.18.9:
resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==}
engines: {node: '>=6.9.0'}
@@ -936,6 +1079,13 @@ packages:
'@babel/template': 7.20.7
'@babel/types': 7.20.7
+ /@babel/helper-function-name/7.21.0:
+ resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.20.7
+ '@babel/types': 7.21.2
+
/@babel/helper-hoist-variables/7.18.6:
resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==}
engines: {node: '>=6.9.0'}
@@ -948,6 +1098,12 @@ packages:
dependencies:
'@babel/types': 7.20.7
+ /@babel/helper-member-expression-to-functions/7.21.0:
+ resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/types': 7.21.2
+
/@babel/helper-module-imports/7.18.6:
resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
engines: {node: '>=6.9.0'}
@@ -969,11 +1125,26 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/helper-module-transforms/7.21.2:
+ resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-simple-access': 7.20.2
+ '@babel/helper-split-export-declaration': 7.18.6
+ '@babel/helper-validator-identifier': 7.19.1
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/helper-optimise-call-expression/7.18.6:
resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
/@babel/helper-plugin-utils/7.10.4:
resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==}
@@ -1011,6 +1182,20 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/helper-remap-async-to-generator/7.18.9_@babel+core@7.21.0:
+ resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-wrap-function': 7.20.5
+ '@babel/types': 7.20.7
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/helper-replace-supers/7.20.7:
resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==}
engines: {node: '>=6.9.0'}
@@ -1034,7 +1219,7 @@ packages:
resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.20.7
+ '@babel/types': 7.21.2
/@babel/helper-split-export-declaration/7.18.6:
resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
@@ -1054,11 +1239,15 @@ packages:
resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
engines: {node: '>=6.9.0'}
+ /@babel/helper-validator-option/7.21.0:
+ resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==}
+ engines: {node: '>=6.9.0'}
+
/@babel/helper-wrap-function/7.20.5:
resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/helper-function-name': 7.19.0
+ '@babel/helper-function-name': 7.21.0
'@babel/template': 7.20.7
'@babel/traverse': 7.20.12
'@babel/types': 7.20.7
@@ -1075,6 +1264,16 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/helpers/7.21.0:
+ resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/template': 7.20.7
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/highlight/7.18.6:
resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
engines: {node: '>=6.9.0'}
@@ -1106,6 +1305,13 @@ packages:
dependencies:
'@babel/types': 7.20.7
+ /@babel/parser/7.21.2:
+ resolution: {integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+ dependencies:
+ '@babel/types': 7.21.2
+
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6:
resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
engines: {node: '>=6.9.0'}
@@ -1176,6 +1382,20 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/plugin-proposal-async-generator-functions/7.20.7_@babel+core@7.21.0:
+ resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.0
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/plugin-proposal-class-properties/7.18.6:
resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
engines: {node: '>=6.9.0'}
@@ -1200,6 +1420,18 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/plugin-proposal-class-static-block/7.20.7:
resolution: {integrity: sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==}
engines: {node: '>=6.9.0'}
@@ -1289,6 +1521,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
'@babel/plugin-syntax-export-default-from': 7.18.6_@babel+core@7.20.12
+ /@babel/plugin-proposal-export-default-from/7.18.10_@babel+core@7.21.0:
+ resolution: {integrity: sha512-5H2N3R2aQFxkV4PIBUR/i7PUSwgTZjouJKzI8eKswfIjT0PhvzkPn0t0wIS5zn6maQuvtT0t1oHtMUz61LOuow==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-export-default-from': 7.18.6_@babel+core@7.21.0
+
/@babel/plugin-proposal-export-namespace-from/7.18.9:
resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==}
engines: {node: '>=6.9.0'}
@@ -1372,6 +1614,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
'@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.20.12
+ /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.0
+
/@babel/plugin-proposal-numeric-separator/7.18.6:
resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
engines: {node: '>=6.9.0'}
@@ -1430,6 +1682,19 @@ packages:
'@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12
'@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12
+ /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.21.0:
+ resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.20.10
+ '@babel/core': 7.21.0
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.0
+
/@babel/plugin-proposal-optional-catch-binding/7.18.6:
resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
engines: {node: '>=6.9.0'}
@@ -1450,6 +1715,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
'@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.12
+ /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.0
+
/@babel/plugin-proposal-optional-chaining/7.20.7:
resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==}
engines: {node: '>=6.9.0'}
@@ -1472,6 +1747,17 @@ packages:
'@babel/helper-skip-transparent-expression-wrappers': 7.20.0
'@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.12
+ /@babel/plugin-proposal-optional-chaining/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.0
+
/@babel/plugin-proposal-private-methods/7.18.6:
resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
engines: {node: '>=6.9.0'}
@@ -1563,6 +1849,14 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.21.0:
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-syntax-class-properties/7.12.13:
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
@@ -1578,6 +1872,15 @@ packages:
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.21.0:
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
/@babel/plugin-syntax-class-static-block/7.14.5:
resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
@@ -1633,6 +1936,14 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.21.0:
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-syntax-export-default-from/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==}
engines: {node: '>=6.9.0'}
@@ -1642,6 +1953,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-export-default-from/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-syntax-export-namespace-from/7.8.3:
resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
peerDependencies:
@@ -1668,6 +1988,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-flow/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-syntax-import-assertions/7.20.0:
resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==}
engines: {node: '>=6.9.0'}
@@ -1730,6 +2059,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-syntax-logical-assignment-operators/7.10.4:
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
peerDependencies:
@@ -1763,6 +2101,14 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.0:
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-syntax-numeric-separator/7.10.4:
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
peerDependencies:
@@ -1805,6 +2151,14 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.0:
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-syntax-optional-catch-binding/7.8.3:
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
peerDependencies:
@@ -1821,6 +2175,14 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.0:
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-syntax-optional-chaining/7.8.3:
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
peerDependencies:
@@ -1837,6 +2199,14 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.0:
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-syntax-private-property-in-object/7.14.5:
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
@@ -1892,6 +2262,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-arrow-functions/7.20.7:
resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==}
engines: {node: '>=6.9.0'}
@@ -1910,6 +2289,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.21.0:
+ resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-async-to-generator/7.20.7:
resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==}
engines: {node: '>=6.9.0'}
@@ -1936,6 +2324,19 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/plugin-transform-async-to-generator/7.20.7_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-remap-async-to-generator': 7.18.9_@babel+core@7.21.0
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/plugin-transform-block-scoped-functions/7.18.6:
resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
engines: {node: '>=6.9.0'}
@@ -1953,6 +2354,16 @@ packages:
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
/@babel/plugin-transform-block-scoping/7.20.11:
resolution: {integrity: sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==}
@@ -1972,6 +2383,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-block-scoping/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-classes/7.20.7:
resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==}
engines: {node: '>=6.9.0'}
@@ -2010,6 +2430,25 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/plugin-transform-classes/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-optimise-call-expression': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-replace-supers': 7.20.7
+ '@babel/helper-split-export-declaration': 7.18.6
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/plugin-transform-computed-properties/7.20.7:
resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==}
engines: {node: '>=6.9.0'}
@@ -2030,6 +2469,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
'@babel/template': 7.20.7
+ /@babel/plugin-transform-computed-properties/7.20.7_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/template': 7.20.7
+
/@babel/plugin-transform-destructuring/7.20.7:
resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==}
engines: {node: '>=6.9.0'}
@@ -2048,6 +2497,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-dotall-regex/7.18.6:
resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==}
engines: {node: '>=6.9.0'}
@@ -2107,6 +2565,7 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9
'@babel/helper-plugin-utils': 7.20.2
+ dev: true
/@babel/plugin-transform-flow-strip-types/7.19.0_@babel+core@7.20.12:
resolution: {integrity: sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==}
@@ -2118,6 +2577,26 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
'@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.20.12
+ /@babel/plugin-transform-flow-strip-types/7.19.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.0
+
+ /@babel/plugin-transform-flow-strip-types/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.0
+
/@babel/plugin-transform-for-of/7.18.8:
resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==}
engines: {node: '>=6.9.0'}
@@ -2135,6 +2614,16 @@ packages:
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-for-of/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
/@babel/plugin-transform-function-name/7.18.9:
resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
@@ -2158,6 +2647,17 @@ packages:
'@babel/helper-function-name': 7.19.0
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-function-name/7.18.9_@babel+core@7.21.0:
+ resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.0
+ '@babel/helper-function-name': 7.19.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-literals/7.18.9:
resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==}
engines: {node: '>=6.9.0'}
@@ -2176,6 +2676,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-literals/7.18.9_@babel+core@7.21.0:
+ resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-member-expression-literals/7.18.6:
resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
engines: {node: '>=6.9.0'}
@@ -2193,6 +2702,16 @@ packages:
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
/@babel/plugin-transform-modules-amd/7.20.11:
resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==}
@@ -2245,6 +2764,19 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/plugin-transform-modules-commonjs/7.21.2_@babel+core@7.21.0:
+ resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-module-transforms': 7.21.2
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-simple-access': 7.20.2
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/plugin-transform-modules-systemjs/7.20.11:
resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==}
engines: {node: '>=6.9.0'}
@@ -2319,6 +2851,16 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-named-capturing-groups-regex/7.20.5_@babel+core@7.21.0:
+ resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-new-target/7.18.6:
resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==}
engines: {node: '>=6.9.0'}
@@ -2370,6 +2912,19 @@ packages:
'@babel/helper-replace-supers': 7.20.7
transitivePeerDependencies:
- supports-color
+ dev: true
+
+ /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-replace-supers': 7.20.7
+ transitivePeerDependencies:
+ - supports-color
/@babel/plugin-transform-parameters/7.20.7:
resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==}
@@ -2399,6 +2954,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.21.0:
+ resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-property-literals/7.18.6:
resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==}
engines: {node: '>=6.9.0'}
@@ -2416,6 +2980,16 @@ packages:
dependencies:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ dev: true
+
+ /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
/@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==}
@@ -2426,6 +3000,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-react-display-name/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-react-jsx-development/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==}
engines: {node: '>=6.9.0'}
@@ -2444,6 +3027,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-react-jsx-self/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.20.12:
resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
engines: {node: '>=6.9.0'}
@@ -2453,6 +3045,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-react-jsx-source/7.19.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-react-jsx/7.20.7:
resolution: {integrity: sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==}
engines: {node: '>=6.9.0'}
@@ -2479,6 +3080,19 @@ packages:
'@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
'@babel/types': 7.20.7
+ /@babel/plugin-transform-react-jsx/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-annotate-as-pure': 7.18.6
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0
+ '@babel/types': 7.21.2
+
/@babel/plugin-transform-react-pure-annotations/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==}
engines: {node: '>=6.9.0'}
@@ -2546,6 +3160,22 @@ packages:
transitivePeerDependencies:
- supports-color
+ /@babel/plugin-transform-runtime/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-module-imports': 7.18.6
+ '@babel/helper-plugin-utils': 7.20.2
+ babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.21.0
+ babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.21.0
+ babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.21.0
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/plugin-transform-shorthand-properties/7.18.6:
resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==}
engines: {node: '>=6.9.0'}
@@ -2564,6 +3194,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-spread/7.20.7:
resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==}
engines: {node: '>=6.9.0'}
@@ -2584,6 +3223,16 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+ /@babel/plugin-transform-spread/7.20.7_@babel+core@7.21.0:
+ resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-skip-transparent-expression-wrappers': 7.20.0
+
/@babel/plugin-transform-sticky-regex/7.18.6:
resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==}
engines: {node: '>=6.9.0'}
@@ -2602,6 +3251,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-template-literals/7.18.9:
resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
engines: {node: '>=6.9.0'}
@@ -2620,6 +3278,15 @@ packages:
'@babel/core': 7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-template-literals/7.18.9_@babel+core@7.21.0:
+ resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/plugin-transform-typeof-symbol/7.18.9:
resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==}
engines: {node: '>=6.9.0'}
@@ -2639,19 +3306,6 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-typescript/7.20.13:
- resolution: {integrity: sha512-O7I/THxarGcDZxkgWKMUrk7NK1/WbHAg3Xx86gqS6x9MTrNL6AwIluuZ96ms4xeDe6AVx6rjHbWHP7x26EPQBA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/helper-create-class-features-plugin': 7.20.12
- '@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-typescript': 7.20.0
- transitivePeerDependencies:
- - supports-color
- dev: false
-
/@babel/plugin-transform-typescript/7.20.13_@babel+core@7.20.12:
resolution: {integrity: sha512-O7I/THxarGcDZxkgWKMUrk7NK1/WbHAg3Xx86gqS6x9MTrNL6AwIluuZ96ms4xeDe6AVx6rjHbWHP7x26EPQBA==}
engines: {node: '>=6.9.0'}
@@ -2659,22 +3313,35 @@ packages:
'@babel/core': ^7.0.0-0
dependencies:
'@babel/core': 7.20.12
- '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12
+ '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
'@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12
transitivePeerDependencies:
- supports-color
- /@babel/plugin-transform-typescript/7.20.7_@babel+core@7.20.12:
- resolution: {integrity: sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==}
+ /@babel/plugin-transform-typescript/7.21.0:
+ resolution: {integrity: sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
- '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12
+ '@babel/helper-create-class-features-plugin': 7.21.0
'@babel/helper-plugin-utils': 7.20.2
- '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12
+ '@babel/plugin-syntax-typescript': 7.20.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/plugin-transform-typescript/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-create-class-features-plugin': 7.21.0_@babel+core@7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.0
transitivePeerDependencies:
- supports-color
@@ -2717,6 +3384,16 @@ packages:
'@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.20.12
'@babel/helper-plugin-utils': 7.20.2
+ /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-create-regexp-features-plugin': 7.20.5_@babel+core@7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+
/@babel/preset-env/7.20.2:
resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==}
engines: {node: '>=6.9.0'}
@@ -2898,6 +3575,18 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
'@babel/helper-validator-option': 7.18.6
'@babel/plugin-transform-flow-strip-types': 7.19.0_@babel+core@7.20.12
+ dev: true
+
+ /@babel/preset-flow/7.18.6_@babel+core@7.21.0:
+ resolution: {integrity: sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-validator-option': 7.18.6
+ '@babel/plugin-transform-flow-strip-types': 7.19.0_@babel+core@7.21.0
/@babel/preset-modules/0.1.5:
resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==}
@@ -2939,19 +3628,6 @@ packages:
'@babel/plugin-transform-react-pure-annotations': 7.18.6_@babel+core@7.20.12
dev: true
- /@babel/preset-typescript/7.18.6:
- resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/helper-plugin-utils': 7.20.2
- '@babel/helper-validator-option': 7.18.6
- '@babel/plugin-transform-typescript': 7.20.13
- transitivePeerDependencies:
- - supports-color
- dev: false
-
/@babel/preset-typescript/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==}
engines: {node: '>=6.9.0'}
@@ -2964,6 +3640,33 @@ packages:
'@babel/plugin-transform-typescript': 7.20.13_@babel+core@7.20.12
transitivePeerDependencies:
- supports-color
+ dev: true
+
+ /@babel/preset-typescript/7.21.0:
+ resolution: {integrity: sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-validator-option': 7.21.0
+ '@babel/plugin-transform-typescript': 7.21.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: false
+
+ /@babel/preset-typescript/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-plugin-utils': 7.20.2
+ '@babel/helper-validator-option': 7.21.0
+ '@babel/plugin-transform-typescript': 7.21.0_@babel+core@7.21.0
+ transitivePeerDependencies:
+ - supports-color
/@babel/register/7.18.9_@babel+core@7.20.12:
resolution: {integrity: sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==}
@@ -2977,6 +3680,20 @@ packages:
make-dir: 2.1.0
pirates: 4.0.5
source-map-support: 0.5.21
+ dev: true
+
+ /@babel/register/7.21.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ clone-deep: 4.0.1
+ find-cache-dir: 2.1.0
+ make-dir: 2.1.0
+ pirates: 4.0.5
+ source-map-support: 0.5.21
/@babel/runtime/7.20.7:
resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==}
@@ -2984,6 +3701,12 @@ packages:
dependencies:
regenerator-runtime: 0.13.11
+ /@babel/runtime/7.21.0:
+ resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.13.11
+
/@babel/runtime/7.5.5:
resolution: {integrity: sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==}
dependencies:
@@ -3057,6 +3780,23 @@ packages:
- supports-color
dev: true
+ /@babel/traverse/7.21.2:
+ resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ '@babel/generator': 7.21.1
+ '@babel/helper-environment-visitor': 7.18.9
+ '@babel/helper-function-name': 7.21.0
+ '@babel/helper-hoist-variables': 7.18.6
+ '@babel/helper-split-export-declaration': 7.18.6
+ '@babel/parser': 7.21.2
+ '@babel/types': 7.21.2
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
/@babel/types/7.17.0:
resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==}
engines: {node: '>=6.9.0'}
@@ -3073,6 +3813,14 @@ packages:
'@babel/helper-validator-identifier': 7.19.1
to-fast-properties: 2.0.0
+ /@babel/types/7.21.2:
+ resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ '@babel/helper-string-parser': 7.19.4
+ '@babel/helper-validator-identifier': 7.19.1
+ to-fast-properties: 2.0.0
+
/@base2/pretty-print-object/1.0.1:
resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==}
dev: true
@@ -3673,22 +4421,22 @@ packages:
safe-json-stringify: 1.2.0
dev: false
- /@expo/cli/0.4.11_icwh4t4f22ilvzajfiepq6z62e:
- resolution: {integrity: sha512-L9Ci9RBh0aPFEDF1AjDYPk54OgeUJIKzxF3lRgITm+lQpI3IEKjAc9LaYeQeO1mlZMUQmPkHArF8iyz1eOeVoQ==}
+ /@expo/cli/0.6.2_6weo4dzsrefthwodkc5gdxxcii:
+ resolution: {integrity: sha512-uhmrXNemXTbCTKP/ycyJHOU/KLGdFwVCrWNBzz1VkwnmL8yJV5F3C18a83ybFFnUNfkGHeH5LtID7CSNbbTWKg==}
hasBin: true
dependencies:
'@babel/runtime': 7.20.7
'@expo/code-signing-certificates': 0.0.5
- '@expo/config': 7.0.3
- '@expo/config-plugins': 5.0.4
- '@expo/dev-server': 0.1.124
+ '@expo/config': 8.0.2
+ '@expo/config-plugins': 6.0.1
+ '@expo/dev-server': 0.2.3
'@expo/devcert': 1.1.0
'@expo/json-file': 8.2.37
- '@expo/metro-config': 0.5.2
+ '@expo/metro-config': 0.7.1
'@expo/osascript': 2.0.33
- '@expo/package-manager': 0.0.57
- '@expo/plist': 0.0.18
- '@expo/prebuild-config': 5.0.7_icwh4t4f22ilvzajfiepq6z62e
+ '@expo/package-manager': 1.0.1
+ '@expo/plist': 0.0.20
+ '@expo/prebuild-config': 6.0.0_6weo4dzsrefthwodkc5gdxxcii
'@expo/rudder-sdk-node': 1.1.1
'@expo/spawn-async': 1.5.0
'@expo/xcpretty': 4.2.2
@@ -3736,7 +4484,6 @@ packages:
terminal-link: 2.1.1
text-table: 0.2.0
url-join: 4.0.0
- uuid: 3.4.0
wrap-ansi: 7.0.0
transitivePeerDependencies:
- bluebird
@@ -3752,12 +4499,12 @@ packages:
nullthrows: 1.1.1
dev: false
- /@expo/config-plugins/5.0.4:
- resolution: {integrity: sha512-vzUcVpqOMs3h+hyRdhGwk+eGIOhXa5xYdd92yO17RMNHav3v/+ekMbs7XA2c3lepMO8Yd4/5hqmRw9ZTL6jGzg==}
+ /@expo/config-plugins/6.0.1:
+ resolution: {integrity: sha512-6mqZutxeibXFeqFfoZApFUEH2n1RxGXYMHCdJrDj4eXDBBFZ3aJ0XBoroZcHHHvfRieEsf54vNyJoWp7JZGj8g==}
dependencies:
- '@expo/config-types': 47.0.0
- '@expo/json-file': 8.2.36
- '@expo/plist': 0.0.18
+ '@expo/config-types': 48.0.0
+ '@expo/json-file': 8.2.37
+ '@expo/plist': 0.0.20
'@expo/sdk-runtime-versions': 1.0.0
'@react-native/normalize-color': 2.1.0
chalk: 4.1.2
@@ -3774,17 +4521,17 @@ packages:
- supports-color
dev: false
- /@expo/config-types/47.0.0:
- resolution: {integrity: sha512-r0pWfuhkv7KIcXMUiNACJmJKKwlTBGMw9VZHNdppS8/0Nve8HZMTkNRFQzTHW1uH3pBj8jEXpyw/2vSWDHex9g==}
+ /@expo/config-types/48.0.0:
+ resolution: {integrity: sha512-DwyV4jTy/+cLzXGAo1xftS6mVlSiLIWZjl9DjTCLPFVgNYQxnh7htPilRv4rBhiNs7KaznWqKU70+4zQoKVT9A==}
dev: false
- /@expo/config/7.0.3:
- resolution: {integrity: sha512-joVtB5o+NF40Tmsdp65UzryRtbnCuMbXkVO4wJnNJO4aaK0EYLdHCYSewORVqNcDfGN0LphQr8VTG2npbd9CJA==}
+ /@expo/config/8.0.2:
+ resolution: {integrity: sha512-WubrzTNNdAXy1FU8TdyQ7D9YtDj2tN3fWXDq+C8In+nB7Qc08zwH9cVdaGZ+rBVmjFZBh5ACfObKq/m9cm4QQA==}
dependencies:
'@babel/code-frame': 7.10.4
- '@expo/config-plugins': 5.0.4
- '@expo/config-types': 47.0.0
- '@expo/json-file': 8.2.36
+ '@expo/config-plugins': 6.0.1
+ '@expo/config-types': 48.0.0
+ '@expo/json-file': 8.2.37
getenv: 1.0.0
glob: 7.1.6
require-from-string: 2.0.2
@@ -3811,11 +4558,11 @@ packages:
xml-js: 1.6.11
dev: false
- /@expo/dev-server/0.1.124:
- resolution: {integrity: sha512-iHczVcf+rgWupCY/3b3ePIizNtzsy1O/w8jdKv3bKvoOfXiVIVOo4KGiVDpAJOahKiMOsRlbKeemB8OLNKzdSA==}
+ /@expo/dev-server/0.2.3:
+ resolution: {integrity: sha512-9+6QGRdymj3dmTp1vUpROvWJ+Ezz6Qp9xHafAcaRHzw322pUCOiRKxTYqDqYYZ/72shrHPGQ2CiIXTnV1vM2tA==}
dependencies:
'@expo/bunyan': 4.0.0
- '@expo/metro-config': 0.5.2
+ '@expo/metro-config': 0.7.1
'@expo/osascript': 2.0.33
'@expo/spawn-async': 1.5.0
body-parser: 1.20.1
@@ -3850,7 +4597,7 @@ packages:
rimraf: 2.7.1
sudo-prompt: 8.2.5
tmp: 0.0.33
- tslib: 2.4.1
+ tslib: 2.5.0
transitivePeerDependencies:
- supports-color
dev: false
@@ -3873,14 +4620,6 @@ packages:
- encoding
dev: false
- /@expo/json-file/8.2.36:
- resolution: {integrity: sha512-tOZfTiIFA5KmMpdW9KF7bc6CFiGjb0xnbieJhTGlHrLL+ps2G0OkqmuZ3pFEXBOMnJYUVpnSy++52LFxvpa5ZQ==}
- dependencies:
- '@babel/code-frame': 7.10.4
- json5: 1.0.2
- write-file-atomic: 2.4.3
- dev: false
-
/@expo/json-file/8.2.37:
resolution: {integrity: sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==}
dependencies:
@@ -3889,11 +4628,10 @@ packages:
write-file-atomic: 2.4.3
dev: false
- /@expo/metro-config/0.5.2:
- resolution: {integrity: sha512-W1qsZPA5BXuRBkNLydKBYQ1+ubObhOK0gk2Fpc+XnhW+UUIHC9sDR5pZRYGNSnDDc3rG8y7c32UzSW9nlK+mog==}
+ /@expo/metro-config/0.7.1:
+ resolution: {integrity: sha512-vGWU62Zp5pRGw5IEHDNdqvsy62/hu/Na7bswePYVjoaItOjJY7+qilFeF0AAK+3V8qAM8fpltH3ByylKfWaA7A==}
dependencies:
- '@expo/config': 7.0.3
- '@expo/json-file': 8.2.36
+ '@expo/config': 8.0.2
chalk: 4.1.2
debug: 4.3.4
find-yarn-workspace-root: 2.0.0
@@ -3912,39 +4650,40 @@ packages:
exec-async: 2.2.0
dev: false
- /@expo/package-manager/0.0.57:
- resolution: {integrity: sha512-Y4RpSL9EqaPF+Vd2GrK6r7Xx7Dv0Xdq3AGAD9C0KwV21WqP/scj/dpjxFY+ABwmdhNsFzYXb8fmDyh4tiKenPQ==}
+ /@expo/package-manager/1.0.1:
+ resolution: {integrity: sha512-ue6NIIsNafa2bK7zUl7Y61YNtkPsg7sJcTOyQo/87Yqf6Q+2bOrvdw1xjviaFrMsTZcpOPVf+ZIEYtE0lw0k6A==}
dependencies:
- '@expo/json-file': 8.2.36
+ '@expo/json-file': 8.2.37
'@expo/spawn-async': 1.5.0
ansi-regex: 5.0.1
chalk: 4.1.2
find-up: 5.0.0
find-yarn-workspace-root: 2.0.0
+ js-yaml: 3.14.1
+ micromatch: 4.0.5
npm-package-arg: 7.0.0
- rimraf: 3.0.2
split: 1.0.1
sudo-prompt: 9.1.1
dev: false
- /@expo/plist/0.0.18:
- resolution: {integrity: sha512-+48gRqUiz65R21CZ/IXa7RNBXgAI/uPSdvJqoN9x1hfL44DNbUoWHgHiEXTx7XelcATpDwNTz6sHLfy0iNqf+w==}
+ /@expo/plist/0.0.20:
+ resolution: {integrity: sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==}
dependencies:
'@xmldom/xmldom': 0.7.9
base64-js: 1.5.1
xmlbuilder: 14.0.0
dev: false
- /@expo/prebuild-config/5.0.7:
- resolution: {integrity: sha512-D+TBpJUHe4+oTGFPb4o0rrw/h1xxc6wF+abJnbDHUkhnaeiHkE2O3ByS7FdiZ2FT36t0OKqeSKG/xFwWT3m1Ew==}
+ /@expo/prebuild-config/6.0.0:
+ resolution: {integrity: sha512-UW0QKAoRelsalVMhAG1tmegwS+2tbefvUi6/0QiKPlMLg8GFDQ5ZnzsSmuljD0SzT5yGg8oSpKYhnrXJ6pRmIQ==}
peerDependencies:
expo-modules-autolinking: '>=0.8.1'
dependencies:
- '@expo/config': 7.0.3
- '@expo/config-plugins': 5.0.4
- '@expo/config-types': 47.0.0
+ '@expo/config': 8.0.2
+ '@expo/config-plugins': 6.0.1
+ '@expo/config-types': 48.0.0
'@expo/image-utils': 0.3.22
- '@expo/json-file': 8.2.36
+ '@expo/json-file': 8.2.37
debug: 4.3.4
fs-extra: 9.1.0
resolve-from: 5.0.0
@@ -3955,18 +4694,18 @@ packages:
- supports-color
dev: false
- /@expo/prebuild-config/5.0.7_icwh4t4f22ilvzajfiepq6z62e:
- resolution: {integrity: sha512-D+TBpJUHe4+oTGFPb4o0rrw/h1xxc6wF+abJnbDHUkhnaeiHkE2O3ByS7FdiZ2FT36t0OKqeSKG/xFwWT3m1Ew==}
+ /@expo/prebuild-config/6.0.0_6weo4dzsrefthwodkc5gdxxcii:
+ resolution: {integrity: sha512-UW0QKAoRelsalVMhAG1tmegwS+2tbefvUi6/0QiKPlMLg8GFDQ5ZnzsSmuljD0SzT5yGg8oSpKYhnrXJ6pRmIQ==}
peerDependencies:
expo-modules-autolinking: '>=0.8.1'
dependencies:
- '@expo/config': 7.0.3
- '@expo/config-plugins': 5.0.4
- '@expo/config-types': 47.0.0
+ '@expo/config': 8.0.2
+ '@expo/config-plugins': 6.0.1
+ '@expo/config-types': 48.0.0
'@expo/image-utils': 0.3.22
- '@expo/json-file': 8.2.36
+ '@expo/json-file': 8.2.37
debug: 4.3.4
- expo-modules-autolinking: 1.0.2
+ expo-modules-autolinking: 1.1.2
fs-extra: 9.1.0
resolve-from: 5.0.0
semver: 7.3.2
@@ -4047,7 +4786,7 @@ packages:
/@gar/promisify/1.1.3:
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
- /@gorhom/bottom-sheet/4.4.5_w366bumyfs4uyicayprrehskae:
+ /@gorhom/bottom-sheet/4.4.5_roruo4vjpd27jjmcsfgplose2a:
resolution: {integrity: sha512-Z5Z20wshLUB8lIdtMKoJaRnjd64wBR/q8EeVPThrg+skrcBwBPHfUwZJ2srB0rEszA/01ejSJy/ixyd7Ra7vUA==}
peerDependencies:
react: '*'
@@ -4055,23 +4794,23 @@ packages:
react-native-gesture-handler: '>=1.10.1'
react-native-reanimated: '>=2.2.0'
dependencies:
- '@gorhom/portal': 1.0.14_tj3nonr5gneraukzjkxpsiy7yu
+ '@gorhom/portal': 1.0.14_yqouayos4dnow7nnkhah4yzuzq
invariant: 2.2.4
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
- react-native-gesture-handler: 2.9.0_tj3nonr5gneraukzjkxpsiy7yu
- react-native-reanimated: 2.14.4_tj3nonr5gneraukzjkxpsiy7yu
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
+ react-native-gesture-handler: 2.9.0_yqouayos4dnow7nnkhah4yzuzq
+ react-native-reanimated: 2.14.4_yqouayos4dnow7nnkhah4yzuzq
dev: false
- /@gorhom/portal/1.0.14_tj3nonr5gneraukzjkxpsiy7yu:
+ /@gorhom/portal/1.0.14_yqouayos4dnow7nnkhah4yzuzq:
resolution: {integrity: sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A==}
peerDependencies:
react: '*'
react-native: '*'
dependencies:
nanoid: 3.3.4
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
dev: false
/@graphql-typed-document-node/core/3.1.1_graphql@15.8.0:
@@ -4111,12 +4850,12 @@ packages:
tailwindcss: 3.2.4_postcss@8.4.21
dev: false
- /@hookform/resolvers/2.9.10_react-hook-form@7.43.0:
- resolution: {integrity: sha512-JIL1DgJIlH9yuxcNGtyhsWX/PgNltz+5Gr6+8SX9fhXc/hPbEIk6wPI82nhgvp3uUb6ZfAM5mqg/x7KR7NAb+A==}
+ /@hookform/resolvers/2.9.11_react-hook-form@7.43.5:
+ resolution: {integrity: sha512-bA3aZ79UgcHj7tFV7RlgThzwSSHZgvfbt2wprldRkYBcMopdMvHyO17Wwp/twcJasNFischFfS7oz8Katz8DdQ==}
peerDependencies:
react-hook-form: ^7.0.0
dependencies:
- react-hook-form: 7.43.0_react@18.2.0
+ react-hook-form: 7.43.5_react@18.2.0
dev: false
/@humanwhocodes/config-array/0.11.8:
@@ -4163,17 +4902,37 @@ packages:
engines: {node: '>=8'}
dev: true
- /@jest/create-cache-key-function/29.3.1:
- resolution: {integrity: sha512-4i+E+E40gK13K78ffD/8cy4lSSqeWwyXeTZoq16tndiCP12hC8uQsPJdIu5C6Kf22fD8UbBk71so7s/6VwpUOQ==}
+ /@jest/create-cache-key-function/29.5.0:
+ resolution: {integrity: sha512-LIDZyZgnZss7uikvBKBB/USWwG+GO8+GnwRWT+YkCGDGsqLQlhm9BC3z6+7+eMs1kUlvXQIWEzBR8Q2Pnvx6lg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/types': 29.3.1
+ '@jest/types': 29.5.0
- /@jest/schemas/29.0.0:
- resolution: {integrity: sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==}
+ /@jest/environment/29.5.0:
+ resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@sinclair/typebox': 0.24.51
+ '@jest/fake-timers': 29.5.0
+ '@jest/types': 29.5.0
+ '@types/node': 18.15.1
+ jest-mock: 29.5.0
+
+ /@jest/fake-timers/29.5.0:
+ resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.5.0
+ '@sinonjs/fake-timers': 10.0.2
+ '@types/node': 18.15.1
+ jest-message-util: 29.5.0
+ jest-mock: 29.5.0
+ jest-util: 29.5.0
+
+ /@jest/schemas/29.4.3:
+ resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@sinclair/typebox': 0.25.24
/@jest/transform/26.6.2:
resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==}
@@ -4214,19 +4973,19 @@ packages:
dependencies:
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
- '@types/node': 18.11.18
+ '@types/node': 18.15.1
'@types/yargs': 16.0.5
chalk: 4.1.2
- /@jest/types/29.3.1:
- resolution: {integrity: sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==}
+ /@jest/types/29.5.0:
+ resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@jest/schemas': 29.0.0
+ '@jest/schemas': 29.4.3
'@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1
- '@types/node': 18.11.18
- '@types/yargs': 17.0.20
+ '@types/node': 18.15.1
+ '@types/yargs': 17.0.22
chalk: 4.1.2
/@jridgewell/gen-mapping/0.1.1:
@@ -4318,7 +5077,7 @@ packages:
'@motionone/easing': 10.15.1
'@motionone/types': 10.15.1
'@motionone/utils': 10.15.1
- tslib: 2.4.1
+ tslib: 2.5.0
dev: false
/@motionone/dom/10.12.0:
@@ -4329,14 +5088,14 @@ packages:
'@motionone/types': 10.15.1
'@motionone/utils': 10.15.1
hey-listen: 1.0.8
- tslib: 2.4.1
+ tslib: 2.5.0
dev: false
/@motionone/easing/10.15.1:
resolution: {integrity: sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==}
dependencies:
'@motionone/utils': 10.15.1
- tslib: 2.4.1
+ tslib: 2.5.0
dev: false
/@motionone/generators/10.15.1:
@@ -4344,7 +5103,7 @@ packages:
dependencies:
'@motionone/types': 10.15.1
'@motionone/utils': 10.15.1
- tslib: 2.4.1
+ tslib: 2.5.0
dev: false
/@motionone/types/10.15.1:
@@ -4356,7 +5115,7 @@ packages:
dependencies:
'@motionone/types': 10.15.1
hey-listen: 1.0.8
- tslib: 2.4.1
+ tslib: 2.5.0
dev: false
/@mrmlnc/readdir-enhanced/2.2.1:
@@ -5214,49 +5973,50 @@ packages:
'@babel/runtime': 7.20.7
dev: false
- /@react-native-async-storage/async-storage/1.17.11_react-native@0.70.5:
+ /@react-native-async-storage/async-storage/1.17.11_react-native@0.71.3:
resolution: {integrity: sha512-bzs45n5HNcDq6mxXnSsOHysZWn1SbbebNxldBXCQs8dSvF8Aor9KCdpm+TpnnGweK3R6diqsT8lFhX77VX0NFw==}
peerDependencies:
react-native: ^0.0.0-0 || 0.60 - 0.71 || 1000.0.0
dependencies:
merge-options: 3.0.4
- react-native: 0.70.5_react@18.1.0
+ react-native: 0.71.3_react@18.2.0
dev: false
- /@react-native-community/cli-clean/9.2.1:
- resolution: {integrity: sha512-dyNWFrqRe31UEvNO+OFWmQ4hmqA07bR9Ief/6NnGwx67IO9q83D5PEAf/o96ML6jhSbDwCmpPKhPwwBbsyM3mQ==}
+ /@react-native-community/cli-clean/10.1.1:
+ resolution: {integrity: sha512-iNsrjzjIRv9yb5y309SWJ8NDHdwYtnCpmxZouQDyOljUdC9MwdZ4ChbtA4rwQyAwgOVfS9F/j56ML3Cslmvrxg==}
dependencies:
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-tools': 10.1.1
chalk: 4.1.2
execa: 1.0.0
prompts: 2.4.2
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-config/9.2.1:
- resolution: {integrity: sha512-gHJlBBXUgDN9vrr3aWkRqnYrPXZLztBDQoY97Mm5Yo6MidsEpYo2JIP6FH4N/N2p1TdjxJL4EFtdd/mBpiR2MQ==}
+ /@react-native-community/cli-config/10.1.1:
+ resolution: {integrity: sha512-p4mHrjC+s/ayiNVG6T35GdEGdP6TuyBUg5plVGRJfTl8WT6LBfLYLk+fz/iETrEZ/YkhQIsQcEUQC47MqLNHog==}
dependencies:
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-tools': 10.1.1
+ chalk: 4.1.2
cosmiconfig: 5.2.1
deepmerge: 3.3.0
glob: 7.2.3
- joi: 17.7.0
+ joi: 17.8.3
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-debugger-ui/9.0.0:
- resolution: {integrity: sha512-7hH05ZwU9Tp0yS6xJW0bqcZPVt0YCK7gwj7gnRu1jDNN2kughf6Lg0Ys29rAvtZ7VO1PK5c1O+zs7yFnylQDUA==}
+ /@react-native-community/cli-debugger-ui/10.0.0:
+ resolution: {integrity: sha512-8UKLcvpSNxnUTRy8CkCl27GGLqZunQ9ncGYhSrWyKrU9SWBJJGeZwi2k2KaoJi5FvF2+cD0t8z8cU6lsq2ZZmA==}
dependencies:
serve-static: 1.15.0
transitivePeerDependencies:
- supports-color
- /@react-native-community/cli-doctor/9.3.0:
- resolution: {integrity: sha512-/fiuG2eDGC2/OrXMOWI5ifq4X1gdYTQhvW2m0TT5Lk1LuFiZsbTCp1lR+XILKekuTvmYNjEGdVpeDpdIWlXdEA==}
+ /@react-native-community/cli-doctor/10.2.0:
+ resolution: {integrity: sha512-yLxJazUmNSPslHxeeev0gLvsK0nQan8BmGWbtqPz2WwbIbD89vbytC7G96OxiQXr46iWEWAwEJiTTdgA7jlA5Q==}
dependencies:
- '@react-native-community/cli-config': 9.2.1
- '@react-native-community/cli-platform-ios': 9.3.0
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-config': 10.1.1
+ '@react-native-community/cli-platform-ios': 10.2.0
+ '@react-native-community/cli-tools': 10.1.1
chalk: 4.1.2
command-exists: 1.2.9
envinfo: 7.8.1
@@ -5273,47 +6033,43 @@ packages:
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-hermes/9.3.1:
- resolution: {integrity: sha512-Mq4PK8m5YqIdaVq5IdRfp4qK09aVO+aiCtd6vjzjNUgk1+1X5cgUqV6L65h4N+TFJYJHcp2AnB+ik1FAYXvYPQ==}
+ /@react-native-community/cli-hermes/10.2.0:
+ resolution: {integrity: sha512-urfmvNeR8IiO/Sd92UU3xPO+/qI2lwCWQnxOkWaU/i2EITFekE47MD6MZrfVulRVYRi5cuaFqKZO/ccOdOB/vQ==}
dependencies:
- '@react-native-community/cli-platform-android': 9.3.1
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-platform-android': 10.2.0
+ '@react-native-community/cli-tools': 10.1.1
chalk: 4.1.2
hermes-profile-transformer: 0.0.6
ip: 1.1.8
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-platform-android/9.2.1:
- resolution: {integrity: sha512-VamCZ8nido3Q3Orhj6pBIx48itORNPLJ7iTfy3nucD1qISEDih3DOzCaQCtmqdEBgUkNkNl0O+cKgq5A3th3Zg==}
+ /@react-native-community/cli-platform-android/10.1.3:
+ resolution: {integrity: sha512-8YZEpBL6yd9l4CIoFcLOgrV8x2GDujdqrdWrNsNERDAbsiFwqAQvfjyyb57GAZVuEPEJCoqUlGlMCwOh3XQb9A==}
dependencies:
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-tools': 10.1.1
chalk: 4.1.2
execa: 1.0.0
- fs-extra: 8.1.0
glob: 7.2.3
logkitty: 0.7.1
- slash: 3.0.0
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-platform-android/9.3.1:
- resolution: {integrity: sha512-m0bQ6Twewl7OEZoVf79I2GZmsDqh+Gh0bxfxWgwxobsKDxLx8/RNItAo1lVtTCgzuCR75cX4EEO8idIF9jYhew==}
+ /@react-native-community/cli-platform-android/10.2.0:
+ resolution: {integrity: sha512-CBenYwGxwFdObZTn1lgxWtMGA5ms2G/ALQhkS+XTAD7KHDrCxFF9yT/fnAjFZKM6vX/1TqGI1RflruXih3kAhw==}
dependencies:
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-tools': 10.1.1
chalk: 4.1.2
execa: 1.0.0
- fs-extra: 8.1.0
glob: 7.2.3
logkitty: 0.7.1
- slash: 3.0.0
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-platform-ios/9.2.1:
- resolution: {integrity: sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg==}
+ /@react-native-community/cli-platform-ios/10.1.1:
+ resolution: {integrity: sha512-EB9/L8j1LqrqyfJtLRixU+d8FIP6Pr83rEgUgXgya/u8wk3h/bvX70w+Ff2skwjdPLr5dLUQ/n5KFX4r3bsNmA==}
dependencies:
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-tools': 10.1.1
chalk: 4.1.2
execa: 1.0.0
glob: 7.2.3
@@ -5321,29 +6077,31 @@ packages:
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-platform-ios/9.3.0:
- resolution: {integrity: sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw==}
+ /@react-native-community/cli-platform-ios/10.2.0:
+ resolution: {integrity: sha512-hIPK3iL/mL+0ChXmQ9uqqzNOKA48H+TAzg+hrxQLll/6dNMxDeK9/wZpktcsh8w+CyhqzKqVernGcQs7tPeKGw==}
dependencies:
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-tools': 10.1.1
chalk: 4.1.2
execa: 1.0.0
+ fast-xml-parser: 4.1.3
glob: 7.2.3
ora: 5.4.1
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-plugin-metro/9.2.1:
- resolution: {integrity: sha512-byBGBH6jDfUvcHGFA45W/sDwMlliv7flJ8Ns9foCh3VsIeYYPoDjjK7SawE9cPqRdMAD4SY7EVwqJnOtRbwLiQ==}
+ /@react-native-community/cli-plugin-metro/10.2.0:
+ resolution: {integrity: sha512-9eiJrKYuauEDkQLCrjJUh7tS9T0oaMQqVUSSSuyDG6du7HQcfaR4mSf21wK75jvhKiwcQLpsFmMdctAb+0v+Cg==}
dependencies:
- '@react-native-community/cli-server-api': 9.2.1
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-server-api': 10.1.1
+ '@react-native-community/cli-tools': 10.1.1
chalk: 4.1.2
- metro: 0.72.3
- metro-config: 0.72.3
- metro-core: 0.72.3
- metro-react-native-babel-transformer: 0.72.3
- metro-resolver: 0.72.3
- metro-runtime: 0.72.3
+ execa: 1.0.0
+ metro: 0.73.8
+ metro-config: 0.73.8
+ metro-core: 0.73.8
+ metro-react-native-babel-transformer: 0.73.8
+ metro-resolver: 0.73.8
+ metro-runtime: 0.73.8
readline: 1.3.0
transitivePeerDependencies:
- bufferutil
@@ -5351,11 +6109,11 @@ packages:
- supports-color
- utf-8-validate
- /@react-native-community/cli-server-api/9.2.1:
- resolution: {integrity: sha512-EI+9MUxEbWBQhWw2PkhejXfkcRqPl+58+whlXJvKHiiUd7oVbewFs0uLW0yZffUutt4FGx6Uh88JWEgwOzAdkw==}
+ /@react-native-community/cli-server-api/10.1.1:
+ resolution: {integrity: sha512-NZDo/wh4zlm8as31UEBno2bui8+ufzsZV+KN7QjEJWEM0levzBtxaD+4je0OpfhRIIkhaRm2gl/vVf7OYAzg4g==}
dependencies:
- '@react-native-community/cli-debugger-ui': 9.0.0
- '@react-native-community/cli-tools': 9.2.1
+ '@react-native-community/cli-debugger-ui': 10.0.0
+ '@react-native-community/cli-tools': 10.1.1
compression: 1.7.4
connect: 3.7.0
errorhandler: 1.5.1
@@ -5369,40 +6127,40 @@ packages:
- supports-color
- utf-8-validate
- /@react-native-community/cli-tools/9.2.1:
- resolution: {integrity: sha512-bHmL/wrKmBphz25eMtoJQgwwmeCylbPxqFJnFSbkqJPXQz3ManQ6q/gVVMqFyz7D3v+riaus/VXz3sEDa97uiQ==}
+ /@react-native-community/cli-tools/10.1.1:
+ resolution: {integrity: sha512-+FlwOnZBV+ailEzXjcD8afY2ogFEBeHOw/8+XXzMgPaquU2Zly9B+8W089tnnohO3yfiQiZqkQlElP423MY74g==}
dependencies:
appdirsjs: 1.2.7
chalk: 4.1.2
find-up: 5.0.0
mime: 2.6.0
- node-fetch: 2.6.8
+ node-fetch: 2.6.9
open: 6.4.0
ora: 5.4.1
semver: 6.3.0
- shell-quote: 1.7.4
+ shell-quote: 1.8.0
transitivePeerDependencies:
- encoding
- /@react-native-community/cli-types/9.1.0:
- resolution: {integrity: sha512-KDybF9XHvafLEILsbiKwz5Iobd+gxRaPyn4zSaAerBxedug4er5VUWa8Szy+2GeYKZzMh/gsb1o9lCToUwdT/g==}
+ /@react-native-community/cli-types/10.0.0:
+ resolution: {integrity: sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw==}
dependencies:
- joi: 17.7.0
+ joi: 17.8.3
- /@react-native-community/cli/9.2.1:
- resolution: {integrity: sha512-feMYS5WXXKF4TSWnCXozHxtWq36smyhGaENXlkiRESfYZ1mnCUlPfOanNCAvNvBqdyh9d4o0HxhYKX1g9l6DCQ==}
+ /@react-native-community/cli/10.1.3:
+ resolution: {integrity: sha512-kzh6bYLGN1q1q0IiczKSP1LTrovFeVzppYRTKohPI9VdyZwp7b5JOgaQMB/Ijtwm3MxBDrZgV9AveH/eUmUcKQ==}
engines: {node: '>=14'}
hasBin: true
dependencies:
- '@react-native-community/cli-clean': 9.2.1
- '@react-native-community/cli-config': 9.2.1
- '@react-native-community/cli-debugger-ui': 9.0.0
- '@react-native-community/cli-doctor': 9.3.0
- '@react-native-community/cli-hermes': 9.3.1
- '@react-native-community/cli-plugin-metro': 9.2.1
- '@react-native-community/cli-server-api': 9.2.1
- '@react-native-community/cli-tools': 9.2.1
- '@react-native-community/cli-types': 9.1.0
+ '@react-native-community/cli-clean': 10.1.1
+ '@react-native-community/cli-config': 10.1.1
+ '@react-native-community/cli-debugger-ui': 10.0.0
+ '@react-native-community/cli-doctor': 10.2.0
+ '@react-native-community/cli-hermes': 10.2.0
+ '@react-native-community/cli-plugin-metro': 10.2.0
+ '@react-native-community/cli-server-api': 10.1.1
+ '@react-native-community/cli-tools': 10.1.1
+ '@react-native-community/cli-types': 10.0.0
chalk: 4.1.2
commander: 9.5.0
execa: 1.0.0
@@ -5417,31 +6175,27 @@ packages:
- supports-color
- utf-8-validate
- /@react-native-masked-view/masked-view/0.2.8_tj3nonr5gneraukzjkxpsiy7yu:
+ /@react-native-masked-view/masked-view/0.2.8_yqouayos4dnow7nnkhah4yzuzq:
resolution: {integrity: sha512-+1holBPDF1yi/y0uc1WB6lA5tSNHhM7PpTMapT3ypvSnKQ9+C6sy/zfjxNxRA/llBQ1Ci6f94EaK56UCKs5lTA==}
peerDependencies:
react: '>=16'
react-native: '>=0.57'
dependencies:
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
dev: false
/@react-native/assets/1.0.0:
resolution: {integrity: sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==}
- /@react-native/normalize-color/2.0.0:
- resolution: {integrity: sha512-Wip/xsc5lw8vsBlmY2MO/gFLp3MvuZ2baBZjDeTjjndMgM0h5sxz7AZR62RDPGgstp8Np7JzjvVqVT7tpFZqsw==}
-
/@react-native/normalize-color/2.1.0:
resolution: {integrity: sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==}
- dev: false
/@react-native/polyfills/2.0.0:
resolution: {integrity: sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==}
- /@react-navigation/bottom-tabs/6.5.4_tzhjy2gc5kvqqitykreeetpfsq:
- resolution: {integrity: sha512-C2Tf+SsO9zc+p/MKUkILso8Dw4KTIscXPi7YhdepyZbM8ZYMGfnZKzffGjLFlLhQXtsFQQuHMelD8sIStTkgyQ==}
+ /@react-navigation/bottom-tabs/6.5.7_lzeolizq5fdjozeb3mtrlbatoi:
+ resolution: {integrity: sha512-9oZYyRu2z7+1pr2dX5V54rHFPmlj4ztwQxFe85zwpnGcPtGIsXj7VCIdlHnjRHJBBFCszvJGQpYY6/G2+DfD+A==}
peerDependencies:
'@react-navigation/native': ^6.0.0
react: '*'
@@ -5449,32 +6203,32 @@ packages:
react-native-safe-area-context: '>= 3.0.0'
react-native-screens: '>= 3.0.0'
dependencies:
- '@react-navigation/elements': 1.3.14_tyo4vetelyebz5cucognw6udfm
- '@react-navigation/native': 6.1.3_tj3nonr5gneraukzjkxpsiy7yu
+ '@react-navigation/elements': 1.3.17_3q57rrzrqjmhzcnf6o45kky2ma
+ '@react-navigation/native': 6.1.6_yqouayos4dnow7nnkhah4yzuzq
color: 4.2.3
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
- react-native-safe-area-context: 4.5.0_tj3nonr5gneraukzjkxpsiy7yu
- react-native-screens: 3.19.0_tj3nonr5gneraukzjkxpsiy7yu
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
+ react-native-safe-area-context: 4.5.0_yqouayos4dnow7nnkhah4yzuzq
+ react-native-screens: 3.20.0_yqouayos4dnow7nnkhah4yzuzq
warn-once: 0.1.1
dev: false
- /@react-navigation/core/6.4.6_react@18.1.0:
- resolution: {integrity: sha512-6zaAgUT5k4vhJlddUk2l52RZyMkMelHdrRv1cL57ALi2RZzERdgmbiMKhJerxFLn9S8E3PUe8vwxHzjHOZKG4w==}
+ /@react-navigation/core/6.4.8_react@18.2.0:
+ resolution: {integrity: sha512-klZ9Mcf/P2j+5cHMoGyIeurEzyBM2Uq9+NoSFrF6sdV5iCWHLFhrCXuhbBiQ5wVLCKf4lavlkd/DDs47PXs9RQ==}
peerDependencies:
react: '*'
dependencies:
- '@react-navigation/routers': 6.1.6
+ '@react-navigation/routers': 6.1.8
escape-string-regexp: 4.0.0
nanoid: 3.3.4
query-string: 7.1.3
- react: 18.1.0
+ react: 18.2.0
react-is: 16.13.1
use-latest-callback: 0.1.5
dev: false
- /@react-navigation/drawer/6.5.8_5pbm2y6oxn4wiaxvhnj4nykkku:
- resolution: {integrity: sha512-24okwc1gVJex+NMwau1QfxIRUDfFvdbnwFS/N0bCUXDVu8bqsMeYA00C3xwCpvdRmANbBH4rFRniNbJLAvD4Jg==}
+ /@react-navigation/drawer/6.6.2_7vhdhx5mqw5r775ehb5p4uprq4:
+ resolution: {integrity: sha512-6qt4guBdz7bkdo/8BLSCcFNdQdSPYyNn05D9cD+VCY3mGThSiD8bRiP9ju+64im7LsSU+bNWXaP8RxA/FtTVQg==}
peerDependencies:
'@react-navigation/native': ^6.0.0
react: '*'
@@ -5484,54 +6238,54 @@ packages:
react-native-safe-area-context: '>= 3.0.0'
react-native-screens: '>= 3.0.0'
dependencies:
- '@react-navigation/elements': 1.3.14_tyo4vetelyebz5cucognw6udfm
- '@react-navigation/native': 6.1.3_tj3nonr5gneraukzjkxpsiy7yu
+ '@react-navigation/elements': 1.3.17_3q57rrzrqjmhzcnf6o45kky2ma
+ '@react-navigation/native': 6.1.6_yqouayos4dnow7nnkhah4yzuzq
color: 4.2.3
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
- react-native-gesture-handler: 2.9.0_tj3nonr5gneraukzjkxpsiy7yu
- react-native-reanimated: 2.14.4_tj3nonr5gneraukzjkxpsiy7yu
- react-native-safe-area-context: 4.5.0_tj3nonr5gneraukzjkxpsiy7yu
- react-native-screens: 3.19.0_tj3nonr5gneraukzjkxpsiy7yu
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
+ react-native-gesture-handler: 2.9.0_yqouayos4dnow7nnkhah4yzuzq
+ react-native-reanimated: 2.14.4_yqouayos4dnow7nnkhah4yzuzq
+ react-native-safe-area-context: 4.5.0_yqouayos4dnow7nnkhah4yzuzq
+ react-native-screens: 3.20.0_yqouayos4dnow7nnkhah4yzuzq
warn-once: 0.1.1
dev: false
- /@react-navigation/elements/1.3.14_tyo4vetelyebz5cucognw6udfm:
- resolution: {integrity: sha512-RBbPhYq+KNFPAkWPaHB9gypq0jTGp/0fkMwRLToJ8jkLtWG4LV+JoQ/erFQnVARkR3Q807n0VnES15EYP4ITMQ==}
+ /@react-navigation/elements/1.3.17_3q57rrzrqjmhzcnf6o45kky2ma:
+ resolution: {integrity: sha512-sui8AzHm6TxeEvWT/NEXlz3egYvCUog4tlXA4Xlb2Vxvy3purVXDq/XsM56lJl344U5Aj/jDzkVanOTMWyk4UA==}
peerDependencies:
'@react-navigation/native': ^6.0.0
react: '*'
react-native: '*'
react-native-safe-area-context: '>= 3.0.0'
dependencies:
- '@react-navigation/native': 6.1.3_tj3nonr5gneraukzjkxpsiy7yu
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
- react-native-safe-area-context: 4.5.0_tj3nonr5gneraukzjkxpsiy7yu
+ '@react-navigation/native': 6.1.6_yqouayos4dnow7nnkhah4yzuzq
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
+ react-native-safe-area-context: 4.5.0_yqouayos4dnow7nnkhah4yzuzq
dev: false
- /@react-navigation/native/6.1.3_tj3nonr5gneraukzjkxpsiy7yu:
- resolution: {integrity: sha512-DB5FyG6aqGfcjjVozljF5NEkjWaSymIbQHfWwsjL0YrvC1gfc7E53QXDOjxZ/wfbCo8qZs8RIC/LAgclP2YK/w==}
+ /@react-navigation/native/6.1.6_yqouayos4dnow7nnkhah4yzuzq:
+ resolution: {integrity: sha512-14PmSy4JR8HHEk04QkxQ0ZLuqtiQfb4BV9kkMXD2/jI4TZ+yc43OnO6fQ2o9wm+Bq8pY3DxyerC2AjNUz+oH7Q==}
peerDependencies:
react: '*'
react-native: '*'
dependencies:
- '@react-navigation/core': 6.4.6_react@18.1.0
+ '@react-navigation/core': 6.4.8_react@18.2.0
escape-string-regexp: 4.0.0
fast-deep-equal: 3.1.3
nanoid: 3.3.4
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
dev: false
- /@react-navigation/routers/6.1.6:
- resolution: {integrity: sha512-Z5DeCW3pUvMafbU9Cjy1qJYC2Bvl8iy3+PfsB0DsAwQ6zZ3WAXW5FTMX4Gb9H+Jg6qHWGbMFFwlYpS3UJ3tlVQ==}
+ /@react-navigation/routers/6.1.8:
+ resolution: {integrity: sha512-CEge+ZLhb1HBrSvv4RwOol7EKLW1QoqVIQlE9TN5MpxS/+VoQvP+cLbuz0Op53/iJfYhtXRFd1ZAd3RTRqto9w==}
dependencies:
nanoid: 3.3.4
dev: false
- /@react-navigation/stack/6.3.12_tvuqzzu4d6qsmbauwbo7nuei7e:
- resolution: {integrity: sha512-sDclO/EflZUbfxZZlz5fk3A0wfegeCOEKGznP9n53s+JrDJL2Dc24Gufg56ENLNRX3CiE1KzsaM4SQLJYf/zsA==}
+ /@react-navigation/stack/6.3.16_pf4j4f7edywtcmcmtmj6rq4iri:
+ resolution: {integrity: sha512-KTOn9cNuZ6p154Htbl2DiR95Wl+c7niLPRiGs7gjOkyVDGiaGQF9ODNQTYBDE1OxZGHe/EyYc6T2CbmiItLWDg==}
peerDependencies:
'@react-navigation/native': ^6.0.0
react: '*'
@@ -5540,14 +6294,14 @@ packages:
react-native-safe-area-context: '>= 3.0.0'
react-native-screens: '>= 3.0.0'
dependencies:
- '@react-navigation/elements': 1.3.14_tyo4vetelyebz5cucognw6udfm
- '@react-navigation/native': 6.1.3_tj3nonr5gneraukzjkxpsiy7yu
+ '@react-navigation/elements': 1.3.17_3q57rrzrqjmhzcnf6o45kky2ma
+ '@react-navigation/native': 6.1.6_yqouayos4dnow7nnkhah4yzuzq
color: 4.2.3
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
- react-native-gesture-handler: 2.9.0_tj3nonr5gneraukzjkxpsiy7yu
- react-native-safe-area-context: 4.5.0_tj3nonr5gneraukzjkxpsiy7yu
- react-native-screens: 3.19.0_tj3nonr5gneraukzjkxpsiy7yu
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
+ react-native-gesture-handler: 2.9.0_yqouayos4dnow7nnkhah4yzuzq
+ react-native-safe-area-context: 4.5.0_yqouayos4dnow7nnkhah4yzuzq
+ react-native-screens: 3.20.0_yqouayos4dnow7nnkhah4yzuzq
warn-once: 0.1.1
dev: false
@@ -5688,7 +6442,7 @@ packages:
chalk: 4.1.2
dev: true
- /@rnx-kit/metro-config/1.3.5_tj3nonr5gneraukzjkxpsiy7yu:
+ /@rnx-kit/metro-config/1.3.5_yqouayos4dnow7nnkhah4yzuzq:
resolution: {integrity: sha512-8KI7sIaj1ExpH2Et37CXwy+ajdqRqXloGbHYSE4RYvda+PSJ/guU9+moY5NXaRujJtwOFA8qk3/nDvx2suMDeA==}
peerDependencies:
metro-config: '>=0.58.0'
@@ -5700,8 +6454,8 @@ packages:
'@rnx-kit/console': 1.0.11
'@rnx-kit/tools-node': 1.3.1
'@rnx-kit/tools-workspaces': 0.1.3
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
transitivePeerDependencies:
- '@babel/core'
- '@babel/plugin-transform-typescript'
@@ -5755,17 +6509,6 @@ packages:
/@rspc/client/0.0.0-main-7c0a67c1:
resolution: {integrity: sha512-PpFkqhp8KlfdFSa8f/Ff5nOg8jhHNq12q8p0ZLYU/1K68JVPQRIk432zpXg48QT/MQbMrogx/PF5E7refhEtvw==}
- /@rspc/react/0.0.0-main-7c0a67c1_6niuqkvdadibsmemv5phcmgdcq:
- resolution: {integrity: sha512-SpsYJ+k/wXUCBDwVuu0WYOVRnrYzQaXyjHGIy/bSVphtYkMhJuZ3UlP2/YxMX4hj4wlDpsTZECzvez5D1vX+pw==}
- peerDependencies:
- '@tanstack/react-query': ^4.8.0
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- '@rspc/client': 0.0.0-main-7c0a67c1
- '@tanstack/react-query': 4.24.4_tj3nonr5gneraukzjkxpsiy7yu
- react: 18.1.0
- dev: false
-
/@rspc/react/0.0.0-main-7c0a67c1_ews3p2w6ewwkufep3giz5zum7m:
resolution: {integrity: sha512-SpsYJ+k/wXUCBDwVuu0WYOVRnrYzQaXyjHGIy/bSVphtYkMhJuZ3UlP2/YxMX4hj4wlDpsTZECzvez5D1vX+pw==}
peerDependencies:
@@ -5787,6 +6530,17 @@ packages:
'@tanstack/react-query': 4.22.0
dev: false
+ /@rspc/react/0.0.0-main-7c0a67c1_xytdzyysqpeqv6tutfmk3i4niq:
+ resolution: {integrity: sha512-SpsYJ+k/wXUCBDwVuu0WYOVRnrYzQaXyjHGIy/bSVphtYkMhJuZ3UlP2/YxMX4hj4wlDpsTZECzvez5D1vX+pw==}
+ peerDependencies:
+ '@tanstack/react-query': ^4.8.0
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@rspc/client': 0.0.0-main-7c0a67c1
+ '@tanstack/react-query': 4.26.1_yqouayos4dnow7nnkhah4yzuzq
+ react: 18.2.0
+ dev: false
+
/@rspc/tauri/0.0.0-main-7c0a67c1_@tauri-apps+api@1.2.0:
resolution: {integrity: sha512-GnTAGcVV1FWp4Cs5n3wK0x/etrOTGbUHHq1M2sqLiG2Nfq2ej8bI5e5HTVhDgXD+PCGN38zYV3u8rEYlxNAMpA==}
peerDependencies:
@@ -5845,16 +6599,16 @@ packages:
tslib: 1.14.1
dev: false
- /@shopify/flash-list/1.4.1_tj3nonr5gneraukzjkxpsiy7yu:
- resolution: {integrity: sha512-yM5dlhqolO/R8FKomqCrSYz0Cc82vJDikxhbu1CXXGp3rPvo/ceP9jJyKueW96SXHsn/87fcSq2BjztWjlp74Q==}
+ /@shopify/flash-list/1.4.0_yqouayos4dnow7nnkhah4yzuzq:
+ resolution: {integrity: sha512-PvPOyk353LuETFnNA038+QaJsAFlCQ2TYC7DHP3YnYqTX72g2BM6qLoLsPaptXKuoXX+dinOo0MbEm7HDjTy1g==}
peerDependencies:
'@babel/runtime': '*'
react: '*'
react-native: '*'
dependencies:
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
- recyclerlistview: 4.2.0_tj3nonr5gneraukzjkxpsiy7yu
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
+ recyclerlistview: 4.2.0_yqouayos4dnow7nnkhah4yzuzq
tslib: 2.4.0
dev: false
@@ -5869,14 +6623,24 @@ packages:
/@sideway/pinpoint/2.0.0:
resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
- /@sinclair/typebox/0.24.51:
- resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==}
+ /@sinclair/typebox/0.25.24:
+ resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
/@sindresorhus/is/0.14.0:
resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==}
engines: {node: '>=6'}
dev: true
+ /@sinonjs/commons/2.0.0:
+ resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==}
+ dependencies:
+ type-detect: 4.0.8
+
+ /@sinonjs/fake-timers/10.0.2:
+ resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==}
+ dependencies:
+ '@sinonjs/commons': 2.0.0
+
/@splinetool/react-spline/2.2.5_3ok4u2chf7465ntwlp4i32bwcu:
resolution: {integrity: sha512-eAD6+GteOT9S7Z3OdsT/6o6WNYk5NLx48zmHXathdNVdfW/P3npTxEGzEhiM+aMsf2+HbRZx0pX0WHt59HDjlg==}
peerDependencies:
@@ -6918,7 +7682,7 @@ packages:
optional: true
dependencies:
'@babel/core': 7.20.12
- '@babel/generator': 7.20.7
+ '@babel/generator': 7.20.14
'@babel/parser': 7.20.7
'@babel/plugin-transform-react-jsx': 7.20.7_@babel+core@7.20.12
'@babel/preset-env': 7.20.2_@babel+core@7.20.12
@@ -7088,7 +7852,7 @@ packages:
/@storybook/mdx1-csf/0.0.1_@babel+core@7.20.12:
resolution: {integrity: sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==}
dependencies:
- '@babel/generator': 7.20.7
+ '@babel/generator': 7.20.14
'@babel/parser': 7.20.7
'@babel/preset-env': 7.20.2_@babel+core@7.20.12
'@babel/types': 7.20.7
@@ -7619,6 +8383,10 @@ packages:
resolution: {integrity: sha512-9dqjv9eeB6VHN7lD3cLo16ZAjfjCsdXetSAD5+VyKqLUvcKTL0CklGQRJu+bWzdrS69R6Ea4UZo8obHYZnG6aA==}
dev: false
+ /@tanstack/query-core/4.26.1:
+ resolution: {integrity: sha512-Zrx2pVQUP4ndnsu6+K/m8zerXSVY8QM+YSbxA1/jbBY21GeCd5oKfYl92oXPK0hPEUtoNuunIdiq0ZMqLos+Zg==}
+ dev: false
+
/@tanstack/react-query-devtools/4.22.0_pkeil6ml7pq7xvil3imldjs2sa:
resolution: {integrity: sha512-YeYFBnfqvb+ZlA0IiJqiHNNSzepNhI1p2o9i8NlhQli9+Zrn230M47OBaBUs8qr3DD1dC2zGB1Dis50Ktz8gAA==}
peerDependencies:
@@ -7685,8 +8453,8 @@ packages:
use-sync-external-store: 1.2.0_react@18.2.0
dev: false
- /@tanstack/react-query/4.24.4_tj3nonr5gneraukzjkxpsiy7yu:
- resolution: {integrity: sha512-RpaS/3T/a3pHuZJbIAzAYRu+1nkp+/enr9hfRXDS/mojwx567UiMksoqW4wUFWlwIvWTXyhot2nbIipTKEg55Q==}
+ /@tanstack/react-query/4.26.1_yqouayos4dnow7nnkhah4yzuzq:
+ resolution: {integrity: sha512-i3dnz4TOARGIXrXQ5P7S25Zfi4noii/bxhcwPurh2nrf5EUCcAt/95TB2HSmMweUBx206yIMWUMEQ7ptd6zwDg==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -7697,10 +8465,10 @@ packages:
react-native:
optional: true
dependencies:
- '@tanstack/query-core': 4.24.4
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
- use-sync-external-store: 1.2.0_react@18.1.0
+ '@tanstack/query-core': 4.26.1
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
+ use-sync-external-store: 1.2.0_react@18.2.0
dev: false
/@tanstack/react-virtual/3.0.0-beta.18_react@18.2.0:
@@ -8111,6 +8879,9 @@ packages:
/@types/node/18.11.18:
resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==}
+ /@types/node/18.15.1:
+ resolution: {integrity: sha512-U2TWca8AeHSmbpi314QBESRk7oPjSZjDsR+c+H4ECC1l+kFgpZf8Ydhv3SJpPy51VyZHHqxlb6mTTqYNNRVAIw==}
+
/@types/normalize-package-data/2.4.1:
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
dev: true
@@ -8163,12 +8934,6 @@ packages:
'@types/react': 18.0.27
dev: true
- /@types/react-native/0.70.9:
- resolution: {integrity: sha512-0C6sIo13ztzM2llaWdTq0Vpscx3VdU0T8F45kEurWv3l5n+BHm/Mkr8Z+N29eXDYGhTvCz5y2jegB8JyiVa5kw==}
- dependencies:
- '@types/react': 18.0.27
- dev: true
-
/@types/react-router-dom/5.3.3:
resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==}
dependencies:
@@ -8215,6 +8980,9 @@ packages:
resolution: {integrity: sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==}
dev: true
+ /@types/stack-utils/2.0.1:
+ resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==}
+
/@types/strip-bom/3.0.0:
resolution: {integrity: sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==}
dev: true
@@ -8277,8 +9045,8 @@ packages:
dependencies:
'@types/yargs-parser': 21.0.0
- /@types/yargs/17.0.20:
- resolution: {integrity: sha512-eknWrTHofQuPk2iuqDm1waA7V6xPlbgBoaaXEgYkClhLOnB0TtbW+srJaOToAgawPxPlHQzwypFA2bhZaUGP5A==}
+ /@types/yargs/17.0.22:
+ resolution: {integrity: sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==}
dependencies:
'@types/yargs-parser': 21.0.0
@@ -8441,7 +9209,7 @@ packages:
'@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.20.12
magic-string: 0.26.7
react-refresh: 0.14.0
- vite: 4.1.4_sass@1.57.1
+ vite: 4.1.4_ovmyjmuuyckt3r3gpaexj2onji
transitivePeerDependencies:
- supports-color
@@ -8978,7 +9746,6 @@ packages:
/ansi-styles/5.2.0:
resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
engines: {node: '>=10'}
- dev: true
/ansi-to-html/0.6.15:
resolution: {integrity: sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ==}
@@ -9227,7 +9994,7 @@ packages:
resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==}
engines: {node: '>=4'}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
/ast-types/0.7.8:
resolution: {integrity: sha512-RIOpVnVlltB6PcBJ5BMLx+H+6JJ/zjDGU0t7f0L6c2M1dqcK92VQopLBlPQ9R80AVXelfqYgjcPLtHtDbNFg0Q==}
@@ -9319,12 +10086,12 @@ packages:
- debug
dev: false
- /babel-core/7.0.0-bridge.0_@babel+core@7.20.12:
+ /babel-core/7.0.0-bridge.0_@babel+core@7.21.0:
resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
peerDependencies:
'@babel/core': ^7.0.0-0
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
/babel-loader/8.3.0_@babel+core@7.20.12:
resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==}
@@ -9474,6 +10241,18 @@ packages:
transitivePeerDependencies:
- supports-color
+ /babel-plugin-polyfill-corejs2/0.3.3_@babel+core@7.21.0:
+ resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/compat-data': 7.20.10
+ '@babel/core': 7.21.0
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.0
+ semver: 6.3.0
+ transitivePeerDependencies:
+ - supports-color
+
/babel-plugin-polyfill-corejs3/0.1.7_@babel+core@7.20.12:
resolution: {integrity: sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==}
peerDependencies:
@@ -9508,6 +10287,17 @@ packages:
transitivePeerDependencies:
- supports-color
+ /babel-plugin-polyfill-corejs3/0.6.0_@babel+core@7.21.0:
+ resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.0
+ core-js-compat: 3.27.2
+ transitivePeerDependencies:
+ - supports-color
+
/babel-plugin-polyfill-regenerator/0.4.1:
resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
peerDependencies:
@@ -9528,6 +10318,16 @@ packages:
transitivePeerDependencies:
- supports-color
+ /babel-plugin-polyfill-regenerator/0.4.1_@babel+core@7.21.0:
+ resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/helper-define-polyfill-provider': 0.3.3_@babel+core@7.21.0
+ transitivePeerDependencies:
+ - supports-color
+
/babel-plugin-react-docgen/4.2.1:
resolution: {integrity: sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==}
dependencies:
@@ -9545,8 +10345,8 @@ packages:
/babel-plugin-syntax-trailing-function-commas/7.0.0-beta.0:
resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==}
- /babel-preset-expo/9.2.2:
- resolution: {integrity: sha512-69cSPObZWFz0AaUT6IhCu2VzPVTICUtXzhX5ecoDttFe+9wb9yMV8m7rBNZptJQ3wtiKB5iEL7/wvtKygPz/mQ==}
+ /babel-preset-expo/9.3.0:
+ resolution: {integrity: sha512-cIz+5TVBkcZgtfpTyFPo1peswr2dvQj2VIwdj5vY37/zESsYBHfaZ+u/A11yb1WnuZHcYD/ZoSLNwmWr20jp4Q==}
dependencies:
'@babel/plugin-proposal-decorators': 7.20.7
'@babel/plugin-proposal-object-rest-spread': 7.20.7
@@ -9554,44 +10354,44 @@ packages:
'@babel/preset-env': 7.20.2
babel-plugin-module-resolver: 4.1.0
babel-plugin-react-native-web: 0.18.10
- metro-react-native-babel-preset: 0.72.3
+ metro-react-native-babel-preset: 0.73.7
transitivePeerDependencies:
- '@babel/core'
- supports-color
dev: false
- /babel-preset-fbjs/3.4.0_@babel+core@7.20.12:
+ /babel-preset-fbjs/3.4.0_@babel+core@7.21.0:
resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==}
peerDependencies:
'@babel/core': ^7.0.0
dependencies:
- '@babel/core': 7.20.12
- '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.20.12
- '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.12
- '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.12
- '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-flow-strip-types': 7.19.0_@babel+core@7.20.12
- '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.12
- '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12
- '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-react-jsx': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.0
+ '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-block-scoping': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-classes': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-flow-strip-types': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-for-of': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.0
+ '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.21.0
babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0
transitivePeerDependencies:
- supports-color
@@ -9670,7 +10470,7 @@ packages:
dependencies:
buffer: 5.7.1
inherits: 2.0.4
- readable-stream: 3.6.0
+ readable-stream: 3.6.2
/bluebird/3.7.2:
resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
@@ -10227,6 +11027,11 @@ packages:
/ci-info/3.7.1:
resolution: {integrity: sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==}
engines: {node: '>=8'}
+ dev: false
+
+ /ci-info/3.8.0:
+ resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==}
+ engines: {node: '>=8'}
/cipher-base/1.0.4:
resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==}
@@ -10255,6 +11060,17 @@ packages:
typescript: 4.9.4
dev: false
+ /class-variance-authority/0.4.0_typescript@4.9.5:
+ resolution: {integrity: sha512-74enNN8O9ZNieycac/y8FxqgyzZhZbxmCitAtAeUrLPlxjSd5zA7LfpprmxEcOmQBnaGs5hYhiSGnJ0mqrtBLQ==}
+ peerDependencies:
+ typescript: '>= 4.5.5 < 5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ typescript: 4.9.5
+ dev: false
+
/classnames/2.3.2:
resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==}
dev: false
@@ -10341,7 +11157,6 @@ packages:
string-width: 4.2.3
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
- dev: true
/clone-deep/4.0.1:
resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
@@ -11252,6 +12067,13 @@ packages:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'}
+ /deprecated-react-native-prop-types/3.0.1:
+ resolution: {integrity: sha512-J0jCJcsk4hMlIb7xwOZKLfMpuJn6l8UtrPEzzQV5ewz5gvKNYakhBuq9h2rWX7YwHHJZFhU5W8ye7dB9oN8VcQ==}
+ dependencies:
+ '@react-native/normalize-color': 2.1.0
+ invariant: 2.2.4
+ prop-types: 15.8.1
+
/des.js/1.0.1:
resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==}
dependencies:
@@ -11714,6 +12536,10 @@ packages:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
+ /escape-string-regexp/2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+
/escape-string-regexp/4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@@ -12064,20 +12890,20 @@ packages:
transitivePeerDependencies:
- supports-color
- /expo-application/5.0.1_expo@47.0.13:
- resolution: {integrity: sha512-bThxK5zH/Lc2tkCvEXGjfM7ayvOVmPWYcWzXsMIU1RtG73TyXo4cq+73FvfDNIWn6gKS0WyMcmoPB3WXEV/jsw==}
+ /expo-application/5.1.1_expo@48.0.6:
+ resolution: {integrity: sha512-aDatTcTTCdTbHw8h4/Tq2ilc6InM5ntF9xWCJdOcnUEcglxxGphVI/lzJKBaBF6mJECA8mEOjpVg2EGxOctTwg==}
peerDependencies:
expo: '*'
dependencies:
- expo: 47.0.13
+ expo: 48.0.6
dev: false
- /expo-asset/8.7.0_expo@47.0.13:
- resolution: {integrity: sha512-lkoNsHK6vf+outISB6/37SonXcAL6Buw0ycjiwQVFfpOBKpkQa+zw5wm1m3KwjH2txmR3xdIzcpWsJkgovYCvQ==}
+ /expo-asset/8.9.1_expo@48.0.6:
+ resolution: {integrity: sha512-ugavxA7Scn96TBdeTYQA6xtHktnk0o/0xk7nFkxJKoH/t2cZDFSB05X0BI2/LDZY4iE6xTPOYw4C4mmourWfuA==}
dependencies:
blueimp-md5: 2.19.0
- expo-constants: 14.0.2_expo@47.0.13
- expo-file-system: 15.1.1_expo@47.0.13
+ expo-constants: 14.2.1_expo@48.0.6
+ expo-file-system: 15.2.2_expo@48.0.6
invariant: 2.2.4
md5-file: 3.2.3
path-browserify: 1.0.1
@@ -12087,59 +12913,49 @@ packages:
- supports-color
dev: false
- /expo-constants/14.0.2_expo@47.0.13:
- resolution: {integrity: sha512-wzV3nrzTXTI8yG0tfas3fnqCfKV6YE+1GphEREyVDAShEB6mBInX1b6HgtpHFy2wOtnml+lPVmTCeGtjjLnZhA==}
+ /expo-constants/14.2.1_expo@48.0.6:
+ resolution: {integrity: sha512-DD5u4QmBds2U7uYo409apV7nX+XjudARcgqe7S9aRFJ/6kyftmuxvk1DpaU4X42Av8z/tfKwEpuxl+vl7HHx/Q==}
peerDependencies:
expo: '*'
dependencies:
- '@expo/config': 7.0.3
- expo: 47.0.13
+ '@expo/config': 8.0.2
+ expo: 48.0.6
uuid: 3.4.0
transitivePeerDependencies:
- supports-color
dev: false
- /expo-error-recovery/4.0.1_expo@47.0.13:
- resolution: {integrity: sha512-wceptnRX+N3qCSVTNbIchUFu3GmY30onRH5L66OF8HMLpAIQfrZMLxJfz7SAMJTcr3jxsJ11vSa2l2RaPKgHsQ==}
- requiresBuild: true
+ /expo-file-system/15.2.2_expo@48.0.6:
+ resolution: {integrity: sha512-LFkOLcWwlmnjkURxZ3/0ukS35OswX8iuQknLHRHeyk8mUA8fpRPPelD/a1lS+yclqfqavMJmTXVKM1Nsq5XVMA==}
peerDependencies:
expo: '*'
dependencies:
- expo: 47.0.13
- dev: false
- optional: true
-
- /expo-file-system/15.1.1_expo@47.0.13:
- resolution: {integrity: sha512-MYYDKxjLo9VOkvGHqym5EOAUS+ero9O66X5zI+EXJzqNznKvnfScdXeeAaQzShmWtmLkdVDCoYFGOaTvTA1wTQ==}
- peerDependencies:
- expo: '*'
- dependencies:
- expo: 47.0.13
+ expo: 48.0.6
uuid: 3.4.0
dev: false
- /expo-font/11.0.1_expo@47.0.13:
- resolution: {integrity: sha512-LGAIluWZfru0J0n87dzb6pwAB6TVMTEiLcsd/ktozzbn4DlN7SeQy40+ruU6bvAKCOGrnRneYbKSIOGkrd7oNg==}
+ /expo-font/11.1.1_expo@48.0.6:
+ resolution: {integrity: sha512-X+aICqYY69hiiDDtcNrjq8KutHrH2TrHuMqk0Rfq0P7hF6hMd+YefwLBNkvIrqrgmTAuqiLjMUwj2rHLqmgluw==}
peerDependencies:
expo: '*'
dependencies:
- expo: 47.0.13
+ expo: 48.0.6
fontfaceobserver: 2.3.0
dev: false
- /expo-keep-awake/11.0.1_expo@47.0.13:
- resolution: {integrity: sha512-44ZjgLE4lnce2d40Pv8xsjMVc6R5GvgHOwZfkLYtGmgYG9TYrEJeEj5UfSeweXPL3pBFhXKfFU8xpGYMaHdP0A==}
+ /expo-keep-awake/12.0.1_expo@48.0.6:
+ resolution: {integrity: sha512-hqeCnb4033TyuZaXs93zTK7rjVJ3bywXATyMmKmKkLEsH2PKBAl/VmjlCOPQL/2Ncqz6aj7Wo//tjeJTARBD4g==}
peerDependencies:
expo: '*'
dependencies:
- expo: 47.0.13
+ expo: 48.0.6
dev: false
- /expo-linking/3.3.0_expo@47.0.13:
- resolution: {integrity: sha512-wXPzI2kijnql2L2F6i8zP1zINTkYlcRXyh1iV3P6Bt57v6yZiiniZBnb6grJVj19LOmluNs0PYrbX1ZsHBChCg==}
+ /expo-linking/4.0.1_expo@48.0.6:
+ resolution: {integrity: sha512-geRMmKLhtaCigptRzOGW8ZZJKGl47gyu0KFtQOtGf26ELxyt/AietgQjyzF24i7cVD08TnWUJDHgWZkpRHTa7g==}
dependencies:
'@types/qs': 6.9.7
- expo-constants: 14.0.2_expo@47.0.13
+ expo-constants: 14.2.1_expo@48.0.6
invariant: 2.2.4
qs: 6.11.0
url-parse: 1.5.10
@@ -12148,16 +12964,16 @@ packages:
- supports-color
dev: false
- /expo-media-library/15.0.0_expo@47.0.13:
- resolution: {integrity: sha512-BO17VEElQHf2kK45Vuqm4QtutWsT5X4clO8DjTp2BUNvmY+JgOTKsjPs1LIQcNaaum64u/Gfp3V4HV2a6JnHJg==}
+ /expo-media-library/15.2.2_expo@48.0.6:
+ resolution: {integrity: sha512-GebBavV9H+m0Qzoy4G7++BWmwUcddLnCee1qGYkCyHT6CvuLNhXUgC3FV9NINEwlii3HGAuCzk1auaEY60SGDA==}
peerDependencies:
expo: '*'
dependencies:
- expo: 47.0.13
+ expo: 48.0.6
dev: false
- /expo-modules-autolinking/1.0.2:
- resolution: {integrity: sha512-skAUXERKw1gtSw8xsvft9DE0KVhBvw4dujAtgCZoG2l513fN7ds+B5+30ZVgZATMC+EjtlmjKXzhp5QS44DCFA==}
+ /expo-modules-autolinking/1.1.2:
+ resolution: {integrity: sha512-oOlkAccVnHwwR5ccvF/F/x4Omj9HWzSimMUlIVz0SVGdNBEqTPyn0L/d4uIufhyQbEWvrarqL8o5Yz11wEI0SQ==}
hasBin: true
dependencies:
chalk: 4.1.2
@@ -12167,50 +12983,50 @@ packages:
fs-extra: 9.1.0
dev: false
- /expo-modules-core/1.1.1:
- resolution: {integrity: sha512-+AcaYmaWphIfkBcccu65dyOhWnpOJ3+SQpoI4lI/Plg1nNjOLuBjmrdVvpiJOvkN+CqbNGsJ5Yll8LLk+C107Q==}
+ /expo-modules-core/1.2.4:
+ resolution: {integrity: sha512-AV0NCTy9O8xQqpKgX6gvsDzV1ogpCzYpGxqM85Vw1xHsOF51s7Avu7NdNjBPUZOVuDderUXAvd97dWrtefSKcA==}
dependencies:
compare-versions: 3.6.0
invariant: 2.2.4
dev: false
- /expo-splash-screen/0.17.5_expo@47.0.13:
- resolution: {integrity: sha512-ejSO78hwHXz8T9u8kh8t4r6CR4h70iBvA65gX8GK+dYxZl6/IANPbIb2VnUpND9vqfW+JnkDw+ZFst+gDnkpcQ==}
+ /expo-splash-screen/0.18.1_expo@48.0.6:
+ resolution: {integrity: sha512-1di1kuh14likGUs3fyVZWAqEMxhmdAjpmf9T8Qk5OzUa5oPEMEDYB2e2VprddWnJNBVVe/ojBDSCY8w56/LS0Q==}
peerDependencies:
expo: '*'
dependencies:
'@expo/configure-splash-screen': 0.6.0
- '@expo/prebuild-config': 5.0.7
- expo: 47.0.13
+ '@expo/prebuild-config': 6.0.0
+ expo: 48.0.6
transitivePeerDependencies:
- encoding
- expo-modules-autolinking
- supports-color
dev: false
- /expo-status-bar/1.4.2:
- resolution: {integrity: sha512-ZWjO6D4ARGYfAd3SWDD3STNudHDhyBZDZjhhseqoEmsf7bS9ykny8KKOhlzJW24qIQNPhkgdvHhaw9fQwMJy3Q==}
+ /expo-status-bar/1.4.4:
+ resolution: {integrity: sha512-5DV0hIEWgatSC3UgQuAZBoQeaS9CqeWRZ3vzBR9R/+IUD87Adbi4FGhU10nymRqFXOizGsureButGZIXPs7zEA==}
dev: false
- /expo/47.0.13:
- resolution: {integrity: sha512-9VjjGdViCJ9NfWbUE7brkwFBDvKuA35V345vMtHFYNKoGJjXib36yitmawreMDQFv0kMTqTnzc7T2191Pod7Ng==}
+ /expo/48.0.6:
+ resolution: {integrity: sha512-ylm91v/xYjBBEqFHH+mpNyGijJgFXx4NwgKgHCIEfcAQyTZLXpGCL6teOVzAmHCCVF7EdalLl3If/+n09jOi4g==}
hasBin: true
dependencies:
'@babel/runtime': 7.20.7
- '@expo/cli': 0.4.11_icwh4t4f22ilvzajfiepq6z62e
- '@expo/config': 7.0.3
- '@expo/config-plugins': 5.0.4
+ '@expo/cli': 0.6.2_6weo4dzsrefthwodkc5gdxxcii
+ '@expo/config': 8.0.2
+ '@expo/config-plugins': 6.0.1
'@expo/vector-icons': 13.0.0
- babel-preset-expo: 9.2.2
+ babel-preset-expo: 9.3.0
cross-spawn: 6.0.5
- expo-application: 5.0.1_expo@47.0.13
- expo-asset: 8.7.0_expo@47.0.13
- expo-constants: 14.0.2_expo@47.0.13
- expo-file-system: 15.1.1_expo@47.0.13
- expo-font: 11.0.1_expo@47.0.13
- expo-keep-awake: 11.0.1_expo@47.0.13
- expo-modules-autolinking: 1.0.2
- expo-modules-core: 1.1.1
+ expo-application: 5.1.1_expo@48.0.6
+ expo-asset: 8.9.1_expo@48.0.6
+ expo-constants: 14.2.1_expo@48.0.6
+ expo-file-system: 15.2.2_expo@48.0.6
+ expo-font: 11.1.1_expo@48.0.6
+ expo-keep-awake: 12.0.1_expo@48.0.6
+ expo-modules-autolinking: 1.1.2
+ expo-modules-core: 1.2.4
fbemitter: 3.0.0
getenv: 1.0.0
invariant: 2.2.4
@@ -12218,8 +13034,6 @@ packages:
node-fetch: 2.6.8
pretty-format: 26.6.2
uuid: 3.4.0
- optionalDependencies:
- expo-error-recovery: 4.0.1_expo@47.0.13
transitivePeerDependencies:
- '@babel/core'
- bluebird
@@ -12352,6 +13166,12 @@ packages:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
dev: true
+ /fast-xml-parser/4.1.3:
+ resolution: {integrity: sha512-LsNDahCiCcJPe8NO7HijcnukHB24tKbfDDA5IILx9dmW3Frb52lhbeX6MPNUSvyGNfav2VTYpJ/OqkRoVLrh2Q==}
+ hasBin: true
+ dependencies:
+ strnum: 1.0.5
+
/fastq/1.15.0:
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
dependencies:
@@ -12569,8 +13389,8 @@ packages:
resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
dev: true
- /flow-parser/0.121.0:
- resolution: {integrity: sha512-1gIBiWJNR0tKUNv8gZuk7l9rVX06OuLzY9AoGio7y/JT4V1IZErEMEq2TJS+PFcw/y0RshZ1J/27VfK1UQzYVg==}
+ /flow-parser/0.185.2:
+ resolution: {integrity: sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ==}
engines: {node: '>=0.4.0'}
/flush-write-stream/1.1.1:
@@ -12750,7 +13570,7 @@ packages:
dependencies:
map-cache: 0.2.2
- /framer-motion/6.5.1_react@18.1.0:
+ /framer-motion/6.5.1_react@18.2.0:
resolution: {integrity: sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==}
peerDependencies:
react: '>=16.8 || ^17.0.0 || ^18.0.0'
@@ -12760,9 +13580,9 @@ packages:
framesync: 6.0.1
hey-listen: 1.0.8
popmotion: 11.0.3
- react: 18.1.0
+ react: 18.2.0
style-value-types: 5.0.0
- tslib: 2.4.1
+ tslib: 2.5.0
optionalDependencies:
'@emotion/is-prop-valid': 0.8.8
dev: false
@@ -12770,7 +13590,7 @@ packages:
/framesync/6.0.1:
resolution: {integrity: sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==}
dependencies:
- tslib: 2.4.1
+ tslib: 2.5.0
dev: false
/freeport-async/2.0.0:
@@ -12795,13 +13615,6 @@ packages:
js-yaml: 3.14.1
dev: true
- /fs-extra/1.0.0:
- resolution: {integrity: sha512-VerQV6vEKuhDWD2HGOybV6v5I73syoc/cXAbKlgTC7M/oFVEtklWlp9QH2Ijw3IaWDOQcMkldSPa7zXy79Z/UQ==}
- dependencies:
- graceful-fs: 4.2.10
- jsonfile: 2.4.0
- klaw: 1.3.1
-
/fs-extra/10.1.0:
resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
engines: {node: '>=12'}
@@ -13209,7 +14022,7 @@ packages:
graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
dependencies:
graphql: 15.8.0
- tslib: 2.4.1
+ tslib: 2.5.0
dev: false
/graphql/15.8.0:
@@ -13482,7 +14295,7 @@ packages:
he: 1.2.0
param-case: 3.0.4
relateurl: 0.2.7
- terser: 5.16.1
+ terser: 5.16.6
/html-tags/3.2.0:
resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==}
@@ -14307,6 +15120,17 @@ packages:
resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
dev: true
+ /jest-environment-node/29.5.0:
+ resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/environment': 29.5.0
+ '@jest/fake-timers': 29.5.0
+ '@jest/types': 29.5.0
+ '@types/node': 18.15.1
+ jest-mock: 29.5.0
+ jest-util: 29.5.0
+
/jest-get-type/26.3.0:
resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==}
engines: {node: '>= 10.14.2'}
@@ -14334,6 +15158,20 @@ packages:
- supports-color
dev: true
+ /jest-message-util/29.5.0:
+ resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ '@jest/types': 29.5.0
+ '@types/stack-utils': 2.0.1
+ chalk: 4.1.2
+ graceful-fs: 4.2.10
+ micromatch: 4.0.5
+ pretty-format: 29.5.0
+ slash: 3.0.0
+ stack-utils: 2.0.6
+
/jest-mock/27.5.1:
resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -14342,6 +15180,14 @@ packages:
'@types/node': 18.11.18
dev: true
+ /jest-mock/29.5.0:
+ resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.5.0
+ '@types/node': 18.15.1
+ jest-util: 29.5.0
+
/jest-regex-util/26.0.0:
resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==}
engines: {node: '>= 10.14.2'}
@@ -14363,7 +15209,7 @@ packages:
resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
- '@types/node': 18.11.18
+ '@types/node': 18.15.1
graceful-fs: 4.2.10
/jest-util/26.6.2:
@@ -14383,9 +15229,20 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies:
'@jest/types': 27.5.1
- '@types/node': 18.11.18
+ '@types/node': 18.15.1
chalk: 4.1.2
- ci-info: 3.7.1
+ ci-info: 3.8.0
+ graceful-fs: 4.2.10
+ picomatch: 2.3.1
+
+ /jest-util/29.5.0:
+ resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/types': 29.5.0
+ '@types/node': 18.15.1
+ chalk: 4.1.2
+ ci-info: 3.8.0
graceful-fs: 4.2.10
picomatch: 2.3.1
@@ -14413,7 +15270,7 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 18.11.18
+ '@types/node': 18.15.1
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -14421,8 +15278,8 @@ packages:
resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==}
dev: false
- /joi/17.7.0:
- resolution: {integrity: sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==}
+ /joi/17.8.3:
+ resolution: {integrity: sha512-q5Fn6Tj/jR8PfrLrx4fpGH4v9qM6o+vDUfD4/3vxxyg34OmKcNqYZ1qn2mpLza96S8tL0p0rIw2gOZX+/cTg9w==}
dependencies:
'@hapi/hoek': 9.3.0
'@hapi/topo': 5.1.0
@@ -14459,8 +15316,8 @@ packages:
dependencies:
argparse: 2.0.1
- /jsc-android/250230.2.1:
- resolution: {integrity: sha512-KmxeBlRjwoqCnBBKGsihFtvsBHyUFlBxJPK4FzeYcIuBfdjv6jFys44JITAgSTbQD+vIdwMEfyZklsuQX0yI1Q==}
+ /jsc-android/250231.0.0:
+ resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==}
/jscodeshift/0.13.1:
resolution: {integrity: sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==}
@@ -14468,18 +15325,18 @@ packages:
peerDependencies:
'@babel/preset-env': ^7.1.6
dependencies:
- '@babel/core': 7.20.12
- '@babel/parser': 7.20.7
- '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12
- '@babel/preset-flow': 7.18.6_@babel+core@7.20.12
- '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12
- '@babel/register': 7.18.9_@babel+core@7.20.12
- babel-core: 7.0.0-bridge.0_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/parser': 7.21.2
+ '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.0
+ '@babel/preset-flow': 7.18.6_@babel+core@7.21.0
+ '@babel/preset-typescript': 7.21.0_@babel+core@7.21.0
+ '@babel/register': 7.21.0_@babel+core@7.21.0
+ babel-core: 7.0.0-bridge.0_@babel+core@7.21.0
chalk: 4.1.2
- flow-parser: 0.121.0
+ flow-parser: 0.185.2
graceful-fs: 4.2.10
micromatch: 3.1.10
neo-async: 2.6.2
@@ -14496,19 +15353,19 @@ packages:
peerDependencies:
'@babel/preset-env': ^7.1.6
dependencies:
- '@babel/core': 7.20.12
- '@babel/parser': 7.20.7
- '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-modules-commonjs': 7.20.11_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/parser': 7.21.2
+ '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.0
'@babel/preset-env': 7.20.2_@babel+core@7.20.12
- '@babel/preset-flow': 7.18.6_@babel+core@7.20.12
- '@babel/preset-typescript': 7.18.6_@babel+core@7.20.12
- '@babel/register': 7.18.9_@babel+core@7.20.12
- babel-core: 7.0.0-bridge.0_@babel+core@7.20.12
+ '@babel/preset-flow': 7.18.6_@babel+core@7.21.0
+ '@babel/preset-typescript': 7.21.0_@babel+core@7.21.0
+ '@babel/register': 7.21.0_@babel+core@7.21.0
+ babel-core: 7.0.0-bridge.0_@babel+core@7.21.0
chalk: 4.1.2
- flow-parser: 0.121.0
+ flow-parser: 0.185.2
graceful-fs: 4.2.10
micromatch: 3.1.10
neo-async: 2.6.2
@@ -14572,17 +15429,13 @@ packages:
hasBin: true
dependencies:
minimist: 1.2.7
+ dev: true
/json5/2.2.3:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
- /jsonfile/2.4.0:
- resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==}
- optionalDependencies:
- graceful-fs: 4.2.10
-
/jsonfile/4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
optionalDependencies:
@@ -14634,11 +15487,6 @@ packages:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
- /klaw/1.3.1:
- resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==}
- optionalDependencies:
- graceful-fs: 4.2.10
-
/kleur/3.0.3:
resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
engines: {node: '>=6'}
@@ -14838,7 +15686,7 @@ packages:
dependencies:
js-tokens: 4.0.0
- /lottie-react-native/5.1.4_tj3nonr5gneraukzjkxpsiy7yu:
+ /lottie-react-native/5.1.4_yqouayos4dnow7nnkhah4yzuzq:
resolution: {integrity: sha512-Lu6mSG92Wck+vXEX6gfj/9ciqqoz0tJQZqgX0SumGvX/oZu4MbKO/oLApyHdy2V9Rb7qvwF9whOtitADxTswPA==}
peerDependencies:
lottie-ios: ^3.4.0
@@ -14850,9 +15698,9 @@ packages:
optional: true
dependencies:
invariant: 2.2.4
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
- react-native-safe-modules: 1.0.3_react-native@0.70.5
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
+ react-native-safe-modules: 1.0.3_react-native@0.71.3
dev: false
/loud-rejection/1.6.0:
@@ -15171,48 +16019,58 @@ packages:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'}
- /metro-babel-transformer/0.72.3:
- resolution: {integrity: sha512-PTOR2zww0vJbWeeM3qN90WKENxCLzv9xrwWaNtwVlhcV8/diNdNe82sE1xIxLFI6OQuAVwNMv1Y7VsO2I7Ejrw==}
+ /metro-babel-transformer/0.73.7:
+ resolution: {integrity: sha512-s7UVkwovGTEXYEQrv5hcmSBbFJ9s9lhCRNMScn4Itgj3UMdqRr9lU8DXKEFlJ7osgRxN6n5+eXqcvhE4B1H1VQ==}
dependencies:
- '@babel/core': 7.20.12
+ '@babel/core': 7.21.0
hermes-parser: 0.8.0
- metro-source-map: 0.72.3
+ metro-source-map: 0.73.7
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
- /metro-cache-key/0.72.3:
- resolution: {integrity: sha512-kQzmF5s3qMlzqkQcDwDxrOaVxJ2Bh6WRXWdzPnnhsq9LcD3B3cYqQbRBS+3tSuXmathb4gsOdhWslOuIsYS8Rg==}
-
- /metro-cache/0.72.3:
- resolution: {integrity: sha512-++eyZzwkXvijWRV3CkDbueaXXGlVzH9GA52QWqTgAOgSHYp5jWaDwLQ8qpsMkQzpwSyIF4LLK9aI3eA7Xa132A==}
+ /metro-babel-transformer/0.73.8:
+ resolution: {integrity: sha512-GO6H/W2RjZ0/gm1pIvdO9EP34s3XN6kzoeyxqmfqKfYhJmYZf1SzXbyiIHyMbJNwJVrsKuHqu32+GopTlKscWw==}
dependencies:
- metro-core: 0.72.3
- rimraf: 2.7.1
+ '@babel/core': 7.21.0
+ hermes-parser: 0.8.0
+ metro-source-map: 0.73.8
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
- /metro-config/0.72.3:
- resolution: {integrity: sha512-VEsAIVDkrIhgCByq8HKTWMBjJG6RlYwWSu1Gnv3PpHa0IyTjKJtB7wC02rbTjSaemcr82scldf2R+h6ygMEvsw==}
+ /metro-cache-key/0.73.8:
+ resolution: {integrity: sha512-VzFGu4kJGIkLjyDgVoM2ZxIHlMdCZWMqVIux9N+EeyMVMvGXTiXW8eGROgxzDhVjyR58IjfMsYpRCKz5dR+2ew==}
+
+ /metro-cache/0.73.8:
+ resolution: {integrity: sha512-/uFbTIw813Rvb8kSAIHvax9gWl41dtgjY2SpJLNIBLdQ6oFZ3CVo3ahZIiEZOrCeHl9xfGn5tmvNb8CEFa/Q5w==}
+ dependencies:
+ metro-core: 0.73.8
+ rimraf: 3.0.2
+
+ /metro-config/0.73.8:
+ resolution: {integrity: sha512-sAYq+llL6ZAfro64U99ske8HcKKswxX4wIZbll9niBKG7TkWm7tfMY1jO687XEmE4683rHncZeBRav9pLngIzg==}
dependencies:
cosmiconfig: 5.2.1
jest-validate: 26.6.2
- metro: 0.72.3
- metro-cache: 0.72.3
- metro-core: 0.72.3
- metro-runtime: 0.72.3
+ metro: 0.73.8
+ metro-cache: 0.73.8
+ metro-core: 0.73.8
+ metro-runtime: 0.73.8
transitivePeerDependencies:
- bufferutil
- encoding
- supports-color
- utf-8-validate
- /metro-core/0.72.3:
- resolution: {integrity: sha512-KuYWBMmLB4+LxSMcZ1dmWabVExNCjZe3KysgoECAIV+wyIc2r4xANq15GhS94xYvX1+RqZrxU1pa0jQ5OK+/6A==}
+ /metro-core/0.73.8:
+ resolution: {integrity: sha512-Aew4dthbZf8bRRjlYGL3cnai3+LKYTf6mc7YS2xLQRWtgGZ1b/H8nQtBvXZpfRYFcS84UeEQ10vwIf5eR3qPdQ==}
dependencies:
lodash.throttle: 4.1.1
- metro-resolver: 0.72.3
+ metro-resolver: 0.73.8
- /metro-file-map/0.72.3:
- resolution: {integrity: sha512-LhuRnuZ2i2uxkpFsz1XCDIQSixxBkBG7oICAFyLyEMDGbcfeY6/NexphfLdJLTghkaoJR5ARFMiIxUg9fIY/pA==}
+ /metro-file-map/0.73.8:
+ resolution: {integrity: sha512-CM552hUO9om02jJdLszOCIDADKNaaeVz8CjYXItndvgr5jmFlQYAR+UMvaDzeT8oYdAV1DXAljma2CS2UBymPg==}
dependencies:
abort-controller: 3.0.0
anymatch: 3.1.3
@@ -15225,41 +16083,48 @@ packages:
jest-util: 27.5.1
jest-worker: 27.5.1
micromatch: 4.0.5
+ nullthrows: 1.1.1
walker: 1.0.8
optionalDependencies:
fsevents: 2.3.2
transitivePeerDependencies:
- supports-color
- /metro-hermes-compiler/0.72.3:
- resolution: {integrity: sha512-QWDQASMiXNW3j8uIQbzIzCdGYv5PpAX/ZiF4/lTWqKRWuhlkP4auhVY4eqdAKj5syPx45ggpjkVE0p8hAPDZYg==}
+ /metro-hermes-compiler/0.73.8:
+ resolution: {integrity: sha512-2d7t+TEoQLk+jyXgBykmAtPPJK2B46DB3qUYIMKDFDDaKzCljrojyVuGgQq6SM1f95fe6HDAQ3K9ihTjeB90yw==}
- /metro-inspector-proxy/0.72.3:
- resolution: {integrity: sha512-UPFkaq2k93RaOi+eqqt7UUmqy2ywCkuxJLasQ55+xavTUS+TQSyeTnTczaYn+YKw+izLTLllGcvqnQcZiWYhGw==}
+ /metro-inspector-proxy/0.73.8:
+ resolution: {integrity: sha512-F0QxwDTox0TDeXVRN7ZmI7BknBjPDVKQ1ZeKznFBiMa0SXiD1kzoksfpDbZ6hTEKrhVM9Ep0YQmC7avwZouOnA==}
hasBin: true
dependencies:
connect: 3.7.0
debug: 2.6.9
ws: 7.5.9
- yargs: 15.4.1
+ yargs: 17.7.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- /metro-minify-terser/0.74.1:
- resolution: {integrity: sha512-R8l2KbYm1ct9benFSXBjeBDJ48BIyyQo3ECG0TSDX5efLSAS9z0scOCTUC9mcAJ9CO1tjc9ZrjHMNWAOoHO6XA==}
+ /metro-minify-terser/0.73.8:
+ resolution: {integrity: sha512-pnagyXAoMPhihWrHRIWqCxrP6EJ8Hfugv5RXBb6HbOANmwajn2uQuzeu18+dXaN1yPoDCMCgpg/UA4ibFN5jtQ==}
dependencies:
- terser: 5.16.1
+ terser: 5.16.6
+
+ /metro-minify-terser/0.76.0:
+ resolution: {integrity: sha512-dxaE/pvFDFEvXoNHuiXbA2Tw/jT1MD3B4a9AM+aYPWJBh3PdT9XM1HdzumyJldtZpCn5yka4maYSrtuebKgOyw==}
+ engines: {node: '>=16'}
+ dependencies:
+ terser: 5.16.6
dev: true
- /metro-minify-uglify/0.72.3:
- resolution: {integrity: sha512-dPXqtMI8TQcj0g7ZrdhC8X3mx3m3rtjtMuHKGIiEXH9CMBvrET8IwrgujQw2rkPcXiSiX8vFDbGMIlfxefDsKA==}
+ /metro-minify-uglify/0.73.8:
+ resolution: {integrity: sha512-9wZqKfraVfmtMXdOzRyan+6r1woQXqqa4KeXfVh7+Mxl+5+J0Lmw6EvTrWawsaOEpvpn32q9MfoHC1d8plDJwA==}
dependencies:
uglify-es: 3.3.9
- /metro-react-native-babel-preset/0.72.3:
- resolution: {integrity: sha512-uJx9y/1NIqoYTp6ZW1osJ7U5ZrXGAJbOQ/Qzl05BdGYvN1S7Qmbzid6xOirgK0EIT0pJKEEh1s8qbassYZe4cw==}
+ /metro-react-native-babel-preset/0.73.7:
+ resolution: {integrity: sha512-RKcmRZREjJCzHKP+JhC9QTCohkeb3xa/DtqHU14U5KWzJHdC0mMrkTZYNXhV0cryxsaVKVEw5873KhbZyZHMVw==}
dependencies:
'@babel/core': 7.20.12
'@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.20.12
@@ -15280,7 +16145,6 @@ packages:
'@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12
'@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12
'@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12
- '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.12
'@babel/plugin-transform-flow-strip-types': 7.19.0_@babel+core@7.20.12
'@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.20.12
'@babel/plugin-transform-literals': 7.18.9_@babel+core@7.20.12
@@ -15296,58 +16160,135 @@ packages:
'@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.12
'@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.12
'@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.12
- '@babel/plugin-transform-typescript': 7.20.7_@babel+core@7.20.12
+ '@babel/plugin-transform-typescript': 7.20.13_@babel+core@7.20.12
'@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.12
'@babel/template': 7.20.7
react-refresh: 0.4.3
transitivePeerDependencies:
- supports-color
- /metro-react-native-babel-transformer/0.72.3:
- resolution: {integrity: sha512-Ogst/M6ujYrl/+9mpEWqE3zF7l2mTuftDTy3L8wZYwX1pWUQWQpfU1aJBeWiLxt1XlIq+uriRjKzKoRoIK57EA==}
+ /metro-react-native-babel-preset/0.73.8:
+ resolution: {integrity: sha512-spNrcQJTbQntEIqJnCA6yL4S+dzV9fXCk7U+Rm7yJasZ4o4Frn7jP23isu7FlZIp1Azx1+6SbP7SgQM+IP5JgQ==}
dependencies:
- '@babel/core': 7.20.12
- babel-preset-fbjs: 3.4.0_@babel+core@7.20.12
+ '@babel/core': 7.21.0
+ '@babel/plugin-proposal-async-generator-functions': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-export-default-from': 7.18.10_@babel+core@7.21.0
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-proposal-optional-chaining': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-syntax-export-default-from': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.0
+ '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-block-scoping': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-classes': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-flow-strip-types': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-function-name': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-literals': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-modules-commonjs': 7.21.2_@babel+core@7.21.0
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.21.0
+ '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-react-jsx': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-react-jsx-self': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-react-jsx-source': 7.19.6_@babel+core@7.21.0
+ '@babel/plugin-transform-runtime': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.21.0
+ '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.21.0
+ '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.21.0
+ '@babel/plugin-transform-typescript': 7.21.0_@babel+core@7.21.0
+ '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.21.0
+ '@babel/template': 7.20.7
+ react-refresh: 0.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-react-native-babel-transformer/0.73.7:
+ resolution: {integrity: sha512-73HW8betjX+VPm3iqsMBe8F/F2Tt+hONO6YJwcF7FonTqQYW1oTz0dOp0dClZGfHUXxpJBz6Vuo7J6TpdzDD+w==}
+ dependencies:
+ '@babel/core': 7.21.0
+ babel-preset-fbjs: 3.4.0_@babel+core@7.21.0
hermes-parser: 0.8.0
- metro-babel-transformer: 0.72.3
- metro-react-native-babel-preset: 0.72.3
- metro-source-map: 0.72.3
+ metro-babel-transformer: 0.73.7
+ metro-react-native-babel-preset: 0.73.7
+ metro-source-map: 0.73.7
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
- /metro-resolver/0.72.3:
- resolution: {integrity: sha512-wu9zSMGdxpKmfECE7FtCdpfC+vrWGTdVr57lDA0piKhZV6VN6acZIvqQ1yZKtS2WfKsngncv5VbB8Y5eHRQP3w==}
+ /metro-react-native-babel-transformer/0.73.8:
+ resolution: {integrity: sha512-oH/LCCJPauteAE28c0KJAiSrkV+1VJbU0PwA9UwaWnle+qevs/clpKQ8LrIr33YbBj4CiI1kFoVRuNRt5h4NFg==}
+ dependencies:
+ '@babel/core': 7.21.0
+ babel-preset-fbjs: 3.4.0_@babel+core@7.21.0
+ hermes-parser: 0.8.0
+ metro-babel-transformer: 0.73.8
+ metro-react-native-babel-preset: 0.73.8
+ metro-source-map: 0.73.8
+ nullthrows: 1.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-resolver/0.73.8:
+ resolution: {integrity: sha512-GiBWont7/OgAftkkj2TiEp+Gf1PYZUk8xV4MbtnQjIKyy3MlGY3GbpMQ1BHih9GUQqlF0n9jsUlC2K5P0almXQ==}
dependencies:
absolute-path: 0.0.0
- /metro-runtime/0.72.3:
- resolution: {integrity: sha512-3MhvDKfxMg2u7dmTdpFOfdR71NgNNo4tzAyJumDVQKwnHYHN44f2QFZQqpPBEmqhWlojNeOxsqFsjYgeyMx6VA==}
+ /metro-runtime/0.73.7:
+ resolution: {integrity: sha512-2fxRGrF8FyrwwHY0TCitdUljzutfW6CWEpdvPilfrs8p0PI5X8xOWg8ficeYtw+DldHtHIAL2phT59PqzHTyVA==}
dependencies:
- '@babel/runtime': 7.20.7
+ '@babel/runtime': 7.21.0
react-refresh: 0.4.3
- /metro-source-map/0.72.3:
- resolution: {integrity: sha512-eNtpjbjxSheXu/jYCIDrbNEKzMGOvYW6/ePYpRM7gDdEagUOqKOCsi3St8NJIQJzZCsxD2JZ2pYOiomUSkT1yQ==}
+ /metro-runtime/0.73.8:
+ resolution: {integrity: sha512-M+Bg9M4EN5AEpJ8NkiUsawD75ifYvYfHi05w6QzHXaqOrsTeaRbbeLuOGCYxU2f/tPg17wQV97/rqUQzs9qEtA==}
dependencies:
- '@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
+ '@babel/runtime': 7.21.0
+ react-refresh: 0.4.3
+
+ /metro-source-map/0.73.7:
+ resolution: {integrity: sha512-gbC/lfUN52TtQhEsTTA+987MaFUpQlufuCI05blLGLosDcFCsARikHsxa65Gtslm/rG2MqvFLiPA5hviONNv9g==}
+ dependencies:
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
invariant: 2.2.4
- metro-symbolicate: 0.72.3
+ metro-symbolicate: 0.73.7
nullthrows: 1.1.1
- ob1: 0.72.3
+ ob1: 0.73.7
source-map: 0.5.7
vlq: 1.0.1
transitivePeerDependencies:
- supports-color
- /metro-symbolicate/0.72.3:
- resolution: {integrity: sha512-eXG0NX2PJzJ/jTG4q5yyYeN2dr1cUqUaY7worBB0SP5bRWRc3besfb+rXwfh49wTFiL5qR0oOawkU4ZiD4eHXw==}
+ /metro-source-map/0.73.8:
+ resolution: {integrity: sha512-wozFXuBYMAy7b8BCYwC+qoXsvayVJBHWtSTlSLva99t+CoUSG9JO9kg1umzbOz28YYPxKmvb/wbnLMkHdas2cA==}
+ dependencies:
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
+ invariant: 2.2.4
+ metro-symbolicate: 0.73.8
+ nullthrows: 1.1.1
+ ob1: 0.73.8
+ source-map: 0.5.7
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-symbolicate/0.73.7:
+ resolution: {integrity: sha512-571ThWmX5o8yGNzoXjlcdhmXqpByHU/bSZtWKhtgV2TyIAzYCYt4hawJAS5+/qDazUvjHdm8BbdqFUheM0EKNQ==}
engines: {node: '>=8.3'}
hasBin: true
dependencies:
invariant: 2.2.4
- metro-source-map: 0.72.3
+ metro-source-map: 0.73.7
nullthrows: 1.1.1
source-map: 0.5.7
through2: 2.0.5
@@ -15355,32 +16296,46 @@ packages:
transitivePeerDependencies:
- supports-color
- /metro-transform-plugins/0.72.3:
- resolution: {integrity: sha512-D+TcUvCKZbRua1+qujE0wV1onZvslW6cVTs7dLCyC2pv20lNHjFr1GtW01jN2fyKR2PcRyMjDCppFd9VwDKnSg==}
+ /metro-symbolicate/0.73.8:
+ resolution: {integrity: sha512-xkBAcceYYp0GGdCCuMzkCF1ejHsd0lYlbKBkjSRgM0Nlj80VapPaSwumYoAvSaDxcbkvS7/sCjURGp5DsSFgRQ==}
+ engines: {node: '>=8.3'}
+ hasBin: true
dependencies:
- '@babel/core': 7.20.12
- '@babel/generator': 7.20.7
+ invariant: 2.2.4
+ metro-source-map: 0.73.8
+ nullthrows: 1.1.1
+ source-map: 0.5.7
+ through2: 2.0.5
+ vlq: 1.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ /metro-transform-plugins/0.73.8:
+ resolution: {integrity: sha512-IxjlnB5eA49M0WfvPEzvRikK3Rr6bECUUfcZt/rWpSphq/mttgyLYcHQ+VTZZl0zHolC3cTLwgoDod4IIJBn1A==}
+ dependencies:
+ '@babel/core': 7.21.0
+ '@babel/generator': 7.21.1
'@babel/template': 7.20.7
- '@babel/traverse': 7.20.12
+ '@babel/traverse': 7.21.2
nullthrows: 1.1.1
transitivePeerDependencies:
- supports-color
- /metro-transform-worker/0.72.3:
- resolution: {integrity: sha512-WsuWj9H7i6cHuJuy+BgbWht9DK5FOgJxHLGAyULD5FJdTG9rSMFaHDO5WfC0OwQU5h4w6cPT40iDuEGksM7+YQ==}
+ /metro-transform-worker/0.73.8:
+ resolution: {integrity: sha512-B8kR6lmcvyG4UFSF2QDfr/eEnWJvg0ZadooF8Dg6m/3JSm9OAqfSoC0YrWqAuvtWImNDnbeKWN7/+ns44Hv6tg==}
dependencies:
- '@babel/core': 7.20.12
- '@babel/generator': 7.20.7
- '@babel/parser': 7.20.7
- '@babel/types': 7.20.7
- babel-preset-fbjs: 3.4.0_@babel+core@7.20.12
- metro: 0.72.3
- metro-babel-transformer: 0.72.3
- metro-cache: 0.72.3
- metro-cache-key: 0.72.3
- metro-hermes-compiler: 0.72.3
- metro-source-map: 0.72.3
- metro-transform-plugins: 0.72.3
+ '@babel/core': 7.21.0
+ '@babel/generator': 7.21.1
+ '@babel/parser': 7.21.2
+ '@babel/types': 7.21.2
+ babel-preset-fbjs: 3.4.0_@babel+core@7.21.0
+ metro: 0.73.8
+ metro-babel-transformer: 0.73.8
+ metro-cache: 0.73.8
+ metro-cache-key: 0.73.8
+ metro-hermes-compiler: 0.73.8
+ metro-source-map: 0.73.8
+ metro-transform-plugins: 0.73.8
nullthrows: 1.1.1
transitivePeerDependencies:
- bufferutil
@@ -15388,17 +16343,17 @@ packages:
- supports-color
- utf-8-validate
- /metro/0.72.3:
- resolution: {integrity: sha512-Hb3xTvPqex8kJ1hutQNZhQadUKUwmns/Du9GikmWKBFrkiG3k3xstGAyO5t5rN9JSUEzQT6y9SWzSSOGogUKIg==}
+ /metro/0.73.8:
+ resolution: {integrity: sha512-2EMJME9w5x7Uzn+DnQ4hzWr33u/aASaOBGdpf4lxbrlk6/vl4UBfX1sru6KU535qc/0Z1BMt4Vq9qsP3ZGFmWg==}
hasBin: true
dependencies:
'@babel/code-frame': 7.18.6
- '@babel/core': 7.20.12
- '@babel/generator': 7.20.7
- '@babel/parser': 7.20.7
+ '@babel/core': 7.21.0
+ '@babel/generator': 7.21.1
+ '@babel/parser': 7.21.2
'@babel/template': 7.20.7
- '@babel/traverse': 7.20.12
- '@babel/types': 7.20.7
+ '@babel/traverse': 7.21.2
+ '@babel/types': 7.21.2
absolute-path: 0.0.0
accepts: 1.3.8
async: 3.2.4
@@ -15408,40 +16363,40 @@ packages:
debug: 2.6.9
denodeify: 1.2.1
error-stack-parser: 2.1.4
- fs-extra: 1.0.0
graceful-fs: 4.2.10
hermes-parser: 0.8.0
image-size: 0.6.3
invariant: 2.2.4
jest-worker: 27.5.1
lodash.throttle: 4.1.1
- metro-babel-transformer: 0.72.3
- metro-cache: 0.72.3
- metro-cache-key: 0.72.3
- metro-config: 0.72.3
- metro-core: 0.72.3
- metro-file-map: 0.72.3
- metro-hermes-compiler: 0.72.3
- metro-inspector-proxy: 0.72.3
- metro-minify-uglify: 0.72.3
- metro-react-native-babel-preset: 0.72.3
- metro-resolver: 0.72.3
- metro-runtime: 0.72.3
- metro-source-map: 0.72.3
- metro-symbolicate: 0.72.3
- metro-transform-plugins: 0.72.3
- metro-transform-worker: 0.72.3
+ metro-babel-transformer: 0.73.8
+ metro-cache: 0.73.8
+ metro-cache-key: 0.73.8
+ metro-config: 0.73.8
+ metro-core: 0.73.8
+ metro-file-map: 0.73.8
+ metro-hermes-compiler: 0.73.8
+ metro-inspector-proxy: 0.73.8
+ metro-minify-terser: 0.73.8
+ metro-minify-uglify: 0.73.8
+ metro-react-native-babel-preset: 0.73.8
+ metro-resolver: 0.73.8
+ metro-runtime: 0.73.8
+ metro-source-map: 0.73.8
+ metro-symbolicate: 0.73.8
+ metro-transform-plugins: 0.73.8
+ metro-transform-worker: 0.73.8
mime-types: 2.1.35
- node-fetch: 2.6.8
+ node-fetch: 2.6.9
nullthrows: 1.1.1
- rimraf: 2.7.1
+ rimraf: 3.0.2
serialize-error: 2.1.0
source-map: 0.5.7
strip-ansi: 6.0.1
temp: 0.8.3
throat: 5.0.0
ws: 7.5.9
- yargs: 15.4.1
+ yargs: 17.7.1
transitivePeerDependencies:
- bufferutil
- encoding
@@ -15564,6 +16519,9 @@ packages:
/minimist/1.2.7:
resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==}
+ /minimist/1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
/minipass-collect/1.0.2:
resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==}
engines: {node: '>= 8'}
@@ -15628,20 +16586,20 @@ packages:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true
dependencies:
- minimist: 1.2.7
+ minimist: 1.2.8
/mkdirp/1.0.4:
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
engines: {node: '>=10'}
hasBin: true
- /moti/0.22.0_wwrhtnmkhk6ixblrbdwhxojxqi:
- resolution: {integrity: sha512-KK3fhK8igrqE+mqac4JGajvpwM9WX2QCVn1HmwgXrzUC2dA6jyA2sybmV9Fke0Ahe7/dITKXRZNcd73OTqxdOA==}
+ /moti/0.24.2_j2lje2xtngrkm2tptyce2pxl5m:
+ resolution: {integrity: sha512-68sd6pdF976MgAZIZSQzVMmJFd8ENRAFeD2A67N2FJTvZEhzsAqDbEwwIYwhoDgYer+MrT5Y9X0pqofVO61tUg==}
peerDependencies:
react-native-reanimated: '*'
dependencies:
- framer-motion: 6.5.1_react@18.1.0
- react-native-reanimated: 2.14.4_tj3nonr5gneraukzjkxpsiy7yu
+ framer-motion: 6.5.1_react@18.2.0
+ react-native-reanimated: 2.14.4_yqouayos4dnow7nnkhah4yzuzq
transitivePeerDependencies:
- react
- react-dom
@@ -15805,6 +16763,17 @@ packages:
dependencies:
whatwg-url: 5.0.0
+ /node-fetch/2.6.9:
+ resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+ dependencies:
+ whatwg-url: 5.0.0
+
/node-forge/1.3.1:
resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
engines: {node: '>= 6.13.0'}
@@ -15926,8 +16895,11 @@ packages:
resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==}
dev: true
- /ob1/0.72.3:
- resolution: {integrity: sha512-OnVto25Sj7Ghp0vVm2THsngdze3tVq0LOg9LUHsAVXMecpqOP0Y8zaATW8M9gEgs2lNEAcCqV0P/hlmOPhVRvg==}
+ /ob1/0.73.7:
+ resolution: {integrity: sha512-DfelfvR843KADhSUATGGhuepVMRcf5VQX+6MQLy5AW0BKDLlO7Usj6YZeAAZP7P86QwsoTxB0RXCFiA7t6S1IQ==}
+
+ /ob1/0.73.8:
+ resolution: {integrity: sha512-1F7j+jzD+edS6ohQP7Vg5f3yiIk5i3x1uLrNIHOmLHWzWK1t3zrDpjnoXghccdVlsU+UjbyURnDynm4p0GgXeA==}
/object-assign/4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
@@ -16476,7 +17448,7 @@ packages:
resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
dev: false
- /phosphor-react-native/1.1.2_tdhmirddlb52bzkqlwgrsfpe6m:
+ /phosphor-react-native/1.1.2_nspe6j2x24lhqdltgpf6gwh4ma:
resolution: {integrity: sha512-uWYDG4S70JP89jmXljCA0K6/0mjQDHH8GVHFwF+dmbdYkALIE84jMMSemkFtjdsazB1j+xDBJcGaKN3PdEC8uQ==}
peerDependencies:
react: '*'
@@ -16484,9 +17456,9 @@ packages:
react-native-svg: '*'
dependencies:
caniuse-lite: 1.0.30001446
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
- react-native-svg: 13.8.0_tj3nonr5gneraukzjkxpsiy7yu
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
+ react-native-svg: 13.4.0_yqouayos4dnow7nnkhah4yzuzq
dev: false
/phosphor-react/1.4.1_react@18.2.0:
@@ -16617,7 +17589,7 @@ packages:
framesync: 6.0.1
hey-listen: 1.0.8
style-value-types: 5.0.0
- tslib: 2.4.1
+ tslib: 2.5.0
dev: false
/posix-character-classes/0.1.1:
@@ -16943,6 +17915,14 @@ packages:
react-is: 17.0.2
dev: true
+ /pretty-format/29.5.0:
+ resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dependencies:
+ '@jest/schemas': 29.4.3
+ ansi-styles: 5.2.0
+ react-is: 18.2.0
+
/pretty-hrtime/1.0.3:
resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==}
engines: {node: '>= 0.8'}
@@ -17052,6 +18032,10 @@ packages:
resolution: {integrity: sha512-FD8KmQUQD6Mfpd0hywCOzcon/dbkFP8XBd9F1ycbKtvVsfv6TsFUKJ2eC0Iz2y+KzlkdT1Z8SY6ZSgm07zOyqg==}
dev: false
+ /proxy-compare/2.5.0:
+ resolution: {integrity: sha512-f1us0OsVAJ3tdIMXGQx2lmseYS4YXe4W+sKF5g5ww/jV+5ogMadPt+sIZ+88Ga9kvMJsrRNWzCrKPpr6pMWYbA==}
+ dev: false
+
/proxy-from-env/1.1.0:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
dev: true
@@ -17274,10 +18258,10 @@ packages:
react-dom: 18.2.0_react@18.2.0
dev: false
- /react-devtools-core/4.24.0:
- resolution: {integrity: sha512-Rw7FzYOOzcfyUPaAm9P3g0tFdGqGq2LLiAI+wjYcp6CsF3DeeMrRS3HZAho4s273C29G/DJhx0e8BpRE/QZNGg==}
+ /react-devtools-core/4.27.2:
+ resolution: {integrity: sha512-8SzmIkpO87alD7Xr6gWIEa1jHkMjawOZ+6egjazlnjB4UUcbnzGDf/vBJ4BzGuWWEM+pzrxuzsPpcMqlQkYK2g==}
dependencies:
- shell-quote: 1.7.4
+ shell-quote: 1.8.0
ws: 7.5.9
transitivePeerDependencies:
- bufferutil
@@ -17297,7 +18281,7 @@ packages:
hasBin: true
dependencies:
'@babel/core': 7.20.12
- '@babel/generator': 7.20.7
+ '@babel/generator': 7.20.14
'@babel/runtime': 7.20.7
ast-types: 0.14.2
commander: 2.20.3
@@ -17346,13 +18330,13 @@ packages:
resolution: {integrity: sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==}
dev: false
- /react-freeze/1.0.3_react@18.1.0:
+ /react-freeze/1.0.3_react@18.2.0:
resolution: {integrity: sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==}
engines: {node: '>=10'}
peerDependencies:
react: '>=17.0.0'
dependencies:
- react: 18.1.0
+ react: 18.2.0
dev: false
/react-helmet/6.1.0_react@18.2.0:
@@ -17367,26 +18351,8 @@ packages:
react-side-effect: 2.1.2_react@18.2.0
dev: false
- /react-hook-form/7.42.1_react@18.2.0:
- resolution: {integrity: sha512-2UIGqwMZksd5HS55crTT1ATLTr0rAI4jS7yVuqTaoRVDhY2Qc4IyjskCmpnmdYqUNOYFy04vW253tb2JRVh+IQ==}
- engines: {node: '>=12.22.0'}
- peerDependencies:
- react: ^16.8.0 || ^17 || ^18
- dependencies:
- react: 18.2.0
- dev: false
-
- /react-hook-form/7.43.0_react@18.1.0:
- resolution: {integrity: sha512-/rVEz7T0gLdSFwPqutJ1kn2e0sQNyb9ci/hmwEYr2YG0KF/LSuRLvNrf9QWJM+gj88CjDpDW5Bh/1AD7B2+z9Q==}
- engines: {node: '>=12.22.0'}
- peerDependencies:
- react: ^16.8.0 || ^17 || ^18
- dependencies:
- react: 18.1.0
- dev: false
-
- /react-hook-form/7.43.0_react@18.2.0:
- resolution: {integrity: sha512-/rVEz7T0gLdSFwPqutJ1kn2e0sQNyb9ci/hmwEYr2YG0KF/LSuRLvNrf9QWJM+gj88CjDpDW5Bh/1AD7B2+z9Q==}
+ /react-hook-form/7.43.5_react@18.2.0:
+ resolution: {integrity: sha512-YcaXhuFHoOPipu5pC7ckxrLrialiOcU91pKu8P+isAcXZyMgByUK9PkI9j5fENO4+6XU5PwWXRGMIFlk9u9UBQ==}
engines: {node: '>=12.22.0'}
peerDependencies:
react: ^16.8.0 || ^17 || ^18
@@ -17451,18 +18417,18 @@ packages:
/react-merge-refs/1.1.0:
resolution: {integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==}
- /react-native-codegen/0.70.6:
- resolution: {integrity: sha512-kdwIhH2hi+cFnG5Nb8Ji2JwmcCxnaOOo9440ov7XDzSvGfmUStnCzl+MCW8jLjqHcE4icT7N9y+xx4f50vfBTw==}
+ /react-native-codegen/0.71.5:
+ resolution: {integrity: sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg==}
dependencies:
- '@babel/parser': 7.20.7
- flow-parser: 0.121.0
+ '@babel/parser': 7.21.2
+ flow-parser: 0.185.2
jscodeshift: 0.13.1
nullthrows: 1.1.1
transitivePeerDependencies:
- '@babel/preset-env'
- supports-color
- /react-native-document-picker/8.1.3_tj3nonr5gneraukzjkxpsiy7yu:
+ /react-native-document-picker/8.1.3_yqouayos4dnow7nnkhah4yzuzq:
resolution: {integrity: sha512-lC+SZnzqIEE30x2CSHeZT+f7FzhQOTJprCNMRPpFVl4mLV9dDCJ/wZAmMByJFT79oQMPrzjlhhJlmjm+sVRUWQ==}
peerDependencies:
react: '*'
@@ -17473,15 +18439,15 @@ packages:
optional: true
dependencies:
invariant: 2.2.4
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
dev: false
/react-native-elevation/1.0.0:
resolution: {integrity: sha512-BWIKcEYtzjRV6GpkX0Km5/w2E7fgIcywiQOT7JZTc5NSbv/YI9kpFinB9lRFsOoRVGmiqq/O3VfP/oH2clIiBA==}
dev: false
- /react-native-fs/2.20.0_react-native@0.70.5:
+ /react-native-fs/2.20.0_react-native@0.71.3:
resolution: {integrity: sha512-VkTBzs7fIDUiy/XajOSNk0XazFE9l+QlMAce7lGuebZcag5CnjszB+u4BdqzwaQOdcYb5wsJIsqq4kxInIRpJQ==}
peerDependencies:
react-native: '*'
@@ -17491,11 +18457,11 @@ packages:
optional: true
dependencies:
base-64: 0.1.0
- react-native: 0.70.5_react@18.1.0
+ react-native: 0.71.3_react@18.2.0
utf8: 3.0.0
dev: false
- /react-native-gesture-handler/2.9.0_tj3nonr5gneraukzjkxpsiy7yu:
+ /react-native-gesture-handler/2.9.0_yqouayos4dnow7nnkhah4yzuzq:
resolution: {integrity: sha512-a0BcH3Qb1tgVqUutc6d3VuWQkI1AM3+fJx8dkxzZs9t06qA27QgURYFoklpabuWpsUTzuKRpxleykp25E8m7tg==}
peerDependencies:
react: '*'
@@ -17506,18 +18472,18 @@ packages:
invariant: 2.2.4
lodash: 4.17.21
prop-types: 15.8.1
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
dev: false
- /react-native-gradle-plugin/0.70.3:
- resolution: {integrity: sha512-oOanj84fJEXUg9FoEAQomA8ISG+DVIrTZ3qF7m69VQUJyOGYyDZmPqKcjvRku4KXlEH6hWO9i4ACLzNBh8gC0A==}
+ /react-native-gradle-plugin/0.71.16:
+ resolution: {integrity: sha512-H2BjG2zk7B7Wii9sXvd9qhCVRQYDAHSWdMw9tscmZBqSP62DkIWEQSk4/B2GhQ4aK9ydVXgtqR6tBeg3yy8TSA==}
/react-native-popup-menu/0.16.1:
resolution: {integrity: sha512-xRS7mRh0exwu7Iw8PPVHdM11d13A/KzYjy0/fZx3zVtxISxPkNaDGayau6oa7HqO3Nj0oS9ulFCYjcQfG6vahA==}
dev: false
- /react-native-reanimated/2.14.4_tj3nonr5gneraukzjkxpsiy7yu:
+ /react-native-reanimated/2.14.4_yqouayos4dnow7nnkhah4yzuzq:
resolution: {integrity: sha512-DquSbl7P8j4SAmc+kRdd75Ianm8G+IYQ9T4AQ6lrpLVeDkhZmjWI0wkutKWnp6L7c5XNVUrFDUf69dwETLCItQ==}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -17525,50 +18491,50 @@ packages:
react-native: '*'
dependencies:
'@babel/plugin-transform-object-assign': 7.18.6
- '@babel/preset-typescript': 7.18.6
+ '@babel/preset-typescript': 7.21.0
convert-source-map: 1.9.0
invariant: 2.2.4
lodash.isequal: 4.5.0
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
setimmediate: 1.0.5
string-hash-64: 1.0.3
transitivePeerDependencies:
- supports-color
dev: false
- /react-native-safe-area-context/4.5.0_tj3nonr5gneraukzjkxpsiy7yu:
+ /react-native-safe-area-context/4.5.0_yqouayos4dnow7nnkhah4yzuzq:
resolution: {integrity: sha512-0WORnk9SkREGUg2V7jHZbuN5x4vcxj/1B0QOcXJjdYWrzZHgLcUzYWWIUecUPJh747Mwjt/42RZDOaFn3L8kPQ==}
peerDependencies:
react: '*'
react-native: '*'
dependencies:
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
dev: false
- /react-native-safe-modules/1.0.3_react-native@0.70.5:
+ /react-native-safe-modules/1.0.3_react-native@0.71.3:
resolution: {integrity: sha512-DUxti4Z+AgJ/ZsO5U7p3uSCUBko8JT8GvFlCeOXk9bMd+4qjpoDvMYpfbixXKgL88M+HwmU/KI1YFN6gsQZyBA==}
peerDependencies:
react-native: '*'
dependencies:
dedent: 0.6.0
- react-native: 0.70.5_react@18.1.0
+ react-native: 0.71.3_react@18.2.0
dev: false
- /react-native-screens/3.19.0_tj3nonr5gneraukzjkxpsiy7yu:
- resolution: {integrity: sha512-Ehsmy7jr3H3j5pmN+/FqsAaIAD+k+xkcdePfLcg4rYRbN5X7fJPgaqhcmiCcZ0YxsU8ttsstP9IvRLNQuIkRRA==}
+ /react-native-screens/3.20.0_yqouayos4dnow7nnkhah4yzuzq:
+ resolution: {integrity: sha512-joWUKWAVHxymP3mL9gYApFHAsbd9L6ZcmpoZa6Sl3W/82bvvNVMqcfP7MeNqVCg73qZ8yL4fW+J/syusHleUgg==}
peerDependencies:
react: '*'
react-native: '*'
dependencies:
- react: 18.1.0
- react-freeze: 1.0.3_react@18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-freeze: 1.0.3_react@18.2.0
+ react-native: 0.71.3_react@18.2.0
warn-once: 0.1.1
dev: false
- /react-native-svg-transformer/1.0.0_kqpsw65h73u7hvgblav6crprhi:
+ /react-native-svg-transformer/1.0.0_csdbj5z546ts5ngzc62z27kx4u:
resolution: {integrity: sha512-ALHU5VvLLyKM/BvyEG7VYJmqglvaXtU7mGRCxrEwwpJO/GBf1ZMUzc4AeJAjSodj7yYtlDYRxNSt9ySWpaa6JQ==}
peerDependencies:
react-native: '>=0.59.0'
@@ -17577,22 +18543,22 @@ packages:
'@svgr/core': 6.5.1
'@svgr/plugin-svgo': 6.5.1_@svgr+core@6.5.1
path-dirname: 1.0.2
- react-native: 0.70.5_react@18.1.0
- react-native-svg: 13.8.0_tj3nonr5gneraukzjkxpsiy7yu
+ react-native: 0.71.3_react@18.2.0
+ react-native-svg: 13.4.0_yqouayos4dnow7nnkhah4yzuzq
transitivePeerDependencies:
- supports-color
dev: true
- /react-native-svg/13.8.0_tj3nonr5gneraukzjkxpsiy7yu:
- resolution: {integrity: sha512-G8Mx6W86da+vFimZBJvA93POw8yz0fgDS5biy6oIjMWVJVQSDzCyzwO/zY0yuZmCDhKSZzogl5m0wXXvW2OcTA==}
+ /react-native-svg/13.4.0_yqouayos4dnow7nnkhah4yzuzq:
+ resolution: {integrity: sha512-B3TwK+H0+JuRhYPzF21AgqMt4fjhCwDZ9QUtwNstT5XcslJBXC0FoTkdZo8IEb1Sv4suSqhZwlAY6lwOv3tHag==}
peerDependencies:
react: '*'
react-native: '*'
dependencies:
css-select: 5.1.0
css-tree: 1.1.3
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
/react-native-wheel-color-picker/1.2.0:
resolution: {integrity: sha512-j4IcN7so9dZAkXyrPTTaPqCKsjkGBZkd5F7HqLo0OTRB1EZX3Ww5VMKsKjloxv6Omv193wGOhwfG20ec2KnxJQ==}
@@ -17600,44 +18566,46 @@ packages:
react-native-elevation: 1.0.0
dev: false
- /react-native/0.70.5_react@18.1.0:
- resolution: {integrity: sha512-5NZM80LC3L+TIgQX/09yiyy48S73wMgpIgN5cCv3XTMR394+KpDI3rBZGH4aIgWWuwijz31YYVF5504+9n2Zfw==}
+ /react-native/0.71.3_react@18.2.0:
+ resolution: {integrity: sha512-RYJXCcQGa4NTfKiPgl92eRDUuQ6JGDnHqFEzRwJSqEx9lWvlvRRIebstJfurzPDKLQWQrvITR7aI7e09E25mLw==}
engines: {node: '>=14'}
hasBin: true
peerDependencies:
- react: 18.1.0
+ react: 18.2.0
dependencies:
- '@jest/create-cache-key-function': 29.3.1
- '@react-native-community/cli': 9.2.1
- '@react-native-community/cli-platform-android': 9.2.1
- '@react-native-community/cli-platform-ios': 9.2.1
+ '@jest/create-cache-key-function': 29.5.0
+ '@react-native-community/cli': 10.1.3
+ '@react-native-community/cli-platform-android': 10.1.3
+ '@react-native-community/cli-platform-ios': 10.1.1
'@react-native/assets': 1.0.0
- '@react-native/normalize-color': 2.0.0
+ '@react-native/normalize-color': 2.1.0
'@react-native/polyfills': 2.0.0
abort-controller: 3.0.0
anser: 1.4.10
base64-js: 1.5.1
+ deprecated-react-native-prop-types: 3.0.1
event-target-shim: 5.0.1
invariant: 2.2.4
- jsc-android: 250230.2.1
+ jest-environment-node: 29.5.0
+ jsc-android: 250231.0.0
memoize-one: 5.2.1
- metro-react-native-babel-transformer: 0.72.3
- metro-runtime: 0.72.3
- metro-source-map: 0.72.3
+ metro-react-native-babel-transformer: 0.73.7
+ metro-runtime: 0.73.7
+ metro-source-map: 0.73.7
mkdirp: 0.5.6
nullthrows: 1.1.1
pretty-format: 26.6.2
promise: 8.3.0
- react: 18.1.0
- react-devtools-core: 4.24.0
- react-native-codegen: 0.70.6
- react-native-gradle-plugin: 0.70.3
+ react: 18.2.0
+ react-devtools-core: 4.27.2
+ react-native-codegen: 0.71.5
+ react-native-gradle-plugin: 0.71.16
react-refresh: 0.4.3
- react-shallow-renderer: 16.15.0_react@18.1.0
+ react-shallow-renderer: 16.15.0_react@18.2.0
regenerator-runtime: 0.13.11
- scheduler: 0.22.0
+ scheduler: 0.23.0
stacktrace-parser: 0.1.10
- use-sync-external-store: 1.2.0_react@18.1.0
+ use-sync-external-store: 1.2.0_react@18.2.0
whatwg-fetch: 3.6.2
ws: 6.2.2
transitivePeerDependencies:
@@ -17750,13 +18718,13 @@ packages:
react: 18.2.0
dev: false
- /react-shallow-renderer/16.15.0_react@18.1.0:
+ /react-shallow-renderer/16.15.0_react@18.2.0:
resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==}
peerDependencies:
react: ^16.0.0 || ^17.0.0 || ^18.0.0
dependencies:
object-assign: 4.1.1
- react: 18.1.0
+ react: 18.2.0
react-is: 18.2.0
/react-side-effect/2.1.2_react@18.2.0:
@@ -17833,12 +18801,6 @@ packages:
tsparticles-engine: 2.8.0
dev: false
- /react/18.1.0:
- resolution: {integrity: sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==}
- engines: {node: '>=0.10.0'}
- dependencies:
- loose-envify: 1.4.0
-
/react/18.2.0:
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
engines: {node: '>=0.10.0'}
@@ -17906,6 +18868,18 @@ packages:
safe-buffer: 5.1.2
string_decoder: 1.1.1
util-deprecate: 1.0.2
+ dev: true
+
+ /readable-stream/2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
/readable-stream/3.6.0:
resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
@@ -17914,6 +18888,15 @@ packages:
inherits: 2.0.4
string_decoder: 1.3.0
util-deprecate: 1.0.2
+ dev: true
+
+ /readable-stream/3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
/readdirp/2.2.1:
resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==}
@@ -17953,7 +18936,7 @@ packages:
ast-types: 0.14.2
esprima: 4.0.1
source-map: 0.6.1
- tslib: 2.4.1
+ tslib: 2.5.0
/rechoir/0.6.2:
resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
@@ -17972,7 +18955,7 @@ packages:
tslib: 1.14.1
dev: true
- /recyclerlistview/4.2.0_tj3nonr5gneraukzjkxpsiy7yu:
+ /recyclerlistview/4.2.0_yqouayos4dnow7nnkhah4yzuzq:
resolution: {integrity: sha512-uuBCi0c+ggqHKwrzPX4Z/mJOzsBbjZEAwGGmlwpD/sD7raXixdAbdJ6BTcAmuWG50Cg4ru9p12M94Njwhr/27A==}
peerDependencies:
react: '>= 15.2.1'
@@ -17980,8 +18963,8 @@ packages:
dependencies:
lodash.debounce: 4.0.8
prop-types: 15.8.1
- react: 18.1.0
- react-native: 0.70.5_react@18.1.0
+ react: 18.2.0
+ react-native: 0.71.3_react@18.2.0
ts-object-utils: 0.0.5
dev: false
@@ -18472,11 +19455,6 @@ packages:
/sax/1.2.4:
resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
- /scheduler/0.22.0:
- resolution: {integrity: sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==}
- dependencies:
- loose-envify: 1.4.0
-
/scheduler/0.23.0:
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
dependencies:
@@ -18678,8 +19656,8 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- /shell-quote/1.7.4:
- resolution: {integrity: sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==}
+ /shell-quote/1.8.0:
+ resolution: {integrity: sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==}
/shelljs/0.8.5:
resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
@@ -18915,6 +19893,12 @@ packages:
deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
dev: true
+ /stack-utils/2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ escape-string-regexp: 2.0.0
+
/stackframe/1.3.4:
resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
@@ -19172,6 +20156,9 @@ packages:
engines: {node: '>=8'}
dev: true
+ /strnum/1.0.5:
+ resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
+
/structured-headers/0.4.1:
resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==}
dev: false
@@ -19225,7 +20212,7 @@ packages:
resolution: {integrity: sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==}
dependencies:
hey-listen: 1.0.8
- tslib: 2.4.1
+ tslib: 2.5.0
dev: false
/sucrase/3.29.0:
@@ -19505,7 +20492,7 @@ packages:
schema-utils: 3.1.1
serialize-javascript: 5.0.1
source-map: 0.6.1
- terser: 5.16.1
+ terser: 5.16.6
webpack: 4.46.0
webpack-sources: 1.4.3
transitivePeerDependencies:
@@ -19532,7 +20519,7 @@ packages:
jest-worker: 27.5.1
schema-utils: 3.1.1
serialize-javascript: 6.0.1
- terser: 5.16.1
+ terser: 5.16.6
webpack: 5.75.0
dev: true
@@ -19541,14 +20528,14 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
- acorn: 8.8.1
+ acorn: 8.8.2
commander: 2.20.3
source-map: 0.6.1
source-map-support: 0.5.21
dev: true
- /terser/5.16.1:
- resolution: {integrity: sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==}
+ /terser/5.16.6:
+ resolution: {integrity: sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -19590,7 +20577,7 @@ packages:
/through2/2.0.5:
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
dependencies:
- readable-stream: 2.3.7
+ readable-stream: 2.3.8
xtend: 4.0.2
/timers-browserify/2.0.12:
@@ -19781,6 +20768,9 @@ packages:
/tslib/2.4.1:
resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==}
+ /tslib/2.5.0:
+ resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
+
/tsparticles-engine/2.8.0:
resolution: {integrity: sha512-r0cWKxefQkQCzU+RRG/82VQnl/fAkws27EuYIOKcnHiYsWnZYcX8iPiQs/qgDajP0haBSn4Vui8UbTCAwSFniw==}
requiresBuild: true
@@ -20151,12 +21141,12 @@ packages:
turbo-windows-arm64: 1.7.0
dev: true
- /twrnc/3.6.0_react-native@0.70.5:
+ /twrnc/3.6.0_react-native@0.71.3:
resolution: {integrity: sha512-ee3etAeEfJyH7a9iiQD6JEYJN7nQiZumO6KXCaAmgj9xL5BIFgZfjWsVfQ0eV+anSqgXVit/a2ZUNX3LFlbdhA==}
peerDependencies:
react-native: '>=0.63.0'
dependencies:
- react-native: 0.70.5_react@18.1.0
+ react-native: 0.71.3_react@18.2.0
tailwindcss: 3.2.4
transitivePeerDependencies:
- ts-node
@@ -20176,6 +21166,10 @@ packages:
prelude-ls: 1.2.1
dev: true
+ /type-detect/4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+
/type-fest/0.12.0:
resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==}
engines: {node: '>=10'}
@@ -20250,6 +21244,11 @@ packages:
engines: {node: '>=4.2.0'}
hasBin: true
+ /typescript/4.9.5:
+ resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+
/ua-parser-js/0.7.32:
resolution: {integrity: sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==}
dev: false
@@ -20550,15 +21549,6 @@ packages:
react: 18.2.0
dev: false
- /use-count-up/3.0.1_react@18.1.0:
- resolution: {integrity: sha512-jlVsXJYje6jh+xwQaCEYrwHoB+nRyillNEmr21bhe9kw7tpRzyrSq9jQs9UOlo+8hCFkuOmjUihL3IjEK/piVg==}
- peerDependencies:
- react: '>=16.8.0'
- dependencies:
- react: 18.1.0
- use-elapsed-time: 3.0.2_react@18.1.0
- dev: false
-
/use-count-up/3.0.1_react@18.2.0:
resolution: {integrity: sha512-jlVsXJYje6jh+xwQaCEYrwHoB+nRyillNEmr21bhe9kw7tpRzyrSq9jQs9UOlo+8hCFkuOmjUihL3IjEK/piVg==}
peerDependencies:
@@ -20577,21 +21567,13 @@ packages:
react: 18.2.0
dev: false
- /use-debounce/9.0.3_react@18.1.0:
+ /use-debounce/9.0.3_react@18.2.0:
resolution: {integrity: sha512-FhtlbDtDXILJV7Lix5OZj5yX/fW1tzq+VrvK1fnT2bUrPOGruU9Rw8NCEn+UI9wopfERBEZAOQ8lfeCJPllgnw==}
engines: {node: '>= 10.0.0'}
peerDependencies:
react: '>=16.8.0'
dependencies:
- react: 18.1.0
- dev: false
-
- /use-elapsed-time/3.0.2_react@18.1.0:
- resolution: {integrity: sha512-2EY9lJ5DWbAvT8wWiEp6Ztnl46DjXz2j78uhWbXaz/bg3OfpbgVucCAlcN8Bih6hTJfFTdVYX9L6ySMn5py/wQ==}
- peerDependencies:
- react: '>=16.8.0'
- dependencies:
- react: 18.1.0
+ react: 18.2.0
dev: false
/use-elapsed-time/3.0.2_react@18.2.0:
@@ -20655,13 +21637,6 @@ packages:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
dev: false
- /use-sync-external-store/1.2.0_react@18.1.0:
- resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- react: 18.1.0
-
/use-sync-external-store/1.2.0_react@18.2.0:
resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
peerDependencies:
@@ -20756,6 +21731,20 @@ packages:
builtins: 1.0.3
dev: false
+ /valtio/1.10.3_react@18.2.0:
+ resolution: {integrity: sha512-t3Ez/+baJ+Z5tIyeaI6nCAbW/hrmcq2jditwg/X++o5IvCdiGirQKTOv1kJq0glgUo13v5oABCVGcinggBfiKw==}
+ engines: {node: '>=12.20.0'}
+ peerDependencies:
+ react: '>=16.8'
+ peerDependenciesMeta:
+ react:
+ optional: true
+ dependencies:
+ proxy-compare: 2.5.0
+ react: 18.2.0
+ use-sync-external-store: 1.2.0_react@18.2.0
+ dev: false
+
/valtio/1.9.0:
resolution: {integrity: sha512-mQLFsAlKbYascZygFQh6lXuDjU5WHLoeZ8He4HqMnWfasM96V6rDbeFkw1XeG54xycmDonr/Jb4xgviHtuySrA==}
engines: {node: '>=12.20.0'}
@@ -20769,20 +21758,6 @@ packages:
use-sync-external-store: 1.2.0
dev: false
- /valtio/1.9.0_react@18.1.0:
- resolution: {integrity: sha512-mQLFsAlKbYascZygFQh6lXuDjU5WHLoeZ8He4HqMnWfasM96V6rDbeFkw1XeG54xycmDonr/Jb4xgviHtuySrA==}
- engines: {node: '>=12.20.0'}
- peerDependencies:
- react: '>=16.8'
- peerDependenciesMeta:
- react:
- optional: true
- dependencies:
- proxy-compare: 2.4.0
- react: 18.1.0
- use-sync-external-store: 1.2.0_react@18.1.0
- dev: false
-
/valtio/1.9.0_react@18.2.0:
resolution: {integrity: sha512-mQLFsAlKbYascZygFQh6lXuDjU5WHLoeZ8He4HqMnWfasM96V6rDbeFkw1XeG54xycmDonr/Jb4xgviHtuySrA==}
engines: {node: '>=12.20.0'}
@@ -20897,7 +21872,7 @@ packages:
dependencies:
'@rollup/pluginutils': 5.0.2
'@svgr/core': 6.5.1
- vite: 4.1.4_sass@1.57.1
+ vite: 4.1.4_ovmyjmuuyckt3r3gpaexj2onji
transitivePeerDependencies:
- rollup
- supports-color
@@ -21512,7 +22487,6 @@ packages:
/y18n/5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
- dev: true
/yallist/3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
@@ -21539,7 +22513,6 @@ packages:
/yargs-parser/21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
- dev: true
/yargs/15.4.1:
resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
@@ -21583,6 +22556,18 @@ packages:
yargs-parser: 21.1.1
dev: true
+ /yargs/17.7.1:
+ resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==}
+ engines: {node: '>=12'}
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.1.1
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+
/yauzl/2.10.0:
resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
dependencies:
@@ -21603,6 +22588,10 @@ packages:
resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==}
dev: false
+ /zod/3.21.4:
+ resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==}
+ dev: false
+
/zwitch/1.0.5:
resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
dev: true