diff --git a/CHANGELOG.md b/CHANGELOG.md
index f1e190c403dd1..31a4d7a19cc6b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,7 @@ Package-specific changes not released in any SDK will be added here just before
- Updated `@react-native-community/datetimepicker` from `6.2.0` to `6.5.0`. ([#19419](https://github.com/expo/expo/pull/19419) by [@byCedric](https://github.com/byCedric))
- Updated `react-native-maps` from `0.31.1` to `1.3.2`. ([#19414](https://github.com/expo/expo/pull/19414) by [@aleqsio](https://github.com/aleqsio))
- Updated `lottie-react-native` from `5.1.3` to `5.1.4`. ([#19433](https://github.com/expo/expo/pull/19433) by [@kudo](https://github.com/kudo))
+- Updated `@react-native-community/slider` from `4.2.3` to `4.2.4`. ([#19424](https://github.com/expo/expo/pull/19424)) by [@kudo](https://github.com/kudo))
### 🛠Breaking changes
diff --git a/android/expoview/src/main/java/versioned/host/exp/exponent/ExponentPackage.kt b/android/expoview/src/main/java/versioned/host/exp/exponent/ExponentPackage.kt
index 6f5b87a638f12..ef57f5e1fb32a 100644
--- a/android/expoview/src/main/java/versioned/host/exp/exponent/ExponentPackage.kt
+++ b/android/expoview/src/main/java/versioned/host/exp/exponent/ExponentPackage.kt
@@ -7,6 +7,7 @@ import com.facebook.react.ReactPackage
import com.facebook.react.bridge.NativeModule
import com.facebook.react.bridge.ReactApplicationContext
import com.facebook.react.uimanager.ViewManager
+import com.reactnativecommunity.slider.ReactSliderPackage
import com.shopify.reactnative.flash_list.ReactNativeFlashListPackage
import com.shopify.reactnative.skia.RNSkiaPackage
import com.swmansion.rnscreens.RNScreensPackage
@@ -36,7 +37,6 @@ import versioned.host.exp.exponent.modules.api.components.picker.RNCPickerPackag
import versioned.host.exp.exponent.modules.api.components.reactnativestripesdk.StripeSdkPackage
import versioned.host.exp.exponent.modules.api.components.sharedelement.RNSharedElementModule
import versioned.host.exp.exponent.modules.api.components.sharedelement.RNSharedElementPackage
-import versioned.host.exp.exponent.modules.api.components.slider.ReactSliderPackage
import versioned.host.exp.exponent.modules.api.components.svg.SvgPackage
import versioned.host.exp.exponent.modules.api.components.pagerview.PagerViewPackage
import versioned.host.exp.exponent.modules.api.components.webview.RNCWebViewModule
diff --git a/android/vendored/unversioned/@react-native-community/slider/android/build.gradle b/android/vendored/unversioned/@react-native-community/slider/android/build.gradle
new file mode 100644
index 0000000000000..f793dde0e88a4
--- /dev/null
+++ b/android/vendored/unversioned/@react-native-community/slider/android/build.gradle
@@ -0,0 +1,40 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ google()
+ }
+
+ dependencies {
+ classpath 'com.android.tools.build:gradle:3.2.1'
+ }
+}
+
+def getExtOrDefault(name) {
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['ReactNativeSlider_' + name]
+}
+
+def getExtOrIntegerDefault(name) {
+ return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties['ReactNativeSlider_' + name]).toInteger()
+}
+
+apply plugin: 'com.android.library'
+
+android {
+ compileSdkVersion getExtOrIntegerDefault('compileSdkVersion')
+ buildToolsVersion getExtOrDefault('buildToolsVersion')
+
+ defaultConfig {
+ minSdkVersion getExtOrIntegerDefault('minSdkVersion')
+ targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
+ }
+}
+
+repositories {
+ google()
+ mavenCentral()
+}
+
+dependencies {
+ //noinspection GradleDynamicVersion
+ api 'com.facebook.react:react-native:+'
+}
diff --git a/android/vendored/unversioned/@react-native-community/slider/android/src/main/AndroidManifest.xml b/android/vendored/unversioned/@react-native-community/slider/android/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000000..f8c7bb80a423b
--- /dev/null
+++ b/android/vendored/unversioned/@react-native-community/slider/android/src/main/AndroidManifest.xml
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSlider.java b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSlider.java
similarity index 98%
rename from android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSlider.java
rename to android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSlider.java
index a11bd006f1f72..f0c476e39764b 100644
--- a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSlider.java
+++ b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSlider.java
@@ -4,7 +4,7 @@
*
This source code is licensed under the MIT license found in the LICENSE file in the root
* directory of this source tree.
*/
-package versioned.host.exp.exponent.modules.api.components.slider;
+package com.reactnativecommunity.slider;
import android.content.Context;
import android.graphics.Bitmap;
@@ -66,8 +66,8 @@ public class ReactSlider extends AppCompatSeekBar {
private List mAccessibilityIncrements;
- public ReactSlider(Context context, @Nullable AttributeSet attrs, int style) {
- super(context, attrs, style);
+ public ReactSlider(Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
super.setLayoutDirection(sharedI18nUtilInstance.isRTL(context) ? LAYOUT_DIRECTION_RTL : LAYOUT_DIRECTION_LTR);
disableStateListAnimatorIfNeeded();
diff --git a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSliderEvent.java b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSliderEvent.java
similarity index 95%
rename from android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSliderEvent.java
rename to android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSliderEvent.java
index 55052d6be73ca..de691b0f527b5 100644
--- a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSliderEvent.java
+++ b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSliderEvent.java
@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/
-package versioned.host.exp.exponent.modules.api.components.slider;
+package com.reactnativecommunity.slider;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
diff --git a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSliderManager.java b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSliderManager.java
similarity index 97%
rename from android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSliderManager.java
rename to android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSliderManager.java
index dd47c658ae91d..65f7849f03d28 100644
--- a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSliderManager.java
+++ b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSliderManager.java
@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/
-package versioned.host.exp.exponent.modules.api.components.slider;
+package com.reactnativecommunity.slider;
import android.graphics.PorterDuffColorFilter;
import android.os.Build;
@@ -38,8 +38,6 @@
*/
public class ReactSliderManager extends SimpleViewManager {
- private static final int STYLE = android.R.attr.seekBarStyle;
-
public static final String REACT_CLASS = "RNCSlider";
static class ReactSliderShadowNode extends LayoutShadowNode implements
@@ -65,7 +63,7 @@ public long measure(
float height,
YogaMeasureMode heightMode) {
if (!mMeasured) {
- SeekBar reactSlider = new ReactSlider(getThemedContext(), null, STYLE);
+ SeekBar reactSlider = new ReactSlider(getThemedContext(), null);
final int spec = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
reactSlider.measure(spec, spec);
mWidth = reactSlider.getMeasuredWidth();
@@ -131,7 +129,7 @@ public Class getShadowNodeClass() {
@Override
protected ReactSlider createViewInstance(ThemedReactContext context) {
- ReactSlider slider = new ReactSlider(context, null, STYLE);
+ ReactSlider slider = new ReactSlider(context, null);
if (Build.VERSION.SDK_INT >= 21) {
/**
diff --git a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSliderPackage.java b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSliderPackage.java
similarity index 93%
rename from android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSliderPackage.java
rename to android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSliderPackage.java
index fd821664308d4..38a3f1f7f4e5c 100644
--- a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSliderPackage.java
+++ b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSliderPackage.java
@@ -1,4 +1,4 @@
-package versioned.host.exp.exponent.modules.api.components.slider;
+package com.reactnativecommunity.slider;
import java.util.Arrays;
import java.util.Collections;
diff --git a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSlidingCompleteEvent.java b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSlidingCompleteEvent.java
similarity index 95%
rename from android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSlidingCompleteEvent.java
rename to android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSlidingCompleteEvent.java
index 0e5c5e2c54616..d597156b0923b 100644
--- a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSlidingCompleteEvent.java
+++ b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSlidingCompleteEvent.java
@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/
-package versioned.host.exp.exponent.modules.api.components.slider;
+package com.reactnativecommunity.slider;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
diff --git a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSlidingStartEvent.java b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSlidingStartEvent.java
similarity index 95%
rename from android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSlidingStartEvent.java
rename to android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSlidingStartEvent.java
index 7e333c65d52b7..03f32aecc2c68 100644
--- a/android/expoview/src/main/java/versioned/host/exp/exponent/modules/api/components/slider/ReactSlidingStartEvent.java
+++ b/android/vendored/unversioned/@react-native-community/slider/android/src/main/java/com/reactnativecommunity/slider/ReactSlidingStartEvent.java
@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/
-package versioned.host.exp.exponent.modules.api.components.slider;
+package com.reactnativecommunity.slider;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.WritableMap;
diff --git a/apps/bare-expo/package.json b/apps/bare-expo/package.json
index 91b659b84156a..bd7460c604130 100644
--- a/apps/bare-expo/package.json
+++ b/apps/bare-expo/package.json
@@ -94,7 +94,7 @@
"@react-native-async-storage/async-storage": "~1.17.3",
"@react-native-community/datetimepicker": "6.5.0",
"@react-native-community/netinfo": "9.3.3",
- "@react-native-community/slider": "4.2.3",
+ "@react-native-community/slider": "4.2.4",
"@react-native-community/viewpager": "5.0.11",
"@react-native-masked-view/masked-view": "0.2.6",
"@react-native-picker/picker": "2.4.6",
diff --git a/apps/native-component-list/package.json b/apps/native-component-list/package.json
index bda9175e4f0c8..7fbd06a0c9d97 100644
--- a/apps/native-component-list/package.json
+++ b/apps/native-component-list/package.json
@@ -44,7 +44,7 @@
"@react-native-async-storage/async-storage": "~1.17.3",
"@react-native-community/datetimepicker": "6.5.0",
"@react-native-community/netinfo": "9.3.3",
- "@react-native-community/slider": "4.2.3",
+ "@react-native-community/slider": "4.2.4",
"@react-native-masked-view/masked-view": "0.2.6",
"@react-native-picker/picker": "2.4.6",
"@react-native-segmented-control/segmented-control": "2.4.0",
diff --git a/ios/Exponent.xcodeproj/project.pbxproj b/ios/Exponent.xcodeproj/project.pbxproj
index 562b772311371..75b4e4b048847 100644
--- a/ios/Exponent.xcodeproj/project.pbxproj
+++ b/ios/Exponent.xcodeproj/project.pbxproj
@@ -196,7 +196,6 @@
A12E8B64266E8E51003ADA8F /* EXManagedAppSplashScreenViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A12E8B63266E8E51003ADA8F /* EXManagedAppSplashScreenViewController.m */; };
A1C33FE42667F6E70091644A /* EXSplashScreenHUDButton.m in Sources */ = {isa = PBXBuildFile; fileRef = A1C33FDB2667F6E70091644A /* EXSplashScreenHUDButton.m */; };
A1C33FE52667F6E70091644A /* EXSplashScreenHUDButton.m in Sources */ = {isa = PBXBuildFile; fileRef = A1C33FDB2667F6E70091644A /* EXSplashScreenHUDButton.m */; };
- ABC18CFCC0224BF0B95B691A /* RNCSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = EC7E234A4A564DFE84B2B1D0 /* RNCSlider.m */; settings = {COMPILER_FLAGS = "-w"; }; };
B0D21CC221E6488D8EDA79EA /* RNSharedElementTransitionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E9033E268A74098A882CCEB /* RNSharedElementTransitionManager.m */; settings = {COMPILER_FLAGS = "-w"; }; };
B21115F8246C1B47005BA616 /* EXScopedNotificationBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = B21115F7246C1B47005BA616 /* EXScopedNotificationBuilder.m */; };
B22BB0342366F3F400EE04EC /* EXScopedErrorRecoveryModule.m in Sources */ = {isa = PBXBuildFile; fileRef = B22BB0322366F3F400EE04EC /* EXScopedErrorRecoveryModule.m */; };
@@ -289,7 +288,6 @@
BBD03196200011C9009F0434 /* RNAWSCognito.m in Sources */ = {isa = PBXBuildFile; fileRef = BBD03192200011C9009F0434 /* RNAWSCognito.m */; };
BBE4333C268BE5AE000D016A /* EXManagedAppSplashScreenViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A12E8B63266E8E51003ADA8F /* EXManagedAppSplashScreenViewController.m */; };
BBE8539422B98829001FF9C2 /* EXScopedFontLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = BBE8539322B98828001FF9C2 /* EXScopedFontLoader.m */; };
- BCB61D782B4944E89A1F0371 /* RNCSliderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CCF7710E4F58478DA6A63F09 /* RNCSliderManager.m */; settings = {COMPILER_FLAGS = "-w"; }; };
BE23D5E5DA574BA3A73C19C3 /* RNSharedElementTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = C97E31ABB8C341358B20C89C /* RNSharedElementTransition.m */; settings = {COMPILER_FLAGS = "-w"; }; };
BE988DDEFEFD40FEA5C44BFE /* RNDateTimePickerManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D86827B3D57944D8A25F37F8 /* RNDateTimePickerManager.m */; settings = {COMPILER_FLAGS = "-w"; }; };
C07CF8B597D24E3D9BAF4D31 /* AIRGoogleMapHeatmap.m in Sources */ = {isa = PBXBuildFile; fileRef = 65028F8B8C154DE59D8AC3E3 /* AIRGoogleMapHeatmap.m */; settings = {COMPILER_FLAGS = "-w"; }; };
@@ -550,8 +548,6 @@
F1421903262CB68600BB97E6 /* RNSVGForeignObject.m in Sources */ = {isa = PBXBuildFile; fileRef = A0DCD2EBCF2B4FDC80E8EBE3 /* RNSVGForeignObject.m */; settings = {COMPILER_FLAGS = "-w"; }; };
F1421904262CB68600BB97E6 /* RNSVGForeignObjectManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8796D576855445C7AE7F4659 /* RNSVGForeignObjectManager.m */; settings = {COMPILER_FLAGS = "-w"; }; };
F1421905262CB68600BB97E6 /* RNSharedElementCornerRadii.m in Sources */ = {isa = PBXBuildFile; fileRef = 780F0BF062134A048B33344C /* RNSharedElementCornerRadii.m */; settings = {COMPILER_FLAGS = "-w"; }; };
- F1421906262CB68600BB97E6 /* RNCSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = EC7E234A4A564DFE84B2B1D0 /* RNCSlider.m */; settings = {COMPILER_FLAGS = "-w"; }; };
- F1421908262CB68600BB97E6 /* RNCSliderManager.m in Sources */ = {isa = PBXBuildFile; fileRef = CCF7710E4F58478DA6A63F09 /* RNCSliderManager.m */; settings = {COMPILER_FLAGS = "-w"; }; };
F142190C262CB68600BB97E6 /* SafariServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F77DDB921E04AC1100624CA2 /* SafariServices.framework */; };
F142190F262CB68600BB97E6 /* Exponent.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = B5E49B551D1346FA00AA6436 /* Exponent.entitlements */; };
F1421910262CB68600BB97E6 /* EXSDKVersions.plist in Resources */ = {isa = PBXBuildFile; fileRef = B5E49B621D1347B800AA6436 /* EXSDKVersions.plist */; };
@@ -670,7 +666,6 @@
19B2EF731FB25A1A003F2E1B /* EXCachedResourceManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EXCachedResourceManager.h; sourceTree = ""; };
19B2EF741FB25A1A003F2E1B /* EXCachedResourceManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EXCachedResourceManager.m; sourceTree = ""; };
1A7952F30F72271C821848D7 /* Pods-ExponentIntegrationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ExponentIntegrationTests.debug.xcconfig"; path = "Target Support Files/Pods-ExponentIntegrationTests/Pods-ExponentIntegrationTests.debug.xcconfig"; sourceTree = ""; };
- 1CF1D8E66E5B4C7A9476C145 /* RNCSliderManager.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; path = RNCSliderManager.h; sourceTree = ""; };
1E9033E268A74098A882CCEB /* RNSharedElementTransitionManager.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; path = RNSharedElementTransitionManager.m; sourceTree = ""; };
2168B25A23E3058500A94C0D /* EXScopedFirebaseCore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EXScopedFirebaseCore.m; sourceTree = ""; };
2168B25B23E3058500A94C0D /* EXScopedFirebaseCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EXScopedFirebaseCore.h; sourceTree = ""; };
@@ -1203,7 +1198,6 @@
C97E31ABB8C341358B20C89C /* RNSharedElementTransition.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; path = RNSharedElementTransition.m; sourceTree = ""; };
CB140B5293CF4E4B9FA74E62 /* RNSVGForeignObjectManager.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; path = RNSVGForeignObjectManager.h; sourceTree = ""; };
CC72501D815B491FBC42AACA /* RNSharedElementTypes.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; path = RNSharedElementTypes.h; sourceTree = ""; };
- CCF7710E4F58478DA6A63F09 /* RNCSliderManager.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; path = RNCSliderManager.m; sourceTree = ""; };
D1919BD72DB8244D157FA9EC /* libPods-Expo Go-Expo Go (unversioned).a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Expo Go-Expo Go (unversioned).a"; sourceTree = BUILT_PRODUCTS_DIR; };
D29BDFCEEA8F4701829ADCD1 /* RNSharedElementNode.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; path = RNSharedElementNode.m; sourceTree = ""; };
D47336D662754EDA8EA4BC55 /* RNDateTimePicker.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; path = RNDateTimePicker.m; sourceTree = ""; };
@@ -1214,7 +1208,6 @@
E307EED1B62C455182DBF80B /* RNSharedElementTransitionItem.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; path = RNSharedElementTransitionItem.h; sourceTree = ""; };
E37EA5BB197945508A6A14F0 /* RNCPickerLabel.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; path = RNCPickerLabel.m; sourceTree = ""; };
E3D76D11068A74897B9A37EC /* Pods-Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Tests.release.xcconfig"; path = "Target Support Files/Pods-Tests/Pods-Tests.release.xcconfig"; sourceTree = ""; };
- EC7E234A4A564DFE84B2B1D0 /* RNCSlider.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; path = RNCSlider.m; sourceTree = ""; };
EE5757442E5343FAAC728C45 /* RNCMaskedView.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; path = RNCMaskedView.h; sourceTree = ""; };
F10869892448B11D00B7DC04 /* EXDevMenuMotionInterceptor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EXDevMenuMotionInterceptor.h; sourceTree = ""; };
F108698A2448B11D00B7DC04 /* EXDevMenuMotionInterceptor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EXDevMenuMotionInterceptor.m; sourceTree = ""; };
@@ -1237,7 +1230,6 @@
F1D6AF62244720E100AC1C74 /* EXDevMenuManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EXDevMenuManager.h; sourceTree = ""; };
F1D6AF63244720E100AC1C74 /* EXDevMenuManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EXDevMenuManager.m; sourceTree = ""; };
F1D6AF6524472BA900AC1C74 /* EXDevMenuDelegateProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EXDevMenuDelegateProtocol.h; sourceTree = ""; };
- F1E9894638084CB4956C637C /* RNCSlider.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; path = RNCSlider.h; sourceTree = ""; };
F1F7433C24ABECD400EA5023 /* Exponent-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Exponent-Bridging-Header.h"; sourceTree = ""; };
F1F7433D24ABECD500EA5023 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
F4B751B511314328B86D13C6 /* RNSVGTopAlignedLabel.ios.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; path = RNSVGTopAlignedLabel.ios.m; sourceTree = ""; };
@@ -1321,17 +1313,6 @@
name = SegmentedControl;
sourceTree = "";
};
- 0E05846EF744409D93CC1ED6 /* Slider */ = {
- isa = PBXGroup;
- children = (
- F1E9894638084CB4956C637C /* RNCSlider.h */,
- EC7E234A4A564DFE84B2B1D0 /* RNCSlider.m */,
- 1CF1D8E66E5B4C7A9476C145 /* RNCSliderManager.h */,
- CCF7710E4F58478DA6A63F09 /* RNCSliderManager.m */,
- );
- path = Slider;
- sourceTree = "";
- };
255747E7222D515400D91513 /* EXScopedFileSystem */ = {
isa = PBXGroup;
children = (
@@ -2205,7 +2186,6 @@
65B902B660654403B6731F7E /* SharedElement */,
E3BD4F6E1BF543B697AFB794 /* DateTimePicker */,
6999211AF26A46738FB9E106 /* MaskedView */,
- 0E05846EF744409D93CC1ED6 /* Slider */,
);
path = Components;
sourceTree = "";
@@ -3306,8 +3286,6 @@
B75F881E8F9641B785F76CB0 /* RNSVGForeignObject.m in Sources */,
C1A9EE2CB1DF4BD8936C3C7F /* RNSVGForeignObjectManager.m in Sources */,
F581B81CB601426CB5658AEE /* RNSharedElementCornerRadii.m in Sources */,
- ABC18CFCC0224BF0B95B691A /* RNCSlider.m in Sources */,
- BCB61D782B4944E89A1F0371 /* RNCSliderManager.m in Sources */,
6782D340A0024AF58B3805D0 /* RNSVGTopAlignedLabel.ios.m in Sources */,
8353B820277A17FC00AFCBDA /* EXStandaloneViewController.m in Sources */,
827A699919CED163689E655D /* ExpoModulesProvider.swift in Sources */,
@@ -3608,8 +3586,6 @@
F1421904262CB68600BB97E6 /* RNSVGForeignObjectManager.m in Sources */,
F1421905262CB68600BB97E6 /* RNSharedElementCornerRadii.m in Sources */,
837259A9280671D200E204C1 /* AIRMapUrlTileCachedOverlay.m in Sources */,
- F1421906262CB68600BB97E6 /* RNCSlider.m in Sources */,
- F1421908262CB68600BB97E6 /* RNCSliderManager.m in Sources */,
19762DC50FD4D897EDAF61A5 /* ExpoModulesProvider.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 793ee66dd4841..5c27b50e22ad1 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -1947,6 +1947,8 @@ PODS:
- React
- React-callinvoker
- React-Core
+ - react-native-slider (4.2.4):
+ - React-Core
- react-native-webview (11.23.1):
- React-Core
- React-perflogger (0.70.2)
@@ -2411,6 +2413,7 @@ DEPENDENCIES:
- react-native-safe-area-context (from `./vendored/unversioned/react-native-safe-area-context`)
- "react-native-segmented-control (from `./vendored/unversioned/@react-native-segmented-control/segmented-control`)"
- "react-native-skia (from `./vendored/unversioned/@shopify/react-native-skia`)"
+ - "react-native-slider (from `./vendored/unversioned/@react-native-community/slider`)"
- react-native-webview (from `./vendored/unversioned/react-native-webview`)
- React-perflogger (from `../react-native-lab/react-native/ReactCommon/reactperflogger`)
- React-RCTActionSheet (from `../react-native-lab/react-native/Libraries/ActionSheetIOS`)
@@ -3104,6 +3107,8 @@ EXTERNAL SOURCES:
:path: "./vendored/unversioned/@react-native-segmented-control/segmented-control"
react-native-skia:
:path: "./vendored/unversioned/@shopify/react-native-skia"
+ react-native-slider:
+ :path: "./vendored/unversioned/@react-native-community/slider"
react-native-webview:
:path: "./vendored/unversioned/react-native-webview"
React-perflogger:
@@ -3498,6 +3503,7 @@ SPEC CHECKSUMS:
react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a
react-native-segmented-control: 06607462630512ff8eef652ec560e6235a30cc3e
react-native-skia: 78330615997e720dd07db28f4b8dfff22e9dd031
+ react-native-slider: cecabb58ecffad671d2ad3ccc58c7f4d2d029e95
react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581
React-perflogger: 6009895616a455781293950bbd63d53cfc7ffbc5
React-RCTActionSheet: 5e90aa5712af18bfc86c2c6d97d4dbe0e5451c1d
diff --git a/ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSlider.h b/ios/vendored/unversioned/@react-native-community/slider/ios/RNCSlider.h
similarity index 96%
rename from ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSlider.h
rename to ios/vendored/unversioned/@react-native-community/slider/ios/RNCSlider.h
index a62e05075bbde..452b02f1a1e41 100644
--- a/ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSlider.h
+++ b/ios/vendored/unversioned/@react-native-community/slider/ios/RNCSlider.h
@@ -27,4 +27,6 @@
@property (nonatomic, strong) NSString *accessibilityUnits;
@property (nonatomic, strong) NSArray *accessibilityIncrements;
+- (float) discreteValue:(float)value;
+
@end
diff --git a/ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSlider.m b/ios/vendored/unversioned/@react-native-community/slider/ios/RNCSlider.m
similarity index 82%
rename from ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSlider.m
rename to ios/vendored/unversioned/@react-native-community/slider/ios/RNCSlider.m
index d83f34fffdec5..4eb8185395e74 100644
--- a/ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSlider.m
+++ b/ios/vendored/unversioned/@react-native-community/slider/ios/RNCSlider.m
@@ -21,6 +21,7 @@ - (instancetype)initWithFrame:(CGRect)frame
- (void)setValue:(float)value
{
+ value = [self discreteValue:value];
_unclippedValue = value;
super.value = value;
[self setupAccessibility:value];
@@ -28,6 +29,7 @@ - (void)setValue:(float)value
- (void)setValue:(float)value animated:(BOOL)animated
{
+ value = [self discreteValue:value];
_unclippedValue = value;
[super setValue:value animated:animated];
[self setupAccessibility:value];
@@ -130,4 +132,29 @@ - (void)setInverted:(BOOL)inverted
}
}
+- (float)discreteValue:(float)value
+{
+ if (self.step > 0 && value >= self.maximumValue) {
+ return self.maximumValue;
+ }
+
+ if (self.step > 0 && self.step <= (self.maximumValue - self.minimumValue)) {
+ double (^_round)(double) = ^(double x) {
+ if (!UIAccessibilityIsVoiceOverRunning()) {
+ return round(x);
+ } else if (self.lastValue > value) {
+ return floor(x);
+ } else {
+ return ceil(x);
+ }
+ };
+
+ return MAX(self.minimumValue,
+ MIN(self.maximumValue, self.minimumValue + _round((value - self.minimumValue) / self.step) * self.step)
+ );
+ }
+
+ return value;
+}
+
@end
diff --git a/ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSliderManager.h b/ios/vendored/unversioned/@react-native-community/slider/ios/RNCSliderManager.h
similarity index 100%
rename from ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSliderManager.h
rename to ios/vendored/unversioned/@react-native-community/slider/ios/RNCSliderManager.h
diff --git a/ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSliderManager.m b/ios/vendored/unversioned/@react-native-community/slider/ios/RNCSliderManager.m
similarity index 78%
rename from ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSliderManager.m
rename to ios/vendored/unversioned/@react-native-community/slider/ios/RNCSliderManager.m
index a1d5efd648267..d045b2b36c659 100644
--- a/ios/Exponent/Versioned/Core/Api/Components/Slider/RNCSliderManager.m
+++ b/ios/vendored/unversioned/@react-native-community/slider/ios/RNCSliderManager.m
@@ -61,7 +61,7 @@ - (void)tapHandler:(UITapGestureRecognizer *)gesture {
slider.lastValue = slider.value;
float value = slider.minimumValue + (rangeWidth * sliderPercent);
- [slider setValue:discreteValue(slider, value) animated: YES];
+ [slider setValue:[slider discreteValue:value] animated: YES];
if (slider.onRNCSliderSlidingStart) {
slider.onRNCSliderSlidingStart(@{
@@ -83,43 +83,9 @@ - (void)tapHandler:(UITapGestureRecognizer *)gesture {
}
}
-static float discreteValue(RNCSlider *sender, float value) {
- // Check if thumb should reach the maximum value and put it on the end of track if yes.
- // To avoid affecting the thumb when on maximum, the `step >= (value - maximum)` is not checked.
- if (sender.step > 0 && value >= sender.maximumValue) {
- return sender.maximumValue;
- }
-
- // If step is set and less than or equal to difference between max and min values,
- // pick the closest discrete multiple of step to return.
- if (sender.step > 0 && sender.step <= (sender.maximumValue - sender.minimumValue)) {
-
- // Round up when increase, round down when decrease.
- double (^_round)(double) = ^(double x) {
- if (!UIAccessibilityIsVoiceOverRunning()) {
- return round(x);
- } else if (sender.lastValue > value) {
- return floor(x);
- } else {
- return ceil(x);
- }
- };
-
- return
- MAX(sender.minimumValue,
- MIN(sender.maximumValue,
- sender.minimumValue + _round((value - sender.minimumValue) / sender.step) * sender.step
- )
- );
- }
-
- // Otherwise, leave value unchanged.
- return value;
-}
-
static void RNCSendSliderEvent(RNCSlider *sender, BOOL continuous, BOOL isSlidingStart)
{
- float value = discreteValue(sender, sender.value);
+ float value = [sender discreteValue:sender.value];
if(!sender.isSliding) {
[sender setValue:value animated:NO];
diff --git a/ios/vendored/unversioned/@react-native-community/slider/react-native-slider.podspec.json b/ios/vendored/unversioned/@react-native-community/slider/react-native-slider.podspec.json
new file mode 100644
index 0000000000000..894b0bf1711f9
--- /dev/null
+++ b/ios/vendored/unversioned/@react-native-community/slider/react-native-slider.podspec.json
@@ -0,0 +1,19 @@
+{
+ "name": "react-native-slider",
+ "version": "4.2.4",
+ "summary": "React Native component used to select a single value from a range of values.",
+ "license": "MIT",
+ "authors": "react-native-community",
+ "homepage": "https://github.com/callstack/react-native-slider#readme",
+ "platforms": {
+ "ios": "9.0"
+ },
+ "source": {
+ "git": "https://github.com/react-native-community/react-native-slider.git",
+ "tag": "v4.2.4"
+ },
+ "source_files": "ios/**/*.{h,m}",
+ "dependencies": {
+ "React-Core": []
+ }
+}
diff --git a/packages/expo/bundledNativeModules.json b/packages/expo/bundledNativeModules.json
index 7f064782e1ae0..5c30796395a46 100644
--- a/packages/expo/bundledNativeModules.json
+++ b/packages/expo/bundledNativeModules.json
@@ -4,7 +4,7 @@
"@react-native-community/datetimepicker": "6.5.0",
"@react-native-masked-view/masked-view": "0.2.7",
"@react-native-community/netinfo": "9.3.3",
- "@react-native-community/slider": "4.2.3",
+ "@react-native-community/slider": "4.2.4",
"@react-native-community/viewpager": "5.0.11",
"@react-native-firebase/app": "~15.4.0",
"@react-native-picker/picker": "2.4.6",
diff --git a/tools/src/commands/UpdateVendoredModule.ts b/tools/src/commands/UpdateVendoredModule.ts
index cd57890997a07..3a124e9b81593 100644
--- a/tools/src/commands/UpdateVendoredModule.ts
+++ b/tools/src/commands/UpdateVendoredModule.ts
@@ -85,11 +85,14 @@ async function action(options: ActionOptions) {
}
const moduleName = await resolveModuleNameAsync(options.module, targetConfig);
- const sourceDirectory = path.join(os.tmpdir(), 'ExpoVendoredModules', moduleName);
+ const downloadSourceDir = path.join(os.tmpdir(), 'ExpoVendoredModules', moduleName);
const moduleConfig = targetConfig.modules[moduleName];
try {
- await downloadSourceAsync(sourceDirectory, moduleName, moduleConfig, options);
+ await downloadSourceAsync(downloadSourceDir, moduleName, moduleConfig, options);
+ const sourceDirectory = moduleConfig.rootDir
+ ? path.join(downloadSourceDir, moduleConfig.rootDir)
+ : downloadSourceDir;
const platforms = resolvePlatforms(options.platform);
@@ -141,7 +144,7 @@ async function action(options: ActionOptions) {
}
} finally {
// Clean cloned repo
- await fs.remove(sourceDirectory);
+ await fs.remove(downloadSourceDir);
}
logger.success('💪 Successfully updated %s\n', chalk.bold(moduleName));
}
diff --git a/tools/src/vendoring/config/expoGoConfig.ts b/tools/src/vendoring/config/expoGoConfig.ts
index 8139cb76fd3b4..11fdf4a77e637 100644
--- a/tools/src/vendoring/config/expoGoConfig.ts
+++ b/tools/src/vendoring/config/expoGoConfig.ts
@@ -272,7 +272,12 @@ const config: VendoringTargetConfig = {
},
'@react-native-community/slider': {
source: 'https://github.com/callstack/react-native-slider',
- packageJsonPath: 'src/package.json',
+ rootDir: 'src',
+ ios: {},
+ android: {
+ includeFiles: 'android/**',
+ excludeFiles: ['android/gradle{/**,**}'],
+ },
},
'@shopify/react-native-skia': {
source: '@shopify/react-native-skia',
diff --git a/tools/src/vendoring/legacy.ts b/tools/src/vendoring/legacy.ts
index b31bcd7c292ef..125b1e14c37e1 100644
--- a/tools/src/vendoring/legacy.ts
+++ b/tools/src/vendoring/legacy.ts
@@ -723,21 +723,6 @@ const vendoredModulesConfig: { [key: string]: VendoredModuleConfig } = {
},
],
},
- '@react-native-community/slider': {
- repoUrl: 'https://github.com/react-native-community/react-native-slider',
- installableInManagedApps: true,
- packageJsonPath: 'src',
- steps: [
- {
- sourceIosPath: 'src/ios',
- targetIosPath: 'Api/Components/Slider',
- sourceAndroidPath: 'src/android/src/main/java/com/reactnativecommunity/slider',
- targetAndroidPath: 'modules/api/components/slider',
- sourceAndroidPackage: 'com.reactnativecommunity.slider',
- targetAndroidPackage: 'versioned.host.exp.exponent.modules.api.components.slider',
- },
- ],
- },
'@stripe/stripe-react-native': {
repoUrl: 'https://github.com/stripe/stripe-react-native',
installableInManagedApps: true,
diff --git a/tools/src/vendoring/types.ts b/tools/src/vendoring/types.ts
index 8b57d497db2ae..e7839b014f1f3 100644
--- a/tools/src/vendoring/types.ts
+++ b/tools/src/vendoring/types.ts
@@ -10,6 +10,9 @@ export type VendoringModuleConfig = {
semverPrefix?: string;
packageJsonPath?: string;
+ // Specify root directory for copying files. This is useful for workspace that the module is in a subfolder.
+ rootDir?: string;
+
sourceType?: 'git' | 'npm';
ios?: VendoringModulePlatformConfig<{
diff --git a/yarn.lock b/yarn.lock
index 01d3a40ea800e..a651236108766 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3314,10 +3314,10 @@
resolved "https://registry.yarnpkg.com/@react-native-community/netinfo/-/netinfo-9.3.3.tgz#ee6a36f7f084d84e90342743026717e7ddad6a90"
integrity sha512-/nlrGqItwRnqjis7yWhUq6lpxS8Sm1DMNsjNfABih9wGnh58Tu28z3Box/ifFnu0kD2Fdp0UZXe74QwoZDKA4A==
-"@react-native-community/slider@4.2.3":
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/@react-native-community/slider/-/slider-4.2.3.tgz#7ed4f00ca2c50c666c47a59205b3df031d2588eb"
- integrity sha512-qPkrAy883tSPoRWgGZjqL5tYnd4AmNLYNtjvtD9G6JMYtImxK4ITa/W8zOEgR8UOrPde/t+VN0MMxL63HZZK1Q==
+"@react-native-community/slider@4.2.4":
+ version "4.2.4"
+ resolved "https://registry.yarnpkg.com/@react-native-community/slider/-/slider-4.2.4.tgz#8d88adceeb32f7997a122feba48d7186fca80346"
+ integrity sha512-uY51UoipQW4ELnFWMU6rTHRc4EUYaW+Z1O9Teijej6NYVYdUcUKq+t7WeBGjMAEc1ipyooMeBqRXToWO5zAU2Q==
"@react-native-community/viewpager@5.0.11":
version "5.0.11"