?{p=I9-}8Bw4_NR1!#>(2;FQboHQz$P@*
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
literal 0
HcmV?d00001
diff --git a/example/babel.config.js b/example/babel.config.js
index 7b9771e..2e8dd0a 100644
--- a/example/babel.config.js
+++ b/example/babel.config.js
@@ -1,9 +1,10 @@
const path = require("path");
-module.exports = function (api) {
+module.exports = (api) => {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
+ "react-native-reanimated/plugin",
[
"module-resolver",
{
diff --git a/example/components/VolumeMeteringAvatar.tsx b/example/components/VolumeMeteringAvatar.tsx
new file mode 100644
index 0000000..6f9e9cd
--- /dev/null
+++ b/example/components/VolumeMeteringAvatar.tsx
@@ -0,0 +1,131 @@
+import { useSpeechRecognitionEvent } from "expo-speech-recognition";
+import { Image, StyleSheet, View } from "react-native";
+import Animated, {
+ Extrapolation,
+ interpolate,
+ useAnimatedStyle,
+ useSharedValue,
+ withTiming,
+ Easing,
+ withSpring,
+ withSequence,
+} from "react-native-reanimated";
+const avatar = require("../assets/avatar.png");
+
+const MIN_SCALE = 1;
+const MAX_SCALE = 2;
+
+/**
+ * This is an example component that uses the `volumechange` event to animate the volume metering of a user's voice.
+ */
+export function VolumeMeteringAvatar() {
+ const volumeScale = useSharedValue(MIN_SCALE);
+ const pulseScale = useSharedValue(MIN_SCALE);
+ const pulseOpacity = useSharedValue(0);
+
+ const reset = () => {
+ volumeScale.value = MIN_SCALE;
+ pulseScale.value = MIN_SCALE;
+ pulseOpacity.value = 0;
+ };
+
+ useSpeechRecognitionEvent("start", reset);
+ useSpeechRecognitionEvent("end", reset);
+
+ useSpeechRecognitionEvent("volumechange", (event) => {
+ // Don't animate anything if the volume is too low
+ if (event.value <= 1) {
+ return;
+ }
+
+ const newScale = interpolate(
+ event.value,
+ [-2, 10], // The value range is between -2 and 10
+ [MIN_SCALE, MAX_SCALE],
+ Extrapolation.CLAMP,
+ );
+
+ // Animate the volume scaling
+ volumeScale.value = withSequence(
+ withSpring(newScale, {
+ damping: 10,
+ stiffness: 150,
+ }),
+ // Scale back down, unless the volume changes again
+ withTiming(MIN_SCALE, { duration: 500 }),
+ );
+
+ // Animate the pulse (scale and fade out)
+ if (pulseOpacity.value <= 0) {
+ pulseScale.value = MIN_SCALE;
+ pulseOpacity.value = 1;
+ pulseScale.value = withTiming(MAX_SCALE, {
+ duration: 1000,
+ easing: Easing.out(Easing.quad),
+ });
+ pulseOpacity.value = withTiming(0, { duration: 1000 });
+ }
+ });
+
+ const volumeScaleStyle = useAnimatedStyle(() => ({
+ transform: [{ scale: volumeScale.value }],
+ }));
+
+ const pulseStyle = useAnimatedStyle(() => ({
+ opacity: pulseOpacity.value,
+ transform: [{ scale: pulseScale.value }],
+ }));
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+const styles = StyleSheet.create({
+ container: {
+ position: "relative",
+ marginVertical: 20,
+ },
+ absoluteCenteredContainer: {
+ position: "absolute",
+ top: 0,
+ bottom: 0,
+ left: 0,
+ right: 0,
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ pulse: {
+ borderWidth: 1,
+ borderColor: "#539bf5",
+ width: 96,
+ height: 96,
+ borderRadius: 96,
+ },
+ circularBorder: {
+ backgroundColor: "#6b7280",
+ width: 96,
+ height: 96,
+ borderRadius: 96,
+ },
+ centered: {
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ avatar: {
+ width: 96,
+ height: 96,
+ borderRadius: 96,
+ overflow: "hidden",
+ },
+});
diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock
index 6cc6faf..aaf1870 100644
--- a/example/ios/Podfile.lock
+++ b/example/ios/Podfile.lock
@@ -6,7 +6,7 @@ PODS:
- ReactCommon/turbomodule/core
- EXConstants (16.0.2):
- ExpoModulesCore
- - Expo (51.0.36):
+ - Expo (51.0.37):
- ExpoModulesCore
- ExpoAsset (10.0.10):
- ExpoModulesCore
@@ -39,9 +39,9 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - ExpoSpeechRecognition (0.2.22):
+ - ExpoSpeechRecognition (0.2.23):
- ExpoModulesCore
- - EXSplashScreen (0.27.5):
+ - EXSplashScreen (0.27.6):
- DoubleConversion
- ExpoModulesCore
- glog
@@ -1226,6 +1226,27 @@ PODS:
- React-logger (= 0.74.5)
- React-perflogger (= 0.74.5)
- React-utils (= 0.74.5)
+ - 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
- SocketRocket (0.7.0)
- Yoga (0.0.0)
@@ -1295,6 +1316,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`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
@@ -1429,6 +1451,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"
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
@@ -1437,14 +1461,14 @@ SPEC CHECKSUMS:
DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5
EXAV: afa491e598334bbbb92a92a2f4dd33d7149ad37f
EXConstants: 409690fbfd5afea964e5e9d6c4eb2c2b59222c59
- Expo: 51c2d7fee7a8c7195ac257c9f9503378800d334e
+ Expo: 67b60b3b80a3c8e9f3bcaaa84d06d140229a246d
ExpoAsset: 323700f291684f110fb55f0d4022a3362ea9f875
ExpoFileSystem: 80bfe850b1f9922c16905822ecbf97acd711dc51
ExpoFont: 00756e6c796d8f7ee8d211e29c8b619e75cbf238
ExpoKeepAwake: 3b8815d9dd1d419ee474df004021c69fdd316d08
ExpoModulesCore: 260ee156852434da26e782bbb993093186c5aade
- ExpoSpeechRecognition: 6ce34ee84af8950f0e472ba6f6b0b3def2553b2a
- EXSplashScreen: a7e8d13c476f9937e39d654af4235758b567a1be
+ ExpoSpeechRecognition: 078201eb1fbae87409cfecba6176edc262f75121
+ EXSplashScreen: 10b116117c9bb6a272ba782706f21dadc23f44d9
FBLazyVector: ac12dc084d1c8ec4cc4d7b3cf1b0ebda6dab85af
fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120
glog: fdfdfe5479092de0c4bdbebedd9056951f092c4f
@@ -1496,6 +1520,7 @@ SPEC CHECKSUMS:
React-runtimescheduler: cfbe85c3510c541ec6dc815c7729b41304b67961
React-utils: f242eb7e7889419d979ca0e1c02ccc0ea6e43b29
ReactCommon: f7da14a8827b72704169a48c929bcde802698361
+ RNReanimated: 58a768c2c17a5589ef732fa6bd8d7ed0eb6df1c1
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
Yoga: 2246eea72aaf1b816a68a35e6e4b74563653ae09
diff --git a/example/package-lock.json b/example/package-lock.json
index d2ed85d..3937884 100644
--- a/example/package-lock.json
+++ b/example/package-lock.json
@@ -11,16 +11,17 @@
"@expo/metro-runtime": "~3.2.3",
"@types/dom-speech-recognition": "^0.0.4",
"babel-plugin-module-resolver": "^5.0.2",
- "expo": "~51.0.36",
+ "expo": "~51.0.37",
"expo-asset": "~10.0.10",
"expo-av": "~14.0.7",
"expo-build-properties": "~0.12.5",
"expo-file-system": "~17.0.1",
- "expo-splash-screen": "~0.27.5",
+ "expo-splash-screen": "~0.27.6",
"expo-status-bar": "~1.12.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-native": "0.74.5",
+ "react-native-reanimated": "~3.10.1",
"react-native-web": "~0.19.10"
},
"devDependencies": {
@@ -42,11 +43,12 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
- "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz",
+ "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==",
+ "license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.24.7",
+ "@babel/highlight": "^7.25.7",
"picocolors": "^1.0.0"
},
"engines": {
@@ -105,11 +107,12 @@
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz",
- "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz",
+ "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==",
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.24.7"
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -143,18 +146,17 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz",
- "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-member-expression-to-functions": "^7.24.7",
- "@babel/helper-optimise-call-expression": "^7.24.7",
- "@babel/helper-replace-supers": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz",
+ "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.25.7",
+ "@babel/helper-member-expression-to-functions": "^7.25.7",
+ "@babel/helper-optimise-call-expression": "^7.25.7",
+ "@babel/helper-replace-supers": "^7.25.7",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7",
+ "@babel/traverse": "^7.25.7",
"semver": "^6.3.1"
},
"engines": {
@@ -222,6 +224,7 @@
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
"integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
+ "peer": true,
"dependencies": {
"@babel/types": "^7.24.7"
},
@@ -230,24 +233,26 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz",
- "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz",
+ "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==",
+ "license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
- "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz",
+ "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==",
+ "license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -272,20 +277,22 @@
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz",
- "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz",
+ "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==",
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.24.7"
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz",
- "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz",
+ "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==",
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
@@ -307,13 +314,14 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz",
- "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz",
+ "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-member-expression-to-functions": "^7.24.7",
- "@babel/helper-optimise-call-expression": "^7.24.7"
+ "@babel/helper-member-expression-to-functions": "^7.25.7",
+ "@babel/helper-optimise-call-expression": "^7.25.7",
+ "@babel/traverse": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -334,12 +342,13 @@
}
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz",
- "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz",
+ "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==",
+ "license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -357,25 +366,28 @@
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
- "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz",
+ "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==",
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
- "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz",
+ "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==",
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz",
- "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz",
+ "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==",
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
@@ -406,11 +418,12 @@
}
},
"node_modules/@babel/highlight": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
- "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz",
+ "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.25.7",
"chalk": "^2.4.2",
"js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
@@ -420,9 +433,13 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
- "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
+ "version": "7.25.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz",
+ "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.25.8"
+ },
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -497,13 +514,14 @@
}
},
"node_modules/@babel/plugin-proposal-decorators": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz",
- "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.7.tgz",
+ "integrity": "sha512-q1mqqqH0e1lhmsEQHV5U8OmdueBC2y0RFr2oUzZoFRtN3MvPmt2fsFRcNQAoGLTSNdHBFUYGnlgcRFhkBbKjPw==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-decorators": "^7.24.7"
+ "@babel/helper-create-class-features-plugin": "^7.25.7",
+ "@babel/helper-plugin-utils": "^7.25.7",
+ "@babel/plugin-syntax-decorators": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -678,11 +696,12 @@
}
},
"node_modules/@babel/plugin-syntax-decorators": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz",
- "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.7.tgz",
+ "integrity": "sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -796,11 +815,12 @@
}
},
"node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz",
- "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz",
+ "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1380,7 +1400,6 @@
"version": "7.22.11",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz",
"integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==",
- "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
@@ -1462,7 +1481,6 @@
"version": "7.23.0",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz",
"integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==",
- "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
@@ -1537,11 +1555,12 @@
}
},
"node_modules/@babel/plugin-transform-react-display-name": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz",
- "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.7.tgz",
+ "integrity": "sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1551,15 +1570,16 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz",
- "integrity": "sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz",
+ "integrity": "sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-jsx": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/helper-annotate-as-pure": "^7.25.7",
+ "@babel/helper-module-imports": "^7.25.7",
+ "@babel/helper-plugin-utils": "^7.25.7",
+ "@babel/plugin-syntax-jsx": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1569,11 +1589,12 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx-development": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz",
- "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.7.tgz",
+ "integrity": "sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg==",
+ "license": "MIT",
"dependencies": {
- "@babel/plugin-transform-react-jsx": "^7.24.7"
+ "@babel/plugin-transform-react-jsx": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1611,12 +1632,13 @@
}
},
"node_modules/@babel/plugin-transform-react-pure-annotations": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz",
- "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.7.tgz",
+ "integrity": "sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-annotate-as-pure": "^7.25.7",
+ "@babel/helper-plugin-utils": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -1722,7 +1744,6 @@
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz",
"integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==",
- "peer": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.22.5"
},
@@ -1952,16 +1973,17 @@
}
},
"node_modules/@babel/preset-react": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz",
- "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.7.tgz",
+ "integrity": "sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-validator-option": "^7.24.7",
- "@babel/plugin-transform-react-display-name": "^7.24.7",
- "@babel/plugin-transform-react-jsx": "^7.24.7",
- "@babel/plugin-transform-react-jsx-development": "^7.24.7",
- "@babel/plugin-transform-react-pure-annotations": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.7",
+ "@babel/helper-validator-option": "^7.25.7",
+ "@babel/plugin-transform-react-display-name": "^7.25.7",
+ "@babel/plugin-transform-react-jsx": "^7.25.7",
+ "@babel/plugin-transform-react-jsx-development": "^7.25.7",
+ "@babel/plugin-transform-react-pure-annotations": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
@@ -2023,31 +2045,30 @@
}
},
"node_modules/@babel/template": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
- "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz",
+ "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==",
+ "license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/parser": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/code-frame": "^7.25.7",
+ "@babel/parser": "^7.25.7",
+ "@babel/types": "^7.25.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
- "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
- "dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.24.7",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-hoist-variables": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
- "@babel/parser": "^7.24.7",
- "@babel/types": "^7.24.7",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz",
+ "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.25.7",
+ "@babel/generator": "^7.25.7",
+ "@babel/parser": "^7.25.7",
+ "@babel/template": "^7.25.7",
+ "@babel/types": "^7.25.7",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -2056,26 +2077,40 @@
}
},
"node_modules/@babel/traverse/node_modules/@babel/generator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
- "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
+ "version": "7.25.7",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz",
+ "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==",
+ "license": "MIT",
"dependencies": {
- "@babel/types": "^7.24.7",
+ "@babel/types": "^7.25.7",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
+ "jsesc": "^3.0.2"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/traverse/node_modules/jsesc": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+ "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/@babel/types": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
- "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
+ "version": "7.25.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz",
+ "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-string-parser": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7",
+ "@babel/helper-string-parser": "^7.25.7",
+ "@babel/helper-validator-identifier": "^7.25.7",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -2215,11 +2250,6 @@
"node": ">=10"
}
},
- "node_modules/@expo/cli/node_modules/@react-native/normalize-colors": {
- "version": "0.74.85",
- "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.85.tgz",
- "integrity": "sha512-pcE4i0X7y3hsAE0SpIl7t6dUc0B0NZLd1yv7ssm4FrLhWG+CGyIq4eFDXpmPU1XHmL5PPySxTAjEMiwv6tAmOw=="
- },
"node_modules/@expo/cli/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -3105,16 +3135,17 @@
}
},
"node_modules/@expo/prebuild-config": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.6.tgz",
- "integrity": "sha512-Hts+iGBaG6OQ+N8IEMMgwQElzJeSTb7iUJ26xADEHkaexsucAK+V52dM8M4ceicvbZR9q8M+ebJEGj0MCNA3dQ==",
+ "version": "7.0.8",
+ "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-7.0.8.tgz",
+ "integrity": "sha512-wH9NVg6HiwF5y9x0TxiMEeBF+ITPGDXy5/i6OUheSrKpPgb0lF1Mwzl/f2fLPXBEpl+ZXOQ8LlLW32b7K9lrNg==",
+ "license": "MIT",
"dependencies": {
"@expo/config": "~9.0.0-beta.0",
- "@expo/config-plugins": "~8.0.0-beta.0",
+ "@expo/config-plugins": "~8.0.8",
"@expo/config-types": "^51.0.0-unreleased",
"@expo/image-utils": "^0.5.0",
"@expo/json-file": "^8.3.0",
- "@react-native/normalize-colors": "0.74.84",
+ "@react-native/normalize-colors": "0.74.85",
"debug": "^4.3.1",
"fs-extra": "^9.0.0",
"resolve-from": "^5.0.0",
@@ -3129,6 +3160,7 @@
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "license": "MIT",
"dependencies": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
@@ -3143,6 +3175,7 @@
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "license": "MIT",
"dependencies": {
"universalify": "^2.0.0"
},
@@ -3151,9 +3184,10 @@
}
},
"node_modules/@expo/prebuild-config/node_modules/semver": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
- "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -3165,6 +3199,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "license": "MIT",
"engines": {
"node": ">= 10.0.0"
}
@@ -6016,9 +6051,10 @@
}
},
"node_modules/@react-native/normalize-colors": {
- "version": "0.74.84",
- "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.84.tgz",
- "integrity": "sha512-Y5W6x8cC5RuakUcTVUFNAIhUZ/tYpuqHZlRBoAuakrTwVuoNHXfQki8lj1KsYU7rW6e3VWgdEx33AfOQpdNp6A=="
+ "version": "0.74.85",
+ "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.74.85.tgz",
+ "integrity": "sha512-pcE4i0X7y3hsAE0SpIl7t6dUc0B0NZLd1yv7ssm4FrLhWG+CGyIq4eFDXpmPU1XHmL5PPySxTAjEMiwv6tAmOw==",
+ "license": "MIT"
},
"node_modules/@react-native/virtualized-lists": {
"version": "0.74.87",
@@ -6608,14 +6644,180 @@
}
},
"node_modules/babel-plugin-react-compiler": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-0.0.0.tgz",
- "integrity": "sha512-Kigl0V36a/6hLVH7+CCe1CCtU3mFBqBd829V//VtuG7I/pyq+B2QZJqOefd63snQmdfCryNhO9XW1FbGPBvYDA=="
+ "version": "0.0.0-experimental-592953e-20240517",
+ "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-0.0.0-experimental-592953e-20240517.tgz",
+ "integrity": "sha512-OjG1SVaeQZaJrqkMFJatg8W/MTow8Ak5rx2SI0ETQBO1XvOk/XZGMbltNCPdFJLKghBYoBjC+Y3Ap/Xr7B01mA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/generator": "7.2.0",
+ "@babel/types": "^7.19.0",
+ "chalk": "4",
+ "invariant": "^2.2.4",
+ "pretty-format": "^24",
+ "zod": "^3.22.4",
+ "zod-validation-error": "^2.1.0"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/@babel/generator": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.0.tgz",
+ "integrity": "sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.2.0",
+ "jsesc": "^2.5.1",
+ "lodash": "^4.17.10",
+ "source-map": "^0.5.0",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/@jest/types": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz",
+ "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^1.1.1",
+ "@types/yargs": "^13.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/@types/istanbul-reports": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
+ "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*",
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/@types/yargs": {
+ "version": "13.0.12",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.12.tgz",
+ "integrity": "sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/ansi-regex": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz",
+ "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/chalk/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "license": "MIT"
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/pretty-format": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz",
+ "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^24.9.0",
+ "ansi-regex": "^4.0.0",
+ "ansi-styles": "^3.2.0",
+ "react-is": "^16.8.4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "license": "MIT"
+ },
+ "node_modules/babel-plugin-react-compiler/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==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
"node_modules/babel-plugin-react-native-web": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.12.tgz",
- "integrity": "sha512-eYZ4+P6jNcB37lObWIg0pUbi7+3PKoU1Oie2j0C8UF3cXyXoR74tO2NBjI/FORb2LJyItJZEAmjU5pSaJYEL1w=="
+ "integrity": "sha512-eYZ4+P6jNcB37lObWIg0pUbi7+3PKoU1Oie2j0C8UF3cXyXoR74tO2NBjI/FORb2LJyItJZEAmjU5pSaJYEL1w==",
+ "license": "MIT"
},
"node_modules/babel-plugin-transform-flow-enums": {
"version": "0.0.2",
@@ -6626,9 +6828,10 @@
}
},
"node_modules/babel-preset-expo": {
- "version": "11.0.14",
- "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-11.0.14.tgz",
- "integrity": "sha512-4BVYR0Sc2sSNxYTiE/OLSnPiOp+weFNy8eV+hX3aD6YAIbBnw+VubKRWqJV/sOJauzOLz0SgYAYyFciYMqizRA==",
+ "version": "11.0.15",
+ "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-11.0.15.tgz",
+ "integrity": "sha512-rgiMTYwqIPULaO7iZdqyL7aAff9QLOX6OWUtLZBlOrOTreGY1yHah/5+l8MvI6NVc/8Zj5LY4Y5uMSnJIuzTLw==",
+ "license": "MIT",
"dependencies": {
"@babel/plugin-proposal-decorators": "^7.12.9",
"@babel/plugin-transform-export-namespace-from": "^7.22.11",
@@ -6637,7 +6840,7 @@
"@babel/preset-react": "^7.22.15",
"@babel/preset-typescript": "^7.23.0",
"@react-native/babel-preset": "0.74.87",
- "babel-plugin-react-compiler": "^0.0.0-experimental-592953e-20240517",
+ "babel-plugin-react-compiler": "0.0.0-experimental-592953e-20240517",
"babel-plugin-react-native-web": "~0.19.10",
"react-refresh": "^0.14.2"
}
@@ -7917,9 +8120,10 @@
}
},
"node_modules/expo": {
- "version": "51.0.36",
- "resolved": "https://registry.npmjs.org/expo/-/expo-51.0.36.tgz",
- "integrity": "sha512-eQIC0l6fz3p4cU/hV8+QcyKSacyROhaoA1oohfCD6I3F09dxmC8b3SESpzGqHfuq8wsgcUc4q8ckX7ec25IV1g==",
+ "version": "51.0.37",
+ "resolved": "https://registry.npmjs.org/expo/-/expo-51.0.37.tgz",
+ "integrity": "sha512-zMdfTiGNgNWG0HOOFA3zRreS94iQ7fDxxgEIR6wdQCbncTpbeYj+5mscTAlHE9JJ+oBkcNyJXrLSjE/YVbFERg==",
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.20.0",
"@expo/cli": "0.18.30",
@@ -7927,7 +8131,7 @@
"@expo/config-plugins": "8.0.10",
"@expo/metro-config": "0.18.11",
"@expo/vector-icons": "^14.0.3",
- "babel-preset-expo": "~11.0.14",
+ "babel-preset-expo": "~11.0.15",
"expo-asset": "~10.0.10",
"expo-file-system": "~17.0.1",
"expo-font": "~12.0.10",
@@ -8149,11 +8353,12 @@
}
},
"node_modules/expo-splash-screen": {
- "version": "0.27.5",
- "resolved": "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-0.27.5.tgz",
- "integrity": "sha512-9rdZuLkFCfgJBxrheUsOEOIW6Rp+9NVlpSE0hgXQwbTCLTncf00IHSE8/L2NbFyeDLNjof1yZBppaV7tXHRUzA==",
+ "version": "0.27.6",
+ "resolved": "https://registry.npmjs.org/expo-splash-screen/-/expo-splash-screen-0.27.6.tgz",
+ "integrity": "sha512-joUwZQS48k3VMnucQ0Y8Dle1t1FyIvluQA4kjuPx2x7l2dRrfctbo34ahTnC0p1o2go5oN2iEnSTOElY4wRQHw==",
+ "license": "MIT",
"dependencies": {
- "@expo/prebuild-config": "7.0.6"
+ "@expo/prebuild-config": "7.0.8"
},
"peerDependencies": {
"expo": "*"
@@ -12387,6 +12592,27 @@
}
}
},
+ "node_modules/react-native-reanimated": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.10.1.tgz",
+ "integrity": "sha512-sfxg6vYphrDc/g4jf/7iJ7NRi+26z2+BszPmvmk0Vnrz6FL7HYljJqTf531F1x6tFmsf+FEAmuCtTUIXFLVo9w==",
+ "license": "MIT",
+ "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"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0",
+ "react": "*",
+ "react-native": "*"
+ }
+ },
"node_modules/react-native-web": {
"version": "0.19.12",
"resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.19.12.tgz",
@@ -13860,6 +14086,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/ts-interface-checker": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
@@ -14580,6 +14815,27 @@
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
+ },
+ "node_modules/zod": {
+ "version": "3.23.8",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
+ "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-validation-error": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-2.1.0.tgz",
+ "integrity": "sha512-VJh93e2wb4c3tWtGgTa0OF/dTt/zoPCPzXq4V11ZjxmEAFaPi/Zss1xIZdEB5RD8GD00U0/iVXgqkF77RV7pdQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "zod": "^3.18.0"
+ }
}
}
}
diff --git a/example/package.json b/example/package.json
index e37c889..635de1b 100644
--- a/example/package.json
+++ b/example/package.json
@@ -13,17 +13,18 @@
"@expo/metro-runtime": "~3.2.3",
"@types/dom-speech-recognition": "^0.0.4",
"babel-plugin-module-resolver": "^5.0.2",
- "expo": "~51.0.36",
+ "expo": "~51.0.37",
"expo-asset": "~10.0.10",
"expo-av": "~14.0.7",
"expo-build-properties": "~0.12.5",
"expo-file-system": "~17.0.1",
- "expo-splash-screen": "~0.27.5",
+ "expo-splash-screen": "~0.27.6",
"expo-status-bar": "~1.12.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-native": "0.74.5",
- "react-native-web": "~0.19.10"
+ "react-native-web": "~0.19.10",
+ "react-native-reanimated": "~3.10.1"
},
"devDependencies": {
"@babel/core": "^7.24.0",
diff --git a/images/volume-metering.gif b/images/volume-metering.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a137f590af6943fbce126346491c2b9928359ac9
GIT binary patch
literal 363662
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