diff --git a/README.md b/README.md
index 412756d..c67d507 100644
--- a/README.md
+++ b/README.md
@@ -47,7 +47,7 @@ then do `npx pod-install`
cornerSmoothing |
number |
Controls the amount of smoothing for the radius, 0 means there is no smoothing (will render like any other View , 100 is maximum amount |
- 0 |
+ 100 |
preserveSmoothing |
diff --git a/android/src/main/java/expo/modules/squircleview/ExpoSquircleViewModule.kt b/android/src/main/java/expo/modules/squircleview/ExpoSquircleViewModule.kt
index 28a19a8..259e594 100644
--- a/android/src/main/java/expo/modules/squircleview/ExpoSquircleViewModule.kt
+++ b/android/src/main/java/expo/modules/squircleview/ExpoSquircleViewModule.kt
@@ -9,30 +9,30 @@ class ExpoSquircleViewModule : Module() {
Name("ExpoSquircleView")
View(ExpoSquircleView::class) {
- Prop("cornerSmoothing") { view: ExpoSquircleView, prop: Int ->
- view.setCornerSmoothing(prop)
- }
-
- Prop("borderRadius") { view: ExpoSquircleView, prop: Float ->
- view.setBorderRadius(prop)
- }
-
- Prop("backgroundColor") { view: ExpoSquircleView, prop: Int? ->
+ Prop("squircleBackgroundColor") { view: ExpoSquircleView, prop: Int? ->
if (prop != null) {
view.setViewBackgroundColor(prop)
}
}
- Prop("borderColor") { view: ExpoSquircleView, prop: Int? ->
+ Prop("squircleBorderColor") { view: ExpoSquircleView, prop: Int? ->
if (prop != null) {
view.setBorderColor(prop)
}
}
- Prop("borderWidth") { view: ExpoSquircleView, prop: Float ->
+ Prop("squircleBorderWidth") { view: ExpoSquircleView, prop: Float ->
view.setBorderWidth(prop)
}
+ Prop("borderRadius") { view: ExpoSquircleView, prop: Float ->
+ view.setBorderRadius(prop)
+ }
+
+ Prop("cornerSmoothing") { view: ExpoSquircleView, prop: Int ->
+ view.setCornerSmoothing(prop)
+ }
+
Prop("preserveSmoothing") { view: ExpoSquircleView, prop: Boolean ->
view.setPreserveSmoothing(prop)
}
diff --git a/example/App.tsx b/example/App.tsx
index e091dc1..722443b 100644
--- a/example/App.tsx
+++ b/example/App.tsx
@@ -1,8 +1,10 @@
-import { SafeAreaView, ScrollView, StyleSheet, Text, View } from "react-native";
+import { Button, SafeAreaView, ScrollView, StyleSheet, Text, View } from "react-native";
import { SquircleView } from "expo-squircle-view";
import { Slider } from "@miblanchard/react-native-slider";
import React from "react";
+import Animated, { useAnimatedProps, useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
+
export default function App() {
const WIDTH = 390;
@@ -22,6 +24,19 @@ export default function App() {
const [borderWidth, setBorderWidth] = React.useState(BORDER_WIDTH);
const [padding, setPadding] = React.useState(0);
+
+ // Reanimated Testing
+ // const widthSV = useSharedValue(WIDTH);
+ // const scaleSV = useSharedValue(0.9);
+ // const animatedStyle = useAnimatedStyle(() => {
+ // return {
+ // width: widthSV.value,
+ // flexDirection: 'row-reverse',
+ // transform: [{ scale: scaleSV.value }]
+ // }
+ // })
+ // End Reanimated Testing
+
return (
@@ -121,7 +136,7 @@ export default function App() {
-
+
Squircle
-
+
+ {/* */}
@@ -180,7 +197,39 @@ export default function App() {
react-native-figma-squircle
*/}
-
+
+ {/* Reanimated Testing */}
+ {/*
diff --git a/example/android/gradle.properties b/example/android/gradle.properties
index 40220de..e56f44c 100644
--- a/example/android/gradle.properties
+++ b/example/android/gradle.properties
@@ -57,3 +57,5 @@ EX_DEV_CLIENT_NETWORK_INSPECTOR=true
# Use legacy packaging to compress native libraries in the resulting APK.
expo.useLegacyPackaging=false
+
+android.extraMavenRepos=[]
\ No newline at end of file
diff --git a/example/app.json b/example/app.json
index 7e027df..863c775 100644
--- a/example/app.json
+++ b/example/app.json
@@ -24,6 +24,19 @@
},
"web": {
"favicon": "./assets/favicon.png"
- }
+ },
+ "plugins": [
+ [
+ "expo-build-properties",
+ {
+ "ios": {
+ "newArchEnabled": false
+ },
+ "android": {
+ "newArchEnabled": false
+ }
+ }
+ ]
+ ]
}
}
diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock
index 75868cb..a3b71f7 100644
--- a/example/ios/Podfile.lock
+++ b/example/ios/Podfile.lock
@@ -246,7 +246,7 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - ExpoSquircleView (0.5.1):
+ - ExpoSquircleView (1.0.1):
- ExpoModulesCore
- PocketSVG (~> 2.7.3)
- EXSplashScreen (0.27.5):
@@ -1437,7 +1437,28 @@ PODS:
- React-logger (= 0.74.2)
- React-perflogger (= 0.74.2)
- React-utils (= 0.74.2)
- - RNSVG (15.2.0):
+ - RNReanimated (3.10.1):
+ - DoubleConversion
+ - glog
+ - hermes-engine
+ - RCT-Folly (= 2024.01.01.00)
+ - RCTRequired
+ - RCTTypeSafety
+ - React-Codegen
+ - React-Core
+ - React-debug
+ - React-Fabric
+ - React-featureflags
+ - React-graphics
+ - React-ImageManager
+ - React-NativeModulesApple
+ - React-RCTFabric
+ - React-rendererdebug
+ - React-utils
+ - ReactCommon/turbomodule/bridging
+ - ReactCommon/turbomodule/core
+ - Yoga
+ - RNSVG (15.6.0):
- React-Core
- SocketRocket (0.7.0)
- Yoga (0.0.0)
@@ -1514,6 +1535,7 @@ DEPENDENCIES:
- React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
- React-utils (from `../node_modules/react-native/ReactCommon/react/utils`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
+ - RNReanimated (from `../node_modules/react-native-reanimated`)
- RNSVG (from `../node_modules/react-native-svg`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
@@ -1662,6 +1684,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/react/utils"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
+ RNReanimated:
+ :path: "../node_modules/react-native-reanimated"
RNSVG:
:path: "../node_modules/react-native-svg"
Yoga:
@@ -1683,7 +1707,7 @@ SPEC CHECKSUMS:
ExpoFont: 43b69559cef3d773db57c7ae7edd3cb0aa0dc610
ExpoKeepAwake: 3b8815d9dd1d419ee474df004021c69fdd316d08
ExpoModulesCore: d7b31b6d68b2ba815c46660d86018c789178fdb9
- ExpoSquircleView: 2d77e70f2415a1bc7847703f56d2266602ba0aa6
+ ExpoSquircleView: 48796bcb38f095ae004cef22a75198f1984b449d
EXSplashScreen: fbf0ec78e9cee911df188bf17b4fe51d15a84b87
EXUpdatesInterface: 996527fd7d1a5d271eb523258d603f8f92038f24
FBLazyVector: 4bc164e5b5e6cfc288d2b5ff28643ea15fa1a589
@@ -1738,10 +1762,11 @@ SPEC CHECKSUMS:
React-runtimescheduler: 56b642bf605ba5afa500d35790928fc1d51565ad
React-utils: 4476b7fcbbd95cfd002f3e778616155241d86e31
ReactCommon: ecad995f26e0d1e24061f60f4e5d74782f003f12
- RNSVG: 43b64ed39c14ce830d840903774154ca0c1f27ec
+ RNReanimated: 35f9ac9c3ac42d0497ebd1cce5c39d7687a8493e
+ RNSVG: 5da7a24f31968ec74f0b091e3440080f347e279b
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
Yoga: ae3c32c514802d30f687a04a6a35b348506d411f
PODFILE CHECKSUM: 9af856da1857856653f759adb9d680e087de8049
-COCOAPODS: 1.14.3
+COCOAPODS: 1.15.2
diff --git a/example/ios/Podfile.properties.json b/example/ios/Podfile.properties.json
index de9f7b7..259ae81 100644
--- a/example/ios/Podfile.properties.json
+++ b/example/ios/Podfile.properties.json
@@ -1,4 +1,8 @@
{
"expo.jsEngine": "hermes",
- "EX_DEV_CLIENT_NETWORK_INSPECTOR": "true"
+ "EX_DEV_CLIENT_NETWORK_INSPECTOR": "true",
+ "newArchEnabled": "false",
+ "apple.extraPods": "[]",
+ "apple.ccacheEnabled": "false",
+ "apple.privacyManifestAggregationEnabled": "true"
}
diff --git a/example/ios/exposquircleviewexample.xcodeproj/project.pbxproj b/example/ios/exposquircleviewexample.xcodeproj/project.pbxproj
index 4a5c570..fac08a1 100644
--- a/example/ios/exposquircleviewexample.xcodeproj/project.pbxproj
+++ b/example/ios/exposquircleviewexample.xcodeproj/project.pbxproj
@@ -11,11 +11,11 @@
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; };
- 4596517DE12A1DDB9B4250AB /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 5A40C432B63F30011EA24167 /* PrivacyInfo.xcprivacy */; };
+ 570CCC862C8B4C6284986586 /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5C6E4095FD14932B6EA79E8 /* noop-file.swift */; };
96905EF65AED1B983A6B3ABC /* libPods-exposquircleviewexample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58EEBF8E8E6FB1BC6CAF49B5 /* libPods-exposquircleviewexample.a */; };
- A2848FB2F27646D885151AD6 /* noop-file.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2682D8EAF8A4F31990725A8 /* noop-file.swift */; };
B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */; };
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };
+ F94EB82749BF166F27784ADD /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = FAD7BF1AE1F522B616CF3391 /* PrivacyInfo.xcprivacy */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -26,15 +26,15 @@
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = exposquircleviewexample/Info.plist; sourceTree = ""; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = exposquircleviewexample/main.m; sourceTree = ""; };
58EEBF8E8E6FB1BC6CAF49B5 /* libPods-exposquircleviewexample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-exposquircleviewexample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- 5A40C432B63F30011EA24167 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = exposquircleviewexample/PrivacyInfo.xcprivacy; sourceTree = ""; };
6C2E3173556A471DD304B334 /* Pods-exposquircleviewexample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exposquircleviewexample.debug.xcconfig"; path = "Target Support Files/Pods-exposquircleviewexample/Pods-exposquircleviewexample.debug.xcconfig"; sourceTree = ""; };
7A4D352CD337FB3A3BF06240 /* Pods-exposquircleviewexample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exposquircleviewexample.release.xcconfig"; path = "Target Support Files/Pods-exposquircleviewexample/Pods-exposquircleviewexample.release.xcconfig"; sourceTree = ""; };
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = exposquircleviewexample/SplashScreen.storyboard; sourceTree = ""; };
- B2682D8EAF8A4F31990725A8 /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "exposquircleviewexample/noop-file.swift"; sourceTree = ""; };
BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; };
- E482EEC1D569441F9E4A3A55 /* exposquircleviewexample-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "exposquircleviewexample-Bridging-Header.h"; path = "exposquircleviewexample/exposquircleviewexample-Bridging-Header.h"; sourceTree = ""; };
+ E5C6E4095FD14932B6EA79E8 /* noop-file.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = "noop-file.swift"; path = "exposquircleviewexample/noop-file.swift"; sourceTree = ""; };
+ EA49B73CCAC64FF488043482 /* exposquircleviewexample-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "exposquircleviewexample-Bridging-Header.h"; path = "exposquircleviewexample/exposquircleviewexample-Bridging-Header.h"; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
FAC715A2D49A985799AEE119 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-exposquircleviewexample/ExpoModulesProvider.swift"; sourceTree = ""; };
+ FAD7BF1AE1F522B616CF3391 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; name = PrivacyInfo.xcprivacy; path = exposquircleviewexample/PrivacyInfo.xcprivacy; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -59,9 +59,9 @@
13B07FB61A68108700A75B9A /* Info.plist */,
13B07FB71A68108700A75B9A /* main.m */,
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */,
- B2682D8EAF8A4F31990725A8 /* noop-file.swift */,
- E482EEC1D569441F9E4A3A55 /* exposquircleviewexample-Bridging-Header.h */,
- 5A40C432B63F30011EA24167 /* PrivacyInfo.xcprivacy */,
+ E5C6E4095FD14932B6EA79E8 /* noop-file.swift */,
+ EA49B73CCAC64FF488043482 /* exposquircleviewexample-Bridging-Header.h */,
+ FAD7BF1AE1F522B616CF3391 /* PrivacyInfo.xcprivacy */,
);
name = exposquircleviewexample;
sourceTree = "";
@@ -147,13 +147,13 @@
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "exposquircleviewexample" */;
buildPhases = (
08A4A3CD28434E44B6B9DE2E /* [CP] Check Pods Manifest.lock */,
- 5FAA896A15AF2359D1DC8576 /* [Expo] Configure project */,
+ 5A65E98CD22659FE829F294A /* [Expo] Configure project */,
13B07F871A680F5B00A75B9A /* Sources */,
13B07F8C1A680F5B00A75B9A /* Frameworks */,
13B07F8E1A680F5B00A75B9A /* Resources */,
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */,
- 53D077D8CE53CEA620E15A74 /* [CP] Embed Pods Frameworks */,
+ 7463482588B1FB794C4F8B21 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -203,7 +203,7 @@
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */,
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */,
- 4596517DE12A1DDB9B4250AB /* PrivacyInfo.xcprivacy in Resources */,
+ F94EB82749BF166F27784ADD /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -247,42 +247,42 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
- 53D077D8CE53CEA620E15A74 /* [CP] Embed Pods Frameworks */ = {
+ 5A65E98CD22659FE829F294A /* [Expo] Configure project */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
+ inputFileListPaths = (
+ );
inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-exposquircleviewexample/Pods-exposquircleviewexample-frameworks.sh",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
);
- name = "[CP] Embed Pods Frameworks";
+ name = "[Expo] Configure project";
+ outputFileListPaths = (
+ );
outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-exposquircleviewexample/Pods-exposquircleviewexample-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
+ shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-exposquircleviewexample/expo-configure-project.sh\"\n";
};
- 5FAA896A15AF2359D1DC8576 /* [Expo] Configure project */ = {
+ 7463482588B1FB794C4F8B21 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
- alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
- inputFileListPaths = (
- );
inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-exposquircleviewexample/Pods-exposquircleviewexample-frameworks.sh",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
);
- name = "[Expo] Configure project";
- outputFileListPaths = (
- );
+ name = "[CP] Embed Pods Frameworks";
outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-exposquircleviewexample/expo-configure-project.sh\"\n";
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-exposquircleviewexample/Pods-exposquircleviewexample-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
};
800E24972A6A228C8D4807E9 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
@@ -324,7 +324,7 @@
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
13B07FC11A68108700A75B9A /* main.m in Sources */,
B18059E884C0ABDD17F3DC3D /* ExpoModulesProvider.swift in Sources */,
- A2848FB2F27646D885151AD6 /* noop-file.swift in Sources */,
+ 570CCC862C8B4C6284986586 /* noop-file.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/example/package.json b/example/package.json
index 7cc1d77..6b7ad7c 100644
--- a/example/package.json
+++ b/example/package.json
@@ -11,6 +11,7 @@
"dependencies": {
"@miblanchard/react-native-slider": "^2.3.1",
"expo": "~51.0.11",
+ "expo-build-properties": "~0.12.5",
"expo-dev-client": "~4.0.23",
"expo-splash-screen": "~0.27.5",
"expo-status-bar": "~1.12.1",
@@ -18,7 +19,8 @@
"react": "18.2.0",
"react-native": "0.74.2",
"react-native-figma-squircle": "^0.3.4",
- "react-native-svg": "15.2.0"
+ "react-native-reanimated": "~3.10.1",
+ "react-native-svg": "15.6.0"
},
"devDependencies": {
"@babel/core": "^7.20.0",
diff --git a/example/yarn.lock b/example/yarn.lock
index e248b4a..7b69845 100644
--- a/example/yarn.lock
+++ b/example/yarn.lock
@@ -180,6 +180,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0"
integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==
+"@babel/helper-plugin-utils@^7.24.8":
+ version "7.24.8"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878"
+ integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==
+
"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.24.7":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz#b3f0f203628522713849d49403f1a414468be4c7"
@@ -461,7 +466,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
-"@babel/plugin-transform-arrow-functions@^7.0.0":
+"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.0.0-0":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz#4f6886c11e423bd69f3ce51dbf42424a5f275514"
integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==
@@ -562,6 +567,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.24.7"
"@babel/helper-plugin-utils" "^7.24.7"
+"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz#1de4534c590af9596f53d67f52a92f12db984120"
+ integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+
"@babel/plugin-transform-object-rest-spread@^7.12.13":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz#d13a2b93435aeb8a197e115221cab266ba6e55d6"
@@ -572,6 +585,15 @@
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
"@babel/plugin-transform-parameters" "^7.24.7"
+"@babel/plugin-transform-optional-chaining@^7.0.0-0":
+ version "7.24.8"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz#bb02a67b60ff0406085c13d104c99a835cdf365d"
+ integrity sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.8"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+
"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.22.15", "@babel/plugin-transform-parameters@^7.24.7":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz#5881f0ae21018400e320fc7eb817e529d1254b68"
@@ -656,7 +678,7 @@
babel-plugin-polyfill-regenerator "^0.6.1"
semver "^6.3.1"
-"@babel/plugin-transform-shorthand-properties@^7.0.0":
+"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.0.0-0":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz#85448c6b996e122fa9e289746140aaa99da64e73"
integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==
@@ -678,6 +700,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.24.7"
+"@babel/plugin-transform-template-literals@^7.0.0-0":
+ version "7.24.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz#a05debb4a9072ae8f985bcf77f3f215434c8f8c8"
+ integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.7"
+
"@babel/plugin-transform-typescript@^7.24.7", "@babel/plugin-transform-typescript@^7.5.0":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz#b006b3e0094bf0813d505e0c5485679eeaf4a881"
@@ -717,7 +746,7 @@
"@babel/plugin-transform-react-jsx-development" "^7.24.7"
"@babel/plugin-transform-react-pure-annotations" "^7.24.7"
-"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.23.0":
+"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7", "@babel/preset-typescript@^7.23.0":
version "7.24.7"
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz#66cd86ea8f8c014855671d5ea9a737139cbbfef1"
integrity sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==
@@ -1829,6 +1858,16 @@ ajv@8.11.0:
require-from-string "^2.0.2"
uri-js "^4.2.2"
+ajv@^8.11.0:
+ version "8.17.1"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6"
+ integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==
+ dependencies:
+ fast-deep-equal "^3.1.3"
+ fast-uri "^3.0.1"
+ json-schema-traverse "^1.0.0"
+ require-from-string "^2.0.2"
+
anser@^1.4.9:
version "1.4.10"
resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.10.tgz#befa3eddf282684bd03b63dcda3927aef8c2e35b"
@@ -3013,6 +3052,14 @@ expo-asset@~10.0.8:
invariant "^2.2.4"
md5-file "^3.2.3"
+expo-build-properties@~0.12.5:
+ version "0.12.5"
+ resolved "https://registry.yarnpkg.com/expo-build-properties/-/expo-build-properties-0.12.5.tgz#4d6232389f00c846ba37ca5df2c0b5527c2d94ca"
+ integrity sha512-donC1le0PYfLKCPKRMGQoixuWuwDWCngzXSoQXUPsgHTDHQUKr8aw+lcWkTwZcItgNovcnk784I0dyfYDcxybA==
+ dependencies:
+ ajv "^8.11.0"
+ semver "^7.6.0"
+
expo-constants@~16.0.0:
version "16.0.2"
resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-16.0.2.tgz#eb5a1bddb7308fd8cadac8fc44decaf4784cac5e"
@@ -3142,7 +3189,7 @@ expo@~51.0.11:
fbemitter "^3.0.0"
whatwg-url-without-unicode "8.0.0-3"
-fast-deep-equal@^3.1.1:
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@@ -3158,6 +3205,11 @@ fast-glob@^3.2.5, fast-glob@^3.2.9, fast-glob@^3.3.2:
merge2 "^1.3.0"
micromatch "^4.0.4"
+fast-uri@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134"
+ integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==
+
fast-xml-parser@^4.0.12, fast-xml-parser@^4.2.4:
version "4.4.0"
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz#341cc98de71e9ba9e651a67f41f1752d1441a501"
@@ -5372,13 +5424,28 @@ react-native-figma-squircle@^0.3.4:
dependencies:
figma-squircle "^0.2.1"
-react-native-svg@15.2.0:
- version "15.2.0"
- resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.2.0.tgz#9561a6b3bd6b44689f437ba13182afee33bd5557"
- integrity sha512-R0E6IhcJfVLsL0lRmnUSm72QO+mTqcAOM5Jb8FVGxJqX3NfJMlMP0YyvcajZiaRR8CqQUpEoqrY25eyZb006kw==
+react-native-reanimated@~3.10.1:
+ version "3.10.1"
+ resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.10.1.tgz#3c37d1100bbba0065df39c96aab0c1ff1b50c0fa"
+ integrity sha512-sfxg6vYphrDc/g4jf/7iJ7NRi+26z2+BszPmvmk0Vnrz6FL7HYljJqTf531F1x6tFmsf+FEAmuCtTUIXFLVo9w==
+ dependencies:
+ "@babel/plugin-transform-arrow-functions" "^7.0.0-0"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.0.0-0"
+ "@babel/plugin-transform-optional-chaining" "^7.0.0-0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0-0"
+ "@babel/plugin-transform-template-literals" "^7.0.0-0"
+ "@babel/preset-typescript" "^7.16.7"
+ convert-source-map "^2.0.0"
+ invariant "^2.2.4"
+
+react-native-svg@15.6.0:
+ version "15.6.0"
+ resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.6.0.tgz#13b2af53b1701597df301122b869b61918e1e9a5"
+ integrity sha512-TUtR+h+yi1ODsd8FHdom1TpjfWOmnaK5pri5rnSBXnMqpzq8o2zZfonHTjPX+nS3wb/Pu2XsoARgYaHNjVWXhQ==
dependencies:
css-select "^5.1.0"
css-tree "^1.1.3"
+ warn-once "0.1.1"
react-native@0.74.2:
version "0.74.2"
@@ -6528,6 +6595,11 @@ walker@^1.0.7:
dependencies:
makeerror "1.0.12"
+warn-once@0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.1.1.tgz#952088f4fb56896e73fd4e6a3767272a3fccce43"
+ integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==
+
wcwidth@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
diff --git a/ios/ExpoSquircleViewModule.swift b/ios/ExpoSquircleViewModule.swift
index 74d99a6..334af12 100644
--- a/ios/ExpoSquircleViewModule.swift
+++ b/ios/ExpoSquircleViewModule.swift
@@ -5,13 +5,13 @@ public class ExpoSquircleViewModule: Module {
Name("ExpoSquircleView")
View(ExpoSquircleView.self) {
- Prop("backgroundColor") { (view: ExpoSquircleView, prop: UIColor) in
+ Prop("squircleBackgroundColor") { (view: ExpoSquircleView, prop: UIColor) in
view.setBackgroundColor(prop)
}
- Prop("borderColor") { (view: ExpoSquircleView, prop: UIColor) in
+ Prop("squircleBorderColor") { (view: ExpoSquircleView, prop: UIColor) in
view.setBorderColor(prop)
}
- Prop("borderWidth") { (view: ExpoSquircleView, prop: Float) in
+ Prop("squircleBorderWidth") { (view: ExpoSquircleView, prop: Float) in
view.setBorderWidth(CGFloat(prop))
}
Prop("borderRadius") { (view: ExpoSquircleView, prop: Float) in
diff --git a/src/ExpoSquircleView.tsx b/src/ExpoSquircleView.tsx
index 8a20be1..ab2772e 100644
--- a/src/ExpoSquircleView.tsx
+++ b/src/ExpoSquircleView.tsx
@@ -33,11 +33,11 @@ const ExpoSquircleViewNativeWrapper = (
return (
;
- borderColor?: ReturnType;
+ squircleBackgroundColor?: ReturnType;
+ squircleBorderColor?: ReturnType;
+ squircleBorderWidth?: number;
} & ViewProps &
SquircleProps;