diff --git a/.well-known/apple-app-site-association b/.well-known/apple-app-site-association
index 8318b394d778..cf6bdf1dedef 100644
--- a/.well-known/apple-app-site-association
+++ b/.well-known/apple-app-site-association
@@ -47,6 +47,18 @@
{
"/": "/concierge/*",
"comment": "Concierge"
+ },
+ {
+ "/": "/split/*",
+ "comment": "Split Bill"
+ },
+ {
+ "/": "/request/*",
+ "comment": "Request Money"
+ },
+ {
+ "/": "/new/*",
+ "comment": "New Chat"
}
]
}
diff --git a/android/app/build.gradle b/android/app/build.gradle
index ea0d6dc7eda1..3901138cd0e3 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -86,8 +86,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
- versionCode 1001035201
- versionName "1.3.52-1"
+ versionCode 1001035203
+ versionName "1.3.52-3"
}
signingConfigs {
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index b95d68c9c935..f7b50f62369c 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -63,6 +63,9 @@
+
+
+
@@ -75,6 +78,9 @@
+
+
+
diff --git a/assets/images/home-background--desktop.svg b/assets/images/home-background--desktop.svg
index 7241c46036c0..c577609efb3b 100644
--- a/assets/images/home-background--desktop.svg
+++ b/assets/images/home-background--desktop.svg
@@ -7,7 +7,6 @@
.st1{fill:#002E22;}
.st2{opacity:6.000000e-02;}
.st3{fill:#FFFFFF;filter:url(#Adobe_OpacityMaskFilter);}
- .st4{mask:url(#mask0_99_952_00000103247732053831977250000009833851118444907406_);}
.st5{fill:#5BE3AA;}
.st6{fill:url(#SVGID_00000106863037488919440930000003219570534563295640_);}
@@ -27,10 +26,7 @@
-
-
-
-
+
diff --git a/assets/images/money-stack.svg b/assets/images/money-stack.svg
new file mode 100644
index 000000000000..b9a93c76198c
--- /dev/null
+++ b/assets/images/money-stack.svg
@@ -0,0 +1,125 @@
+
diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist
index a698fadf2b5c..1ed003989e3c 100644
--- a/ios/NewExpensify/Info.plist
+++ b/ios/NewExpensify/Info.plist
@@ -32,7 +32,7 @@
CFBundleVersion
- 1.3.52.1
+ 1.3.52.3
ITSAppUsesNonExemptEncryption
LSApplicationQueriesSchemes
diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist
index 5e7ebd91f571..3ef54b01633e 100644
--- a/ios/NewExpensifyTests/Info.plist
+++ b/ios/NewExpensifyTests/Info.plist
@@ -19,6 +19,6 @@
CFBundleSignature
????
CFBundleVersion
- 1.3.52.1
+ 1.3.52.3
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 343828fc5595..a486465b0a29 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -23,14 +23,14 @@ PODS:
- boost (1.76.0)
- CocoaAsyncSocket (7.6.5)
- DoubleConversion (1.1.6)
- - FBLazyVector (0.72.1)
- - FBReactNativeSpec (0.72.1):
+ - FBLazyVector (0.72.3)
+ - FBReactNativeSpec (0.72.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTRequired (= 0.72.1)
- - RCTTypeSafety (= 0.72.1)
- - React-Core (= 0.72.1)
- - React-jsi (= 0.72.1)
- - ReactCommon/turbomodule/core (= 0.72.1)
+ - RCTRequired (= 0.72.3)
+ - RCTTypeSafety (= 0.72.3)
+ - React-Core (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - ReactCommon/turbomodule/core (= 0.72.3)
- Firebase/Analytics (8.8.0):
- Firebase/Core
- Firebase/Core (8.8.0):
@@ -204,9 +204,9 @@ PODS:
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (7.11.1):
- GoogleUtilities/Logger
- - hermes-engine (0.72.1):
- - hermes-engine/Pre-built (= 0.72.1)
- - hermes-engine/Pre-built (0.72.1)
+ - hermes-engine (0.72.3):
+ - hermes-engine/Pre-built (= 0.72.3)
+ - hermes-engine/Pre-built (0.72.3)
- libevent (2.1.12)
- libwebp (1.2.4):
- libwebp/demux (= 1.2.4)
@@ -258,26 +258,26 @@ PODS:
- fmt (~> 6.2.1)
- glog
- libevent
- - RCTRequired (0.72.1)
- - RCTTypeSafety (0.72.1):
- - FBLazyVector (= 0.72.1)
- - RCTRequired (= 0.72.1)
- - React-Core (= 0.72.1)
- - React (0.72.1):
- - React-Core (= 0.72.1)
- - React-Core/DevSupport (= 0.72.1)
- - React-Core/RCTWebSocket (= 0.72.1)
- - React-RCTActionSheet (= 0.72.1)
- - React-RCTAnimation (= 0.72.1)
- - React-RCTBlob (= 0.72.1)
- - React-RCTImage (= 0.72.1)
- - React-RCTLinking (= 0.72.1)
- - React-RCTNetwork (= 0.72.1)
- - React-RCTSettings (= 0.72.1)
- - React-RCTText (= 0.72.1)
- - React-RCTVibration (= 0.72.1)
- - React-callinvoker (0.72.1)
- - React-Codegen (0.72.1):
+ - RCTRequired (0.72.3)
+ - RCTTypeSafety (0.72.3):
+ - FBLazyVector (= 0.72.3)
+ - RCTRequired (= 0.72.3)
+ - React-Core (= 0.72.3)
+ - React (0.72.3):
+ - React-Core (= 0.72.3)
+ - React-Core/DevSupport (= 0.72.3)
+ - React-Core/RCTWebSocket (= 0.72.3)
+ - React-RCTActionSheet (= 0.72.3)
+ - React-RCTAnimation (= 0.72.3)
+ - React-RCTBlob (= 0.72.3)
+ - React-RCTImage (= 0.72.3)
+ - React-RCTLinking (= 0.72.3)
+ - React-RCTNetwork (= 0.72.3)
+ - React-RCTSettings (= 0.72.3)
+ - React-RCTText (= 0.72.3)
+ - React-RCTVibration (= 0.72.3)
+ - React-callinvoker (0.72.3)
+ - React-Codegen (0.72.3):
- DoubleConversion
- FBReactNativeSpec
- glog
@@ -292,11 +292,11 @@ PODS:
- React-rncore
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- - React-Core (0.72.1):
+ - React-Core (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-Core/Default (= 0.72.1)
+ - React-Core/Default (= 0.72.3)
- React-cxxreact
- React-hermes
- React-jsi
@@ -306,7 +306,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/CoreModulesHeaders (0.72.1):
+ - React-Core/CoreModulesHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -320,7 +320,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/Default (0.72.1):
+ - React-Core/Default (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -333,23 +333,23 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/DevSupport (0.72.1):
+ - React-Core/DevSupport (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-Core/Default (= 0.72.1)
- - React-Core/RCTWebSocket (= 0.72.1)
+ - React-Core/Default (= 0.72.3)
+ - React-Core/RCTWebSocket (= 0.72.3)
- React-cxxreact
- React-hermes
- React-jsi
- React-jsiexecutor
- - React-jsinspector (= 0.72.1)
+ - React-jsinspector (= 0.72.3)
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTActionSheetHeaders (0.72.1):
+ - React-Core/RCTActionSheetHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -363,7 +363,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTAnimationHeaders (0.72.1):
+ - React-Core/RCTAnimationHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -377,7 +377,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTBlobHeaders (0.72.1):
+ - React-Core/RCTBlobHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -391,7 +391,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTImageHeaders (0.72.1):
+ - React-Core/RCTImageHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -405,7 +405,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTLinkingHeaders (0.72.1):
+ - React-Core/RCTLinkingHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -419,7 +419,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTNetworkHeaders (0.72.1):
+ - React-Core/RCTNetworkHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -433,7 +433,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTSettingsHeaders (0.72.1):
+ - React-Core/RCTSettingsHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -447,7 +447,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTTextHeaders (0.72.1):
+ - React-Core/RCTTextHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -461,7 +461,7 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTVibrationHeaders (0.72.1):
+ - React-Core/RCTVibrationHeaders (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -475,11 +475,11 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-Core/RCTWebSocket (0.72.1):
+ - React-Core/RCTWebSocket (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-Core/Default (= 0.72.1)
+ - React-Core/Default (= 0.72.3)
- React-cxxreact
- React-hermes
- React-jsi
@@ -489,56 +489,57 @@ PODS:
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- - React-CoreModules (0.72.1):
+ - React-CoreModules (0.72.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.72.1)
- - React-Codegen (= 0.72.1)
- - React-Core/CoreModulesHeaders (= 0.72.1)
- - React-jsi (= 0.72.1)
+ - RCTTypeSafety (= 0.72.3)
+ - React-Codegen (= 0.72.3)
+ - React-Core/CoreModulesHeaders (= 0.72.3)
+ - React-jsi (= 0.72.3)
- React-RCTBlob
- - React-RCTImage (= 0.72.1)
- - ReactCommon/turbomodule/core (= 0.72.1)
+ - React-RCTImage (= 0.72.3)
+ - ReactCommon/turbomodule/core (= 0.72.3)
- SocketRocket (= 0.6.1)
- - React-cxxreact (0.72.1):
+ - React-cxxreact (0.72.3):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-callinvoker (= 0.72.1)
- - React-jsi (= 0.72.1)
- - React-jsinspector (= 0.72.1)
- - React-logger (= 0.72.1)
- - React-perflogger (= 0.72.1)
- - React-runtimeexecutor (= 0.72.1)
- - React-debug (0.72.1)
- - React-hermes (0.72.1):
+ - React-callinvoker (= 0.72.3)
+ - React-debug (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - React-jsinspector (= 0.72.3)
+ - React-logger (= 0.72.3)
+ - React-perflogger (= 0.72.3)
+ - React-runtimeexecutor (= 0.72.3)
+ - React-debug (0.72.3)
+ - React-hermes (0.72.3):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- RCT-Folly/Futures (= 2021.07.22.00)
- - React-cxxreact (= 0.72.1)
+ - React-cxxreact (= 0.72.3)
- React-jsi
- - React-jsiexecutor (= 0.72.1)
- - React-jsinspector (= 0.72.1)
- - React-perflogger (= 0.72.1)
- - React-jsi (0.72.1):
+ - React-jsiexecutor (= 0.72.3)
+ - React-jsinspector (= 0.72.3)
+ - React-perflogger (= 0.72.3)
+ - React-jsi (0.72.3):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-jsiexecutor (0.72.1):
+ - React-jsiexecutor (0.72.3):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-cxxreact (= 0.72.1)
- - React-jsi (= 0.72.1)
- - React-perflogger (= 0.72.1)
- - React-jsinspector (0.72.1)
- - React-logger (0.72.1):
+ - React-cxxreact (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - React-perflogger (= 0.72.3)
+ - React-jsinspector (0.72.3)
+ - React-logger (0.72.3):
- glog
- react-native-airship (15.2.6):
- AirshipFrameworkProxy (= 2.0.8)
@@ -588,7 +589,7 @@ PODS:
- React-Core
- react-native-webview (11.23.0):
- React-Core
- - React-NativeModulesApple (0.72.1):
+ - React-NativeModulesApple (0.72.3):
- hermes-engine
- React-callinvoker
- React-Core
@@ -597,17 +598,17 @@ PODS:
- React-runtimeexecutor
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- - React-perflogger (0.72.1)
- - React-RCTActionSheet (0.72.1):
- - React-Core/RCTActionSheetHeaders (= 0.72.1)
- - React-RCTAnimation (0.72.1):
+ - React-perflogger (0.72.3)
+ - React-RCTActionSheet (0.72.3):
+ - React-Core/RCTActionSheetHeaders (= 0.72.3)
+ - React-RCTAnimation (0.72.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.72.1)
- - React-Codegen (= 0.72.1)
- - React-Core/RCTAnimationHeaders (= 0.72.1)
- - React-jsi (= 0.72.1)
- - ReactCommon/turbomodule/core (= 0.72.1)
- - React-RCTAppDelegate (0.72.1):
+ - RCTTypeSafety (= 0.72.3)
+ - React-Codegen (= 0.72.3)
+ - React-Core/RCTAnimationHeaders (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - ReactCommon/turbomodule/core (= 0.72.3)
+ - React-RCTAppDelegate (0.72.3):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
@@ -619,54 +620,54 @@ PODS:
- React-RCTNetwork
- React-runtimescheduler
- ReactCommon/turbomodule/core
- - React-RCTBlob (0.72.1):
+ - React-RCTBlob (0.72.3):
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-Codegen (= 0.72.1)
- - React-Core/RCTBlobHeaders (= 0.72.1)
- - React-Core/RCTWebSocket (= 0.72.1)
- - React-jsi (= 0.72.1)
- - React-RCTNetwork (= 0.72.1)
- - ReactCommon/turbomodule/core (= 0.72.1)
- - React-RCTImage (0.72.1):
+ - React-Codegen (= 0.72.3)
+ - React-Core/RCTBlobHeaders (= 0.72.3)
+ - React-Core/RCTWebSocket (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - React-RCTNetwork (= 0.72.3)
+ - ReactCommon/turbomodule/core (= 0.72.3)
+ - React-RCTImage (0.72.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.72.1)
- - React-Codegen (= 0.72.1)
- - React-Core/RCTImageHeaders (= 0.72.1)
- - React-jsi (= 0.72.1)
- - React-RCTNetwork (= 0.72.1)
- - ReactCommon/turbomodule/core (= 0.72.1)
- - React-RCTLinking (0.72.1):
- - React-Codegen (= 0.72.1)
- - React-Core/RCTLinkingHeaders (= 0.72.1)
- - React-jsi (= 0.72.1)
- - ReactCommon/turbomodule/core (= 0.72.1)
- - React-RCTNetwork (0.72.1):
+ - RCTTypeSafety (= 0.72.3)
+ - React-Codegen (= 0.72.3)
+ - React-Core/RCTImageHeaders (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - React-RCTNetwork (= 0.72.3)
+ - ReactCommon/turbomodule/core (= 0.72.3)
+ - React-RCTLinking (0.72.3):
+ - React-Codegen (= 0.72.3)
+ - React-Core/RCTLinkingHeaders (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - ReactCommon/turbomodule/core (= 0.72.3)
+ - React-RCTNetwork (0.72.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.72.1)
- - React-Codegen (= 0.72.1)
- - React-Core/RCTNetworkHeaders (= 0.72.1)
- - React-jsi (= 0.72.1)
- - ReactCommon/turbomodule/core (= 0.72.1)
- - React-RCTSettings (0.72.1):
+ - RCTTypeSafety (= 0.72.3)
+ - React-Codegen (= 0.72.3)
+ - React-Core/RCTNetworkHeaders (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - ReactCommon/turbomodule/core (= 0.72.3)
+ - React-RCTSettings (0.72.3):
- RCT-Folly (= 2021.07.22.00)
- - RCTTypeSafety (= 0.72.1)
- - React-Codegen (= 0.72.1)
- - React-Core/RCTSettingsHeaders (= 0.72.1)
- - React-jsi (= 0.72.1)
- - ReactCommon/turbomodule/core (= 0.72.1)
- - React-RCTText (0.72.1):
- - React-Core/RCTTextHeaders (= 0.72.1)
- - React-RCTVibration (0.72.1):
+ - RCTTypeSafety (= 0.72.3)
+ - React-Codegen (= 0.72.3)
+ - React-Core/RCTSettingsHeaders (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - ReactCommon/turbomodule/core (= 0.72.3)
+ - React-RCTText (0.72.3):
+ - React-Core/RCTTextHeaders (= 0.72.3)
+ - React-RCTVibration (0.72.3):
- RCT-Folly (= 2021.07.22.00)
- - React-Codegen (= 0.72.1)
- - React-Core/RCTVibrationHeaders (= 0.72.1)
- - React-jsi (= 0.72.1)
- - ReactCommon/turbomodule/core (= 0.72.1)
- - React-rncore (0.72.1)
- - React-runtimeexecutor (0.72.1):
- - React-jsi (= 0.72.1)
- - React-runtimescheduler (0.72.1):
+ - React-Codegen (= 0.72.3)
+ - React-Core/RCTVibrationHeaders (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - ReactCommon/turbomodule/core (= 0.72.3)
+ - React-rncore (0.72.3)
+ - React-runtimeexecutor (0.72.3):
+ - React-jsi (= 0.72.3)
+ - React-runtimescheduler (0.72.3):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
@@ -674,30 +675,30 @@ PODS:
- React-debug
- React-jsi
- React-runtimeexecutor
- - React-utils (0.72.1):
+ - React-utils (0.72.3):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-debug
- - ReactCommon/turbomodule/bridging (0.72.1):
+ - ReactCommon/turbomodule/bridging (0.72.3):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-callinvoker (= 0.72.1)
- - React-cxxreact (= 0.72.1)
- - React-jsi (= 0.72.1)
- - React-logger (= 0.72.1)
- - React-perflogger (= 0.72.1)
- - ReactCommon/turbomodule/core (0.72.1):
+ - React-callinvoker (= 0.72.3)
+ - React-cxxreact (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - React-logger (= 0.72.3)
+ - React-perflogger (= 0.72.3)
+ - ReactCommon/turbomodule/core (0.72.3):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- - React-callinvoker (= 0.72.1)
- - React-cxxreact (= 0.72.1)
- - React-jsi (= 0.72.1)
- - React-logger (= 0.72.1)
- - React-perflogger (= 0.72.1)
+ - React-callinvoker (= 0.72.3)
+ - React-cxxreact (= 0.72.3)
+ - React-jsi (= 0.72.3)
+ - React-logger (= 0.72.3)
+ - React-perflogger (= 0.72.3)
- RNCAsyncStorage (1.17.11):
- React-Core
- RNCClipboard (1.5.1):
@@ -1116,8 +1117,8 @@ SPEC CHECKSUMS:
boost: 57d2868c099736d80fcd648bf211b4431e51a558
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
- FBLazyVector: 55cd4593d570bd9e5e227488d637ce6a9581ce51
- FBReactNativeSpec: 799b0e1a1561699cd0e424e24fe5624da38402f0
+ FBLazyVector: 4cce221dd782d3ff7c4172167bba09d58af67ccb
+ FBReactNativeSpec: c6bd9e179757b3c0ecf815864fae8032377903ef
Firebase: 629510f1a9ddb235f3a7c5c8ceb23ba887f0f814
FirebaseABTesting: 10cbce8db9985ae2e3847ea44e9947dd18f94e10
FirebaseAnalytics: 5506ea8b867d8423485a84b4cd612d279f7b0b8a
@@ -1140,7 +1141,7 @@ SPEC CHECKSUMS:
GoogleAppMeasurement: 5ba1164e3c844ba84272555e916d0a6d3d977e91
GoogleDataTransport: f0308f5905a745f94fb91fea9c6cbaf3831cb1bd
GoogleUtilities: 9aa0ad5a7bc171f8bae016300bfcfa3fb8425749
- hermes-engine: 9df83855a0fd15ef8eb61694652bae636b0c466e
+ hermes-engine: 10fbd3f62405c41ea07e71973ea61e1878d07322
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
lottie-ios: 8f97d3271e155c2d688875c29cd3c74908aef5f8
@@ -1156,20 +1157,20 @@ SPEC CHECKSUMS:
Plaid: 7d340abeadb46c7aa1a91f896c5b22395a31fcf2
PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
- RCTRequired: c52ee8fb2b35c1b54031dd8e92d88ad4dba8f2ce
- RCTTypeSafety: 75fa444becadf0ebfa0a456b8c64560c7c89c7df
- React: 3e5b3962f27b7334eaf5517a35b3434503df35ad
- React-callinvoker: c3a225610efe0caadac78da53b6fe78e53eb2b03
- React-Codegen: bba20685e5c1515f8ecb289bd9770835a1338125
- React-Core: 6f6564ea4c5fc118757c945b6359a36aaea86216
- React-CoreModules: ab635016811b610a93e873485f6f900ce0582192
- React-cxxreact: f82f0f1832606fabb9e8c9d61c4230704a3d2d2f
- React-debug: 8aa2bd54b0f0011049300ce3339b0e51254ef3b5
- React-hermes: f076cb5f7351d6cc1600125bef3259ea880460fb
- React-jsi: 9f381c8594161b2328b93cd3ba5d0bcfcd1e093a
- React-jsiexecutor: 184eae1ecdedc7a083194bd9ff809c93f08fd34c
- React-jsinspector: d0b5bfd1085599265f4212034321e829bdf83cc0
- React-logger: b8103c9b04e707b50cdd2b1aeb382483900cbb37
+ RCTRequired: a2faf4bad4e438ca37b2040cb8f7799baa065c18
+ RCTTypeSafety: cb09f3e4747b6d18331a15eb05271de7441ca0b3
+ React: 13109005b5353095c052f26af37413340ccf7a5d
+ React-callinvoker: c8c87bce983aa499c13cb06d4447c025a35274d6
+ React-Codegen: 712d523524d89d71f1cf7cc624854941be983c4d
+ React-Core: 688f88b7f3a3d30b4848036223f8b07102c687e5
+ React-CoreModules: 63c063a3ade8fb3b1bec5fd9a50f17b0421558c6
+ React-cxxreact: 37765b4975541105b2a3322a4b473417c158c869
+ React-debug: 51f11ef8db14b47f24e71c42a4916d4192972156
+ React-hermes: 935ae71fb3d7654e947beba8498835cd5e479707
+ React-jsi: ec628dc7a15ffea969f237b0ea6d2fde212b19dd
+ React-jsiexecutor: 59d1eb03af7d30b7d66589c410f13151271e8006
+ React-jsinspector: b511447170f561157547bc0bef3f169663860be7
+ React-logger: c5b527272d5f22eaa09bb3c3a690fee8f237ae95
react-native-airship: 5d19f4ba303481cf4101ff9dee9249ef6a8a6b64
react-native-blob-util: 99f4d79189252f597fe0d810c57a3733b1b1dea6
react-native-cameraroll: 8ffb0af7a5e5de225fd667610e2979fc1f0c2151
@@ -1189,23 +1190,23 @@ SPEC CHECKSUMS:
react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a
react-native-view-shot: 705f999ac2a24e4e6c909c0ca65c732ed33ca2ff
react-native-webview: e771bc375f789ebfa02a26939a57dbc6fa897336
- React-NativeModulesApple: 4f31a812364443cee6ef768d256c594ad3b20f53
- React-perflogger: 3d501f34c8d4b10cb75f348e43591765788525ad
- React-RCTActionSheet: f5335572c979198c0c3daff67b07bd1ad8370c1d
- React-RCTAnimation: 5d0d31a4f9c49a70f93f32e4da098fb49b5ae0b3
- React-RCTAppDelegate: 01ddbdeb01b7cefa932cb66a17299d60620e820d
- React-RCTBlob: 280d2605ba10b8f2282f1e8a849584368577251a
- React-RCTImage: e15d22db53406401cdd1407ce51080a66a9c7ed4
- React-RCTLinking: 39815800ec79d6fb15e6329244d195ebeabf7541
- React-RCTNetwork: 2a6548e13d2577b112d4250ac5be74ae62e1e86b
- React-RCTSettings: a76aee44d5398144646be146c334b15c90ad9582
- React-RCTText: afad390f3838f210c2bc9e1a19bb048003b2a771
- React-RCTVibration: 29bbaa5c57c02dc036d7e557584b492000b1d3e7
- React-rncore: 50966ce412d63bee9ffe5c98249857c23870a3c4
- React-runtimeexecutor: d129f2b53d61298093d7c7d8ebfafa664f911ce6
- React-runtimescheduler: 67707a955b9ecc628cc38bdc721fbc498910f0fd
- React-utils: 0a70ea97d4e2749f336b450c082905be1d389435
- ReactCommon: e593d19c9e271a6da4d0bd7f13b28cfeae5d164b
+ React-NativeModulesApple: c57f3efe0df288a6532b726ad2d0322a9bf38472
+ React-perflogger: 6bd153e776e6beed54c56b0847e1220a3ff92ba5
+ React-RCTActionSheet: c0b62af44e610e69d9a2049a682f5dba4e9dff17
+ React-RCTAnimation: f9bf9719258926aea9ecb8a2aa2595d3ff9a6022
+ React-RCTAppDelegate: e5ac35d4dbd1fae7df3a62b47db04b6a8d151592
+ React-RCTBlob: c4f1e69a6ef739aa42586b876d637dab4e3b5bed
+ React-RCTImage: e5798f01aba248416c02a506cf5e6dfcba827638
+ React-RCTLinking: f5b6227c879e33206f34e68924c458f57bbb96d9
+ React-RCTNetwork: d5554fbfac1c618da3c8fa29933108ea22837788
+ React-RCTSettings: 189c71e3e6146ba59f4f7e2cbeb494cf2ad42afa
+ React-RCTText: 19425aea9d8b6ccae55a27916355b17ab577e56e
+ React-RCTVibration: 388ac0e1455420895d1ca2548401eed964b038a6
+ React-rncore: 755a331dd67b74662108f2d66a384454bf8dc1a1
+ React-runtimeexecutor: 369ae9bb3f83b65201c0c8f7d50b72280b5a1dbc
+ React-runtimescheduler: 837c1bebd2f84572db17698cd702ceaf585b0d9a
+ React-utils: bcb57da67eec2711f8b353f6e3d33bd8e4b2efa3
+ ReactCommon: 3ccb8fb14e6b3277e38c73b0ff5e4a1b8db017a9
RNCAsyncStorage: 8616bd5a58af409453ea4e1b246521bb76578d60
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
RNCPicker: 0b65be85fe7954fbb2062ef079e3d1cde252d888
@@ -1229,7 +1230,7 @@ SPEC CHECKSUMS:
SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
VisionCamera: d3ec8883417a6a4a0e3a6ba37d81d22db7611601
- Yoga: 65286bb6a07edce5e4fe8c90774da977ae8fc009
+ Yoga: 8796b55dba14d7004f980b54bcc9833ee45b28ce
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
PODFILE CHECKSUM: bc8161c6bfffeec6e6eaf84be18de5041ddcacf6
diff --git a/package-lock.json b/package-lock.json
index d578897d2c39..f073177ade90 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "new.expensify",
- "version": "1.3.52-1",
+ "version": "1.3.52-3",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "new.expensify",
- "version": "1.3.52-1",
+ "version": "1.3.52-3",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
@@ -42,7 +42,7 @@
"date-fns-tz": "^2.0.0",
"dom-serializer": "^0.2.2",
"domhandler": "^4.3.0",
- "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#9940dd127c2d44809c98ee628a8057f08c93bfc9",
+ "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#b60e464ca23e452eacffb93d471abed977b9abf0",
"fbjs": "^3.0.2",
"htmlparser2": "^7.2.0",
"jest-when": "^3.5.2",
@@ -54,7 +54,7 @@
"moment": "^2.29.4",
"moment-timezone": "^0.5.31",
"onfido-sdk-ui": "13.1.0",
- "patch-package": "^8.0.0-canary.2",
+ "patch-package": "^8.0.0",
"process": "^0.11.10",
"prop-types": "^15.7.2",
"pusher-js": "7.4.0",
@@ -62,7 +62,7 @@
"react-collapse": "^5.1.0",
"react-content-loader": "^6.1.0",
"react-dom": "18.1.0",
- "react-native": "0.72.1",
+ "react-native": "0.72.3",
"react-native-blob-util": "^0.17.3",
"react-native-collapsible": "^1.6.0",
"react-native-config": "^1.4.5",
@@ -125,7 +125,7 @@
"@octokit/plugin-paginate-rest": "3.1.0",
"@octokit/plugin-throttling": "4.1.0",
"@react-native-community/eslint-config": "3.0.0",
- "@react-native/metro-config": "^0.72.7",
+ "@react-native/metro-config": "^0.72.9",
"@react-navigation/devtools": "^6.0.10",
"@storybook/addon-a11y": "^6.5.9",
"@storybook/addon-essentials": "^7.0.0",
@@ -143,7 +143,6 @@
"@types/jest-when": "^3.5.2",
"@types/js-yaml": "^4.0.5",
"@types/lodash": "^4.14.195",
- "@types/metro-config": "^0.76.3",
"@types/mock-fs": "^4.13.1",
"@types/pusher-js": "^5.1.0",
"@types/react": "^18.2.12",
@@ -191,7 +190,7 @@
"jest-circus": "29.4.1",
"jest-cli": "29.4.1",
"jest-environment-jsdom": "^29.4.1",
- "metro-react-native-babel-preset": "0.76.5",
+ "metro-react-native-babel-preset": "0.76.7",
"mock-fs": "^4.13.0",
"onchange": "^7.1.0",
"portfinder": "^1.0.28",
@@ -6694,19 +6693,19 @@
}
},
"node_modules/@react-native-community/cli": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.3.tgz",
- "integrity": "sha512-+XwD9IEtaff0q8hyWTQL4xVc7V4P8B7zD0zpcEV8FVV+qUfIFMbNpaYNJFlNOFYRzZmo0/hXsa66S/Im5perlQ==",
- "dependencies": {
- "@react-native-community/cli-clean": "11.3.3",
- "@react-native-community/cli-config": "11.3.3",
- "@react-native-community/cli-debugger-ui": "11.3.3",
- "@react-native-community/cli-doctor": "11.3.3",
- "@react-native-community/cli-hermes": "11.3.3",
- "@react-native-community/cli-plugin-metro": "11.3.3",
- "@react-native-community/cli-server-api": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
- "@react-native-community/cli-types": "11.3.3",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.5.tgz",
+ "integrity": "sha512-wMXgKEWe6uesw7vyXKKjx5EDRog0QdXHxdgRguG14AjQRao1+4gXEWq2yyExOTi/GDY6dfJBUGTCwGQxhnk/Lg==",
+ "dependencies": {
+ "@react-native-community/cli-clean": "11.3.5",
+ "@react-native-community/cli-config": "11.3.5",
+ "@react-native-community/cli-debugger-ui": "11.3.5",
+ "@react-native-community/cli-doctor": "11.3.5",
+ "@react-native-community/cli-hermes": "11.3.5",
+ "@react-native-community/cli-plugin-metro": "11.3.5",
+ "@react-native-community/cli-server-api": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
+ "@react-native-community/cli-types": "11.3.5",
"chalk": "^4.1.2",
"commander": "^9.4.1",
"execa": "^5.0.0",
@@ -6724,11 +6723,11 @@
}
},
"node_modules/@react-native-community/cli-clean": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.3.tgz",
- "integrity": "sha512-5csu0Z2wNkLRZs4AxA+5UVtOdyGqdjZ9DEPccePlkN9IXEHTia2GdDuWZVVnlC50Ab3eTaGDKvFzy9QONHQusw==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.5.tgz",
+ "integrity": "sha512-1+7BU962wKkIkHRp/uW3jYbQKKGtU7L+R3g59D8K6uLccuxJYUBJv18753ojMa6SD3SAq5Xh31bAre+YwVcOTA==",
"dependencies": {
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"execa": "^5.0.0",
"prompts": "^2.4.0"
@@ -6799,11 +6798,11 @@
}
},
"node_modules/@react-native-community/cli-config": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.3.tgz",
- "integrity": "sha512-j87RHJlybNHD1mYSkHnWA4qLkEO6qVn0+sREZGdQ6gVmOzxvLzvEB+YMoNEEqFGmPiyt3WTMLgi7jUr6WVoKuQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.5.tgz",
+ "integrity": "sha512-fMblIsHlUleKfGsgWyjFJYfx1SqrsnhS/QXfA8w7iT6GrNOOjBp5UWx8+xlMDFcmOb9e42g1ExFDKl3n8FWkxQ==",
"dependencies": {
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"cosmiconfig": "^5.1.0",
"deepmerge": "^4.3.0",
@@ -6922,22 +6921,22 @@
}
},
"node_modules/@react-native-community/cli-debugger-ui": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.3.tgz",
- "integrity": "sha512-iVKcwyK2iKlq/qVtSbhk5fGsrOamAx7j50QhDMrZ6NmYZq+k75k253+YTzXoxWdPPZhsdhmILuBJgf8orIYCPQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.5.tgz",
+ "integrity": "sha512-o5JVCKEpPUXMX4r3p1cYjiy3FgdOEkezZcQ6owWEae2dYvV19lLYyJwnocm9Y7aG9PvpgI3PIMVh3KZbhS21eA==",
"dependencies": {
"serve-static": "^1.13.1"
}
},
"node_modules/@react-native-community/cli-doctor": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.3.tgz",
- "integrity": "sha512-11MlCYZkZ602lmoxZUM6FZYjqFgyYci0X0QoBgBHi+3hqmrlA9JkYR/6OpPo34ASVObhE4DQ7eZ1+EQnVJHXsA==",
- "dependencies": {
- "@react-native-community/cli-config": "11.3.3",
- "@react-native-community/cli-platform-android": "11.3.3",
- "@react-native-community/cli-platform-ios": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.5.tgz",
+ "integrity": "sha512-+4BuFHjoV4FFjX5y60l0s6nS0agidb1izTVwsFixeFKW73LUkOLu+Ae5HI94RAFEPE4ePEVNgYX3FynIau6K0g==",
+ "dependencies": {
+ "@react-native-community/cli-config": "11.3.5",
+ "@react-native-community/cli-platform-android": "11.3.5",
+ "@react-native-community/cli-platform-ios": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"command-exists": "^1.2.8",
"envinfo": "^7.7.2",
@@ -7013,9 +7012,9 @@
"integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg=="
},
"node_modules/@react-native-community/cli-doctor/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -7051,12 +7050,12 @@
}
},
"node_modules/@react-native-community/cli-hermes": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.3.tgz",
- "integrity": "sha512-IoBLspPg4EwKwYj+5Ki4xrGUz7vVeE9soULCXJij2IKB68U63WmjG42+ng96+ryJDaQqERqF7NGll1jqnenJYQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.5.tgz",
+ "integrity": "sha512-+3m34hiaJpFel8BlJE7kJOaPzWR/8U8APZG2LXojbAdBAg99EGmQcwXIgsSVJFvH8h/nezf4DHbsPKigIe33zA==",
"dependencies": {
- "@react-native-community/cli-platform-android": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-platform-android": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"hermes-profile-transformer": "^0.0.6",
"ip": "^1.1.5"
@@ -7132,11 +7131,11 @@
}
},
"node_modules/@react-native-community/cli-platform-android": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.3.tgz",
- "integrity": "sha512-hjkPTJXKw2PZNKdeZZ1I4Mv2gRbPOfZmpgRVXtDwEP4cXZUGTDP54lBhFnC+8KxiKJBWJ/m4wYyC3ZqX87M2jg==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.5.tgz",
+ "integrity": "sha512-s4Lj7FKxJ/BofGi/ifjPfrA9MjFwIgYpHnHBSlqtbsvPoSYzmVCU2qlWM8fb3AmkXIwyYt4A6MEr3MmNT2UoBg==",
"dependencies": {
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"execa": "^5.0.0",
"glob": "^7.1.3",
@@ -7208,11 +7207,11 @@
}
},
"node_modules/@react-native-community/cli-platform-ios": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.3.tgz",
- "integrity": "sha512-mFdZjOaPCQy3y4DoMdA5l5/zVXtvsi8pbJFTV7ms7avNShuqqvue/Fm4wmiccZd0Zfi5p9TOP3Bh9Aw/jC+UAQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.5.tgz",
+ "integrity": "sha512-ytJC/YCFD7P+KuQHOT5Jzh1ho2XbJEjq71yHa1gJP2PG/Q/uB4h1x2XpxDqv5iXU6E250yjvKMmkReKTW4CTig==",
"dependencies": {
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"execa": "^5.0.0",
"fast-xml-parser": "^4.0.12",
@@ -7285,29 +7284,29 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.3.tgz",
- "integrity": "sha512-jbutvKqjIUTIuSK6mGmVt+x/MygLAIG6VNIwbywFtY+P4CCxUxo8o8h3O2cPRB2xeg9qikksm3Wys7fME4Ly+A==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.5.tgz",
+ "integrity": "sha512-r9AekfeLKdblB7LfWB71IrNy1XM03WrByQlUQajUOZAP2NmUUBLl9pMZscPjJeOSgLpHB9ixEFTIOhTabri/qg==",
"dependencies": {
- "@react-native-community/cli-server-api": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-server-api": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"execa": "^5.0.0",
- "metro": "0.76.5",
- "metro-config": "0.76.5",
- "metro-core": "0.76.5",
- "metro-react-native-babel-transformer": "0.76.5",
- "metro-resolver": "0.76.5",
- "metro-runtime": "0.76.5",
+ "metro": "0.76.7",
+ "metro-config": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-react-native-babel-transformer": "0.76.7",
+ "metro-resolver": "0.76.7",
+ "metro-runtime": "0.76.7",
"readline": "^1.3.0"
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/@jest/types": {
- "version": "29.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz",
- "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==",
+ "version": "29.6.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz",
+ "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==",
"dependencies": {
- "@jest/schemas": "^29.4.3",
+ "@jest/schemas": "^29.6.0",
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
"@types/node": "*",
@@ -7419,6 +7418,19 @@
"node": ">=8"
}
},
+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/hermes-estree": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz",
+ "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw=="
+ },
+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/hermes-parser": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz",
+ "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==",
+ "dependencies": {
+ "hermes-estree": "0.12.0"
+ }
+ },
"node_modules/@react-native-community/cli-plugin-metro/node_modules/image-size": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz",
@@ -7515,16 +7527,16 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-validate": {
- "version": "29.5.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz",
- "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz",
+ "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==",
"dependencies": {
- "@jest/types": "^29.5.0",
+ "@jest/types": "^29.6.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
"jest-get-type": "^29.4.3",
"leven": "^3.1.0",
- "pretty-format": "^29.5.0"
+ "pretty-format": "^29.6.2"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -7558,9 +7570,9 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.5.tgz",
- "integrity": "sha512-aEQiqNFibfx4ajUXm7Xatsv43r/UQ0xE53T3XqgZBzsxhF235tf1cl8t0giawi0RbLtDS+Fu4kg2bVBKDYFy7A==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz",
+ "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==",
"dependencies": {
"@babel/code-frame": "^7.0.0",
"@babel/core": "^7.20.0",
@@ -7578,28 +7590,28 @@
"denodeify": "^1.2.1",
"error-stack-parser": "^2.0.6",
"graceful-fs": "^4.2.4",
- "hermes-parser": "0.8.0",
+ "hermes-parser": "0.12.0",
"image-size": "^1.0.2",
"invariant": "^2.2.4",
"jest-worker": "^27.2.0",
"jsc-safe-url": "^0.2.2",
"lodash.throttle": "^4.1.1",
- "metro-babel-transformer": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-cache-key": "0.76.5",
- "metro-config": "0.76.5",
- "metro-core": "0.76.5",
- "metro-file-map": "0.76.5",
- "metro-inspector-proxy": "0.76.5",
- "metro-minify-terser": "0.76.5",
- "metro-minify-uglify": "0.76.5",
- "metro-react-native-babel-preset": "0.76.5",
- "metro-resolver": "0.76.5",
- "metro-runtime": "0.76.5",
- "metro-source-map": "0.76.5",
- "metro-symbolicate": "0.76.5",
- "metro-transform-plugins": "0.76.5",
- "metro-transform-worker": "0.76.5",
+ "metro-babel-transformer": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-cache-key": "0.76.7",
+ "metro-config": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-file-map": "0.76.7",
+ "metro-inspector-proxy": "0.76.7",
+ "metro-minify-terser": "0.76.7",
+ "metro-minify-uglify": "0.76.7",
+ "metro-react-native-babel-preset": "0.76.7",
+ "metro-resolver": "0.76.7",
+ "metro-runtime": "0.76.7",
+ "metro-source-map": "0.76.7",
+ "metro-symbolicate": "0.76.7",
+ "metro-transform-plugins": "0.76.7",
+ "metro-transform-worker": "0.76.7",
"mime-types": "^2.1.27",
"node-fetch": "^2.2.0",
"nullthrows": "^1.1.1",
@@ -7619,13 +7631,12 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-babel-transformer": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.5.tgz",
- "integrity": "sha512-KmsMXY6VHjPLRQLwTITjLo//7ih8Ts39HPF2zODkaYav/ZLNq0QP7eGuW54dvk/sZiL9le1kaBwTN4BWQI1VZQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz",
+ "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==",
"dependencies": {
"@babel/core": "^7.20.0",
- "hermes-parser": "0.8.0",
- "metro-source-map": "0.76.5",
+ "hermes-parser": "0.12.0",
"nullthrows": "^1.1.1"
},
"engines": {
@@ -7633,11 +7644,11 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.5.tgz",
- "integrity": "sha512-8XalhoMNWDK6bi41oqxIpecTYRt4WsmtoHdqshgJIYshJ6qov0NuDw0pOfnS8rgMNHxPpuWyXc7NyKERqVRzaw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz",
+ "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==",
"dependencies": {
- "metro-core": "0.76.5",
+ "metro-core": "0.76.7",
"rimraf": "^3.0.2"
},
"engines": {
@@ -7645,45 +7656,46 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache-key": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.5.tgz",
- "integrity": "sha512-QERX6ejYMt4BPr0ZMf7adnrOivmFSUbCim9FlU6cAeWUib+pV5P/Ph3KicWnOzJpbQz93+tHHG7vcsP6OrvLMw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz",
+ "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==",
"engines": {
"node": ">=16"
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-config": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.5.tgz",
- "integrity": "sha512-SCMVIDOtm8s3H62E9z2IcY4Q9GVMqDurbiJS3PHrWgTZjwZFaL59lrW4W6DvzvFZHa9bbxKric5TFtwvVuyOCg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz",
+ "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==",
"dependencies": {
+ "connect": "^3.6.5",
"cosmiconfig": "^5.0.5",
"jest-validate": "^29.2.1",
- "metro": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-core": "0.76.5",
- "metro-runtime": "0.76.5"
+ "metro": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-runtime": "0.76.7"
},
"engines": {
"node": ">=16"
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-core": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.5.tgz",
- "integrity": "sha512-yJvIe8a3sAG92U7+E7Bw6m4lae9RB180fp9iQZFBqY437Ilv4nE6PR8EWB6d8c4yt9fXIL1Hc+KyQv7OPFx/rQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz",
+ "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==",
"dependencies": {
"lodash.throttle": "^4.1.1",
- "metro-resolver": "0.76.5"
+ "metro-resolver": "0.76.7"
},
"engines": {
"node": ">=16"
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-file-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.5.tgz",
- "integrity": "sha512-9VS7zsec7BpTb+0v1DObOXso6XU/7oVBObQWp0EWBQpFcU1iF1lit2nnLQh2AyGCnSr8JVnuUe8gXhNH6xtPMg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz",
+ "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==",
"dependencies": {
"anymatch": "^3.0.3",
"debug": "^2.2.0",
@@ -7706,9 +7718,9 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-inspector-proxy": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.5.tgz",
- "integrity": "sha512-leqwei1qNMKOEbhqlQ37K+7OIp1JRgvS5qERO+J0ZTg7ZeJTaBHSFU7FnCeRHB9Tu7/FSfypY2PxjydZDwvUEQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz",
+ "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==",
"dependencies": {
"connect": "^3.6.5",
"debug": "^2.2.0",
@@ -7724,9 +7736,9 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-uglify": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.5.tgz",
- "integrity": "sha512-JZNO5eK8r625/cheWSl+y7n0RlHLt03iSMgXPAxirH8BiFqPzs7h+c57r4AvSs793VXcF7L3sI1sAOj+nRqTeg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz",
+ "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==",
"dependencies": {
"uglify-es": "^3.1.9"
},
@@ -7735,17 +7747,17 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-resolver": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.5.tgz",
- "integrity": "sha512-QNsbDdf0xL1HefP6fhh1g3umqiX1qWEuCiBaTFroYRqM7u7RATt8mCu4n/FwSYhATuUUujHTIb2EduuQPbSGRQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz",
+ "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==",
"engines": {
"node": ">=16"
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.5.tgz",
- "integrity": "sha512-1JAf9/v/NDHLhoTfiJ0n25G6dRkX7mjTkaMJ6UUXIyfIuSucoK5yAuOBx8OveNIekoLRjmyvSmyN5ojEeRmpvQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz",
+ "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==",
"dependencies": {
"@babel/runtime": "^7.0.0",
"react-refresh": "^0.4.0"
@@ -7755,16 +7767,16 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-source-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.5.tgz",
- "integrity": "sha512-1EhYPcoftONlvnOzgos7daE8hsJKOgSN3nD3Xf/yaY1F0aLeGeuWfpiNLLeFDNyUhfObHSuNxNhDQF/x1GFEbw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz",
+ "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==",
"dependencies": {
"@babel/traverse": "^7.20.0",
"@babel/types": "^7.20.0",
"invariant": "^2.2.4",
- "metro-symbolicate": "0.76.5",
+ "metro-symbolicate": "0.76.7",
"nullthrows": "^1.1.1",
- "ob1": "0.76.5",
+ "ob1": "0.76.7",
"source-map": "^0.5.6",
"vlq": "^1.0.0"
},
@@ -7773,12 +7785,12 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-symbolicate": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.5.tgz",
- "integrity": "sha512-7iftzh6G6HO4UDBmjsi2Yu4d6IkApv6Kg+jmBvkTjCXr8HwnKKum89gMg/FRMix+Rhhut0dnMpz6mAbtKTU9JQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz",
+ "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==",
"dependencies": {
"invariant": "^2.2.4",
- "metro-source-map": "0.76.5",
+ "metro-source-map": "0.76.7",
"nullthrows": "^1.1.1",
"source-map": "^0.5.6",
"through2": "^2.0.1",
@@ -7792,9 +7804,9 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-plugins": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.5.tgz",
- "integrity": "sha512-7pJ24aRuvzdQYpX/eOyodr4fnwVJP5ArNLBE1d0DOU9sQxsGplOORDTGAqw2L01+UgaSJiiwEoFMw7Z91HAS+Q==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz",
+ "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==",
"dependencies": {
"@babel/core": "^7.20.0",
"@babel/generator": "^7.20.0",
@@ -7807,21 +7819,21 @@
}
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-worker": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.5.tgz",
- "integrity": "sha512-xN6Kb06o9u5A7M1bbl7oPfQFmt4Kmi3CMXp5j9OcK37AFc+u6YXH8x/6e9b3Cq50rlBYuCXDOOYAWI5/tYNt2w==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz",
+ "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==",
"dependencies": {
"@babel/core": "^7.20.0",
"@babel/generator": "^7.20.0",
"@babel/parser": "^7.20.0",
"@babel/types": "^7.20.0",
"babel-preset-fbjs": "^3.4.0",
- "metro": "0.76.5",
- "metro-babel-transformer": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-cache-key": "0.76.5",
- "metro-source-map": "0.76.5",
- "metro-transform-plugins": "0.76.5",
+ "metro": "0.76.7",
+ "metro-babel-transformer": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-cache-key": "0.76.7",
+ "metro-source-map": "0.76.7",
+ "metro-transform-plugins": "0.76.7",
"nullthrows": "^1.1.1"
},
"engines": {
@@ -7834,9 +7846,9 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/@react-native-community/cli-plugin-metro/node_modules/ob1": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.5.tgz",
- "integrity": "sha512-HoxZXMXNuY/eIXGoX7gx1C4O3eB4kJJMola6KoFaMm7PGGg39+AnhbgMASYVmSvP2lwU3545NyiR63g8J9PW3w==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz",
+ "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==",
"engines": {
"node": ">=16"
}
@@ -7950,12 +7962,12 @@
}
},
"node_modules/@react-native-community/cli-server-api": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.3.tgz",
- "integrity": "sha512-3ja7WZzXMCeGTaeWLzKxAoueqLjsuo0YURcAjqf044rkY5F1Xk5yIaTN8fb66Lnl2eB3DwuatqEB4dYl34/GZw==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.5.tgz",
+ "integrity": "sha512-PM/jF13uD1eAKuC84lntNuM5ZvJAtyb+H896P1dBIXa9boPLa3KejfUvNVoyOUJ5s8Ht25JKbc3yieV2+GMBDA==",
"dependencies": {
- "@react-native-community/cli-debugger-ui": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-debugger-ui": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
"compression": "^1.7.1",
"connect": "^3.6.5",
"errorhandler": "^1.5.1",
@@ -8043,9 +8055,9 @@
}
},
"node_modules/@react-native-community/cli-tools": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.3.tgz",
- "integrity": "sha512-rRFSOAVVwI9R9PyPMff5WqmHbgJYrzGHFH1PA+tFvuiSmWlAf51bzkZIPehTBAQON03a6d5epNsGlBKMLA/BKw==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.5.tgz",
+ "integrity": "sha512-zDklE1+ah/zL4BLxut5XbzqCj9KTHzbYBKX7//cXw2/0TpkNCaY9c+iKx//gZ5m7U1OKbb86Fm2b0AKtKVRf6Q==",
"dependencies": {
"appdirsjs": "^1.2.4",
"chalk": "^4.1.2",
@@ -8131,9 +8143,9 @@
}
},
"node_modules/@react-native-community/cli-tools/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -8150,9 +8162,9 @@
}
},
"node_modules/@react-native-community/cli-types": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.3.tgz",
- "integrity": "sha512-/u7N93ZUsKAGv3WSGAjKhpK2uCPBkyaw/SuScjHAuL9ifPjvwDhi71K5NbCcYl3ZYh5K39EF3Hm664Jfk9c0MQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.5.tgz",
+ "integrity": "sha512-pf0kdWMEfPSV/+8rcViDCFzbLMtWIHMZ8ay7hKwqaoWegsJ0oprSF2tSTH+LSC/7X1Beb9ssIvHj1m5C4es5Xg==",
"dependencies": {
"joi": "^17.2.1"
}
@@ -8296,9 +8308,9 @@
}
},
"node_modules/@react-native-community/cli/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
"bin": {
"semver": "bin/semver.js"
}
@@ -8534,24 +8546,24 @@
"license": "MIT"
},
"node_modules/@react-native/metro-config": {
- "version": "0.72.7",
- "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.7.tgz",
- "integrity": "sha512-v+RhvCcMzAUZOibBJQ0na6Ah/HEloGrOPGJmxhdwlxGp05L7ejfu/gPghKeYEx35nlp519YSLiOlO4VW4dI5+g==",
+ "version": "0.72.9",
+ "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.9.tgz",
+ "integrity": "sha512-5MGmyDnXPeprRuvgPGE4LZ+e+ovofSd5YY6nFDwg6wbjRGOkeCRRlaTlQT+fjmv+zr4vYG+MUTKBlaO+fui/vA==",
"dev": true,
"dependencies": {
"@react-native/js-polyfills": "^0.72.1",
- "metro-config": "0.76.5",
- "metro-react-native-babel-transformer": "0.76.5",
- "metro-runtime": "0.76.5"
+ "metro-config": "0.76.7",
+ "metro-react-native-babel-transformer": "0.76.7",
+ "metro-runtime": "0.76.7"
}
},
"node_modules/@react-native/metro-config/node_modules/@jest/types": {
- "version": "29.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz",
- "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==",
+ "version": "29.6.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz",
+ "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==",
"dev": true,
"dependencies": {
- "@jest/schemas": "^29.4.3",
+ "@jest/schemas": "^29.6.0",
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
"@types/node": "*",
@@ -8673,6 +8685,21 @@
"node": ">=8"
}
},
+ "node_modules/@react-native/metro-config/node_modules/hermes-estree": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz",
+ "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==",
+ "dev": true
+ },
+ "node_modules/@react-native/metro-config/node_modules/hermes-parser": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz",
+ "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==",
+ "dev": true,
+ "dependencies": {
+ "hermes-estree": "0.12.0"
+ }
+ },
"node_modules/@react-native/metro-config/node_modules/image-size": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz",
@@ -8777,17 +8804,17 @@
}
},
"node_modules/@react-native/metro-config/node_modules/jest-validate": {
- "version": "29.5.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz",
- "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz",
+ "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==",
"dev": true,
"dependencies": {
- "@jest/types": "^29.5.0",
+ "@jest/types": "^29.6.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
"jest-get-type": "^29.4.3",
"leven": "^3.1.0",
- "pretty-format": "^29.5.0"
+ "pretty-format": "^29.6.2"
},
"engines": {
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -8823,9 +8850,9 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.5.tgz",
- "integrity": "sha512-aEQiqNFibfx4ajUXm7Xatsv43r/UQ0xE53T3XqgZBzsxhF235tf1cl8t0giawi0RbLtDS+Fu4kg2bVBKDYFy7A==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz",
+ "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.0.0",
@@ -8844,28 +8871,28 @@
"denodeify": "^1.2.1",
"error-stack-parser": "^2.0.6",
"graceful-fs": "^4.2.4",
- "hermes-parser": "0.8.0",
+ "hermes-parser": "0.12.0",
"image-size": "^1.0.2",
"invariant": "^2.2.4",
"jest-worker": "^27.2.0",
"jsc-safe-url": "^0.2.2",
"lodash.throttle": "^4.1.1",
- "metro-babel-transformer": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-cache-key": "0.76.5",
- "metro-config": "0.76.5",
- "metro-core": "0.76.5",
- "metro-file-map": "0.76.5",
- "metro-inspector-proxy": "0.76.5",
- "metro-minify-terser": "0.76.5",
- "metro-minify-uglify": "0.76.5",
- "metro-react-native-babel-preset": "0.76.5",
- "metro-resolver": "0.76.5",
- "metro-runtime": "0.76.5",
- "metro-source-map": "0.76.5",
- "metro-symbolicate": "0.76.5",
- "metro-transform-plugins": "0.76.5",
- "metro-transform-worker": "0.76.5",
+ "metro-babel-transformer": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-cache-key": "0.76.7",
+ "metro-config": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-file-map": "0.76.7",
+ "metro-inspector-proxy": "0.76.7",
+ "metro-minify-terser": "0.76.7",
+ "metro-minify-uglify": "0.76.7",
+ "metro-react-native-babel-preset": "0.76.7",
+ "metro-resolver": "0.76.7",
+ "metro-runtime": "0.76.7",
+ "metro-source-map": "0.76.7",
+ "metro-symbolicate": "0.76.7",
+ "metro-transform-plugins": "0.76.7",
+ "metro-transform-worker": "0.76.7",
"mime-types": "^2.1.27",
"node-fetch": "^2.2.0",
"nullthrows": "^1.1.1",
@@ -8885,14 +8912,13 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-babel-transformer": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.5.tgz",
- "integrity": "sha512-KmsMXY6VHjPLRQLwTITjLo//7ih8Ts39HPF2zODkaYav/ZLNq0QP7eGuW54dvk/sZiL9le1kaBwTN4BWQI1VZQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz",
+ "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==",
"dev": true,
"dependencies": {
"@babel/core": "^7.20.0",
- "hermes-parser": "0.8.0",
- "metro-source-map": "0.76.5",
+ "hermes-parser": "0.12.0",
"nullthrows": "^1.1.1"
},
"engines": {
@@ -8900,12 +8926,12 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-cache": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.5.tgz",
- "integrity": "sha512-8XalhoMNWDK6bi41oqxIpecTYRt4WsmtoHdqshgJIYshJ6qov0NuDw0pOfnS8rgMNHxPpuWyXc7NyKERqVRzaw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz",
+ "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==",
"dev": true,
"dependencies": {
- "metro-core": "0.76.5",
+ "metro-core": "0.76.7",
"rimraf": "^3.0.2"
},
"engines": {
@@ -8913,48 +8939,49 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-cache-key": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.5.tgz",
- "integrity": "sha512-QERX6ejYMt4BPr0ZMf7adnrOivmFSUbCim9FlU6cAeWUib+pV5P/Ph3KicWnOzJpbQz93+tHHG7vcsP6OrvLMw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz",
+ "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==",
"dev": true,
"engines": {
"node": ">=16"
}
},
"node_modules/@react-native/metro-config/node_modules/metro-config": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.5.tgz",
- "integrity": "sha512-SCMVIDOtm8s3H62E9z2IcY4Q9GVMqDurbiJS3PHrWgTZjwZFaL59lrW4W6DvzvFZHa9bbxKric5TFtwvVuyOCg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz",
+ "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==",
"dev": true,
"dependencies": {
+ "connect": "^3.6.5",
"cosmiconfig": "^5.0.5",
"jest-validate": "^29.2.1",
- "metro": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-core": "0.76.5",
- "metro-runtime": "0.76.5"
+ "metro": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-runtime": "0.76.7"
},
"engines": {
"node": ">=16"
}
},
"node_modules/@react-native/metro-config/node_modules/metro-core": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.5.tgz",
- "integrity": "sha512-yJvIe8a3sAG92U7+E7Bw6m4lae9RB180fp9iQZFBqY437Ilv4nE6PR8EWB6d8c4yt9fXIL1Hc+KyQv7OPFx/rQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz",
+ "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==",
"dev": true,
"dependencies": {
"lodash.throttle": "^4.1.1",
- "metro-resolver": "0.76.5"
+ "metro-resolver": "0.76.7"
},
"engines": {
"node": ">=16"
}
},
"node_modules/@react-native/metro-config/node_modules/metro-file-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.5.tgz",
- "integrity": "sha512-9VS7zsec7BpTb+0v1DObOXso6XU/7oVBObQWp0EWBQpFcU1iF1lit2nnLQh2AyGCnSr8JVnuUe8gXhNH6xtPMg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz",
+ "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==",
"dev": true,
"dependencies": {
"anymatch": "^3.0.3",
@@ -8978,9 +9005,9 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-inspector-proxy": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.5.tgz",
- "integrity": "sha512-leqwei1qNMKOEbhqlQ37K+7OIp1JRgvS5qERO+J0ZTg7ZeJTaBHSFU7FnCeRHB9Tu7/FSfypY2PxjydZDwvUEQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz",
+ "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==",
"dev": true,
"dependencies": {
"connect": "^3.6.5",
@@ -8997,9 +9024,9 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-minify-uglify": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.5.tgz",
- "integrity": "sha512-JZNO5eK8r625/cheWSl+y7n0RlHLt03iSMgXPAxirH8BiFqPzs7h+c57r4AvSs793VXcF7L3sI1sAOj+nRqTeg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz",
+ "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==",
"dev": true,
"dependencies": {
"uglify-es": "^3.1.9"
@@ -9009,18 +9036,18 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-resolver": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.5.tgz",
- "integrity": "sha512-QNsbDdf0xL1HefP6fhh1g3umqiX1qWEuCiBaTFroYRqM7u7RATt8mCu4n/FwSYhATuUUujHTIb2EduuQPbSGRQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz",
+ "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==",
"dev": true,
"engines": {
"node": ">=16"
}
},
"node_modules/@react-native/metro-config/node_modules/metro-runtime": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.5.tgz",
- "integrity": "sha512-1JAf9/v/NDHLhoTfiJ0n25G6dRkX7mjTkaMJ6UUXIyfIuSucoK5yAuOBx8OveNIekoLRjmyvSmyN5ojEeRmpvQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz",
+ "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.0.0",
@@ -9031,17 +9058,17 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-source-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.5.tgz",
- "integrity": "sha512-1EhYPcoftONlvnOzgos7daE8hsJKOgSN3nD3Xf/yaY1F0aLeGeuWfpiNLLeFDNyUhfObHSuNxNhDQF/x1GFEbw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz",
+ "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==",
"dev": true,
"dependencies": {
"@babel/traverse": "^7.20.0",
"@babel/types": "^7.20.0",
"invariant": "^2.2.4",
- "metro-symbolicate": "0.76.5",
+ "metro-symbolicate": "0.76.7",
"nullthrows": "^1.1.1",
- "ob1": "0.76.5",
+ "ob1": "0.76.7",
"source-map": "^0.5.6",
"vlq": "^1.0.0"
},
@@ -9050,13 +9077,13 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-symbolicate": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.5.tgz",
- "integrity": "sha512-7iftzh6G6HO4UDBmjsi2Yu4d6IkApv6Kg+jmBvkTjCXr8HwnKKum89gMg/FRMix+Rhhut0dnMpz6mAbtKTU9JQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz",
+ "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==",
"dev": true,
"dependencies": {
"invariant": "^2.2.4",
- "metro-source-map": "0.76.5",
+ "metro-source-map": "0.76.7",
"nullthrows": "^1.1.1",
"source-map": "^0.5.6",
"through2": "^2.0.1",
@@ -9070,9 +9097,9 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-transform-plugins": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.5.tgz",
- "integrity": "sha512-7pJ24aRuvzdQYpX/eOyodr4fnwVJP5ArNLBE1d0DOU9sQxsGplOORDTGAqw2L01+UgaSJiiwEoFMw7Z91HAS+Q==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz",
+ "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==",
"dev": true,
"dependencies": {
"@babel/core": "^7.20.0",
@@ -9086,9 +9113,9 @@
}
},
"node_modules/@react-native/metro-config/node_modules/metro-transform-worker": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.5.tgz",
- "integrity": "sha512-xN6Kb06o9u5A7M1bbl7oPfQFmt4Kmi3CMXp5j9OcK37AFc+u6YXH8x/6e9b3Cq50rlBYuCXDOOYAWI5/tYNt2w==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz",
+ "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==",
"dev": true,
"dependencies": {
"@babel/core": "^7.20.0",
@@ -9096,12 +9123,12 @@
"@babel/parser": "^7.20.0",
"@babel/types": "^7.20.0",
"babel-preset-fbjs": "^3.4.0",
- "metro": "0.76.5",
- "metro-babel-transformer": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-cache-key": "0.76.5",
- "metro-source-map": "0.76.5",
- "metro-transform-plugins": "0.76.5",
+ "metro": "0.76.7",
+ "metro-babel-transformer": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-cache-key": "0.76.7",
+ "metro-source-map": "0.76.7",
+ "metro-transform-plugins": "0.76.7",
"nullthrows": "^1.1.1"
},
"engines": {
@@ -9115,9 +9142,9 @@
"dev": true
},
"node_modules/@react-native/metro-config/node_modules/ob1": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.5.tgz",
- "integrity": "sha512-HoxZXMXNuY/eIXGoX7gx1C4O3eB4kJJMola6KoFaMm7PGGg39+AnhbgMASYVmSvP2lwU3545NyiR63g8J9PW3w==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz",
+ "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==",
"dev": true,
"engines": {
"node": ">=16"
@@ -20079,15 +20106,6 @@
"integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==",
"dev": true
},
- "node_modules/@types/metro-config": {
- "version": "0.76.3",
- "deprecated": "This is a stub types definition. metro-config provides its own type definitions, so you do not need this installed.",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "metro-config": "*"
- }
- },
"node_modules/@types/mime": {
"version": "3.0.1",
"dev": true,
@@ -26019,9 +26037,9 @@
}
},
"node_modules/dayjs": {
- "version": "1.11.8",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.8.tgz",
- "integrity": "sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ=="
+ "version": "1.11.9",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz",
+ "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA=="
},
"node_modules/debug": {
"version": "4.3.4",
@@ -29188,8 +29206,8 @@
},
"node_modules/expensify-common": {
"version": "1.0.0",
- "resolved": "git+ssh://git@github.com/Expensify/expensify-common.git#9940dd127c2d44809c98ee628a8057f08c93bfc9",
- "integrity": "sha512-de8+wMI7IwklsgpYW7rfLCUVOZ3yy4I2iPKg9X/BjvwQGrUuGZmpPJfNfWkkO14SqdZwBZiroKhii1kymxjiWg==",
+ "resolved": "git+ssh://git@github.com/Expensify/expensify-common.git#b60e464ca23e452eacffb93d471abed977b9abf0",
+ "integrity": "sha512-SA+1PDrST90MoWKNuqyfw7vT1c3S14JrrHCuk5l5m77k2T1Khu1lHPAw7sCUt0Yeoceq7JHL7zC4ZPhqVzDXwQ==",
"license": "MIT",
"dependencies": {
"classnames": "2.3.1",
@@ -29566,9 +29584,9 @@
"license": "MIT"
},
"node_modules/fast-xml-parser": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz",
- "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==",
+ "version": "4.2.7",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz",
+ "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==",
"funding": [
{
"type": "paypal",
@@ -35597,10 +35615,14 @@
"license": "MIT"
},
"node_modules/json-stable-stringify": {
- "version": "1.0.1",
- "license": "MIT",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz",
+ "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==",
"dependencies": {
- "jsonify": "~0.0.0"
+ "jsonify": "^0.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/json-stable-stringify-without-jsonify": {
@@ -35634,8 +35656,12 @@
}
},
"node_modules/jsonify": {
- "version": "0.0.0",
- "license": "Public Domain"
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
+ "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/jsx-ast-utils": {
"version": "3.3.3",
@@ -37973,9 +37999,9 @@
}
},
"node_modules/metro-minify-terser": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.5.tgz",
- "integrity": "sha512-zizTXqlHcG7PArB5hfz1Djz/oCaOaTSXTZDNp8Y9K2FmmfLU3dU2eoDbNNiCnm5QdDtFIndLMXdqqe6omTfp4g==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz",
+ "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==",
"dependencies": {
"terser": "^5.15.0"
},
@@ -37991,9 +38017,9 @@
}
},
"node_modules/metro-react-native-babel-preset": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.5.tgz",
- "integrity": "sha512-IlVKeTon5fef77rQ6WreSmrabmbc3dEsLwr/sL80fYjobjsD8FRCnOlbaJdgUf2SMJmSIoawgjh5Yeebv+gJzg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz",
+ "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==",
"dependencies": {
"@babel/core": "^7.20.0",
"@babel/plugin-proposal-async-generator-functions": "^7.0.0",
@@ -38050,16 +38076,14 @@
}
},
"node_modules/metro-react-native-babel-transformer": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.5.tgz",
- "integrity": "sha512-7m2u7jQ1I2mwGm48Vrki5cNNSv4d2HegHMGmE5G2AAa6Pr2O3ajaX2yNoAKF8TCLO38/8pa9fZd0VWAlO/YMcA==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz",
+ "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==",
"dependencies": {
"@babel/core": "^7.20.0",
"babel-preset-fbjs": "^3.4.0",
- "hermes-parser": "0.8.0",
- "metro-babel-transformer": "0.76.5",
- "metro-react-native-babel-preset": "0.76.5",
- "metro-source-map": "0.76.5",
+ "hermes-parser": "0.12.0",
+ "metro-react-native-babel-preset": "0.76.7",
"nullthrows": "^1.1.1"
},
"engines": {
@@ -38069,71 +38093,17 @@
"@babel/core": "*"
}
},
- "node_modules/metro-react-native-babel-transformer/node_modules/metro-babel-transformer": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.5.tgz",
- "integrity": "sha512-KmsMXY6VHjPLRQLwTITjLo//7ih8Ts39HPF2zODkaYav/ZLNq0QP7eGuW54dvk/sZiL9le1kaBwTN4BWQI1VZQ==",
- "dependencies": {
- "@babel/core": "^7.20.0",
- "hermes-parser": "0.8.0",
- "metro-source-map": "0.76.5",
- "nullthrows": "^1.1.1"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/metro-react-native-babel-transformer/node_modules/metro-source-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.5.tgz",
- "integrity": "sha512-1EhYPcoftONlvnOzgos7daE8hsJKOgSN3nD3Xf/yaY1F0aLeGeuWfpiNLLeFDNyUhfObHSuNxNhDQF/x1GFEbw==",
- "dependencies": {
- "@babel/traverse": "^7.20.0",
- "@babel/types": "^7.20.0",
- "invariant": "^2.2.4",
- "metro-symbolicate": "0.76.5",
- "nullthrows": "^1.1.1",
- "ob1": "0.76.5",
- "source-map": "^0.5.6",
- "vlq": "^1.0.0"
- },
- "engines": {
- "node": ">=16"
- }
+ "node_modules/metro-react-native-babel-transformer/node_modules/hermes-estree": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz",
+ "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw=="
},
- "node_modules/metro-react-native-babel-transformer/node_modules/metro-symbolicate": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.5.tgz",
- "integrity": "sha512-7iftzh6G6HO4UDBmjsi2Yu4d6IkApv6Kg+jmBvkTjCXr8HwnKKum89gMg/FRMix+Rhhut0dnMpz6mAbtKTU9JQ==",
+ "node_modules/metro-react-native-babel-transformer/node_modules/hermes-parser": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz",
+ "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==",
"dependencies": {
- "invariant": "^2.2.4",
- "metro-source-map": "0.76.5",
- "nullthrows": "^1.1.1",
- "source-map": "^0.5.6",
- "through2": "^2.0.1",
- "vlq": "^1.0.0"
- },
- "bin": {
- "metro-symbolicate": "src/index.js"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/metro-react-native-babel-transformer/node_modules/ob1": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.5.tgz",
- "integrity": "sha512-HoxZXMXNuY/eIXGoX7gx1C4O3eB4kJJMola6KoFaMm7PGGg39+AnhbgMASYVmSvP2lwU3545NyiR63g8J9PW3w==",
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/metro-react-native-babel-transformer/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
- "engines": {
- "node": ">=0.10.0"
+ "hermes-estree": "0.12.0"
}
},
"node_modules/metro-resolver": {
@@ -40995,9 +40965,9 @@
}
},
"node_modules/patch-package": {
- "version": "8.0.0-canary.2",
- "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0-canary.2.tgz",
- "integrity": "sha512-B9vpCJ6FNmtFwOgsyvssGjIRmhcyaPo84WuCoC1fIcTjwCXsWKhCWDarVGGd2Jv+eSUMikPrTTY6/iYlexZHxw==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz",
+ "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==",
"dependencies": {
"@yarnpkg/lockfile": "^1.1.0",
"chalk": "^4.1.2",
@@ -41005,11 +40975,12 @@
"cross-spawn": "^7.0.3",
"find-yarn-workspace-root": "^2.0.0",
"fs-extra": "^9.0.0",
+ "json-stable-stringify": "^1.0.2",
"klaw-sync": "^6.0.0",
"minimist": "^1.2.6",
"open": "^7.4.2",
"rimraf": "^2.6.3",
- "semver": "^7.0.0",
+ "semver": "^7.5.3",
"slash": "^2.0.0",
"tmp": "^0.0.33",
"yaml": "^2.2.2"
@@ -42374,14 +42345,14 @@
"license": "MIT"
},
"node_modules/react-native": {
- "version": "0.72.1",
- "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.1.tgz",
- "integrity": "sha512-O9cIVD++kt2XQl0XLCUGUgwSKr8xp+yo0ho5QK6KYWJrCFnnvQLTKL0+HD0rZUcuqFfGknHQJh3h0moQO2EMDg==",
+ "version": "0.72.3",
+ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.3.tgz",
+ "integrity": "sha512-QqISi+JVmCssNP2FlQ4MWhlc4O/I00MRE1/GClvyZ8h/6kdsyk/sOirkYdZqX3+DrJfI3q+OnyMnsyaXIQ/5tQ==",
"dependencies": {
"@jest/create-cache-key-function": "^29.2.1",
- "@react-native-community/cli": "11.3.3",
- "@react-native-community/cli-platform-android": "11.3.3",
- "@react-native-community/cli-platform-ios": "11.3.3",
+ "@react-native-community/cli": "11.3.5",
+ "@react-native-community/cli-platform-android": "11.3.5",
+ "@react-native-community/cli-platform-ios": "11.3.5",
"@react-native/assets-registry": "^0.72.0",
"@react-native/codegen": "^0.72.6",
"@react-native/gradle-plugin": "^0.72.11",
@@ -42398,8 +42369,8 @@
"jest-environment-node": "^29.2.1",
"jsc-android": "^250231.0.0",
"memoize-one": "^5.0.0",
- "metro-runtime": "0.76.5",
- "metro-source-map": "0.76.5",
+ "metro-runtime": "0.76.7",
+ "metro-source-map": "0.76.7",
"mkdirp": "^0.5.1",
"nullthrows": "^1.1.1",
"pretty-format": "^26.5.2",
@@ -43050,9 +43021,9 @@
}
},
"node_modules/react-native/node_modules/metro-runtime": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.5.tgz",
- "integrity": "sha512-1JAf9/v/NDHLhoTfiJ0n25G6dRkX7mjTkaMJ6UUXIyfIuSucoK5yAuOBx8OveNIekoLRjmyvSmyN5ojEeRmpvQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz",
+ "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==",
"dependencies": {
"@babel/runtime": "^7.0.0",
"react-refresh": "^0.4.0"
@@ -43062,16 +43033,16 @@
}
},
"node_modules/react-native/node_modules/metro-source-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.5.tgz",
- "integrity": "sha512-1EhYPcoftONlvnOzgos7daE8hsJKOgSN3nD3Xf/yaY1F0aLeGeuWfpiNLLeFDNyUhfObHSuNxNhDQF/x1GFEbw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz",
+ "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==",
"dependencies": {
"@babel/traverse": "^7.20.0",
"@babel/types": "^7.20.0",
"invariant": "^2.2.4",
- "metro-symbolicate": "0.76.5",
+ "metro-symbolicate": "0.76.7",
"nullthrows": "^1.1.1",
- "ob1": "0.76.5",
+ "ob1": "0.76.7",
"source-map": "^0.5.6",
"vlq": "^1.0.0"
},
@@ -43080,12 +43051,12 @@
}
},
"node_modules/react-native/node_modules/metro-symbolicate": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.5.tgz",
- "integrity": "sha512-7iftzh6G6HO4UDBmjsi2Yu4d6IkApv6Kg+jmBvkTjCXr8HwnKKum89gMg/FRMix+Rhhut0dnMpz6mAbtKTU9JQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz",
+ "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==",
"dependencies": {
"invariant": "^2.2.4",
- "metro-source-map": "0.76.5",
+ "metro-source-map": "0.76.7",
"nullthrows": "^1.1.1",
"source-map": "^0.5.6",
"through2": "^2.0.1",
@@ -43110,9 +43081,9 @@
}
},
"node_modules/react-native/node_modules/ob1": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.5.tgz",
- "integrity": "sha512-HoxZXMXNuY/eIXGoX7gx1C4O3eB4kJJMola6KoFaMm7PGGg39+AnhbgMASYVmSvP2lwU3545NyiR63g8J9PW3w==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz",
+ "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==",
"engines": {
"node": ">=16"
}
@@ -54313,19 +54284,19 @@
"requires": {}
},
"@react-native-community/cli": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.3.tgz",
- "integrity": "sha512-+XwD9IEtaff0q8hyWTQL4xVc7V4P8B7zD0zpcEV8FVV+qUfIFMbNpaYNJFlNOFYRzZmo0/hXsa66S/Im5perlQ==",
- "requires": {
- "@react-native-community/cli-clean": "11.3.3",
- "@react-native-community/cli-config": "11.3.3",
- "@react-native-community/cli-debugger-ui": "11.3.3",
- "@react-native-community/cli-doctor": "11.3.3",
- "@react-native-community/cli-hermes": "11.3.3",
- "@react-native-community/cli-plugin-metro": "11.3.3",
- "@react-native-community/cli-server-api": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
- "@react-native-community/cli-types": "11.3.3",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-11.3.5.tgz",
+ "integrity": "sha512-wMXgKEWe6uesw7vyXKKjx5EDRog0QdXHxdgRguG14AjQRao1+4gXEWq2yyExOTi/GDY6dfJBUGTCwGQxhnk/Lg==",
+ "requires": {
+ "@react-native-community/cli-clean": "11.3.5",
+ "@react-native-community/cli-config": "11.3.5",
+ "@react-native-community/cli-debugger-ui": "11.3.5",
+ "@react-native-community/cli-doctor": "11.3.5",
+ "@react-native-community/cli-hermes": "11.3.5",
+ "@react-native-community/cli-plugin-metro": "11.3.5",
+ "@react-native-community/cli-server-api": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
+ "@react-native-community/cli-types": "11.3.5",
"chalk": "^4.1.2",
"commander": "^9.4.1",
"execa": "^5.0.0",
@@ -54433,9 +54404,9 @@
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
},
"supports-color": {
"version": "7.2.0",
@@ -54453,11 +54424,11 @@
}
},
"@react-native-community/cli-clean": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.3.tgz",
- "integrity": "sha512-5csu0Z2wNkLRZs4AxA+5UVtOdyGqdjZ9DEPccePlkN9IXEHTia2GdDuWZVVnlC50Ab3eTaGDKvFzy9QONHQusw==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-11.3.5.tgz",
+ "integrity": "sha512-1+7BU962wKkIkHRp/uW3jYbQKKGtU7L+R3g59D8K6uLccuxJYUBJv18753ojMa6SD3SAq5Xh31bAre+YwVcOTA==",
"requires": {
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"execa": "^5.0.0",
"prompts": "^2.4.0"
@@ -54509,11 +54480,11 @@
}
},
"@react-native-community/cli-config": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.3.tgz",
- "integrity": "sha512-j87RHJlybNHD1mYSkHnWA4qLkEO6qVn0+sREZGdQ6gVmOzxvLzvEB+YMoNEEqFGmPiyt3WTMLgi7jUr6WVoKuQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-11.3.5.tgz",
+ "integrity": "sha512-fMblIsHlUleKfGsgWyjFJYfx1SqrsnhS/QXfA8w7iT6GrNOOjBp5UWx8+xlMDFcmOb9e42g1ExFDKl3n8FWkxQ==",
"requires": {
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"cosmiconfig": "^5.1.0",
"deepmerge": "^4.3.0",
@@ -54601,22 +54572,22 @@
}
},
"@react-native-community/cli-debugger-ui": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.3.tgz",
- "integrity": "sha512-iVKcwyK2iKlq/qVtSbhk5fGsrOamAx7j50QhDMrZ6NmYZq+k75k253+YTzXoxWdPPZhsdhmILuBJgf8orIYCPQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-11.3.5.tgz",
+ "integrity": "sha512-o5JVCKEpPUXMX4r3p1cYjiy3FgdOEkezZcQ6owWEae2dYvV19lLYyJwnocm9Y7aG9PvpgI3PIMVh3KZbhS21eA==",
"requires": {
"serve-static": "^1.13.1"
}
},
"@react-native-community/cli-doctor": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.3.tgz",
- "integrity": "sha512-11MlCYZkZ602lmoxZUM6FZYjqFgyYci0X0QoBgBHi+3hqmrlA9JkYR/6OpPo34ASVObhE4DQ7eZ1+EQnVJHXsA==",
- "requires": {
- "@react-native-community/cli-config": "11.3.3",
- "@react-native-community/cli-platform-android": "11.3.3",
- "@react-native-community/cli-platform-ios": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-11.3.5.tgz",
+ "integrity": "sha512-+4BuFHjoV4FFjX5y60l0s6nS0agidb1izTVwsFixeFKW73LUkOLu+Ae5HI94RAFEPE4ePEVNgYX3FynIau6K0g==",
+ "requires": {
+ "@react-native-community/cli-config": "11.3.5",
+ "@react-native-community/cli-platform-android": "11.3.5",
+ "@react-native-community/cli-platform-ios": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"command-exists": "^1.2.8",
"envinfo": "^7.7.2",
@@ -54674,9 +54645,9 @@
"integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg=="
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
},
"strip-ansi": {
"version": "5.2.0",
@@ -54702,12 +54673,12 @@
}
},
"@react-native-community/cli-hermes": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.3.tgz",
- "integrity": "sha512-IoBLspPg4EwKwYj+5Ki4xrGUz7vVeE9soULCXJij2IKB68U63WmjG42+ng96+ryJDaQqERqF7NGll1jqnenJYQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-11.3.5.tgz",
+ "integrity": "sha512-+3m34hiaJpFel8BlJE7kJOaPzWR/8U8APZG2LXojbAdBAg99EGmQcwXIgsSVJFvH8h/nezf4DHbsPKigIe33zA==",
"requires": {
- "@react-native-community/cli-platform-android": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-platform-android": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"hermes-profile-transformer": "^0.0.6",
"ip": "^1.1.5"
@@ -54764,11 +54735,11 @@
}
},
"@react-native-community/cli-platform-android": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.3.tgz",
- "integrity": "sha512-hjkPTJXKw2PZNKdeZZ1I4Mv2gRbPOfZmpgRVXtDwEP4cXZUGTDP54lBhFnC+8KxiKJBWJ/m4wYyC3ZqX87M2jg==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-11.3.5.tgz",
+ "integrity": "sha512-s4Lj7FKxJ/BofGi/ifjPfrA9MjFwIgYpHnHBSlqtbsvPoSYzmVCU2qlWM8fb3AmkXIwyYt4A6MEr3MmNT2UoBg==",
"requires": {
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"execa": "^5.0.0",
"glob": "^7.1.3",
@@ -54821,11 +54792,11 @@
}
},
"@react-native-community/cli-platform-ios": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.3.tgz",
- "integrity": "sha512-mFdZjOaPCQy3y4DoMdA5l5/zVXtvsi8pbJFTV7ms7avNShuqqvue/Fm4wmiccZd0Zfi5p9TOP3Bh9Aw/jC+UAQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-11.3.5.tgz",
+ "integrity": "sha512-ytJC/YCFD7P+KuQHOT5Jzh1ho2XbJEjq71yHa1gJP2PG/Q/uB4h1x2XpxDqv5iXU6E250yjvKMmkReKTW4CTig==",
"requires": {
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"execa": "^5.0.0",
"fast-xml-parser": "^4.0.12",
@@ -54879,29 +54850,29 @@
}
},
"@react-native-community/cli-plugin-metro": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.3.tgz",
- "integrity": "sha512-jbutvKqjIUTIuSK6mGmVt+x/MygLAIG6VNIwbywFtY+P4CCxUxo8o8h3O2cPRB2xeg9qikksm3Wys7fME4Ly+A==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-11.3.5.tgz",
+ "integrity": "sha512-r9AekfeLKdblB7LfWB71IrNy1XM03WrByQlUQajUOZAP2NmUUBLl9pMZscPjJeOSgLpHB9ixEFTIOhTabri/qg==",
"requires": {
- "@react-native-community/cli-server-api": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-server-api": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
"chalk": "^4.1.2",
"execa": "^5.0.0",
- "metro": "0.76.5",
- "metro-config": "0.76.5",
- "metro-core": "0.76.5",
- "metro-react-native-babel-transformer": "0.76.5",
- "metro-resolver": "0.76.5",
- "metro-runtime": "0.76.5",
+ "metro": "0.76.7",
+ "metro-config": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-react-native-babel-transformer": "0.76.7",
+ "metro-resolver": "0.76.7",
+ "metro-runtime": "0.76.7",
"readline": "^1.3.0"
},
"dependencies": {
"@jest/types": {
- "version": "29.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz",
- "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==",
+ "version": "29.6.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz",
+ "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==",
"requires": {
- "@jest/schemas": "^29.4.3",
+ "@jest/schemas": "^29.6.0",
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
"@types/node": "*",
@@ -54986,6 +54957,19 @@
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
+ "hermes-estree": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz",
+ "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw=="
+ },
+ "hermes-parser": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz",
+ "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==",
+ "requires": {
+ "hermes-estree": "0.12.0"
+ }
+ },
"image-size": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz",
@@ -55054,16 +55038,16 @@
}
},
"jest-validate": {
- "version": "29.5.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz",
- "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz",
+ "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==",
"requires": {
- "@jest/types": "^29.5.0",
+ "@jest/types": "^29.6.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
"jest-get-type": "^29.4.3",
"leven": "^3.1.0",
- "pretty-format": "^29.5.0"
+ "pretty-format": "^29.6.2"
}
},
"jest-worker": {
@@ -55087,9 +55071,9 @@
}
},
"metro": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.5.tgz",
- "integrity": "sha512-aEQiqNFibfx4ajUXm7Xatsv43r/UQ0xE53T3XqgZBzsxhF235tf1cl8t0giawi0RbLtDS+Fu4kg2bVBKDYFy7A==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz",
+ "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==",
"requires": {
"@babel/code-frame": "^7.0.0",
"@babel/core": "^7.20.0",
@@ -55107,28 +55091,28 @@
"denodeify": "^1.2.1",
"error-stack-parser": "^2.0.6",
"graceful-fs": "^4.2.4",
- "hermes-parser": "0.8.0",
+ "hermes-parser": "0.12.0",
"image-size": "^1.0.2",
"invariant": "^2.2.4",
"jest-worker": "^27.2.0",
"jsc-safe-url": "^0.2.2",
"lodash.throttle": "^4.1.1",
- "metro-babel-transformer": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-cache-key": "0.76.5",
- "metro-config": "0.76.5",
- "metro-core": "0.76.5",
- "metro-file-map": "0.76.5",
- "metro-inspector-proxy": "0.76.5",
- "metro-minify-terser": "0.76.5",
- "metro-minify-uglify": "0.76.5",
- "metro-react-native-babel-preset": "0.76.5",
- "metro-resolver": "0.76.5",
- "metro-runtime": "0.76.5",
- "metro-source-map": "0.76.5",
- "metro-symbolicate": "0.76.5",
- "metro-transform-plugins": "0.76.5",
- "metro-transform-worker": "0.76.5",
+ "metro-babel-transformer": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-cache-key": "0.76.7",
+ "metro-config": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-file-map": "0.76.7",
+ "metro-inspector-proxy": "0.76.7",
+ "metro-minify-terser": "0.76.7",
+ "metro-minify-uglify": "0.76.7",
+ "metro-react-native-babel-preset": "0.76.7",
+ "metro-resolver": "0.76.7",
+ "metro-runtime": "0.76.7",
+ "metro-source-map": "0.76.7",
+ "metro-symbolicate": "0.76.7",
+ "metro-transform-plugins": "0.76.7",
+ "metro-transform-worker": "0.76.7",
"mime-types": "^2.1.27",
"node-fetch": "^2.2.0",
"nullthrows": "^1.1.1",
@@ -55142,56 +55126,56 @@
}
},
"metro-babel-transformer": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.5.tgz",
- "integrity": "sha512-KmsMXY6VHjPLRQLwTITjLo//7ih8Ts39HPF2zODkaYav/ZLNq0QP7eGuW54dvk/sZiL9le1kaBwTN4BWQI1VZQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz",
+ "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==",
"requires": {
"@babel/core": "^7.20.0",
- "hermes-parser": "0.8.0",
- "metro-source-map": "0.76.5",
+ "hermes-parser": "0.12.0",
"nullthrows": "^1.1.1"
}
},
"metro-cache": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.5.tgz",
- "integrity": "sha512-8XalhoMNWDK6bi41oqxIpecTYRt4WsmtoHdqshgJIYshJ6qov0NuDw0pOfnS8rgMNHxPpuWyXc7NyKERqVRzaw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz",
+ "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==",
"requires": {
- "metro-core": "0.76.5",
+ "metro-core": "0.76.7",
"rimraf": "^3.0.2"
}
},
"metro-cache-key": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.5.tgz",
- "integrity": "sha512-QERX6ejYMt4BPr0ZMf7adnrOivmFSUbCim9FlU6cAeWUib+pV5P/Ph3KicWnOzJpbQz93+tHHG7vcsP6OrvLMw=="
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz",
+ "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ=="
},
"metro-config": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.5.tgz",
- "integrity": "sha512-SCMVIDOtm8s3H62E9z2IcY4Q9GVMqDurbiJS3PHrWgTZjwZFaL59lrW4W6DvzvFZHa9bbxKric5TFtwvVuyOCg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz",
+ "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==",
"requires": {
+ "connect": "^3.6.5",
"cosmiconfig": "^5.0.5",
"jest-validate": "^29.2.1",
- "metro": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-core": "0.76.5",
- "metro-runtime": "0.76.5"
+ "metro": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-runtime": "0.76.7"
}
},
"metro-core": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.5.tgz",
- "integrity": "sha512-yJvIe8a3sAG92U7+E7Bw6m4lae9RB180fp9iQZFBqY437Ilv4nE6PR8EWB6d8c4yt9fXIL1Hc+KyQv7OPFx/rQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz",
+ "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==",
"requires": {
"lodash.throttle": "^4.1.1",
- "metro-resolver": "0.76.5"
+ "metro-resolver": "0.76.7"
}
},
"metro-file-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.5.tgz",
- "integrity": "sha512-9VS7zsec7BpTb+0v1DObOXso6XU/7oVBObQWp0EWBQpFcU1iF1lit2nnLQh2AyGCnSr8JVnuUe8gXhNH6xtPMg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz",
+ "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==",
"requires": {
"anymatch": "^3.0.3",
"debug": "^2.2.0",
@@ -55209,9 +55193,9 @@
}
},
"metro-inspector-proxy": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.5.tgz",
- "integrity": "sha512-leqwei1qNMKOEbhqlQ37K+7OIp1JRgvS5qERO+J0ZTg7ZeJTaBHSFU7FnCeRHB9Tu7/FSfypY2PxjydZDwvUEQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz",
+ "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==",
"requires": {
"connect": "^3.6.5",
"debug": "^2.2.0",
@@ -55221,49 +55205,49 @@
}
},
"metro-minify-uglify": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.5.tgz",
- "integrity": "sha512-JZNO5eK8r625/cheWSl+y7n0RlHLt03iSMgXPAxirH8BiFqPzs7h+c57r4AvSs793VXcF7L3sI1sAOj+nRqTeg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz",
+ "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==",
"requires": {
"uglify-es": "^3.1.9"
}
},
"metro-resolver": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.5.tgz",
- "integrity": "sha512-QNsbDdf0xL1HefP6fhh1g3umqiX1qWEuCiBaTFroYRqM7u7RATt8mCu4n/FwSYhATuUUujHTIb2EduuQPbSGRQ=="
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz",
+ "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA=="
},
"metro-runtime": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.5.tgz",
- "integrity": "sha512-1JAf9/v/NDHLhoTfiJ0n25G6dRkX7mjTkaMJ6UUXIyfIuSucoK5yAuOBx8OveNIekoLRjmyvSmyN5ojEeRmpvQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz",
+ "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==",
"requires": {
"@babel/runtime": "^7.0.0",
"react-refresh": "^0.4.0"
}
},
"metro-source-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.5.tgz",
- "integrity": "sha512-1EhYPcoftONlvnOzgos7daE8hsJKOgSN3nD3Xf/yaY1F0aLeGeuWfpiNLLeFDNyUhfObHSuNxNhDQF/x1GFEbw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz",
+ "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==",
"requires": {
"@babel/traverse": "^7.20.0",
"@babel/types": "^7.20.0",
"invariant": "^2.2.4",
- "metro-symbolicate": "0.76.5",
+ "metro-symbolicate": "0.76.7",
"nullthrows": "^1.1.1",
- "ob1": "0.76.5",
+ "ob1": "0.76.7",
"source-map": "^0.5.6",
"vlq": "^1.0.0"
}
},
"metro-symbolicate": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.5.tgz",
- "integrity": "sha512-7iftzh6G6HO4UDBmjsi2Yu4d6IkApv6Kg+jmBvkTjCXr8HwnKKum89gMg/FRMix+Rhhut0dnMpz6mAbtKTU9JQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz",
+ "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==",
"requires": {
"invariant": "^2.2.4",
- "metro-source-map": "0.76.5",
+ "metro-source-map": "0.76.7",
"nullthrows": "^1.1.1",
"source-map": "^0.5.6",
"through2": "^2.0.1",
@@ -55271,9 +55255,9 @@
}
},
"metro-transform-plugins": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.5.tgz",
- "integrity": "sha512-7pJ24aRuvzdQYpX/eOyodr4fnwVJP5ArNLBE1d0DOU9sQxsGplOORDTGAqw2L01+UgaSJiiwEoFMw7Z91HAS+Q==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz",
+ "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==",
"requires": {
"@babel/core": "^7.20.0",
"@babel/generator": "^7.20.0",
@@ -55283,21 +55267,21 @@
}
},
"metro-transform-worker": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.5.tgz",
- "integrity": "sha512-xN6Kb06o9u5A7M1bbl7oPfQFmt4Kmi3CMXp5j9OcK37AFc+u6YXH8x/6e9b3Cq50rlBYuCXDOOYAWI5/tYNt2w==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz",
+ "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==",
"requires": {
"@babel/core": "^7.20.0",
"@babel/generator": "^7.20.0",
"@babel/parser": "^7.20.0",
"@babel/types": "^7.20.0",
"babel-preset-fbjs": "^3.4.0",
- "metro": "0.76.5",
- "metro-babel-transformer": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-cache-key": "0.76.5",
- "metro-source-map": "0.76.5",
- "metro-transform-plugins": "0.76.5",
+ "metro": "0.76.7",
+ "metro-babel-transformer": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-cache-key": "0.76.7",
+ "metro-source-map": "0.76.7",
+ "metro-transform-plugins": "0.76.7",
"nullthrows": "^1.1.1"
}
},
@@ -55307,9 +55291,9 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"ob1": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.5.tgz",
- "integrity": "sha512-HoxZXMXNuY/eIXGoX7gx1C4O3eB4kJJMola6KoFaMm7PGGg39+AnhbgMASYVmSvP2lwU3545NyiR63g8J9PW3w=="
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz",
+ "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ=="
},
"parse-json": {
"version": "4.0.0",
@@ -55381,12 +55365,12 @@
}
},
"@react-native-community/cli-server-api": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.3.tgz",
- "integrity": "sha512-3ja7WZzXMCeGTaeWLzKxAoueqLjsuo0YURcAjqf044rkY5F1Xk5yIaTN8fb66Lnl2eB3DwuatqEB4dYl34/GZw==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-11.3.5.tgz",
+ "integrity": "sha512-PM/jF13uD1eAKuC84lntNuM5ZvJAtyb+H896P1dBIXa9boPLa3KejfUvNVoyOUJ5s8Ht25JKbc3yieV2+GMBDA==",
"requires": {
- "@react-native-community/cli-debugger-ui": "11.3.3",
- "@react-native-community/cli-tools": "11.3.3",
+ "@react-native-community/cli-debugger-ui": "11.3.5",
+ "@react-native-community/cli-tools": "11.3.5",
"compression": "^1.7.1",
"connect": "^3.6.5",
"errorhandler": "^1.5.1",
@@ -55447,9 +55431,9 @@
}
},
"@react-native-community/cli-tools": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.3.tgz",
- "integrity": "sha512-rRFSOAVVwI9R9PyPMff5WqmHbgJYrzGHFH1PA+tFvuiSmWlAf51bzkZIPehTBAQON03a6d5epNsGlBKMLA/BKw==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-11.3.5.tgz",
+ "integrity": "sha512-zDklE1+ah/zL4BLxut5XbzqCj9KTHzbYBKX7//cXw2/0TpkNCaY9c+iKx//gZ5m7U1OKbb86Fm2b0AKtKVRf6Q==",
"requires": {
"appdirsjs": "^1.2.4",
"chalk": "^4.1.2",
@@ -55511,9 +55495,9 @@
}
},
"semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
},
"supports-color": {
"version": "7.2.0",
@@ -55526,9 +55510,9 @@
}
},
"@react-native-community/cli-types": {
- "version": "11.3.3",
- "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.3.tgz",
- "integrity": "sha512-/u7N93ZUsKAGv3WSGAjKhpK2uCPBkyaw/SuScjHAuL9ifPjvwDhi71K5NbCcYl3ZYh5K39EF3Hm664Jfk9c0MQ==",
+ "version": "11.3.5",
+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-11.3.5.tgz",
+ "integrity": "sha512-pf0kdWMEfPSV/+8rcViDCFzbLMtWIHMZ8ay7hKwqaoWegsJ0oprSF2tSTH+LSC/7X1Beb9ssIvHj1m5C4es5Xg==",
"requires": {
"joi": "^17.2.1"
}
@@ -55666,24 +55650,24 @@
"version": "0.72.1"
},
"@react-native/metro-config": {
- "version": "0.72.7",
- "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.7.tgz",
- "integrity": "sha512-v+RhvCcMzAUZOibBJQ0na6Ah/HEloGrOPGJmxhdwlxGp05L7ejfu/gPghKeYEx35nlp519YSLiOlO4VW4dI5+g==",
+ "version": "0.72.9",
+ "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.72.9.tgz",
+ "integrity": "sha512-5MGmyDnXPeprRuvgPGE4LZ+e+ovofSd5YY6nFDwg6wbjRGOkeCRRlaTlQT+fjmv+zr4vYG+MUTKBlaO+fui/vA==",
"dev": true,
"requires": {
"@react-native/js-polyfills": "^0.72.1",
- "metro-config": "0.76.5",
- "metro-react-native-babel-transformer": "0.76.5",
- "metro-runtime": "0.76.5"
+ "metro-config": "0.76.7",
+ "metro-react-native-babel-transformer": "0.76.7",
+ "metro-runtime": "0.76.7"
},
"dependencies": {
"@jest/types": {
- "version": "29.5.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz",
- "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==",
+ "version": "29.6.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.1.tgz",
+ "integrity": "sha512-tPKQNMPuXgvdOn2/Lg9HNfUvjYVGolt04Hp03f5hAk878uwOLikN+JzeLY0HcVgKgFl9Hs3EIqpu3WX27XNhnw==",
"dev": true,
"requires": {
- "@jest/schemas": "^29.4.3",
+ "@jest/schemas": "^29.6.0",
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
"@types/node": "*",
@@ -55778,6 +55762,21 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
+ "hermes-estree": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz",
+ "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw==",
+ "dev": true
+ },
+ "hermes-parser": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz",
+ "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==",
+ "dev": true,
+ "requires": {
+ "hermes-estree": "0.12.0"
+ }
+ },
"image-size": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz",
@@ -55854,17 +55853,17 @@
}
},
"jest-validate": {
- "version": "29.5.0",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz",
- "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==",
+ "version": "29.6.2",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.6.2.tgz",
+ "integrity": "sha512-vGz0yMN5fUFRRbpJDPwxMpgSXW1LDKROHfBopAvDcmD6s+B/s8WJrwi+4bfH4SdInBA5C3P3BI19dBtKzx1Arg==",
"dev": true,
"requires": {
- "@jest/types": "^29.5.0",
+ "@jest/types": "^29.6.1",
"camelcase": "^6.2.0",
"chalk": "^4.0.0",
"jest-get-type": "^29.4.3",
"leven": "^3.1.0",
- "pretty-format": "^29.5.0"
+ "pretty-format": "^29.6.2"
}
},
"jest-worker": {
@@ -55890,9 +55889,9 @@
}
},
"metro": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.5.tgz",
- "integrity": "sha512-aEQiqNFibfx4ajUXm7Xatsv43r/UQ0xE53T3XqgZBzsxhF235tf1cl8t0giawi0RbLtDS+Fu4kg2bVBKDYFy7A==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro/-/metro-0.76.7.tgz",
+ "integrity": "sha512-67ZGwDeumEPnrHI+pEDSKH2cx+C81Gx8Mn5qOtmGUPm/Up9Y4I1H2dJZ5n17MWzejNo0XAvPh0QL0CrlJEODVQ==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
@@ -55911,28 +55910,28 @@
"denodeify": "^1.2.1",
"error-stack-parser": "^2.0.6",
"graceful-fs": "^4.2.4",
- "hermes-parser": "0.8.0",
+ "hermes-parser": "0.12.0",
"image-size": "^1.0.2",
"invariant": "^2.2.4",
"jest-worker": "^27.2.0",
"jsc-safe-url": "^0.2.2",
"lodash.throttle": "^4.1.1",
- "metro-babel-transformer": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-cache-key": "0.76.5",
- "metro-config": "0.76.5",
- "metro-core": "0.76.5",
- "metro-file-map": "0.76.5",
- "metro-inspector-proxy": "0.76.5",
- "metro-minify-terser": "0.76.5",
- "metro-minify-uglify": "0.76.5",
- "metro-react-native-babel-preset": "0.76.5",
- "metro-resolver": "0.76.5",
- "metro-runtime": "0.76.5",
- "metro-source-map": "0.76.5",
- "metro-symbolicate": "0.76.5",
- "metro-transform-plugins": "0.76.5",
- "metro-transform-worker": "0.76.5",
+ "metro-babel-transformer": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-cache-key": "0.76.7",
+ "metro-config": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-file-map": "0.76.7",
+ "metro-inspector-proxy": "0.76.7",
+ "metro-minify-terser": "0.76.7",
+ "metro-minify-uglify": "0.76.7",
+ "metro-react-native-babel-preset": "0.76.7",
+ "metro-resolver": "0.76.7",
+ "metro-runtime": "0.76.7",
+ "metro-source-map": "0.76.7",
+ "metro-symbolicate": "0.76.7",
+ "metro-transform-plugins": "0.76.7",
+ "metro-transform-worker": "0.76.7",
"mime-types": "^2.1.27",
"node-fetch": "^2.2.0",
"nullthrows": "^1.1.1",
@@ -55946,61 +55945,61 @@
}
},
"metro-babel-transformer": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.5.tgz",
- "integrity": "sha512-KmsMXY6VHjPLRQLwTITjLo//7ih8Ts39HPF2zODkaYav/ZLNq0QP7eGuW54dvk/sZiL9le1kaBwTN4BWQI1VZQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.7.tgz",
+ "integrity": "sha512-bgr2OFn0J4r0qoZcHrwEvccF7g9k3wdgTOgk6gmGHrtlZ1Jn3oCpklW/DfZ9PzHfjY2mQammKTc19g/EFGyOJw==",
"dev": true,
"requires": {
"@babel/core": "^7.20.0",
- "hermes-parser": "0.8.0",
- "metro-source-map": "0.76.5",
+ "hermes-parser": "0.12.0",
"nullthrows": "^1.1.1"
}
},
"metro-cache": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.5.tgz",
- "integrity": "sha512-8XalhoMNWDK6bi41oqxIpecTYRt4WsmtoHdqshgJIYshJ6qov0NuDw0pOfnS8rgMNHxPpuWyXc7NyKERqVRzaw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.76.7.tgz",
+ "integrity": "sha512-nWBMztrs5RuSxZRI7hgFgob5PhYDmxICh9FF8anm9/ito0u0vpPvRxt7sRu8fyeD2AHdXqE7kX32rWY0LiXgeg==",
"dev": true,
"requires": {
- "metro-core": "0.76.5",
+ "metro-core": "0.76.7",
"rimraf": "^3.0.2"
}
},
"metro-cache-key": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.5.tgz",
- "integrity": "sha512-QERX6ejYMt4BPr0ZMf7adnrOivmFSUbCim9FlU6cAeWUib+pV5P/Ph3KicWnOzJpbQz93+tHHG7vcsP6OrvLMw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.76.7.tgz",
+ "integrity": "sha512-0pecoIzwsD/Whn/Qfa+SDMX2YyasV0ndbcgUFx7w1Ct2sLHClujdhQ4ik6mvQmsaOcnGkIyN0zcceMDjC2+BFQ==",
"dev": true
},
"metro-config": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.5.tgz",
- "integrity": "sha512-SCMVIDOtm8s3H62E9z2IcY4Q9GVMqDurbiJS3PHrWgTZjwZFaL59lrW4W6DvzvFZHa9bbxKric5TFtwvVuyOCg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.76.7.tgz",
+ "integrity": "sha512-CFDyNb9bqxZemiChC/gNdXZ7OQkIwmXzkrEXivcXGbgzlt/b2juCv555GWJHyZSlorwnwJfY3uzAFu4A9iRVfg==",
"dev": true,
"requires": {
+ "connect": "^3.6.5",
"cosmiconfig": "^5.0.5",
"jest-validate": "^29.2.1",
- "metro": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-core": "0.76.5",
- "metro-runtime": "0.76.5"
+ "metro": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-core": "0.76.7",
+ "metro-runtime": "0.76.7"
}
},
"metro-core": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.5.tgz",
- "integrity": "sha512-yJvIe8a3sAG92U7+E7Bw6m4lae9RB180fp9iQZFBqY437Ilv4nE6PR8EWB6d8c4yt9fXIL1Hc+KyQv7OPFx/rQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.76.7.tgz",
+ "integrity": "sha512-0b8KfrwPmwCMW+1V7ZQPkTy2tsEKZjYG9Pu1PTsu463Z9fxX7WaR0fcHFshv+J1CnQSUTwIGGjbNvj1teKe+pw==",
"dev": true,
"requires": {
"lodash.throttle": "^4.1.1",
- "metro-resolver": "0.76.5"
+ "metro-resolver": "0.76.7"
}
},
"metro-file-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.5.tgz",
- "integrity": "sha512-9VS7zsec7BpTb+0v1DObOXso6XU/7oVBObQWp0EWBQpFcU1iF1lit2nnLQh2AyGCnSr8JVnuUe8gXhNH6xtPMg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.76.7.tgz",
+ "integrity": "sha512-s+zEkTcJ4mOJTgEE2ht4jIo1DZfeWreQR3tpT3gDV/Y/0UQ8aJBTv62dE775z0GLsWZApiblAYZsj7ZE8P06nw==",
"dev": true,
"requires": {
"anymatch": "^3.0.3",
@@ -56019,9 +56018,9 @@
}
},
"metro-inspector-proxy": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.5.tgz",
- "integrity": "sha512-leqwei1qNMKOEbhqlQ37K+7OIp1JRgvS5qERO+J0ZTg7ZeJTaBHSFU7FnCeRHB9Tu7/FSfypY2PxjydZDwvUEQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.76.7.tgz",
+ "integrity": "sha512-rNZ/6edTl/1qUekAhAbaFjczMphM50/UjtxiKulo6vqvgn/Mjd9hVqDvVYfAMZXqPvlusD88n38UjVYPkruLSg==",
"dev": true,
"requires": {
"connect": "^3.6.5",
@@ -56032,24 +56031,24 @@
}
},
"metro-minify-uglify": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.5.tgz",
- "integrity": "sha512-JZNO5eK8r625/cheWSl+y7n0RlHLt03iSMgXPAxirH8BiFqPzs7h+c57r4AvSs793VXcF7L3sI1sAOj+nRqTeg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.76.7.tgz",
+ "integrity": "sha512-FuXIU3j2uNcSvQtPrAJjYWHruPiQ+EpE++J9Z+VznQKEHcIxMMoQZAfIF2IpZSrZYfLOjVFyGMvj41jQMxV1Vw==",
"dev": true,
"requires": {
"uglify-es": "^3.1.9"
}
},
"metro-resolver": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.5.tgz",
- "integrity": "sha512-QNsbDdf0xL1HefP6fhh1g3umqiX1qWEuCiBaTFroYRqM7u7RATt8mCu4n/FwSYhATuUUujHTIb2EduuQPbSGRQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.76.7.tgz",
+ "integrity": "sha512-pC0Wgq29HHIHrwz23xxiNgylhI8Rq1V01kQaJ9Kz11zWrIdlrH0ZdnJ7GC6qA0ErROG+cXmJ0rJb8/SW1Zp2IA==",
"dev": true
},
"metro-runtime": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.5.tgz",
- "integrity": "sha512-1JAf9/v/NDHLhoTfiJ0n25G6dRkX7mjTkaMJ6UUXIyfIuSucoK5yAuOBx8OveNIekoLRjmyvSmyN5ojEeRmpvQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz",
+ "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==",
"dev": true,
"requires": {
"@babel/runtime": "^7.0.0",
@@ -56057,29 +56056,29 @@
}
},
"metro-source-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.5.tgz",
- "integrity": "sha512-1EhYPcoftONlvnOzgos7daE8hsJKOgSN3nD3Xf/yaY1F0aLeGeuWfpiNLLeFDNyUhfObHSuNxNhDQF/x1GFEbw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz",
+ "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==",
"dev": true,
"requires": {
"@babel/traverse": "^7.20.0",
"@babel/types": "^7.20.0",
"invariant": "^2.2.4",
- "metro-symbolicate": "0.76.5",
+ "metro-symbolicate": "0.76.7",
"nullthrows": "^1.1.1",
- "ob1": "0.76.5",
+ "ob1": "0.76.7",
"source-map": "^0.5.6",
"vlq": "^1.0.0"
}
},
"metro-symbolicate": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.5.tgz",
- "integrity": "sha512-7iftzh6G6HO4UDBmjsi2Yu4d6IkApv6Kg+jmBvkTjCXr8HwnKKum89gMg/FRMix+Rhhut0dnMpz6mAbtKTU9JQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz",
+ "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==",
"dev": true,
"requires": {
"invariant": "^2.2.4",
- "metro-source-map": "0.76.5",
+ "metro-source-map": "0.76.7",
"nullthrows": "^1.1.1",
"source-map": "^0.5.6",
"through2": "^2.0.1",
@@ -56087,9 +56086,9 @@
}
},
"metro-transform-plugins": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.5.tgz",
- "integrity": "sha512-7pJ24aRuvzdQYpX/eOyodr4fnwVJP5ArNLBE1d0DOU9sQxsGplOORDTGAqw2L01+UgaSJiiwEoFMw7Z91HAS+Q==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.76.7.tgz",
+ "integrity": "sha512-iSmnjVApbdivjuzb88Orb0JHvcEt5veVyFAzxiS5h0QB+zV79w6JCSqZlHCrbNOkOKBED//LqtKbFVakxllnNg==",
"dev": true,
"requires": {
"@babel/core": "^7.20.0",
@@ -56100,9 +56099,9 @@
}
},
"metro-transform-worker": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.5.tgz",
- "integrity": "sha512-xN6Kb06o9u5A7M1bbl7oPfQFmt4Kmi3CMXp5j9OcK37AFc+u6YXH8x/6e9b3Cq50rlBYuCXDOOYAWI5/tYNt2w==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.76.7.tgz",
+ "integrity": "sha512-cGvELqFMVk9XTC15CMVzrCzcO6sO1lURfcbgjuuPdzaWuD11eEyocvkTX0DPiRjsvgAmicz4XYxVzgYl3MykDw==",
"dev": true,
"requires": {
"@babel/core": "^7.20.0",
@@ -56110,12 +56109,12 @@
"@babel/parser": "^7.20.0",
"@babel/types": "^7.20.0",
"babel-preset-fbjs": "^3.4.0",
- "metro": "0.76.5",
- "metro-babel-transformer": "0.76.5",
- "metro-cache": "0.76.5",
- "metro-cache-key": "0.76.5",
- "metro-source-map": "0.76.5",
- "metro-transform-plugins": "0.76.5",
+ "metro": "0.76.7",
+ "metro-babel-transformer": "0.76.7",
+ "metro-cache": "0.76.7",
+ "metro-cache-key": "0.76.7",
+ "metro-source-map": "0.76.7",
+ "metro-transform-plugins": "0.76.7",
"nullthrows": "^1.1.1"
}
},
@@ -56126,9 +56125,9 @@
"dev": true
},
"ob1": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.5.tgz",
- "integrity": "sha512-HoxZXMXNuY/eIXGoX7gx1C4O3eB4kJJMola6KoFaMm7PGGg39+AnhbgMASYVmSvP2lwU3545NyiR63g8J9PW3w==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz",
+ "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ==",
"dev": true
},
"parse-json": {
@@ -63732,13 +63731,6 @@
"integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==",
"dev": true
},
- "@types/metro-config": {
- "version": "0.76.3",
- "dev": true,
- "requires": {
- "metro-config": "*"
- }
- },
"@types/mime": {
"version": "3.0.1",
"dev": true
@@ -67801,9 +67793,9 @@
"requires": {}
},
"dayjs": {
- "version": "1.11.8",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.8.tgz",
- "integrity": "sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ=="
+ "version": "1.11.9",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz",
+ "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA=="
},
"debug": {
"version": "4.3.4",
@@ -69972,9 +69964,9 @@
}
},
"expensify-common": {
- "version": "git+ssh://git@github.com/Expensify/expensify-common.git#9940dd127c2d44809c98ee628a8057f08c93bfc9",
- "integrity": "sha512-de8+wMI7IwklsgpYW7rfLCUVOZ3yy4I2iPKg9X/BjvwQGrUuGZmpPJfNfWkkO14SqdZwBZiroKhii1kymxjiWg==",
- "from": "expensify-common@git+ssh://git@github.com/Expensify/expensify-common.git#9940dd127c2d44809c98ee628a8057f08c93bfc9",
+ "version": "git+ssh://git@github.com/Expensify/expensify-common.git#b60e464ca23e452eacffb93d471abed977b9abf0",
+ "integrity": "sha512-SA+1PDrST90MoWKNuqyfw7vT1c3S14JrrHCuk5l5m77k2T1Khu1lHPAw7sCUt0Yeoceq7JHL7zC4ZPhqVzDXwQ==",
+ "from": "expensify-common@git+ssh://git@github.com/Expensify/expensify-common.git#b60e464ca23e452eacffb93d471abed977b9abf0",
"requires": {
"classnames": "2.3.1",
"clipboard": "2.0.4",
@@ -70242,9 +70234,9 @@
"dev": true
},
"fast-xml-parser": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz",
- "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==",
+ "version": "4.2.7",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz",
+ "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==",
"requires": {
"strnum": "^1.0.5"
}
@@ -74175,9 +74167,11 @@
"version": "1.0.0"
},
"json-stable-stringify": {
- "version": "1.0.1",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz",
+ "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==",
"requires": {
- "jsonify": "~0.0.0"
+ "jsonify": "^0.0.1"
}
},
"json-stable-stringify-without-jsonify": {
@@ -74199,7 +74193,9 @@
}
},
"jsonify": {
- "version": "0.0.0"
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
+ "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg=="
},
"jsx-ast-utils": {
"version": "3.3.3",
@@ -76070,9 +76066,9 @@
}
},
"metro-minify-terser": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.5.tgz",
- "integrity": "sha512-zizTXqlHcG7PArB5hfz1Djz/oCaOaTSXTZDNp8Y9K2FmmfLU3dU2eoDbNNiCnm5QdDtFIndLMXdqqe6omTfp4g==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.76.7.tgz",
+ "integrity": "sha512-FQiZGhIxCzhDwK4LxyPMLlq0Tsmla10X7BfNGlYFK0A5IsaVKNJbETyTzhpIwc+YFRT4GkFFwgo0V2N5vxO5HA==",
"requires": {
"terser": "^5.15.0"
}
@@ -76084,9 +76080,9 @@
}
},
"metro-react-native-babel-preset": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.5.tgz",
- "integrity": "sha512-IlVKeTon5fef77rQ6WreSmrabmbc3dEsLwr/sL80fYjobjsD8FRCnOlbaJdgUf2SMJmSIoawgjh5Yeebv+gJzg==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.7.tgz",
+ "integrity": "sha512-R25wq+VOSorAK3hc07NW0SmN8z9S/IR0Us0oGAsBcMZnsgkbOxu77Mduqf+f4is/wnWHc5+9bfiqdLnaMngiVw==",
"requires": {
"@babel/core": "^7.20.0",
"@babel/plugin-proposal-async-generator-functions": "^7.0.0",
@@ -76135,67 +76131,29 @@
}
},
"metro-react-native-babel-transformer": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.5.tgz",
- "integrity": "sha512-7m2u7jQ1I2mwGm48Vrki5cNNSv4d2HegHMGmE5G2AAa6Pr2O3ajaX2yNoAKF8TCLO38/8pa9fZd0VWAlO/YMcA==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.76.7.tgz",
+ "integrity": "sha512-W6lW3J7y/05ph3c2p3KKJNhH0IdyxdOCbQ5it7aM2MAl0SM4wgKjaV6EYv9b3rHklpV6K3qMH37UKVcjMooWiA==",
"requires": {
"@babel/core": "^7.20.0",
"babel-preset-fbjs": "^3.4.0",
- "hermes-parser": "0.8.0",
- "metro-babel-transformer": "0.76.5",
- "metro-react-native-babel-preset": "0.76.5",
- "metro-source-map": "0.76.5",
+ "hermes-parser": "0.12.0",
+ "metro-react-native-babel-preset": "0.76.7",
"nullthrows": "^1.1.1"
},
"dependencies": {
- "metro-babel-transformer": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.76.5.tgz",
- "integrity": "sha512-KmsMXY6VHjPLRQLwTITjLo//7ih8Ts39HPF2zODkaYav/ZLNq0QP7eGuW54dvk/sZiL9le1kaBwTN4BWQI1VZQ==",
- "requires": {
- "@babel/core": "^7.20.0",
- "hermes-parser": "0.8.0",
- "metro-source-map": "0.76.5",
- "nullthrows": "^1.1.1"
- }
+ "hermes-estree": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.12.0.tgz",
+ "integrity": "sha512-+e8xR6SCen0wyAKrMT3UD0ZCCLymKhRgjEB5sS28rKiFir/fXgLoeRilRUssFCILmGHb+OvHDUlhxs0+IEyvQw=="
},
- "metro-source-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.5.tgz",
- "integrity": "sha512-1EhYPcoftONlvnOzgos7daE8hsJKOgSN3nD3Xf/yaY1F0aLeGeuWfpiNLLeFDNyUhfObHSuNxNhDQF/x1GFEbw==",
+ "hermes-parser": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.12.0.tgz",
+ "integrity": "sha512-d4PHnwq6SnDLhYl3LHNHvOg7nQ6rcI7QVil418REYksv0Mh3cEkHDcuhGxNQ3vgnLSLl4QSvDrFCwQNYdpWlzw==",
"requires": {
- "@babel/traverse": "^7.20.0",
- "@babel/types": "^7.20.0",
- "invariant": "^2.2.4",
- "metro-symbolicate": "0.76.5",
- "nullthrows": "^1.1.1",
- "ob1": "0.76.5",
- "source-map": "^0.5.6",
- "vlq": "^1.0.0"
+ "hermes-estree": "0.12.0"
}
- },
- "metro-symbolicate": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.5.tgz",
- "integrity": "sha512-7iftzh6G6HO4UDBmjsi2Yu4d6IkApv6Kg+jmBvkTjCXr8HwnKKum89gMg/FRMix+Rhhut0dnMpz6mAbtKTU9JQ==",
- "requires": {
- "invariant": "^2.2.4",
- "metro-source-map": "0.76.5",
- "nullthrows": "^1.1.1",
- "source-map": "^0.5.6",
- "through2": "^2.0.1",
- "vlq": "^1.0.0"
- }
- },
- "ob1": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.5.tgz",
- "integrity": "sha512-HoxZXMXNuY/eIXGoX7gx1C4O3eB4kJJMola6KoFaMm7PGGg39+AnhbgMASYVmSvP2lwU3545NyiR63g8J9PW3w=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
}
}
},
@@ -77923,9 +77881,9 @@
"devOptional": true
},
"patch-package": {
- "version": "8.0.0-canary.2",
- "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0-canary.2.tgz",
- "integrity": "sha512-B9vpCJ6FNmtFwOgsyvssGjIRmhcyaPo84WuCoC1fIcTjwCXsWKhCWDarVGGd2Jv+eSUMikPrTTY6/iYlexZHxw==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz",
+ "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==",
"requires": {
"@yarnpkg/lockfile": "^1.1.0",
"chalk": "^4.1.2",
@@ -77933,11 +77891,12 @@
"cross-spawn": "^7.0.3",
"find-yarn-workspace-root": "^2.0.0",
"fs-extra": "^9.0.0",
+ "json-stable-stringify": "^1.0.2",
"klaw-sync": "^6.0.0",
"minimist": "^1.2.6",
"open": "^7.4.2",
"rimraf": "^2.6.3",
- "semver": "^7.0.0",
+ "semver": "^7.5.3",
"slash": "^2.0.0",
"tmp": "^0.0.33",
"yaml": "^2.2.2"
@@ -78814,14 +78773,14 @@
"version": "16.13.1"
},
"react-native": {
- "version": "0.72.1",
- "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.1.tgz",
- "integrity": "sha512-O9cIVD++kt2XQl0XLCUGUgwSKr8xp+yo0ho5QK6KYWJrCFnnvQLTKL0+HD0rZUcuqFfGknHQJh3h0moQO2EMDg==",
+ "version": "0.72.3",
+ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.72.3.tgz",
+ "integrity": "sha512-QqISi+JVmCssNP2FlQ4MWhlc4O/I00MRE1/GClvyZ8h/6kdsyk/sOirkYdZqX3+DrJfI3q+OnyMnsyaXIQ/5tQ==",
"requires": {
"@jest/create-cache-key-function": "^29.2.1",
- "@react-native-community/cli": "11.3.3",
- "@react-native-community/cli-platform-android": "11.3.3",
- "@react-native-community/cli-platform-ios": "11.3.3",
+ "@react-native-community/cli": "11.3.5",
+ "@react-native-community/cli-platform-android": "11.3.5",
+ "@react-native-community/cli-platform-ios": "11.3.5",
"@react-native/assets-registry": "^0.72.0",
"@react-native/codegen": "^0.72.6",
"@react-native/gradle-plugin": "^0.72.11",
@@ -78838,8 +78797,8 @@
"jest-environment-node": "^29.2.1",
"jsc-android": "^250231.0.0",
"memoize-one": "^5.0.0",
- "metro-runtime": "0.76.5",
- "metro-source-map": "0.76.5",
+ "metro-runtime": "0.76.7",
+ "metro-source-map": "0.76.7",
"mkdirp": "^0.5.1",
"nullthrows": "^1.1.1",
"pretty-format": "^26.5.2",
@@ -78903,36 +78862,36 @@
}
},
"metro-runtime": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.5.tgz",
- "integrity": "sha512-1JAf9/v/NDHLhoTfiJ0n25G6dRkX7mjTkaMJ6UUXIyfIuSucoK5yAuOBx8OveNIekoLRjmyvSmyN5ojEeRmpvQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.76.7.tgz",
+ "integrity": "sha512-MuWHubQHymUWBpZLwuKZQgA/qbb35WnDAKPo83rk7JRLIFPvzXSvFaC18voPuzJBt1V98lKQIonh6MiC9gd8Ug==",
"requires": {
"@babel/runtime": "^7.0.0",
"react-refresh": "^0.4.0"
}
},
"metro-source-map": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.5.tgz",
- "integrity": "sha512-1EhYPcoftONlvnOzgos7daE8hsJKOgSN3nD3Xf/yaY1F0aLeGeuWfpiNLLeFDNyUhfObHSuNxNhDQF/x1GFEbw==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.76.7.tgz",
+ "integrity": "sha512-Prhx7PeRV1LuogT0Kn5VjCuFu9fVD68eefntdWabrksmNY6mXK8pRqzvNJOhTojh6nek+RxBzZeD6MIOOyXS6w==",
"requires": {
"@babel/traverse": "^7.20.0",
"@babel/types": "^7.20.0",
"invariant": "^2.2.4",
- "metro-symbolicate": "0.76.5",
+ "metro-symbolicate": "0.76.7",
"nullthrows": "^1.1.1",
- "ob1": "0.76.5",
+ "ob1": "0.76.7",
"source-map": "^0.5.6",
"vlq": "^1.0.0"
}
},
"metro-symbolicate": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.5.tgz",
- "integrity": "sha512-7iftzh6G6HO4UDBmjsi2Yu4d6IkApv6Kg+jmBvkTjCXr8HwnKKum89gMg/FRMix+Rhhut0dnMpz6mAbtKTU9JQ==",
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.76.7.tgz",
+ "integrity": "sha512-p0zWEME5qLSL1bJb93iq+zt5fz3sfVn9xFYzca1TJIpY5MommEaS64Va87lp56O0sfEIvh4307Oaf/ZzRjuLiQ==",
"requires": {
"invariant": "^2.2.4",
- "metro-source-map": "0.76.5",
+ "metro-source-map": "0.76.7",
"nullthrows": "^1.1.1",
"source-map": "^0.5.6",
"through2": "^2.0.1",
@@ -78948,9 +78907,9 @@
}
},
"ob1": {
- "version": "0.76.5",
- "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.5.tgz",
- "integrity": "sha512-HoxZXMXNuY/eIXGoX7gx1C4O3eB4kJJMola6KoFaMm7PGGg39+AnhbgMASYVmSvP2lwU3545NyiR63g8J9PW3w=="
+ "version": "0.76.7",
+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.76.7.tgz",
+ "integrity": "sha512-BQdRtxxoUNfSoZxqeBGOyuT9nEYSn18xZHwGMb0mMVpn2NBcYbnyKY4BK2LIHRgw33CBGlUmE+KMaNvyTpLLtQ=="
},
"pretty-format": {
"version": "26.6.2",
diff --git a/package.json b/package.json
index e55f3e3c6845..d008410eda0f 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
- "version": "1.3.52-1",
+ "version": "1.3.52-3",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
@@ -81,7 +81,7 @@
"date-fns-tz": "^2.0.0",
"dom-serializer": "^0.2.2",
"domhandler": "^4.3.0",
- "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#9940dd127c2d44809c98ee628a8057f08c93bfc9",
+ "expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#b60e464ca23e452eacffb93d471abed977b9abf0",
"fbjs": "^3.0.2",
"htmlparser2": "^7.2.0",
"jest-when": "^3.5.2",
@@ -93,7 +93,7 @@
"moment": "^2.29.4",
"moment-timezone": "^0.5.31",
"onfido-sdk-ui": "13.1.0",
- "patch-package": "^8.0.0-canary.2",
+ "patch-package": "^8.0.0",
"process": "^0.11.10",
"prop-types": "^15.7.2",
"pusher-js": "7.4.0",
@@ -101,7 +101,7 @@
"react-collapse": "^5.1.0",
"react-content-loader": "^6.1.0",
"react-dom": "18.1.0",
- "react-native": "0.72.1",
+ "react-native": "0.72.3",
"react-native-blob-util": "^0.17.3",
"react-native-collapsible": "^1.6.0",
"react-native-config": "^1.4.5",
@@ -156,15 +156,15 @@
"@babel/preset-env": "^7.20.0",
"@babel/preset-flow": "^7.12.13",
"@babel/preset-react": "^7.10.4",
- "@babel/runtime": "^7.20.0",
"@babel/preset-typescript": "^7.21.5",
+ "@babel/runtime": "^7.20.0",
"@electron/notarize": "^1.2.3",
"@jest/globals": "^29.5.0",
"@octokit/core": "4.0.4",
"@octokit/plugin-paginate-rest": "3.1.0",
"@octokit/plugin-throttling": "4.1.0",
"@react-native-community/eslint-config": "3.0.0",
- "@react-native/metro-config": "^0.72.7",
+ "@react-native/metro-config": "^0.72.9",
"@react-navigation/devtools": "^6.0.10",
"@storybook/addon-a11y": "^6.5.9",
"@storybook/addon-essentials": "^7.0.0",
@@ -177,7 +177,6 @@
"@svgr/webpack": "^6.0.0",
"@testing-library/jest-native": "5.4.1",
"@testing-library/react-native": "11.5.1",
- "@types/metro-config": "^0.76.3",
"@types/concurrently": "^7.0.0",
"@types/jest": "^29.5.2",
"@types/jest-when": "^3.5.2",
@@ -230,7 +229,7 @@
"jest-circus": "29.4.1",
"jest-cli": "29.4.1",
"jest-environment-jsdom": "^29.4.1",
- "metro-react-native-babel-preset": "0.76.5",
+ "metro-react-native-babel-preset": "0.76.7",
"mock-fs": "^4.13.0",
"onchange": "^7.1.0",
"portfinder": "^1.0.28",
diff --git a/patches/react-native+0.72.1+004+textViewDidChange.patch b/patches/react-native+0.72.1+004+textViewDidChange.patch
deleted file mode 100644
index a68c67483e87..000000000000
--- a/patches/react-native+0.72.1+004+textViewDidChange.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m b/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m
-index 1c8f8e0..10f469b 100644
---- a/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m
-+++ b/node_modules/react-native/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m
-@@ -256,7 +256,7 @@ - (BOOL)textView:(__unused UITextView *)textView shouldChangeTextInRange:(NSRang
-
- - (void)textViewDidChange:(__unused UITextView *)textView
- {
-- if (_ignoreNextTextInputCall) {
-+ if (_ignoreNextTextInputCall && [_lastStringStateWasUpdatedWith isEqual:_backedTextInputView.attributedText]) {
- _ignoreNextTextInputCall = NO;
- return;
- }
\ No newline at end of file
diff --git a/patches/react-native+0.72.1+001+initial.patch b/patches/react-native+0.72.3+001+initial.patch
similarity index 100%
rename from patches/react-native+0.72.1+001+initial.patch
rename to patches/react-native+0.72.3+001+initial.patch
diff --git a/patches/react-native+0.72.1+002+NumberOfLines.patch b/patches/react-native+0.72.3+002+NumberOfLines.patch
similarity index 100%
rename from patches/react-native+0.72.1+002+NumberOfLines.patch
rename to patches/react-native+0.72.3+002+NumberOfLines.patch
diff --git a/patches/react-native+0.72.1+003+VerticalScrollBarPosition.patch b/patches/react-native+0.72.3+003+VerticalScrollBarPosition.patch
similarity index 100%
rename from patches/react-native+0.72.1+003+VerticalScrollBarPosition.patch
rename to patches/react-native+0.72.3+003+VerticalScrollBarPosition.patch
diff --git a/src/CONST.js b/src/CONST.js
index 8f2c984a664f..dc0d35129a02 100755
--- a/src/CONST.js
+++ b/src/CONST.js
@@ -221,6 +221,7 @@ const CONST = {
TASKS: 'tasks',
THREADS: 'threads',
SCAN_RECEIPTS: 'scanReceipts',
+ CUSTOM_STATUS: 'customStatus',
DISTANCE_REQUESTS: 'distanceRequests',
},
BUTTON_STATES: {
@@ -2517,6 +2518,14 @@ const CONST = {
TRANSLATION_KEYS: {
ATTACHMENT: 'common.attachment',
},
+ CUSTOM_STATUS_TYPES: {
+ NEVER: 'never',
+ THIRTY_MINUTES: 'thirtyMinutes',
+ ONE_HOUR: 'oneHour',
+ AFTER_TODAY: 'afterToday',
+ AFTER_WEEK: 'afterWeek',
+ CUSTOM: 'custom',
+ },
TAB: {
RECEIPT_TAB_ID: 'ReceiptTab',
MANUAL: 'manual',
diff --git a/src/ONYXKEYS.js b/src/ONYXKEYS.js
index 4a255538c786..89e6aa9be419 100755
--- a/src/ONYXKEYS.js
+++ b/src/ONYXKEYS.js
@@ -42,6 +42,9 @@ export default {
// Has information about the network status (offline/online)
NETWORK: 'network',
+ // draft status
+ CUSTOM_STATUS_DRAFT: 'customStatusDraft',
+
// Contains all the personalDetails the user has access to, keyed by accountID
PERSONAL_DETAILS_LIST: 'personalDetailsList',
@@ -219,6 +222,9 @@ export default {
MONEY_REQUEST_DESCRIPTION_FORM: 'moneyRequestDescriptionForm',
NEW_CONTACT_METHOD_FORM: 'newContactMethodForm',
PAYPAL_FORM: 'payPalForm',
+ SETTINGS_STATUS_SET_FORM: 'settingsStatusSetForm',
+ SETTINGS_STATUS_CLEAR_AFTER_FORM: 'settingsStatusClearAfterForm',
+ SETTINGS_STATUS_SET_CLEAR_AFTER_FORM: 'settingsStatusSetClearAfterForm',
},
// Whether we should show the compose input or not
diff --git a/src/ROUTES.js b/src/ROUTES.js
index 88db46a60113..6c0365e40568 100644
--- a/src/ROUTES.js
+++ b/src/ROUTES.js
@@ -12,6 +12,8 @@ const IOU_SEND = 'send/new';
const NEW_TASK = 'new/task';
const SETTINGS_PERSONAL_DETAILS = 'settings/profile/personal-details';
const SETTINGS_CONTACT_METHODS = 'settings/profile/contact-methods';
+const SETTINGS_STATUS = 'settings/profile/status';
+const SETTINGS_STATUS_SET = 'settings/profile/status/set';
export default {
BANK_ACCOUNT: 'bank-account',
@@ -58,6 +60,8 @@ export default {
SETTINGS_2FA_CODES: 'settings/security/two-factor-auth/codes',
SETTINGS_2FA_VERIFY: 'settings/security/two-factor-auth/verify',
SETTINGS_2FA_SUCCESS: 'settings/security/two-factor-auth/success',
+ SETTINGS_STATUS,
+ SETTINGS_STATUS_SET,
NEW_GROUP: 'new/group',
NEW_CHAT: 'new/chat',
NEW_TASK,
diff --git a/src/components/EmojiPicker/EmojiPicker.js b/src/components/EmojiPicker/EmojiPicker.js
index 79e7e7bc601f..2a3a7ba296f2 100644
--- a/src/components/EmojiPicker/EmojiPicker.js
+++ b/src/components/EmojiPicker/EmojiPicker.js
@@ -48,17 +48,18 @@ const EmojiPicker = forwardRef((props, ref) => {
onModalHide.current = onModalHideValue;
onEmojiSelected.current = onEmojiSelectedValue;
emojiPopoverAnchor.current = emojiPopoverAnchorValue;
-
- if (emojiPopoverAnchor.current) {
+ if (emojiPopoverAnchor.current && emojiPopoverAnchor.current.blur) {
// Drop focus to avoid blue focus ring.
emojiPopoverAnchor.current.blur();
}
- calculateAnchorPosition(emojiPopoverAnchor.current).then((value) => {
+ const anchorOriginValue = anchorOrigin || DEFAULT_ANCHOR_ORIGIN;
+
+ calculateAnchorPosition(emojiPopoverAnchor.current, anchorOriginValue).then((value) => {
onWillShow();
setIsEmojiPickerVisible(true);
setEmojiPopoverAnchorPosition(value);
- setEmojiPopoverAnchorOrigin(anchorOrigin || DEFAULT_ANCHOR_ORIGIN);
+ setEmojiPopoverAnchorOrigin(anchorOriginValue);
setReportAction(reportActionValue);
});
};
@@ -130,14 +131,14 @@ const EmojiPicker = forwardRef((props, ref) => {
}
return;
}
- calculateAnchorPosition(emojiPopoverAnchor.current).then((value) => {
+ calculateAnchorPosition(emojiPopoverAnchor.current, emojiPopoverAnchorOrigin).then((value) => {
setEmojiPopoverAnchorPosition(value);
});
});
return () => {
emojiPopoverDimensionListener.remove();
};
- }, [isEmojiPickerVisible, props.isSmallScreenWidth]);
+ }, [isEmojiPickerVisible, props.isSmallScreenWidth, emojiPopoverAnchorOrigin]);
// There is no way to disable animations, and they are really laggy, because there are so many
// emojis. The best alternative is to set it to 1ms so it just "pops" in and out
diff --git a/src/components/EmojiPicker/EmojiPickerButtonDropdown.js b/src/components/EmojiPicker/EmojiPickerButtonDropdown.js
new file mode 100644
index 000000000000..3023a9abf95c
--- /dev/null
+++ b/src/components/EmojiPicker/EmojiPickerButtonDropdown.js
@@ -0,0 +1,81 @@
+import React, {useRef, useEffect} from 'react';
+import PropTypes from 'prop-types';
+import {View} from 'react-native';
+import styles from '../../styles/styles';
+import CONST from '../../CONST';
+import * as StyleUtils from '../../styles/StyleUtils';
+import getButtonState from '../../libs/getButtonState';
+import * as Expensicons from '../Icon/Expensicons';
+import Tooltip from '../Tooltip';
+import Text from '../Text';
+import Icon from '../Icon';
+import withLocalize, {withLocalizePropTypes} from '../withLocalize';
+import * as EmojiPickerAction from '../../libs/actions/EmojiPickerAction';
+import PressableWithoutFeedback from '../Pressable/PressableWithoutFeedback';
+
+const propTypes = {
+ /** Flag to disable the emoji picker button */
+ isDisabled: PropTypes.bool,
+
+ ...withLocalizePropTypes,
+};
+
+const defaultProps = {
+ isDisabled: false,
+};
+
+function EmojiPickerButtonDropdown(props) {
+ const emojiPopoverAnchor = useRef(null);
+ useEffect(() => EmojiPickerAction.resetEmojiPopoverAnchor, []);
+
+ const onPress = () =>
+ EmojiPickerAction.showEmojiPicker(props.onModalHide, (emoji) => props.onInputChange(emoji), emojiPopoverAnchor.current, {
+ horizontal: CONST.MODAL.ANCHOR_ORIGIN_HORIZONTAL.LEFT,
+ vertical: CONST.MODAL.ANCHOR_ORIGIN_VERTICAL.TOP,
+ shiftVertical: 4,
+ });
+
+ return (
+
+
+ {({hovered, pressed}) => (
+
+
+ {props.value}
+
+
+
+
+
+ )}
+
+
+ );
+}
+
+EmojiPickerButtonDropdown.propTypes = propTypes;
+EmojiPickerButtonDropdown.defaultProps = defaultProps;
+EmojiPickerButtonDropdown.displayName = 'EmojiPickerButtonDropdown';
+export default withLocalize(
+ React.forwardRef((props, ref) => (
+
+ )),
+);
diff --git a/src/components/FormAlertWithSubmitButton.js b/src/components/FormAlertWithSubmitButton.js
index beb97f36c665..9c941fa9b967 100644
--- a/src/components/FormAlertWithSubmitButton.js
+++ b/src/components/FormAlertWithSubmitButton.js
@@ -1,6 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import {View} from 'react-native';
+import _ from 'underscore';
import styles from '../styles/styles';
import Button from './Button';
import FormAlertWrapper from './FormAlertWrapper';
@@ -61,6 +62,8 @@ const defaultProps = {
};
function FormAlertWithSubmitButton(props) {
+ const buttonMarginStyle = _.isEmpty(props.footerContent) ? {} : styles.mb3;
+
return (
) : (
@@ -84,6 +87,7 @@ function FormAlertWithSubmitButton(props) {
success
pressOnEnter={!props.disablePressOnEnter}
text={props.buttonText}
+ style={buttonMarginStyle}
onPress={props.onSubmit}
isDisabled={props.isDisabled}
isLoading={props.isLoading}
diff --git a/src/components/PDFView/index.js b/src/components/PDFView/index.js
index 75c99757e7e0..26e117815ec1 100644
--- a/src/components/PDFView/index.js
+++ b/src/components/PDFView/index.js
@@ -101,7 +101,7 @@ class PDFView extends Component {
* Calculates a proper page height. The method should be called only when there are page viewports.
* It is based on a ratio between the specific page viewport width and provided page width.
* Also, the app should take into account the page borders.
- * @param {*} pageIndex
+ * @param {Number} pageIndex
* @returns {Number}
*/
calculatePageHeight(pageIndex) {
@@ -178,13 +178,17 @@ class PDFView extends Component {
}
/**
- * It is a currying method that returns a function that renders a specific page based on its index.
- * The function includes a wrapper to apply virtualized styles.
- * @param {Number} pageWidth
+ * Render a specific page based on its index.
+ * The method includes a wrapper to apply virtualized styles.
+ * @param {Object} page item object of the List
+ * @param {Number} page.index index of the page
+ * @param {Object} page.style virtualized styles
* @returns {JSX.Element}
*/
- renderPage(pageWidth) {
- return ({index, style}) => (
+ renderPage({index, style}) {
+ const pageWidth = this.calculatePageWidth();
+
+ return (
- {this.renderPage(pageWidth)}
+ {this.renderPage}
)}
diff --git a/src/components/ScreenWrapper/index.js b/src/components/ScreenWrapper/index.js
index 8cd4206886f8..17b0492b88c2 100644
--- a/src/components/ScreenWrapper/index.js
+++ b/src/components/ScreenWrapper/index.js
@@ -19,6 +19,7 @@ import withWindowDimensions from '../withWindowDimensions';
import withEnvironment from '../withEnvironment';
import toggleTestToolsModal from '../../libs/actions/TestTool';
import CustomDevMenu from '../CustomDevMenu';
+import * as Browser from '../../libs/Browser';
class ScreenWrapper extends React.Component {
constructor(props) {
@@ -29,6 +30,15 @@ class ScreenWrapper extends React.Component {
onPanResponderRelease: toggleTestToolsModal,
});
+ this.keyboardDissmissPanResponder = PanResponder.create({
+ onMoveShouldSetPanResponderCapture: (e, gestureState) => {
+ const isHorizontalSwipe = Math.abs(gestureState.dx) > Math.abs(gestureState.dy);
+ const shouldDismissKeyboard = this.props.shouldDismissKeyboardBeforeClose && this.props.isKeyboardShown && Browser.isMobile();
+ return isHorizontalSwipe && shouldDismissKeyboard;
+ },
+ onPanResponderGrant: Keyboard.dismiss,
+ });
+
this.state = {
didScreenTransitionEnd: false,
};
@@ -96,35 +106,41 @@ class ScreenWrapper extends React.Component {
return (
-
-
-
- {this.props.environment === CONST.ENVIRONMENT.DEV && }
- {this.props.environment === CONST.ENVIRONMENT.DEV && }
- {
- // If props.children is a function, call it to provide the insets to the children.
- _.isFunction(this.props.children)
- ? this.props.children({
- insets,
- safeAreaPaddingBottomStyle,
- didScreenTransitionEnd: this.state.didScreenTransitionEnd,
- })
- : this.props.children
- }
- {this.props.isSmallScreenWidth && this.props.shouldShowOfflineIndicator && }
-
-
+
+
+ {this.props.environment === CONST.ENVIRONMENT.DEV && }
+ {this.props.environment === CONST.ENVIRONMENT.DEV && }
+ {
+ // If props.children is a function, call it to provide the insets to the children.
+ _.isFunction(this.props.children)
+ ? this.props.children({
+ insets,
+ safeAreaPaddingBottomStyle,
+ didScreenTransitionEnd: this.state.didScreenTransitionEnd,
+ })
+ : this.props.children
+ }
+ {this.props.isSmallScreenWidth && this.props.shouldShowOfflineIndicator && }
+
+
+
);
}}
diff --git a/src/components/StaticHeaderPageLayout.js b/src/components/StaticHeaderPageLayout.js
new file mode 100644
index 000000000000..f97e42329942
--- /dev/null
+++ b/src/components/StaticHeaderPageLayout.js
@@ -0,0 +1,92 @@
+import _ from 'underscore';
+import React, {useMemo} from 'react';
+import PropTypes from 'prop-types';
+import {ScrollView, View} from 'react-native';
+import headerWithBackButtonPropTypes from './HeaderWithBackButton/headerWithBackButtonPropTypes';
+import HeaderWithBackButton from './HeaderWithBackButton';
+import ScreenWrapper from './ScreenWrapper';
+import styles from '../styles/styles';
+import themeColors from '../styles/themes/default';
+import * as StyleUtils from '../styles/StyleUtils';
+import useWindowDimensions from '../hooks/useWindowDimensions';
+import FixedFooter from './FixedFooter';
+
+const propTypes = {
+ ...headerWithBackButtonPropTypes,
+
+ /** Children to display in the lower half of the page (below the header section w/ an animation) */
+ children: PropTypes.node.isRequired,
+
+ /** The background color to apply in the upper half of the screen. */
+ backgroundColor: PropTypes.string,
+
+ /** A fixed footer to display at the bottom of the page. */
+ footer: PropTypes.node,
+};
+
+const defaultProps = {
+ backgroundColor: themeColors.appBG,
+ footer: null,
+};
+
+function StaticHeaderPageLayout({backgroundColor, children, image: Image, footer, imageContainerStyle, style, ...propsToPassToHeader}) {
+ const {windowHeight} = useWindowDimensions();
+
+ const {titleColor, iconFill} = useMemo(() => {
+ const isColorfulBackground = backgroundColor !== themeColors.appBG;
+ return {
+ titleColor: isColorfulBackground ? themeColors.textColorfulBackground : undefined,
+ iconFill: isColorfulBackground ? themeColors.iconColorfulBackground : undefined,
+ };
+ }, [backgroundColor]);
+
+ return (
+
+ {({safeAreaPaddingBottomStyle}) => (
+ <>
+
+
+
+
+
+
+
+ {children}
+
+ {!_.isNull(footer) && {footer}}
+
+ >
+ )}
+
+ );
+}
+
+StaticHeaderPageLayout.propTypes = propTypes;
+StaticHeaderPageLayout.defaultProps = defaultProps;
+StaticHeaderPageLayout.displayName = 'StaticHeaderPageLayout';
+
+export default StaticHeaderPageLayout;
diff --git a/src/components/Tooltip/index.js b/src/components/Tooltip/index.js
index 0454327de284..398df07649cf 100644
--- a/src/components/Tooltip/index.js
+++ b/src/components/Tooltip/index.js
@@ -1,121 +1,114 @@
import _ from 'underscore';
-import React, {PureComponent} from 'react';
+import React, {memo, useCallback, useEffect, useRef, useState} from 'react';
import {Animated} from 'react-native';
import {BoundsObserver} from '@react-ng/bounds-observer';
import TooltipRenderedOnPageBody from './TooltipRenderedOnPageBody';
import Hoverable from '../Hoverable';
-import withWindowDimensions from '../withWindowDimensions';
import * as tooltipPropTypes from './tooltipPropTypes';
import TooltipSense from './TooltipSense';
import * as DeviceCapabilities from '../../libs/DeviceCapabilities';
-import compose from '../../libs/compose';
-import withLocalize from '../withLocalize';
+import usePrevious from '../../hooks/usePrevious';
+import useLocalize from '../../hooks/useLocalize';
+import useWindowDimensions from '../../hooks/useWindowDimensions';
+
+const hasHoverSupport = DeviceCapabilities.hasHoverSupport();
/**
* A component used to wrap an element intended for displaying a tooltip. The term "tooltip's target" refers to the
* wrapped element, which, upon hover, triggers the tooltip to be shown.
+ * @param {propTypes} props
+ * @returns {ReactNodeLike}
*/
-class Tooltip extends PureComponent {
- constructor(props) {
- super(props);
-
- this.state = {
- // Is tooltip already rendered on the page's body? This happens once.
- isRendered: false,
-
- // Is the tooltip currently visible?
- isVisible: false,
-
- // The distance between the left side of the wrapper view and the left side of the window
- xOffset: 0,
-
- // The distance between the top of the wrapper view and the top of the window
- yOffset: 0,
-
- // The width and height of the wrapper view
- wrapperWidth: 0,
- wrapperHeight: 0,
- };
-
- // Whether the tooltip is first tooltip to activate the TooltipSense
- this.isTooltipSenseInitiator = false;
- this.animation = new Animated.Value(0);
- this.hasHoverSupport = DeviceCapabilities.hasHoverSupport();
-
- this.showTooltip = this.showTooltip.bind(this);
- this.hideTooltip = this.hideTooltip.bind(this);
- this.updateBounds = this.updateBounds.bind(this);
- this.isAnimationCanceled = React.createRef(false);
- }
-
- // eslint-disable-next-line rulesdir/prefer-early-return
- componentDidUpdate(prevProps) {
- // if the tooltip text changed before the initial animation was finished, then the tooltip won't be shown
- // we need to show the tooltip again
- if (this.state.isVisible && this.isAnimationCanceled.current && this.props.text && prevProps.text !== this.props.text) {
- this.isAnimationCanceled.current = false;
- this.showTooltip();
- }
- }
-
- /**
- * Update the tooltip bounding rectangle
- *
- * @param {Object} bounds - updated bounds
- */
- updateBounds(bounds) {
- if (bounds.width === 0) {
- this.setState({isRendered: false});
- }
- this.setState({
- wrapperWidth: bounds.width,
- wrapperHeight: bounds.height,
- xOffset: bounds.x,
- yOffset: bounds.y,
- });
- }
+function Tooltip(props) {
+ const {children, numberOfLines, maxWidth, text, renderTooltipContent, renderTooltipContentKey} = props;
+
+ const {preferredLocale} = useLocalize();
+ const {windowWidth} = useWindowDimensions();
+
+ // Is tooltip already rendered on the page's body? happens once.
+ const [isRendered, setIsRendered] = useState(false);
+ // Is the tooltip currently visible?
+ const [isVisible, setIsVisible] = useState(false);
+ // The distance between the left side of the wrapper view and the left side of the window
+ const [xOffset, setXOffset] = useState(0);
+ // The distance between the top of the wrapper view and the top of the window
+ const [yOffset, setYOffset] = useState(0);
+ // The width and height of the wrapper view
+ const [wrapperWidth, setWrapperWidth] = useState(0);
+ const [wrapperHeight, setWrapperHeight] = useState(0);
+
+ // Whether the tooltip is first tooltip to activate the TooltipSense
+ const isTooltipSenseInitiator = useRef(false);
+ const animation = useRef(new Animated.Value(0));
+ const isAnimationCanceled = useRef(false);
+ const prevText = usePrevious(text);
/**
* Display the tooltip in an animation.
*/
- showTooltip() {
- if (!this.state.isRendered) {
- this.setState({isRendered: true});
+ const showTooltip = useCallback(() => {
+ if (!isRendered) {
+ setIsRendered(true);
}
- this.setState({isVisible: true});
+ setIsVisible(true);
- this.animation.stopAnimation();
+ animation.current.stopAnimation();
// When TooltipSense is active, immediately show the tooltip
if (TooltipSense.isActive()) {
- this.animation.setValue(1);
+ animation.current.setValue(1);
} else {
- this.isTooltipSenseInitiator = true;
- Animated.timing(this.animation, {
+ isTooltipSenseInitiator.current = true;
+ Animated.timing(animation.current, {
toValue: 1,
duration: 140,
delay: 500,
useNativeDriver: false,
}).start(({finished}) => {
- this.isAnimationCanceled.current = !finished;
+ isAnimationCanceled.current = !finished;
});
}
TooltipSense.activate();
- }
+ }, [isRendered]);
+
+ // eslint-disable-next-line rulesdir/prefer-early-return
+ useEffect(() => {
+ // if the tooltip text changed before the initial animation was finished, then the tooltip won't be shown
+ // we need to show the tooltip again
+ if (isVisible && isAnimationCanceled.current && text && prevText !== text) {
+ isAnimationCanceled.current = false;
+ showTooltip();
+ }
+ }, [isVisible, text, prevText, showTooltip]);
+
+ /**
+ * Update the tooltip bounding rectangle
+ *
+ * @param {Object} bounds - updated bounds
+ */
+ const updateBounds = (bounds) => {
+ if (bounds.width === 0) {
+ setIsRendered(false);
+ }
+ setWrapperWidth(bounds.width);
+ setWrapperHeight(bounds.height);
+ setXOffset(bounds.x);
+ setYOffset(bounds.y);
+ };
/**
* Hide the tooltip in an animation.
*/
- hideTooltip() {
- this.animation.stopAnimation();
+ const hideTooltip = () => {
+ animation.current.stopAnimation();
- if (TooltipSense.isActive() && !this.isTooltipSenseInitiator) {
- this.animation.setValue(0);
+ if (TooltipSense.isActive() && !isTooltipSenseInitiator.current) {
+ animation.current.setValue(0);
} else {
// Hide the first tooltip which initiated the TooltipSense with animation
- this.isTooltipSenseInitiator = false;
- Animated.timing(this.animation, {
+ isTooltipSenseInitiator.current = false;
+ Animated.timing(animation.current, {
toValue: 0,
duration: 140,
useNativeDriver: false,
@@ -124,53 +117,51 @@ class Tooltip extends PureComponent {
TooltipSense.deactivate();
- this.setState({isVisible: false});
- }
+ setIsVisible(false);
+ };
- render() {
- // Skip the tooltip and return the children if the text is empty,
- // we don't have a render function or the device does not support hovering
- if ((_.isEmpty(this.props.text) && this.props.renderTooltipContent == null) || !this.hasHoverSupport) {
- return this.props.children;
- }
+ // Skip the tooltip and return the children if the text is empty,
+ // we don't have a render function or the device does not support hovering
+ if ((_.isEmpty(text) && renderTooltipContent == null) || !hasHoverSupport) {
+ return children;
+ }
- return (
- <>
- {this.state.isRendered && (
-
- )}
-
+ {isRendered && (
+
+ )}
+
+
-
- {this.props.children}
-
-
- >
- );
- }
+ {children}
+
+
+ >
+ );
}
Tooltip.propTypes = tooltipPropTypes.propTypes;
Tooltip.defaultProps = tooltipPropTypes.defaultProps;
-export default compose(withWindowDimensions, withLocalize)(Tooltip);
+export default memo(Tooltip);
diff --git a/src/components/Tooltip/tooltipPropTypes.js b/src/components/Tooltip/tooltipPropTypes.js
index f9a1847df242..af18c4cfa412 100644
--- a/src/components/Tooltip/tooltipPropTypes.js
+++ b/src/components/Tooltip/tooltipPropTypes.js
@@ -1,5 +1,4 @@
import PropTypes from 'prop-types';
-import {windowDimensionsPropTypes} from '../withWindowDimensions';
import variables from '../../styles/variables';
import CONST from '../../CONST';
@@ -13,9 +12,6 @@ const propTypes = {
/** Children to wrap with Tooltip. */
children: PropTypes.node.isRequired,
- /** Props inherited from withWindowDimensions */
- ...windowDimensionsPropTypes,
-
/** Any additional amount to manually adjust the horizontal position of the tooltip.
A positive value shifts the tooltip to the right, and a negative value shifts it to the left. */
shiftHorizontal: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),
diff --git a/src/languages/en.js b/src/languages/en.js
index bbf2762cc92f..7e2c288cdfba 100755
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -864,6 +864,15 @@ export default {
setPasswordLinkInvalid: 'This set password link is invalid or has expired. A new one is waiting for you in your email inbox!',
validateAccount: 'Verify account',
},
+ statusPage: {
+ status: 'Status',
+ setStatusTitle: 'Set your status',
+ statusExplanation: "Add an emoji to give your colleagues and friends an easy way to know what's going on. You can optionally add a message too!",
+ today: 'Today',
+ clearStatus: 'Clear status',
+ save: 'Save',
+ message: 'Message',
+ },
stepCounter: ({step, total, text}) => {
let result = `Step ${step}`;
diff --git a/src/languages/es.js b/src/languages/es.js
index c9ba02840238..2418e7993ea8 100644
--- a/src/languages/es.js
+++ b/src/languages/es.js
@@ -868,6 +868,15 @@ export default {
setPasswordLinkInvalid: 'El enlace para configurar tu contraseña ha expirado. Te hemos enviado un nuevo enlace a tu correo.',
validateAccount: 'Verificar cuenta',
},
+ statusPage: {
+ status: 'Estado',
+ setStatusTitle: 'Establece tu estado',
+ statusExplanation: 'Agrega un emoji para que tus colegas y amigos puedan saber fácilmente qué está pasando. ¡También puedes agregar un mensaje opcionalmente!',
+ today: 'Hoy',
+ clearStatus: 'Borrar estado',
+ save: 'Guardar',
+ message: 'Mensaje',
+ },
stepCounter: ({step, total, text}) => {
let result = `Paso ${step}`;
diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.js b/src/libs/Navigation/AppNavigator/AuthScreens.js
index ddd61da272e6..71bf782959cd 100644
--- a/src/libs/Navigation/AppNavigator/AuthScreens.js
+++ b/src/libs/Navigation/AppNavigator/AuthScreens.js
@@ -219,7 +219,6 @@ class AuthScreens extends React.Component {
// we want pop in RHP since there are some flows that would work weird otherwise
animationTypeForReplace: 'pop',
cardStyle: getNavigationModalCardStyle({
- windowHeight: this.props.windowHeight,
isSmallScreenWidth: this.props.isSmallScreenWidth,
}),
};
diff --git a/src/libs/Navigation/AppNavigator/ModalStackNavigators.js b/src/libs/Navigation/AppNavigator/ModalStackNavigators.js
index 6c49fb4c7b57..8a489afb035e 100644
--- a/src/libs/Navigation/AppNavigator/ModalStackNavigators.js
+++ b/src/libs/Navigation/AppNavigator/ModalStackNavigators.js
@@ -515,6 +515,20 @@ const SettingsModalStackNavigator = createModalStackNavigator([
},
name: 'Settings_Add_Bank_Account',
},
+ {
+ getComponent: () => {
+ const SettingsStatus = require('../../../pages/settings/Profile/CustomStatus/StatusPage').default;
+ return SettingsStatus;
+ },
+ name: 'Settings_Status',
+ },
+ {
+ getComponent: () => {
+ const SettingsStatusSet = require('../../../pages/settings/Profile/CustomStatus/StatusSetPage').default;
+ return SettingsStatusSet;
+ },
+ name: 'Settings_Status_Set',
+ },
{
getComponent: () => {
const WorkspaceInitialPage = require('../../../pages/workspace/WorkspaceInitialPage').default;
diff --git a/src/libs/Navigation/linkingConfig.js b/src/libs/Navigation/linkingConfig.js
index 6c4d58a4c585..dcc4f77fde73 100644
--- a/src/libs/Navigation/linkingConfig.js
+++ b/src/libs/Navigation/linkingConfig.js
@@ -176,6 +176,14 @@ export default {
path: ROUTES.SETTINGS_SHARE_CODE,
exact: true,
},
+ Settings_Status: {
+ path: ROUTES.SETTINGS_STATUS,
+ exact: true,
+ },
+ Settings_Status_Set: {
+ path: ROUTES.SETTINGS_STATUS_SET,
+ exact: true,
+ },
Workspace_Initial: {
path: ROUTES.WORKSPACE_INITIAL,
},
diff --git a/src/libs/Permissions.js b/src/libs/Permissions.js
index ec16f782201a..fc97436eddcb 100644
--- a/src/libs/Permissions.js
+++ b/src/libs/Permissions.js
@@ -94,6 +94,14 @@ function canUseScanReceipts(betas) {
return _.contains(betas, CONST.BETAS.SCAN_RECEIPTS) || canUseAllBetas(betas);
}
+/**
+ * @param {Array} betas
+ * @returns {Boolean}
+ */
+function canUseCustomStatus(betas) {
+ return _.contains(betas, CONST.BETAS.CUSTOM_STATUS) || canUseAllBetas(betas);
+}
+
/**
* @param {Array} betas
* @returns {Boolean}
@@ -113,5 +121,6 @@ export default {
canUsePolicyExpenseChat,
canUseTasks,
canUseScanReceipts,
+ canUseCustomStatus,
canUseDistanceRequests,
};
diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js
index a69e0e26f15d..2ac014e22a13 100644
--- a/src/libs/actions/Report.js
+++ b/src/libs/actions/Report.js
@@ -1063,7 +1063,7 @@ function editReportComment(reportID, originalReportAction, textForNewComment) {
}
// Skip the Edit if message is not changed
- if (parsedOriginalCommentHTML === htmlForNewComment.trim()) {
+ if (parsedOriginalCommentHTML === htmlForNewComment.trim() || originalCommentHTML === htmlForNewComment.trim()) {
return;
}
diff --git a/src/libs/actions/User.js b/src/libs/actions/User.js
index d07cb23c039c..c0565386ce94 100644
--- a/src/libs/actions/User.js
+++ b/src/libs/actions/User.js
@@ -829,6 +829,69 @@ function updateTheme(theme) {
Navigation.navigate(ROUTES.SETTINGS_PREFERENCES);
}
+/**
+ * Sets a custom status
+ *
+ * @param {Object} status
+ * @param {String} status.text
+ * @param {String} status.emojiCode
+ * @param {String} status.clearAfter - ISO 8601 format string, which represents the time when the status should be cleared
+ */
+function updateCustomStatus(status) {
+ API.write('UpdateStatus', status, {
+ optimisticData: [
+ {
+ onyxMethod: Onyx.METHOD.MERGE,
+ key: ONYXKEYS.PERSONAL_DETAILS_LIST,
+ value: {
+ [currentUserAccountID]: {
+ status,
+ },
+ },
+ },
+ ],
+ });
+}
+
+/**
+ * Clears the custom status
+ */
+function clearCustomStatus() {
+ API.write('ClearStatus', undefined, {
+ optimisticData: [
+ {
+ onyxMethod: Onyx.METHOD.MERGE,
+ key: ONYXKEYS.PERSONAL_DETAILS_LIST,
+ value: {
+ [currentUserAccountID]: {
+ status: null, // Clearing the field
+ },
+ },
+ },
+ ],
+ });
+}
+
+/**
+ * Sets a custom status
+ *
+ * @param {Object} status
+ * @param {String} status.text
+ * @param {String} status.emojiCode
+ * @param {String} status.clearAfter - ISO 8601 format string, which represents the time when the status should be cleared
+ */
+function updateDraftCustomStatus(status) {
+ Onyx.merge(ONYXKEYS.CUSTOM_STATUS_DRAFT, status);
+}
+
+/**
+ * Clear the custom draft status
+ *
+ */
+function clearDraftCustomStatus() {
+ Onyx.merge(ONYXKEYS.CUSTOM_STATUS_DRAFT, {text: '', emojiCode: '', clearAfter: ''});
+}
+
export {
closeAccount,
resendValidateCode,
@@ -854,4 +917,8 @@ export {
setContactMethodAsDefault,
updateTheme,
resetContactMethodValidateCodeSentState,
+ updateCustomStatus,
+ clearCustomStatus,
+ updateDraftCustomStatus,
+ clearDraftCustomStatus,
};
diff --git a/src/libs/calculateAnchorPosition.js b/src/libs/calculateAnchorPosition.js
index 512f77612f52..c886c9ac3712 100644
--- a/src/libs/calculateAnchorPosition.js
+++ b/src/libs/calculateAnchorPosition.js
@@ -1,14 +1,26 @@
+import lodashGet from 'lodash/get';
+import CONST from '../CONST';
+
/**
* Gets the x,y position of the passed in component for the purpose of anchoring another component to it.
*
* @param {Element} anchorComponent
+ * @param {{horizontal: string, vertical: string}} anchorOriginValue - Optional parameter
* @return {Promise}
*/
-export default function calculateAnchorPosition(anchorComponent) {
+export default function calculateAnchorPosition(anchorComponent, anchorOriginValue) {
return new Promise((resolve) => {
if (!anchorComponent) {
return resolve({horizontal: 0, vertical: 0});
}
- anchorComponent.measureInWindow((x, y, width) => resolve({horizontal: x + width, vertical: y}));
+ anchorComponent.measureInWindow((x, y, width, height) => {
+ if (
+ lodashGet(anchorOriginValue, 'vertical') === CONST.MODAL.ANCHOR_ORIGIN_VERTICAL.TOP &&
+ lodashGet(anchorOriginValue, 'horizontal') === CONST.MODAL.ANCHOR_ORIGIN_HORIZONTAL.LEFT
+ ) {
+ return resolve({horizontal: x, vertical: y + height + lodashGet(anchorOriginValue, 'shiftVertical', 0)});
+ }
+ return resolve({horizontal: x + width, vertical: y});
+ });
});
}
diff --git a/src/pages/home/report/ContextMenu/ContextMenuActions.js b/src/pages/home/report/ContextMenu/ContextMenuActions.js
index bc184ac2ab66..79e49efb6a03 100644
--- a/src/pages/home/report/ContextMenu/ContextMenuActions.js
+++ b/src/pages/home/report/ContextMenu/ContextMenuActions.js
@@ -240,7 +240,7 @@ export default [
icon: Expensicons.Mail,
successIcon: Expensicons.Checkmark,
shouldShow: (type, reportAction, isArchivedRoom, betas, anchor, isChronosReport, reportID, isPinnedChat, isUnreadChat) =>
- !isUnreadChat && (type === CONTEXT_MENU_TYPES.REPORT_ACTION || type === CONTEXT_MENU_TYPES.REPORT),
+ type === CONTEXT_MENU_TYPES.REPORT_ACTION || (type === CONTEXT_MENU_TYPES.REPORT && !isUnreadChat),
onPress: (closePopover, {reportAction, reportID}) => {
Report.markCommentAsUnread(reportID, reportAction.created);
if (closePopover) {
diff --git a/src/pages/home/report/ReportActionItem.js b/src/pages/home/report/ReportActionItem.js
index 89a983fea42a..3c71b8bc62f3 100644
--- a/src/pages/home/report/ReportActionItem.js
+++ b/src/pages/home/report/ReportActionItem.js
@@ -128,7 +128,6 @@ function ReportActionItem(props) {
const textInputRef = useRef();
const popoverAnchorRef = useRef();
const downloadedPreviews = useRef([]);
- const isPinnedChat = lodashGet(props, 'report.isPinned', false);
useEffect(
() => () => {
@@ -219,11 +218,9 @@ function ReportActionItem(props) {
toggleContextMenuFromActiveReportAction,
ReportUtils.isArchivedRoom(props.report),
ReportUtils.chatIncludesChronos(props.report),
- isPinnedChat,
- props.shouldDisplayNewMarker,
);
},
- [props.draftMessage, props.action, props.report, toggleContextMenuFromActiveReportAction, props.shouldDisplayNewMarker, isPinnedChat],
+ [props.draftMessage, props.action, props.report, toggleContextMenuFromActiveReportAction],
);
const toggleReaction = useCallback(
@@ -532,8 +529,6 @@ function ReportActionItem(props) {
isVisible={hovered && !props.draftMessage && !hasErrors}
draftMessage={props.draftMessage}
isChronosReport={ReportUtils.chatIncludesChronos(props.report)}
- isPinnedChat={isPinnedChat}
- isUnreadChat={props.shouldDisplayNewMarker}
/>
{
+ const endOfDay = moment().endOf('day').toDate();
+ User.updateCustomStatus({text: defaultText, emojiCode: defaultEmoji, clearAfter: endOfDay.toISOString()});
+
+ User.clearDraftCustomStatus();
+ Navigation.goBack(ROUTES.SETTINGS);
+ }, [defaultText, defaultEmoji]);
+
+ const clearStatus = () => {
+ User.clearCustomStatus();
+ User.clearDraftCustomStatus();
+ };
+
+ const footerComponent = useMemo(
+ () =>
+ hasDraftStatus ? (
+
+ ) : null,
+ [hasDraftStatus, localize, updateStatus],
+ );
+
+ useEffect(() => () => User.clearDraftCustomStatus(), []);
+
+ return (
+ Navigation.goBack(ROUTES.SETTINGS_PROFILE)}
+ backgroundColor={themeColors.midtone}
+ image={MobileBackgroundImage}
+ footer={footerComponent}
+ >
+
+ {localize.translate('statusPage.setStatusTitle')}
+ {localize.translate('statusPage.statusExplanation')}
+
+ Navigation.navigate(ROUTES.SETTINGS_STATUS_SET)}
+ />
+
+ {(!!currentUserEmojiCode || !!currentUserStatusText) && (
+
+ )}
+
+ );
+}
+
+StatusPage.displayName = 'StatusPage';
+StatusPage.propTypes = propTypes;
+
+export default compose(
+ withLocalize,
+ withCurrentUserPersonalDetails,
+ withOnyx({
+ draftStatus: {
+ key: () => ONYXKEYS.CUSTOM_STATUS_DRAFT,
+ },
+ }),
+)(StatusPage);
diff --git a/src/pages/settings/Profile/CustomStatus/StatusSetPage.js b/src/pages/settings/Profile/CustomStatus/StatusSetPage.js
new file mode 100644
index 000000000000..a3c4aae83bb1
--- /dev/null
+++ b/src/pages/settings/Profile/CustomStatus/StatusSetPage.js
@@ -0,0 +1,98 @@
+import React from 'react';
+import {View} from 'react-native';
+import PropTypes from 'prop-types';
+import lodashGet from 'lodash/get';
+import {withOnyx} from 'react-native-onyx';
+import Form from '../../../../components/Form';
+import HeaderWithBackButton from '../../../../components/HeaderWithBackButton';
+import ROUTES from '../../../../ROUTES';
+import ScreenWrapper from '../../../../components/ScreenWrapper';
+import Navigation from '../../../../libs/Navigation/Navigation';
+import compose from '../../../../libs/compose';
+import styles from '../../../../styles/styles';
+import useLocalize from '../../../../hooks/useLocalize';
+import CONST from '../../../../CONST';
+import EmojiPickerButtonDropdown from '../../../../components/EmojiPicker/EmojiPickerButtonDropdown';
+import ONYXKEYS from '../../../../ONYXKEYS';
+import * as User from '../../../../libs/actions/User';
+import withCurrentUserPersonalDetails, {withCurrentUserPersonalDetailsPropTypes} from '../../../../components/withCurrentUserPersonalDetails';
+import TextInput from '../../../../components/TextInput';
+
+const propTypes = {
+ /** The draft status of the user */
+ // eslint-disable-next-line react/require-default-props
+ draftStatus: PropTypes.shape({
+ /** The emoji code of the draft status */
+ emojiCode: PropTypes.string,
+ /** The text of the draft status */
+ text: PropTypes.string,
+ }),
+
+ ...withCurrentUserPersonalDetailsPropTypes,
+};
+
+const INPUT_IDS = {
+ EMOJI_CODE: 'emojiCode',
+ STATUS_TEXT: 'statusText',
+};
+
+function StatusSetPage({draftStatus, currentUserPersonalDetails}) {
+ const {translate} = useLocalize();
+ const defaultEmoji = lodashGet(draftStatus, 'emojiCode') || lodashGet(currentUserPersonalDetails, 'status.emojiCode', '💬');
+ const defaultText = lodashGet(draftStatus, 'text') || lodashGet(currentUserPersonalDetails, 'status.text', '');
+
+ const onSubmit = (value) => {
+ User.updateDraftCustomStatus({text: value.statusText, emojiCode: value.emojiCode});
+ Navigation.goBack(ROUTES.SETTINGS_STATUS);
+ };
+
+ return (
+
+ Navigation.goBack(ROUTES.SETTINGS_STATUS)}
+ />
+
+
+ );
+}
+
+StatusSetPage.displayName = 'StatusSetPage';
+StatusSetPage.propTypes = propTypes;
+
+export default compose(
+ withCurrentUserPersonalDetails,
+ withOnyx({
+ draftStatus: {
+ key: ONYXKEYS.CUSTOM_STATUS_DRAFT,
+ },
+ }),
+)(StatusSetPage);
diff --git a/src/pages/settings/Profile/ProfilePage.js b/src/pages/settings/Profile/ProfilePage.js
index 490d8629186f..1f89756353ff 100755
--- a/src/pages/settings/Profile/ProfilePage.js
+++ b/src/pages/settings/Profile/ProfilePage.js
@@ -24,6 +24,7 @@ import ONYXKEYS from '../../../ONYXKEYS';
import withWindowDimensions, {windowDimensionsPropTypes} from '../../../components/withWindowDimensions';
import userPropTypes from '../userPropTypes';
import * as App from '../../../libs/actions/App';
+import Permissions from '../../../libs/Permissions';
const propTypes = {
/* Onyx Props */
@@ -60,6 +61,7 @@ function ProfilePage(props) {
};
const currentUserDetails = props.currentUserPersonalDetails || {};
const contactMethodBrickRoadIndicator = UserUtils.getLoginListBrickRoadIndicator(props.loginList);
+ const emojiCode = lodashGet(props, 'currentUserPersonalDetails.status.emojiCode', '');
const profileSettingsOptions = [
{
@@ -73,6 +75,15 @@ function ProfilePage(props) {
pageRoute: ROUTES.SETTINGS_CONTACT_METHODS,
brickRoadIndicator: contactMethodBrickRoadIndicator,
},
+ ...(Permissions.canUseCustomStatus(props.betas)
+ ? [
+ {
+ description: props.translate('statusPage.status'),
+ title: emojiCode ? `${emojiCode} ${lodashGet(props, 'currentUserPersonalDetails.status.text', '')}` : '',
+ pageRoute: ROUTES.SETTINGS_STATUS,
+ },
+ ]
+ : []),
{
description: props.translate('pronounsPage.pronouns'),
title: getPronouns(),
@@ -158,5 +169,8 @@ export default compose(
user: {
key: ONYXKEYS.USER,
},
+ betas: {
+ key: ONYXKEYS.BETAS,
+ },
}),
)(ProfilePage);
diff --git a/src/styles/getNavigationModalCardStyles/index.website.js b/src/styles/getNavigationModalCardStyles/index.website.js
index c975d29301fb..f5668f955111 100644
--- a/src/styles/getNavigationModalCardStyles/index.website.js
+++ b/src/styles/getNavigationModalCardStyles/index.website.js
@@ -1,14 +1,12 @@
import getBaseNavigationModalCardStyles from './getBaseNavigationModalCardStyles';
-export default ({windowHeight, isSmallScreenWidth}) => ({
+export default ({isSmallScreenWidth}) => ({
...getBaseNavigationModalCardStyles({isSmallScreenWidth}),
- // This height is passed from JavaScript, instead of using CSS expressions like "100%" or "100vh", to work around
+ // position: fixed is set instead of position absolute to workaround Safari known issues of updating heights in DOM.
// Safari issues:
// https://github.com/Expensify/App/issues/12005
// https://github.com/Expensify/App/issues/17824
// https://github.com/Expensify/App/issues/20709
-
- height: `${windowHeight}px`,
- minHeight: `${windowHeight}px`,
+ position: 'fixed',
});
diff --git a/src/styles/styles.js b/src/styles/styles.js
index 535d59bcd468..2d5514d6df39 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -3647,11 +3647,40 @@ const styles = {
willChange: 'transform',
},
+ emojiPickerButtonDropdown: {
+ justifyContent: 'center',
+ backgroundColor: themeColors.activeComponentBG,
+ width: 86,
+ height: 52,
+ borderRadius: 26,
+ alignItems: 'center',
+ paddingLeft: 10,
+ paddingRight: 4,
+ marginBottom: 32,
+ alignSelf: 'flex-start',
+ },
+
+ emojiPickerButtonDropdownIcon: {
+ fontSize: 30,
+ },
+
moneyRequestImage: {
height: 200,
borderRadius: 16,
margin: 20,
},
+
+ staticHeaderImage: {
+ minHeight: 240,
+ },
+
+ emojiPickerButtonDropdownContainer: {
+ flexDirection: 'row',
+ alignItems: 'center',
+ },
+ rotate90: {
+ transform: [{rotate: '90deg'}],
+ },
};
export default styles;