diff --git a/packages/docs-gesture-handler/babel.config.js b/packages/docs-gesture-handler/babel.config.js index 8c33f03ed2..74f6a15685 100644 --- a/packages/docs-gesture-handler/babel.config.js +++ b/packages/docs-gesture-handler/babel.config.js @@ -1,4 +1,4 @@ module.exports = { presets: [require.resolve('@docusaurus/core/lib/babel/preset')], - plugins: ['react-native-reanimated/plugin'], + plugins: ['react-native-worklets/plugin'], }; diff --git a/packages/docs-gesture-handler/docs/gestures/use-fling-gesture.mdx b/packages/docs-gesture-handler/docs/gestures/use-fling-gesture.mdx index 55a9b2a7de..b429d78a62 100644 --- a/packages/docs-gesture-handler/docs/gestures/use-fling-gesture.mdx +++ b/packages/docs-gesture-handler/docs/gestures/use-fling-gesture.mdx @@ -5,22 +5,15 @@ sidebar_label: Fling gesture sidebar_position: 6 --- -import { vanishOnMobile, appearOnMobile, webContainer } from '@site/src/utils/getGestureStyles'; - -import useBaseUrl from '@docusaurus/useBaseUrl'; +import { webContainer } from '@site/src/utils/getGestureStyles'; import FlingGestureBasic from '@site/static/examples/FlingGestureBasic'; -import FlingGestureBasicSrc from '!!raw-loader!@site/static/examples/FlingGestureBasicSrc'; +import FlingGestureBasicSrc from '!!raw-loader!@site/static/examples/FlingGestureBasic'; import MouseButtonProp from './\_shared/mouse-button.mdx';
-
- -
} src={FlingGestureBasicSrc} @@ -37,12 +30,6 @@ The gesture that tracks quick, sufficiently long movement in specified [directio When the gesture gets activated it will end when the finger is released. The gesture will fail if the finger is lifted before the gesture could activate. -
- -
- ## Example -
- -
} src={HoverGestureBasicSrc} @@ -35,12 +28,6 @@ Gesture that can recognize hovering above the view it's attached to. The hover e On iOS additional [visual effects](#effect-ios-only) may be configured. -
- -
- :::note Don't rely on `Hover` gesture to continue after the mouse button is clicked or the stylus touches the screen. If you want to handle both cases, [compose](/docs/fundamentals/gesture-composition) it with [`Pan`](/docs/gestures/use-pan-gesture) gesture. ::: diff --git a/packages/docs-gesture-handler/docs/gestures/use-long-press-gesture.mdx b/packages/docs-gesture-handler/docs/gestures/use-long-press-gesture.mdx index f113e3cd11..1549c05c20 100644 --- a/packages/docs-gesture-handler/docs/gestures/use-long-press-gesture.mdx +++ b/packages/docs-gesture-handler/docs/gestures/use-long-press-gesture.mdx @@ -5,9 +5,7 @@ sidebar_label: Long press gesture sidebar_position: 3 --- -import { vanishOnMobile, appearOnMobile, webContainer } from '@site/src/utils/getGestureStyles'; - -import useBaseUrl from '@docusaurus/useBaseUrl'; +import { webContainer } from '@site/src/utils/getGestureStyles'; import LongPressGestureBasic from '@site/static/examples/LongPressGestureBasic'; import LongPressGestureBasicSrc from '!!raw-loader!@site/static/examples/LongPressGestureBasic'; @@ -15,11 +13,6 @@ import LongPressGestureBasicSrc from '!!raw-loader!@site/static/examples/LongPre import MouseButtonProp from './\_shared/mouse-button.mdx';
-
- -
} src={LongPressGestureBasicSrc} @@ -38,12 +31,6 @@ Gesture that activates when the corresponding view is pressed for a sufficiently This gesture will deactivate immediately after the finger is released. The gesture will fail to recognize a touch event if the finger is lifted before the [minimum required time](#minduration) or if the finger is moved further than the [allowable distance](#maxdistance). -
- -
- ## Example -
- -
} src={PanGestureBasicSrc} @@ -41,12 +36,6 @@ Configurations such as a minimum initial distance, specific vertical or horizont Gesture callback can be used for continuous tracking of the pan gesture. It provides information about the gesture such as its XY translation from the starting point as well as its instantaneous velocity. -
- -
- ## Example -
- -
} src={PinchGestureBasicSrc} @@ -45,12 +38,6 @@ For example, map views use pinch gestures to change the zoom level of the map. When implementing pinch based on focal point, make sure to use it after the gesture had activated, i.e. in `onActivate` or `onUpdate` callbacks. Using it in `onBegin` may lead to unexpected behavior. ::: -
- -
- ## Example -
- -
} src={RotationGestureBasicSrc} @@ -42,12 +35,6 @@ The gesture activates when fingers are placed on the screen and rotate around a When implementing rotation based on `anchor` point, make sure to use it after the gesture had activated, i.e. in `onActivate` or `onUpdate` callbacks. Using it in `onBegin` may lead to unexpected behavior. ::: -
- -
- ## Example -
- -
} src={TapGestureBasicSrc} @@ -41,12 +36,6 @@ For example, you might configure tap gesture recognizers to detect single taps, In order for a gesture to activate, the specified gesture requirements such as [`minPointers`](#minpointers), [`numberOfTaps`](#numberoftaps), [`maxDistance`](#maxdistance), [`maxDuration`](#maxduration), and [`maxDelay`](#maxdelay) must be met. -
- -
- ## Example
diff --git a/packages/docs-gesture-handler/docs/legacy-gestures/pinch-gesture.md b/packages/docs-gesture-handler/docs/legacy-gestures/pinch-gesture.md index 8adf6fccc3..fe3dd11674 100644 --- a/packages/docs-gesture-handler/docs/legacy-gestures/pinch-gesture.md +++ b/packages/docs-gesture-handler/docs/legacy-gestures/pinch-gesture.md @@ -14,7 +14,7 @@ import { vanishOnMobile, appearOnMobile, webContainer } from '@site/src/utils/ge import useBaseUrl from '@docusaurus/useBaseUrl'; import PinchGestureBasic from '@site/static/examples/PinchGestureBasic'; -import PinchGestureBasicSrc from '!!raw-loader!@site/static/examples/PinchGestureBasicSrc'; +import PinchGestureBasicSrc from '!!raw-loader!@site/static/examples/PinchGestureBasic';
diff --git a/packages/docs-gesture-handler/docs/legacy-gestures/rotation-gesture.md b/packages/docs-gesture-handler/docs/legacy-gestures/rotation-gesture.md index ac6b4bcb2d..2175f2e565 100644 --- a/packages/docs-gesture-handler/docs/legacy-gestures/rotation-gesture.md +++ b/packages/docs-gesture-handler/docs/legacy-gestures/rotation-gesture.md @@ -14,7 +14,7 @@ import { vanishOnMobile, appearOnMobile, webContainer } from '@site/src/utils/ge import useBaseUrl from '@docusaurus/useBaseUrl'; import RotationGestureBasic from '@site/static/examples/RotationGestureBasic'; -import RotationGestureBasicSrc from '!!raw-loader!@site/static/examples/RotationGestureBasicSrc'; +import RotationGestureBasicSrc from '!!raw-loader!@site/static/examples/RotationGestureBasic';
diff --git a/packages/docs-gesture-handler/package.json b/packages/docs-gesture-handler/package.json index aa15a70254..80309a13de 100644 --- a/packages/docs-gesture-handler/package.json +++ b/packages/docs-gesture-handler/package.json @@ -47,10 +47,10 @@ "react-dom": "19.1.1", "react-draggable": "^4.4.5", "react-native": "0.83.0", - "react-native-gesture-handler": "^2.24.0", - "react-native-reanimated": "4.0.0-nightly-20250325-d67e51599", - "react-native-web": "^0.18.12", - "react-native-worklets": "^0.1.0", + "react-native-gesture-handler": "3.0.0-beta.2", + "react-native-reanimated": "4.3.0", + "react-native-web": "0.21.2", + "react-native-worklets": "0.8.1", "source-map": "^0.7.4", "source-map-loader": "^4.0.1", "usehooks-ts": "^2.9.1", @@ -86,4 +86,4 @@ "webpackbar": "^7.0.0" }, "packageManager": "yarn@1.22.22" -} +} \ No newline at end of file diff --git a/packages/docs-gesture-handler/static/examples/FlingGestureBasic.js b/packages/docs-gesture-handler/static/examples/FlingGestureBasic.js index 333b681aae..3fd165914c 100644 --- a/packages/docs-gesture-handler/static/examples/FlingGestureBasic.js +++ b/packages/docs-gesture-handler/static/examples/FlingGestureBasic.js @@ -1,9 +1,9 @@ import React from 'react'; import { Directions, - Gesture, GestureDetector, GestureHandlerRootView, + useFlingGesture, } from 'react-native-gesture-handler'; import { StyleSheet, View } from 'react-native'; import Animated, { @@ -49,12 +49,12 @@ export default function App() { }; }, []); - const fling = Gesture.Fling() - .direction(Directions.LEFT | Directions.RIGHT) - .onBegin((event) => { + const fling = useFlingGesture({ + direction: Directions.LEFT | Directions.RIGHT, + onBegin: (event) => { startTranslateX.value = event.x; - }) - .onStart((event) => { + }, + onActivate: (event) => { translateX.value = withTiming( clamp( translateX.value + event.x - startTranslateX.value, @@ -63,7 +63,8 @@ export default function App() { ), { duration: 200 } ); - }); + }, + }); const boxAnimatedStyles = useAnimatedStyle(() => ({ transform: [{ translateX: translateX.value }], diff --git a/packages/docs-gesture-handler/static/examples/FlingGestureBasicSrc.js b/packages/docs-gesture-handler/static/examples/FlingGestureBasicSrc.js deleted file mode 100644 index 19bda17850..0000000000 --- a/packages/docs-gesture-handler/static/examples/FlingGestureBasicSrc.js +++ /dev/null @@ -1,68 +0,0 @@ -import React from 'react'; -import { - Directions, - Gesture, - GestureDetector, - GestureHandlerRootView, -} from 'react-native-gesture-handler'; -import { Dimensions, StyleSheet } from 'react-native'; -import Animated, { - withTiming, - useSharedValue, - useAnimatedStyle, -} from 'react-native-reanimated'; - -const { width } = Dimensions.get('screen'); - -function clamp(val, min, max) { - return Math.min(Math.max(val, min), max); -} - -export default function App() { - const translateX = useSharedValue(0); - const startTranslateX = useSharedValue(0); - - const fling = Gesture.Fling() - .direction(Directions.LEFT | Directions.RIGHT) - .onBegin((event) => { - startTranslateX.value = event.x; - }) - .onStart((event) => { - translateX.value = withTiming( - clamp( - translateX.value + event.x - startTranslateX.value, - width / -2 + 50, - width / 2 - 50 - ), - { duration: 200 } - ); - }) - .runOnJS(true); - - const boxAnimatedStyles = useAnimatedStyle(() => ({ - transform: [{ translateX: translateX.value }], - })); - - return ( - - - - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - alignItems: 'center', - justifyContent: 'center', - }, - box: { - width: 100, - height: 100, - borderRadius: 20, - backgroundColor: '#b58df1', - cursor: 'grab', - }, -}); diff --git a/packages/docs-gesture-handler/static/examples/HoverGestureBasic.js b/packages/docs-gesture-handler/static/examples/HoverGestureBasic.js index 3f7b110161..1f16fd61cc 100644 --- a/packages/docs-gesture-handler/static/examples/HoverGestureBasic.js +++ b/packages/docs-gesture-handler/static/examples/HoverGestureBasic.js @@ -1,8 +1,8 @@ import React from 'react'; import { - Gesture, GestureDetector, GestureHandlerRootView, + useHoverGesture, } from 'react-native-gesture-handler'; import { StyleSheet } from 'react-native'; import Animated, { @@ -24,20 +24,20 @@ export default function App() { const startX = useSharedValue(0); const startY = useSharedValue(0); - const hover = Gesture.Hover() - .onStart((event) => { + const hover = useHoverGesture({ + onActivate: (event) => { startX.value = event.x; startY.value = event.y; - }) - .onUpdate((event) => { + }, + onUpdate: (event) => { translateX.value = (event.x - startX.value) * 0.3; translateY.value = (event.y - startY.value) * 0.3; const distance = Math.sqrt(Math.pow(translateX.value, 2) + Math.pow(translateY.value, 2)); progress.value = distance / 35; - }) - .onEnd(() => { + }, + onDeactivate: () => { translateX.value = withTiming(0, { duration: 400, easing: EASING, @@ -50,7 +50,8 @@ export default function App() { duration: 400, easing: EASING, }); - }); + }, + }); const boxAnimatedStyle = useAnimatedStyle(() => ({ transform: [ diff --git a/packages/docs-gesture-handler/static/examples/LongPressGestureBasic.js b/packages/docs-gesture-handler/static/examples/LongPressGestureBasic.js index 6df3275205..07955a6d38 100644 --- a/packages/docs-gesture-handler/static/examples/LongPressGestureBasic.js +++ b/packages/docs-gesture-handler/static/examples/LongPressGestureBasic.js @@ -1,8 +1,8 @@ import React from 'react'; import { - Gesture, GestureDetector, GestureHandlerRootView, + useLongPressGesture, } from 'react-native-gesture-handler'; import { Easing, StyleSheet } from 'react-native'; import Animated, { @@ -18,14 +18,14 @@ export default function App() { const colorIndex = useSharedValue(0); const scale = useSharedValue(1); - const longPress = Gesture.LongPress() - .onBegin(() => { + const longPress = useLongPressGesture({ + onBegin: () => { scale.value = withTiming(1.2, { duration: 500, easing: Easing.bezier(0.31, 0.04, 0.03, 1.04), }); - }) - .onStart(() => { + }, + onActivate: () => { colorIndex.value = withTiming( (colorIndex.value + 1) % (COLORS.length + 1), { duration: 200 }, @@ -35,13 +35,14 @@ export default function App() { } } ); - }) - .onFinalize(() => { + }, + onFinalize: () => { scale.value = withTiming(1, { duration: 250, easing: Easing.bezier(0.82, 0.06, 0.42, 1.01), }); - }); + }, + }); const animatedStyle = useAnimatedStyle(() => ({ backgroundColor: interpolateColor( diff --git a/packages/docs-gesture-handler/static/examples/PanGestureBasic.js b/packages/docs-gesture-handler/static/examples/PanGestureBasic.js index 2d2c7b74eb..75983f97ce 100644 --- a/packages/docs-gesture-handler/static/examples/PanGestureBasic.js +++ b/packages/docs-gesture-handler/static/examples/PanGestureBasic.js @@ -4,9 +4,9 @@ import Animated, { useAnimatedStyle, } from 'react-native-reanimated'; import { - Gesture, GestureDetector, GestureHandlerRootView, + usePanGesture, } from 'react-native-gesture-handler'; import { StyleSheet, View } from 'react-native'; @@ -38,7 +38,7 @@ export default function App() { containerRef.current.measureInWindow((x, y, width, height) => { maxTranslateX.value = width / 2 - 50; - maxTranslateY.value = height / 2 - 50; + maxTranslateY.value = height / 2; }); }; @@ -56,14 +56,14 @@ export default function App() { }; }, []); - const pan = Gesture.Pan() - .minDistance(1) - .onBegin(() => { + const pan = usePanGesture({ + minDistance: 1, + onBegin: () => { grabbing.value = true; prevTranslationX.value = translationX.value; prevTranslationY.value = translationY.value; - }) - .onUpdate((event) => { + }, + onUpdate: (event) => { translationX.value = clamp( prevTranslationX.value + event.translationX, -maxTranslateX.value, @@ -74,18 +74,17 @@ export default function App() { -maxTranslateY.value, maxTranslateY.value ); - }) - .onFinalize(() => { + }, + onFinalize: () => { grabbing.value = false; - }); + }, + }); return ( - - - - - - + + + + ); } @@ -95,11 +94,10 @@ const styles = StyleSheet.create({ flex: 1, alignItems: 'center', justifyContent: 'center', - aspectRatio: 3, }, box: { width: 100, - height: 100, + aspectRatio: 1, backgroundColor: '#b58df1', borderRadius: 20, }, diff --git a/packages/docs-gesture-handler/static/examples/PanGestureBasicSrc.js b/packages/docs-gesture-handler/static/examples/PanGestureBasicSrc.js deleted file mode 100644 index 9331b2eabe..0000000000 --- a/packages/docs-gesture-handler/static/examples/PanGestureBasicSrc.js +++ /dev/null @@ -1,76 +0,0 @@ -import React from 'react'; -import Animated, { - useSharedValue, - useAnimatedStyle, -} from 'react-native-reanimated'; -import { - Gesture, - GestureDetector, - GestureHandlerRootView, -} from 'react-native-gesture-handler'; -import { StyleSheet, Dimensions } from 'react-native'; - -function clamp(val, min, max) { - return Math.min(Math.max(val, min), max); -} - -const { width, height } = Dimensions.get('screen'); - -export default function App() { - const translationX = useSharedValue(0); - const translationY = useSharedValue(0); - const prevTranslationX = useSharedValue(0); - const prevTranslationY = useSharedValue(0); - - const animatedStyles = useAnimatedStyle(() => ({ - transform: [ - { translateX: translationX.value }, - { translateY: translationY.value }, - ], - })); - - const pan = Gesture.Pan() - .minDistance(1) - .onStart(() => { - prevTranslationX.value = translationX.value; - prevTranslationY.value = translationY.value; - }) - .onUpdate((event) => { - const maxTranslateX = width / 2 - 50; - const maxTranslateY = height / 2 - 50; - - translationX.value = clamp( - prevTranslationX.value + event.translationX, - -maxTranslateX, - maxTranslateX - ); - translationY.value = clamp( - prevTranslationY.value + event.translationY, - -maxTranslateY, - maxTranslateY - ); - }) - .runOnJS(true); - - return ( - - - - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - alignItems: 'center', - justifyContent: 'center', - }, - box: { - width: 100, - height: 100, - backgroundColor: '#b58df1', - borderRadius: 20, - }, -}); diff --git a/packages/docs-gesture-handler/static/examples/PinchGestureBasic.js b/packages/docs-gesture-handler/static/examples/PinchGestureBasic.js index 8b87072dff..c0a18f129e 100644 --- a/packages/docs-gesture-handler/static/examples/PinchGestureBasic.js +++ b/packages/docs-gesture-handler/static/examples/PinchGestureBasic.js @@ -1,8 +1,8 @@ import React from 'react'; import { - Gesture, GestureDetector, GestureHandlerRootView, + usePanGesture, } from 'react-native-gesture-handler'; import { StyleSheet, View } from 'react-native'; import Animated, { @@ -13,14 +13,14 @@ import Animated, { const clamp = (val, min, max) => Math.min(Math.max(val, min), max); +//FIXME: doesnt handle resizing export default function App() { const boxWidth = useSharedValue(100); const distanceDifference = useSharedValue(0); const centerX = useSharedValue(0); const centerY = useSharedValue(0); - const width = useSharedValue(0); - const height = useSharedValue(0); + const maxBoxSize = useSharedValue(0); const pointerPositionX = useSharedValue(0); const pointerPositionY = useSharedValue(0); @@ -42,14 +42,9 @@ export default function App() { if (containerRef.current) { containerRef.current.measureInWindow((x, y, w, h) => { - width.value = w; - height.value = h; - - boxWidth.value = clamp( - boxWidth.value, - 100, - Math.min(w, h) - ); + maxBoxSize.value = Math.min(w, h); + + boxWidth.value = maxBoxSize.value / 2; }); } } @@ -68,33 +63,30 @@ export default function App() { }; }, []); - const pan = Gesture.Pan() - .minDistance(1) - .onStart((event) => { + const pan = usePanGesture({ + minDistance: 1, + onActivate: (event) => { const distanceX = Math.abs(event.absoluteX - centerX.value); const distanceY = Math.abs(event.absoluteY - centerY.value); const width = Math.max(distanceX, distanceY) * 2; distanceDifference.value = boxWidth.value - width; touchOpacity.value = withTiming(0.4, { duration: 200 }); - }) - .onUpdate((event) => { + }, + onUpdate: (event) => { const distanceX = Math.abs(event.absoluteX - centerX.value); const distanceY = Math.abs(event.absoluteY - centerY.value); - boxWidth.value = clamp( - Math.max(distanceX, distanceY) * 2 + distanceDifference.value, - 100, - Math.min(width.value, height.value) - ); + boxWidth.value = clamp(Math.max(distanceX, distanceY) * 2 + distanceDifference.value, 0, maxBoxSize.value); pointerPositionX.value = event.absoluteX - centerX.value - 12; pointerPositionY.value = event.absoluteY - centerY.value - 12; negativePointerPositionX.value = centerX.value - event.absoluteX - 12; negativePointerPositionY.value = centerY.value - event.absoluteY - 12; - }) - .onEnd(() => { + }, + onDeactivate: () => { touchOpacity.value = withTiming(0, { duration: 200 }); - }); + }, + }); const boxAnimatedStyles = useAnimatedStyle(() => ({ width: boxWidth.value, @@ -140,7 +132,6 @@ const styles = StyleSheet.create({ flex: 1, alignItems: 'center', justifyContent: 'center', - aspectRatio: 3, }, box: { aspectRatio: 1, diff --git a/packages/docs-gesture-handler/static/examples/PinchGestureBasicSrc.js b/packages/docs-gesture-handler/static/examples/PinchGestureBasicSrc.js deleted file mode 100644 index 34a94a8a2a..0000000000 --- a/packages/docs-gesture-handler/static/examples/PinchGestureBasicSrc.js +++ /dev/null @@ -1,71 +0,0 @@ -import React from 'react'; -import { Dimensions, StyleSheet } from 'react-native'; -import { - Gesture, - GestureDetector, - GestureHandlerRootView, -} from 'react-native-gesture-handler'; -import Animated, { - useSharedValue, - useAnimatedStyle, -} from 'react-native-reanimated'; - -const { width, height } = Dimensions.get('screen'); - -function clamp(val, min, max) { - return Math.min(Math.max(val, min), max); -} - -export default function App() { - const scale = useSharedValue(1); - const startScale = useSharedValue(0); - - const pinch = Gesture.Pinch() - .onStart(() => { - startScale.value = scale.value; - }) - .onUpdate((event) => { - scale.value = clamp( - startScale.value * event.scale, - 0.5, - Math.min(width / 100, height / 100) - ); - }) - .runOnJS(true); - - const boxAnimatedStyles = useAnimatedStyle(() => ({ - transform: [{ scale: scale.value }], - })); - - return ( - - - - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - alignItems: 'center', - justifyContent: 'center', - }, - box: { - width: 100, - height: 100, - borderRadius: 20, - backgroundColor: '#b58df1', - }, - dot: { - width: 24, - height: 24, - borderRadius: 12, - backgroundColor: '#ccc', - position: 'absolute', - left: '50%', - top: '50%', - pointerEvents: 'none', - }, -}); diff --git a/packages/docs-gesture-handler/static/examples/RotationGestureBasic.js b/packages/docs-gesture-handler/static/examples/RotationGestureBasic.js index 8f0bc9370b..9183a84162 100644 --- a/packages/docs-gesture-handler/static/examples/RotationGestureBasic.js +++ b/packages/docs-gesture-handler/static/examples/RotationGestureBasic.js @@ -1,8 +1,8 @@ import React from 'react'; import { - Gesture, GestureDetector, GestureHandlerRootView, + usePanGesture, } from 'react-native-gesture-handler'; import { StyleSheet } from 'react-native'; import Animated, { @@ -48,9 +48,9 @@ export default function App() { }; }, []); - const pan = Gesture.Pan() - .minDistance(1) - .onBegin((event) => { + const pan = usePanGesture({ + minDistance: 1, + onBegin: (event) => { startAngle.value = angle.value - Math.atan2( @@ -64,8 +64,8 @@ export default function App() { pointerPositionY.value = event.absoluteY - centerY.value - 12; negativePointerPositionX.value = centerX.value - event.absoluteX - 12; negativePointerPositionY.value = centerY.value - event.absoluteY - 12; - }) - .onUpdate((event) => { + }, + onUpdate: (event) => { angle.value = startAngle.value + Math.atan2( @@ -76,11 +76,12 @@ export default function App() { pointerPositionY.value = event.absoluteY - centerY.value - 12; negativePointerPositionX.value = centerX.value - event.absoluteX - 12; negativePointerPositionY.value = centerY.value - event.absoluteY - 12; - }) - .onFinalize(() => { + }, + onFinalize: () => { touchOpacity.value = withTiming(0, { duration: 200 }); grabbing.value = false; - }); + }, + }); const boxAnimatedStyles = useAnimatedStyle(() => ({ transform: [{ rotate: `${angle.value}rad` }], diff --git a/packages/docs-gesture-handler/static/examples/RotationGestureBasicSrc.js b/packages/docs-gesture-handler/static/examples/RotationGestureBasicSrc.js deleted file mode 100644 index 85dbdd9c78..0000000000 --- a/packages/docs-gesture-handler/static/examples/RotationGestureBasicSrc.js +++ /dev/null @@ -1,59 +0,0 @@ -import React from 'react'; -import { StyleSheet } from 'react-native'; -import { - Gesture, - GestureDetector, - GestureHandlerRootView, -} from 'react-native-gesture-handler'; -import Animated, { - useSharedValue, - useAnimatedStyle, -} from 'react-native-reanimated'; - -export default function App() { - const angle = useSharedValue(0); - const startAngle = useSharedValue(0); - - const rotation = Gesture.Rotation() - .onStart(() => { - startAngle.value = angle.value; - }) - .onUpdate((event) => { - angle.value = startAngle.value + event.rotation; - }); - - const boxAnimatedStyles = useAnimatedStyle(() => ({ - transform: [{ rotate: `${angle.value}rad` }], - })); - - return ( - - - - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - alignItems: 'center', - justifyContent: 'center', - }, - box: { - width: 100, - height: 100, - borderRadius: 20, - backgroundColor: '#b58df1', - }, - dot: { - width: 24, - height: 24, - borderRadius: 12, - backgroundColor: '#ccc', - position: 'absolute', - left: '50%', - top: '50%', - }, -}); diff --git a/packages/docs-gesture-handler/static/examples/TapGestureBasic.js b/packages/docs-gesture-handler/static/examples/TapGestureBasic.js index 96f6657af5..6b04003955 100644 --- a/packages/docs-gesture-handler/static/examples/TapGestureBasic.js +++ b/packages/docs-gesture-handler/static/examples/TapGestureBasic.js @@ -1,9 +1,9 @@ import React from 'react'; import { StyleSheet } from 'react-native'; import { - Gesture, GestureDetector, GestureHandlerRootView, + useTapGesture, } from 'react-native-gesture-handler'; import Animated, { interpolateColor, @@ -17,13 +17,16 @@ const COLORS = ['#b58df1', '#fa7f7c', '#ffe780', '#82cab2']; export default function App() { const colorIndex = useSharedValue(1); - const tap = Gesture.Tap().onEnd(() => { - if (colorIndex.value > COLORS.length) { - colorIndex.value = colorIndex.value % 1 === 0 ? 1 : colorIndex.value % 1; - } + const tap = useTapGesture({ + onActivate: () => { + if (colorIndex.value > COLORS.length) { + colorIndex.value = + colorIndex.value % 1 === 0 ? 1 : colorIndex.value % 1; + } - const nextIndex = Math.ceil(colorIndex.value + 1); - colorIndex.value = withTiming(nextIndex, { duration: 250 }); + const nextIndex = Math.ceil(colorIndex.value + 1); + colorIndex.value = withTiming(nextIndex, { duration: 250 }); + }, }); const animatedStyle = useAnimatedStyle(() => ({ @@ -51,7 +54,7 @@ const styles = StyleSheet.create({ }, box: { width: 100, - height: 100, + aspectRatio: 1, borderRadius: 20, cursor: 'pointer', }, diff --git a/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/fling-gesture.md b/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/fling-gesture.md index 0be6223d9c..faa5ed1d88 100644 --- a/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/fling-gesture.md +++ b/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/fling-gesture.md @@ -10,7 +10,7 @@ import { vanishOnMobile, appearOnMobile, webContainer } from '@site/src/utils/ge import useBaseUrl from '@docusaurus/useBaseUrl'; import FlingGestureBasic from '@site/static/examples/FlingGestureBasic'; -import FlingGestureBasicSrc from '!!raw-loader!@site/static/examples/FlingGestureBasicSrc'; +import FlingGestureBasicSrc from '!!raw-loader!@site/static/examples/FlingGestureBasic';
diff --git a/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/pan-gesture.md b/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/pan-gesture.md index 941defcb93..4cdb3d09dd 100644 --- a/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/pan-gesture.md +++ b/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/pan-gesture.md @@ -10,7 +10,7 @@ import { vanishOnMobile, appearOnMobile, webContainer } from '@site/src/utils/ge import useBaseUrl from '@docusaurus/useBaseUrl'; import PanGestureBasic from '@site/static/examples/PanGestureBasic'; -import PanGestureBasicSrc from '!!raw-loader!@site/static/examples/PanGestureBasicSrc'; +import PanGestureBasicSrc from '!!raw-loader!@site/static/examples/PanGestureBasic';
diff --git a/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/pinch-gesture.md b/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/pinch-gesture.md index 7917cdfff1..8b63123b7d 100644 --- a/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/pinch-gesture.md +++ b/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/pinch-gesture.md @@ -10,7 +10,7 @@ import { vanishOnMobile, appearOnMobile, webContainer } from '@site/src/utils/ge import useBaseUrl from '@docusaurus/useBaseUrl'; import PinchGestureBasic from '@site/static/examples/PinchGestureBasic'; -import PinchGestureBasicSrc from '!!raw-loader!@site/static/examples/PinchGestureBasicSrc'; +import PinchGestureBasicSrc from '!!raw-loader!@site/static/examples/PinchGestureBasic';
diff --git a/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/rotation-gesture.md b/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/rotation-gesture.md index 44de4d4253..c9689053c0 100644 --- a/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/rotation-gesture.md +++ b/packages/docs-gesture-handler/versioned_docs/version-2.x/gestures/rotation-gesture.md @@ -10,7 +10,7 @@ import { vanishOnMobile, appearOnMobile, webContainer } from '@site/src/utils/ge import useBaseUrl from '@docusaurus/useBaseUrl'; import RotationGestureBasic from '@site/static/examples/RotationGestureBasic'; -import RotationGestureBasicSrc from '!!raw-loader!@site/static/examples/RotationGestureBasicSrc'; +import RotationGestureBasicSrc from '!!raw-loader!@site/static/examples/RotationGestureBasic';
diff --git a/packages/docs-gesture-handler/yarn.lock b/packages/docs-gesture-handler/yarn.lock index dbb144a6d4..bf8e69d241 100644 --- a/packages/docs-gesture-handler/yarn.lock +++ b/packages/docs-gesture-handler/yarn.lock @@ -663,7 +663,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.0.0-0", "@babel/plugin-transform-arrow-functions@^7.27.1": +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== @@ -702,7 +702,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-class-properties@^7.0.0-0", "@babel/plugin-transform-class-properties@^7.28.6": +"@babel/plugin-transform-class-properties@^7.27.1", "@babel/plugin-transform-class-properties@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz#d274a4478b6e782d9ea987fda09bdb6d28d66b72" integrity sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw== @@ -718,7 +718,7 @@ "@babel/helper-create-class-features-plugin" "^7.28.6" "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.0.0-0", "@babel/plugin-transform-classes@^7.28.6": +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.28.4", "@babel/plugin-transform-classes@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz#8f6fb79ba3703978e701ce2a97e373aae7dda4b7" integrity sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q== @@ -900,7 +900,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-nullish-coalescing-operator@^7.0.0-0", "@babel/plugin-transform-nullish-coalescing-operator@^7.28.6": +"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1", "@babel/plugin-transform-nullish-coalescing-operator@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz#9bc62096e90ab7a887f3ca9c469f6adec5679757" integrity sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg== @@ -940,7 +940,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-optional-chaining@^7.0.0-0", "@babel/plugin-transform-optional-chaining@^7.27.1", "@babel/plugin-transform-optional-chaining@^7.28.6": +"@babel/plugin-transform-optional-chaining@^7.27.1", "@babel/plugin-transform-optional-chaining@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz#926cf150bd421fc8362753e911b4a1b1ce4356cd" integrity sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w== @@ -1067,7 +1067,7 @@ babel-plugin-polyfill-regenerator "^0.6.5" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.0.0-0", "@babel/plugin-transform-shorthand-properties@^7.27.1": +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== @@ -1089,7 +1089,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-template-literals@^7.0.0-0", "@babel/plugin-transform-template-literals@^7.27.1": +"@babel/plugin-transform-template-literals@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== @@ -1129,7 +1129,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.28.5" "@babel/helper-plugin-utils" "^7.28.6" -"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.0.0-0", "@babel/plugin-transform-unicode-regex@^7.27.1": +"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== @@ -1242,7 +1242,7 @@ "@babel/plugin-transform-react-jsx-development" "^7.27.1" "@babel/plugin-transform-react-pure-annotations" "^7.27.1" -"@babel/preset-typescript@^7.16.7", "@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.25.9": +"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.25.9", "@babel/preset-typescript@^7.27.1": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz#540359efa3028236958466342967522fd8f2a60c" integrity sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g== @@ -2213,13 +2213,6 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@egjs/hammerjs@^2.0.17": - version "2.0.17" - resolved "https://registry.yarnpkg.com/@egjs/hammerjs/-/hammerjs-2.0.17.tgz#5dc02af75a6a06e4c2db0202cae38c9263895124" - integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A== - dependencies: - "@types/hammerjs" "^2.0.36" - "@emotion/babel-plugin@^11.13.5": version "11.13.5" resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" @@ -3189,6 +3182,11 @@ resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.83.0.tgz#3aeb8967552b95400ee6ae1d95f4d11f289e409b" integrity sha512-DG1ELOqQ6RS82R1zEUGTWa/pfSPOf+vwAnQB7Ao1vRuhW/xdd2OPQJyqx5a5QWMYpGrlkCb7ERxEVX6p2QODCA== +"@react-native/normalize-colors@^0.74.1": + version "0.74.89" + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.74.89.tgz#b8ac17d1bbccd3ef9a1f921665d04d42cff85976" + integrity sha512-qoMMXddVKVhZ8PA1AbUCk83trpd6N+1nF2A6k1i6LsQObyS92fELuk8kU/lQs6M7BsMHwqyLCpQJ1uFgNvIQXg== + "@react-native/virtualized-lists@0.83.0": version "0.83.0" resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.83.0.tgz#f65f70d9a5fe744aeb3c9ea6b8c21b39cf849716" @@ -3558,11 +3556,6 @@ resolved "https://registry.yarnpkg.com/@types/gtag.js/-/gtag.js-0.0.12.tgz#095122edca896689bdfcdd73b057e23064d23572" integrity sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg== -"@types/hammerjs@^2.0.36": - version "2.0.46" - resolved "https://registry.yarnpkg.com/@types/hammerjs/-/hammerjs-2.0.46.tgz#381daaca1360ff8a7c8dff63f32e69745b9fb1e1" - integrity sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw== - "@types/hast@^2.0.0": version "2.3.10" resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" @@ -3732,13 +3725,6 @@ "@types/history" "^4.7.11" "@types/react" "*" -"@types/react-test-renderer@^19.1.0": - version "19.1.0" - resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-19.1.0.tgz#1d0af8f2e1b5931e245b8b5b234d1502b854dc10" - integrity sha512-XD0WZrHqjNrxA/MaR9O22w/RNidWR9YZmBdRGI7wcnWGrv/3dA8wKCJ8m63Sn+tLJhcjmuhOi629N66W6kgWzQ== - dependencies: - "@types/react" "*" - "@types/react-transition-group@^4.4.12": version "4.4.12" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" @@ -4241,12 +4227,12 @@ astring@^1.8.0: integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== autoprefixer@^10.4.19, autoprefixer@^10.4.23: - version "10.4.27" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.27.tgz#51ea301a5c3c5f8642f8e564759c4f573be486f2" - integrity sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA== + version "10.5.0" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.5.0.tgz#33d87e443430f020a0f85319d6ff1593cb291be9" + integrity sha512-FMhOoZV4+qR6aTUALKX2rEqGG+oyATvwBt9IIzVR5rMa2HRWPkxf+P+PAJLD1I/H5/II+HuZcBJYEFBpq39ong== dependencies: - browserslist "^4.28.1" - caniuse-lite "^1.0.30001774" + browserslist "^4.28.2" + caniuse-lite "^1.0.30001787" fraction.js "^5.3.4" picocolors "^1.1.1" postcss-value-parser "^4.2.0" @@ -4992,7 +4978,7 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.28.1: +browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.28.1, browserslist@^4.28.2: version "4.28.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.28.2.tgz#f50b65362ef48974ca9f50b3680566d786b811d2" integrity sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg== @@ -5124,10 +5110,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001774, caniuse-lite@^1.0.30001782: - version "1.0.30001787" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001787.tgz#fd25c5e42e2d35df5c75eddda00d15d9c0c68f81" - integrity sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001782, caniuse-lite@^1.0.30001787: + version "1.0.30001788" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001788.tgz#31e97d1bfec332b3f2d7eea7781460c97629b3bf" + integrity sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ== ccount@^2.0.0: version "2.0.1" @@ -5582,14 +5568,6 @@ cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: parse-json "^5.2.0" path-type "^4.0.0" -create-react-class@^15.7.0: - version "15.7.0" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.7.0.tgz#7499d7ca2e69bb51d13faf59bd04f0c65a1d6c1e" - integrity sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng== - dependencies: - loose-envify "^1.3.1" - object-assign "^4.1.1" - cross-fetch@^3.1.5: version "3.2.0" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.2.0.tgz#34e9192f53bc757d6614304d9e5e6fb4edb782e3" @@ -6091,9 +6069,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.328: - version "1.5.335" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.335.tgz#0b957cea44ef86795c227c616d16b4803d119daa" - integrity sha512-q9n5T4BR4Xwa2cwbrwcsDJtHD/enpQ5S1xF1IAtdqf5AAgqDFmR/aakqH3ChFdqd/QXJhS3rnnXFtexU7rax6Q== + version "1.5.336" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.336.tgz#d7c25c0827b8c5e2885b2c91ac6cdcf3e5a1386e" + integrity sha512-AbH9q9J455r/nLmdNZes0G0ZKcRX73FicwowalLs6ijwOmCJSRRrLX63lcAlzy9ux3dWK1w1+1nsBJEWN11hcQ== emoji-regex@^10.2.1: version "10.6.0" @@ -6580,11 +6558,6 @@ fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-loops@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.4.tgz#61bc77d518c0af5073a638c6d9d5c7683f069ce2" - integrity sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg== - fast-uri@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.0.tgz#66eecff6c764c0df9b762e62ca7edcfb53b4edfa" @@ -7199,10 +7172,10 @@ hermes-estree@0.32.0: resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.32.0.tgz#bb7da6613ab8e67e334a1854ea1e209f487d307b" integrity sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ== -hermes-estree@0.33.3: - version "0.33.3" - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.33.3.tgz#6d6b593d4b471119772c82bdb0212dfadabb6f17" - integrity sha512-6kzYZHCk8Fy1Uc+t3HGYyJn3OL4aeqKLTyina4UFtWl8I0kSL7OmKThaiX+Uh2f8nGw3mo4Ifxg0M5Zk3/Oeqg== +hermes-estree@0.35.0: + version "0.35.0" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.35.0.tgz#767cce0b14a68b4bc06cd5db7efe889f6188c565" + integrity sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg== hermes-parser@0.32.0: version "0.32.0" @@ -7211,12 +7184,12 @@ hermes-parser@0.32.0: dependencies: hermes-estree "0.32.0" -hermes-parser@0.33.3: - version "0.33.3" - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.33.3.tgz#da50ababb7a5ab636d339e7b2f6e3848e217e09d" - integrity sha512-Yg3HgaG4CqgyowtYjX/FsnPAuZdHOqSMtnbpylbptsQ9nwwSKsy6uRWcGO5RK0EqiX12q8HvDWKgeAVajRO5DA== +hermes-parser@0.35.0: + version "0.35.0" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.35.0.tgz#7625ec2f34ab897c2a17a7bea9788d136d5fd8c9" + integrity sha512-9JLjeHxBx8T4CAsydZR49PNZUaix+WpQJwu9p2010lu+7Kwl6D/7wYFFJxoz+aXkaaClp9Zfg6W6/zVlSJORaA== dependencies: - hermes-estree "0.33.3" + hermes-estree "0.35.0" hex-rgb@^4.1.0: version "4.3.0" @@ -7235,7 +7208,7 @@ history@^4.9.0: tiny-warning "^1.0.0" value-equal "^1.0.1" -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1: +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== @@ -7522,13 +7495,12 @@ inline-style-parser@0.2.7: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.7.tgz#b1fc68bfc0313b8685745e4464e37f9376b9c909" integrity sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA== -inline-style-prefixer@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz#4290ed453ab0e4441583284ad86e41ad88384f44" - integrity sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg== +inline-style-prefixer@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-7.0.1.tgz#9310f3cfa2c6f3901d1480f373981c02691781e8" + integrity sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw== dependencies: css-in-js-utils "^3.1.0" - fast-loops "^1.1.3" interpret@^3.1.1: version "3.1.1" @@ -8582,6 +8554,11 @@ memoize-one@^5.0.0: resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== + merge-descriptors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" @@ -8602,60 +8579,61 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -metro-babel-transformer@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.83.5.tgz#91f3fa269171ad5189ebba625f1f0aa124ce06ea" - integrity sha512-d9FfmgUEVejTiSb7bkQeLRGl6aeno2UpuPm3bo3rCYwxewj03ymvOn8s8vnS4fBqAPQ+cE9iQM40wh7nGXR+eA== +metro-babel-transformer@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.83.6.tgz#0cf874436382ffe61c7f11ed816da859bb1fcdbd" + integrity sha512-1AnuazBpzY3meRMr04WUw14kRBkV0W3Ez+AA75FAeNpRyWNN5S3M3PHLUbZw7IXq7ZeOzceyRsHStaFrnWd+8w== dependencies: "@babel/core" "^7.25.2" flow-enums-runtime "^0.0.6" - hermes-parser "0.33.3" + hermes-parser "0.35.0" + metro-cache-key "0.83.6" nullthrows "^1.1.1" -metro-cache-key@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.83.5.tgz#96896a1768f0494a375e1d5957b7ad487e508a4c" - integrity sha512-Ycl8PBajB7bhbAI7Rt0xEyiF8oJ0RWX8EKkolV1KfCUlC++V/GStMSGpPLwnnBZXZWkCC5edBPzv1Hz1Yi0Euw== +metro-cache-key@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.83.6.tgz#293ccb950b588efafd84dc57dee7a15d6a4a40e2" + integrity sha512-5gdK4PVpgNOHi7xCGrgesNP1AuOA2TiPqpcirGXZi4RLLzX1VMowpkgTVtBfpQQCqWoosQF9yrSo9/KDQg1eBg== dependencies: flow-enums-runtime "^0.0.6" -metro-cache@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.83.5.tgz#5675f4ad56905aa78fff3dec1b6bf213e0b6c86d" - integrity sha512-oH+s4U+IfZyg8J42bne2Skc90rcuESIYf86dYittcdWQtPfcaFXWpByPyTuWk3rR1Zz3Eh5HOrcVImfEhhJLng== +metro-cache@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.83.6.tgz#aadaef9bfd87559e4264b2b05c06c597bb2ddae4" + integrity sha512-DpvZE32feNkqfZkI4Fic7YI/Kw8QP9wdl1rC4YKPrA77wQbI9vXbxjmfkCT/EGwBTFOPKqvIXo+H3BNe93YyiQ== dependencies: exponential-backoff "^3.1.1" flow-enums-runtime "^0.0.6" https-proxy-agent "^7.0.5" - metro-core "0.83.5" + metro-core "0.83.6" -metro-config@0.83.5, metro-config@^0.83.3: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.83.5.tgz#a3dd20fc5d5582aa4ad3704678e52abcf4d46b2b" - integrity sha512-JQ/PAASXH7yczgV6OCUSRhZYME+NU8NYjI2RcaG5ga4QfQ3T/XdiLzpSb3awWZYlDCcQb36l4Vl7i0Zw7/Tf9w== +metro-config@0.83.6, metro-config@^0.83.3: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.83.6.tgz#74ddbbb6f34b8103b37140f8de1d34068a4122ef" + integrity sha512-G5622400uNtnAMlppEA5zkFAZltEf7DSGhOu09BkisCxOlVMWfdosD/oPyh4f2YVQsc1MBYyp4w6OzbExTYarg== dependencies: connect "^3.6.5" flow-enums-runtime "^0.0.6" jest-validate "^29.7.0" - metro "0.83.5" - metro-cache "0.83.5" - metro-core "0.83.5" - metro-runtime "0.83.5" + metro "0.83.6" + metro-cache "0.83.6" + metro-core "0.83.6" + metro-runtime "0.83.6" yaml "^2.6.1" -metro-core@0.83.5, metro-core@^0.83.3: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.83.5.tgz#1592033633034feb5d368d22bf18e38052146970" - integrity sha512-YcVcLCrf0ed4mdLa82Qob0VxYqfhmlRxUS8+TO4gosZo/gLwSvtdeOjc/Vt0pe/lvMNrBap9LlmvZM8FIsMgJQ== +metro-core@0.83.6, metro-core@^0.83.3: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.83.6.tgz#60fbd0abcc0e313161b94869b3bb0b9622de4acc" + integrity sha512-l+yQ2fuIgR//wszUlMrrAa9+Z+kbKazd0QOh0VQY7jC4ghb7yZBBSla/UMYRBZZ6fPg9IM+wD3+h+37a5f9etw== dependencies: flow-enums-runtime "^0.0.6" lodash.throttle "^4.1.1" - metro-resolver "0.83.5" + metro-resolver "0.83.6" -metro-file-map@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.83.5.tgz#394aa61d54b3822f10e68c18cbd1318f18865d20" - integrity sha512-ZEt8s3a1cnYbn40nyCD+CsZdYSlwtFh2kFym4lo+uvfM+UMMH+r/BsrC6rbNClSrt+B7rU9T+Te/sh/NL8ZZKQ== +metro-file-map@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.83.6.tgz#9f79308e73ffca6340eb7c2ca2a74db9fef822d1" + integrity sha512-Jg3oN604C7GWbQwFAUXt8KsbMXeKfsxbZ5HFy4XFM3ggTS+ja9QgUmq9B613kgXv3G4M6rwiI6cvh9TRly4x3w== dependencies: debug "^4.4.0" fb-watchman "^2.0.0" @@ -8667,10 +8645,10 @@ metro-file-map@0.83.5: nullthrows "^1.1.1" walker "^1.0.7" -metro-minify-terser@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.83.5.tgz#ee43a11a9d3442760781434c599d45eb1274e6fd" - integrity sha512-Toe4Md1wS1PBqbvB0cFxBzKEVyyuYTUb0sgifAZh/mSvLH84qA1NAWik9sISWatzvfWf3rOGoUoO5E3f193a3Q== +metro-minify-terser@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.83.6.tgz#994697c91c0bea86201509d15d8b204b6d210e59" + integrity sha512-Vx3/Ne9Q+EIEDLfKzZUOtn/rxSNa/QjlYxc42nvK4Mg8mB6XUgd3LXX5ZZVq7lzQgehgEqLrbgShJPGfeF8PnQ== dependencies: flow-enums-runtime "^0.0.6" terser "^5.15.0" @@ -8720,52 +8698,52 @@ metro-react-native-babel-preset@0.76.8: babel-plugin-transform-flow-enums "^0.0.2" react-refresh "^0.4.0" -metro-resolver@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.83.5.tgz#72340ca8071941eafe92ff2dcb8e33c581870ef7" - integrity sha512-7p3GtzVUpbAweJeCcUJihJeOQl1bDuimO5ueo1K0BUpUtR41q5EilbQ3klt16UTPPMpA+tISWBtsrqU556mY1A== +metro-resolver@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.83.6.tgz#4e0a975b76474cd1a51d62ff426ea372e8d7777d" + integrity sha512-lAwR/FsT1uJ5iCt4AIsN3boKfJ88aN8bjvDT5FwBS0tKeKw4/sbdSTWlFxc7W/MUTN5RekJ3nQkJRIWsvs28tA== dependencies: flow-enums-runtime "^0.0.6" -metro-runtime@0.83.5, metro-runtime@^0.83.3: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.83.5.tgz#52c1edafc6cc82e57729cc9c21700ab1e53a1777" - integrity sha512-f+b3ue9AWTVlZe2Xrki6TAoFtKIqw30jwfk7GQ1rDUBQaE0ZQ+NkiMEtb9uwH7uAjJ87U7Tdx1Jg1OJqUfEVlA== +metro-runtime@0.83.6, metro-runtime@^0.83.3: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.83.6.tgz#77eec399263a4be97c2c3938cfd0f84c584821c9" + integrity sha512-WQPua1G2VgYbwRn6vSKxOhTX7CFbSf/JdUu6Nd8bZnPXckOf7HQ2y51NXNQHoEsiuawathrkzL8pBhv+zgZFmg== dependencies: "@babel/runtime" "^7.25.0" flow-enums-runtime "^0.0.6" -metro-source-map@0.83.5, metro-source-map@^0.83.3: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.5.tgz#384f311f83fa2bf51cbec08d77210aa951bf9ee3" - integrity sha512-VT9bb2KO2/4tWY9Z2yeZqTUao7CicKAOps9LUg2aQzsz+04QyuXL3qgf1cLUVRjA/D6G5u1RJAlN1w9VNHtODQ== +metro-source-map@0.83.6, metro-source-map@^0.83.3: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.83.6.tgz#65465faaf98664e1e5f2719db00c354a4d67697e" + integrity sha512-AqJbOMMpeyyM4iNI91pchqDIszzNuuHApEhg6OABqZ+9mjLEqzcIEQ/fboZ7x74fNU5DBd2K36FdUQYPqlGClA== dependencies: "@babel/traverse" "^7.29.0" "@babel/types" "^7.29.0" flow-enums-runtime "^0.0.6" invariant "^2.2.4" - metro-symbolicate "0.83.5" + metro-symbolicate "0.83.6" nullthrows "^1.1.1" - ob1 "0.83.5" + ob1 "0.83.6" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.5.tgz#62167db423be6c68b4b9f39935c9cb7330cc9526" - integrity sha512-EMIkrjNRz/hF+p0RDdxoE60+dkaTLPN3vaaGkFmX5lvFdO6HPfHA/Ywznzkev+za0VhPQ5KSdz49/MALBRteHA== +metro-symbolicate@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.83.6.tgz#8c16c187ac92cd4dc7e381ec7a482b110484ba18" + integrity sha512-4nvkmv9T7ozhprlPwk/+xm0SVPsxly5kYyMHdNaOlFemFz4df9BanvD46Ac6OISu/4Idinzfk2KVb++6OfzPAQ== dependencies: flow-enums-runtime "^0.0.6" invariant "^2.2.4" - metro-source-map "0.83.5" + metro-source-map "0.83.6" nullthrows "^1.1.1" source-map "^0.5.6" vlq "^1.0.0" -metro-transform-plugins@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.83.5.tgz#ba21c6a5fa9bf6c5c2c222e2c8e7a668ffb3d341" - integrity sha512-KxYKzZL+lt3Os5H2nx7YkbkWVduLZL5kPrE/Yq+Prm/DE1VLhpfnO6HtPs8vimYFKOa58ncl60GpoX0h7Wm0Vw== +metro-transform-plugins@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.83.6.tgz#ce7a3d835fde900198dd311b3c40b9e50f64c8c6" + integrity sha512-V+zoY2Ul0v0BW6IokJkTud3raXmDdbdwkUQ/5eiSoy0jKuKMhrDjdH+H5buCS5iiJdNbykOn69Eip+Sqymkodg== dependencies: "@babel/core" "^7.25.2" "@babel/generator" "^7.29.1" @@ -8774,29 +8752,29 @@ metro-transform-plugins@0.83.5: flow-enums-runtime "^0.0.6" nullthrows "^1.1.1" -metro-transform-worker@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.83.5.tgz#8616b54282e727027fdb5c475aade719394a8e8a" - integrity sha512-8N4pjkNXc6ytlP9oAM6MwqkvUepNSW39LKYl9NjUMpRDazBQ7oBpQDc8Sz4aI8jnH6AGhF7s1m/ayxkN1t04yA== +metro-transform-worker@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.83.6.tgz#4428abd954c2661658633dd613fb5a733cde338d" + integrity sha512-G5kDJ/P0ZTIf57t3iyAd5qIXbj2Wb1j7WtIDh82uTFQHe2Mq2SO9aXG9j1wI+kxZlIe58Z22XEXIKMl89z0ibQ== dependencies: "@babel/core" "^7.25.2" "@babel/generator" "^7.29.1" "@babel/parser" "^7.29.0" "@babel/types" "^7.29.0" flow-enums-runtime "^0.0.6" - metro "0.83.5" - metro-babel-transformer "0.83.5" - metro-cache "0.83.5" - metro-cache-key "0.83.5" - metro-minify-terser "0.83.5" - metro-source-map "0.83.5" - metro-transform-plugins "0.83.5" + metro "0.83.6" + metro-babel-transformer "0.83.6" + metro-cache "0.83.6" + metro-cache-key "0.83.6" + metro-minify-terser "0.83.6" + metro-source-map "0.83.6" + metro-transform-plugins "0.83.6" nullthrows "^1.1.1" -metro@0.83.5, metro@^0.83.3: - version "0.83.5" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.83.5.tgz#f5441075d5211c980ac8c79109e9e6fa2df68924" - integrity sha512-BgsXevY1MBac/3ZYv/RfNFf/4iuW9X7f4H8ZNkiH+r667HD9sVujxcmu4jvEzGCAm4/WyKdZCuyhAcyhTHOucQ== +metro@0.83.6, metro@^0.83.3: + version "0.83.6" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.83.6.tgz#1b42929143729d854c25a40f0568f955ba70895e" + integrity sha512-pbdndsAZ2F/ceopDdhVbttpa/hfLzXPJ/husc+QvQ33R0D9UXJKzTn5+OzOXx4bpQNtAKF2bY88cCI3Zl44xDQ== dependencies: "@babel/code-frame" "^7.29.0" "@babel/core" "^7.25.2" @@ -8813,24 +8791,24 @@ metro@0.83.5, metro@^0.83.3: error-stack-parser "^2.0.6" flow-enums-runtime "^0.0.6" graceful-fs "^4.2.4" - hermes-parser "0.33.3" + hermes-parser "0.35.0" image-size "^1.0.2" invariant "^2.2.4" jest-worker "^29.7.0" jsc-safe-url "^0.2.2" lodash.throttle "^4.1.1" - metro-babel-transformer "0.83.5" - metro-cache "0.83.5" - metro-cache-key "0.83.5" - metro-config "0.83.5" - metro-core "0.83.5" - metro-file-map "0.83.5" - metro-resolver "0.83.5" - metro-runtime "0.83.5" - metro-source-map "0.83.5" - metro-symbolicate "0.83.5" - metro-transform-plugins "0.83.5" - metro-transform-worker "0.83.5" + metro-babel-transformer "0.83.6" + metro-cache "0.83.6" + metro-cache-key "0.83.6" + metro-config "0.83.6" + metro-core "0.83.6" + metro-file-map "0.83.6" + metro-resolver "0.83.6" + metro-runtime "0.83.6" + metro-source-map "0.83.6" + metro-symbolicate "0.83.6" + metro-transform-plugins "0.83.6" + metro-transform-worker "0.83.6" mime-types "^3.0.1" nullthrows "^1.1.1" serialize-error "^2.1.0" @@ -9752,11 +9730,6 @@ nopt@^7.0.0: dependencies: abbrev "^2.0.0" -normalize-css-color@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/normalize-css-color/-/normalize-css-color-1.0.2.tgz#02991e97cccec6623fe573afbbf0de6a1f3e9f8d" - integrity sha512-jPJ/V7Cp1UytdidsPqviKEElFQJs22hUUgK5BOPHTwOonNCk7/2qOxhhqzEajmFrWJowADFfOFh1V+aWkRfy+w== - normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -9804,10 +9777,10 @@ nullthrows@^1.1.1: resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== -ob1@0.83.5: - version "0.83.5" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.5.tgz#f9c289d759142b76577948eea7fd1f07d36f825f" - integrity sha512-vNKPYC8L5ycVANANpF/S+WZHpfnRWKx/F3AYP4QMn6ZJTh+l2HOrId0clNkEmua58NB9vmI9Qh7YOoV/4folYg== +ob1@0.83.6: + version "0.83.6" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.83.6.tgz#7506c02651efe4c6d3ab19884fe3d91a56fca555" + integrity sha512-m/xZYkwcjo6UqLMrUICEB3iHk7Bjt3RSR7KXMi6Y1MO/kGkPhoRmfUDF6KAan3rLAZ7ABRqnQyKUTwaqZgUV4w== dependencies: flow-enums-runtime "^0.0.6" @@ -11084,56 +11057,56 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@types/react" "*" -react-native-gesture-handler@^2.24.0: - version "2.31.1" - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.31.1.tgz#0881209146ad272350f86277eccf189e5b44353f" - integrity sha512-wQDlECdEzHhYKTnQXFnSqWUtJ5TS3MGQi7EWvQczTnEVKfk6XVSBecnpWAoI/CqlYQ7IWMJEyutY6BxwEBoxeg== +react-native-gesture-handler@3.0.0-beta.2: + version "3.0.0-beta.2" + resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-3.0.0-beta.2.tgz#aa92e7bda4e437d2ec032d467828099bf4e38152" + integrity sha512-naMQknkhjjpDhouEE62qbH6sKTTs2+B1Or01QcpAaF+TAk7PSb6bxcsv4zBiLhoqY0iwH4No6Ib4W3nbdFPtEw== dependencies: - "@egjs/hammerjs" "^2.0.17" - "@types/react-test-renderer" "^19.1.0" - hoist-non-react-statics "^3.3.0" invariant "^2.2.4" -react-native-is-edge-to-edge@1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.1.6.tgz#69ec13f70d76e9245e275eed4140d0873a78f902" - integrity sha512-1pHnFTlBahins6UAajXUqeCOHew9l9C2C8tErnpGC3IyLJzvxD+TpYAixnCbrVS52f7+NvMttbiSI290XfwN0w== - -react-native-reanimated@4.0.0-nightly-20250325-d67e51599: - version "4.0.0-nightly-20250325-d67e51599" - resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-4.0.0-nightly-20250325-d67e51599.tgz#12f654bb39ed4ad74a79da4d1b406f6c56fb8f4d" - integrity sha512-2tY4E9E+PK2B+C5t1wmE8RffeBcwMYjzRPkRKz8veFZQ5Jy872VbgzyBkbtpnxPg2q6K1V6bfxwLGXFQ7l4oXw== - dependencies: - "@babel/plugin-transform-arrow-functions" "^7.0.0-0" - "@babel/plugin-transform-class-properties" "^7.0.0-0" - "@babel/plugin-transform-classes" "^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/plugin-transform-unicode-regex" "^7.0.0-0" - "@babel/preset-typescript" "^7.16.7" - convert-source-map "^2.0.0" - invariant "^2.2.4" - react-native-is-edge-to-edge "1.1.6" +react-native-is-edge-to-edge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.3.1.tgz#feb9a6a8faf0874298947edd556e5af22044e139" + integrity sha512-NIXU/iT5+ORyCc7p0z2nnlkouYKX425vuU1OEm6bMMtWWR9yvb+Xg5AZmImTKoF9abxCPqrKC3rOZsKzUYgYZA== -react-native-web@^0.18.12: - version "0.18.12" - resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.18.12.tgz#d4bb3a783ece2514ba0508d7805b09c0a98f5a8e" - integrity sha512-fboP7yqobJ8InSr4fP+bQ3scOtSQtUoPcR+HWasH8b/fk/RO+mWcJs/8n+lewy9WTZc2D68ha7VwRDviUshEWA== +react-native-reanimated@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-4.3.0.tgz#e5284cebb85bed12d672134b39d0a1370460ae50" + integrity sha512-HOTTPdKtddXTOsmQxDASXEwLS3lqEHrKERD3XOgzSqWJ7L3x81Pnx7mTcKx1FKdkgomMug/XSmm1C6Z7GIowxA== + dependencies: + react-native-is-edge-to-edge "^1.3.1" + semver "^7.7.3" + +react-native-web@0.21.2: + version "0.21.2" + resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.21.2.tgz#0f6983dfea600d9cc1c66fda87ff9ca585eaa647" + integrity sha512-SO2t9/17zM4iEnFvlu2DA9jqNbzNhoUP+AItkoCOyFmDMOhUnBBznBDCYN92fGdfAkfQlWzPoez6+zLxFNsZEg== dependencies: "@babel/runtime" "^7.18.6" - create-react-class "^15.7.0" + "@react-native/normalize-colors" "^0.74.1" fbjs "^3.0.4" - inline-style-prefixer "^6.0.1" - normalize-css-color "^1.0.2" + inline-style-prefixer "^7.0.1" + memoize-one "^6.0.0" + nullthrows "^1.1.1" postcss-value-parser "^4.2.0" - styleq "^0.1.2" + styleq "^0.1.3" -react-native-worklets@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/react-native-worklets/-/react-native-worklets-0.1.0.tgz#bb39986ce2e5228d37dd1acd79d330b6d56f55bb" - integrity sha512-+SlJfWlclW8T2W9l5q9EuDhurHk6OKc3892yQNrNgeJr7vBEYdHEpjyHsQR4nnpfSt13nzB5OZrL4OAD1sQnWw== +react-native-worklets@0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/react-native-worklets/-/react-native-worklets-0.8.1.tgz#bc7744eea950dc1ebdea6429f55aada2422d9862" + integrity sha512-oWP/lStsAHU6oYCaWDXrda/wOHVdhusQJz1e6x9gPnXdFf4ndNDAOtWCmk2zGrAnlapfyA3rM6PCQq94mPg9cw== + dependencies: + "@babel/plugin-transform-arrow-functions" "^7.27.1" + "@babel/plugin-transform-class-properties" "^7.27.1" + "@babel/plugin-transform-classes" "^7.28.4" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + "@babel/plugin-transform-shorthand-properties" "^7.27.1" + "@babel/plugin-transform-template-literals" "^7.27.1" + "@babel/plugin-transform-unicode-regex" "^7.27.1" + "@babel/preset-typescript" "^7.27.1" + convert-source-map "^2.0.0" + semver "^7.7.3" react-native@0.83.0: version "0.83.0" @@ -11775,7 +11748,7 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.1.3, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: +semver@^7.1.3, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4, semver@^7.7.3: version "7.7.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a" integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA== @@ -12252,7 +12225,7 @@ stylehacks@^6.1.1: browserslist "^4.23.0" postcss-selector-parser "^6.0.16" -styleq@^0.1.2: +styleq@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/styleq/-/styleq-0.1.3.tgz#8efb2892debd51ce7b31dc09c227ad920decab71" integrity sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==