react-native-skia-gesture 0.3.2 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -13
- package/lib/commonjs/canvas/canvas.js +1 -1
- package/lib/commonjs/canvas/canvas.js.map +1 -1
- package/lib/commonjs/hoc/with-touchable-handler.js.map +1 -1
- package/lib/commonjs/hooks/use-gesture-handler.js +6 -8
- package/lib/commonjs/hooks/use-gesture-handler.js.map +1 -1
- package/lib/commonjs/utils/unwrap-animated-value.js +0 -7
- package/lib/commonjs/utils/unwrap-animated-value.js.map +1 -1
- package/lib/module/canvas/canvas.js +1 -1
- package/lib/module/canvas/canvas.js.map +1 -1
- package/lib/module/hoc/with-touchable-handler.js.map +1 -1
- package/lib/module/hooks/use-gesture-handler.js +6 -8
- package/lib/module/hooks/use-gesture-handler.js.map +1 -1
- package/lib/module/utils/unwrap-animated-value.js +0 -7
- package/lib/module/utils/unwrap-animated-value.js.map +1 -1
- package/lib/typescript/components/index.d.ts +2 -2
- package/lib/typescript/hoc/with-touchable-handler.d.ts +3 -2
- package/lib/typescript/hoc/with-touchable-handler.d.ts.map +1 -1
- package/lib/typescript/hooks/use-gesture-handler.d.ts +5 -5
- package/lib/typescript/hooks/use-gesture-handler.d.ts.map +1 -1
- package/lib/typescript/utils/unwrap-animated-value.d.ts +3 -8
- package/lib/typescript/utils/unwrap-animated-value.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/canvas/canvas.tsx +1 -1
- package/src/hoc/with-touchable-handler.tsx +3 -6
- package/src/hooks/use-gesture-handler.ts +11 -19
- package/src/utils/unwrap-animated-value.ts +5 -21
package/README.md
CHANGED
@@ -52,16 +52,20 @@ export default function App() {
|
|
52
52
|
const cx = useSharedValue(100);
|
53
53
|
const cy = useSharedValue(100);
|
54
54
|
|
55
|
-
const
|
56
|
-
|
55
|
+
const context = useSharedValue({ x: 0, y: 0 });
|
56
|
+
|
57
|
+
const circleGesture = useGestureHandler({
|
58
|
+
onStart: () => {
|
57
59
|
'worklet'; // Remember the 'worklet' keyword
|
58
|
-
context.
|
59
|
-
|
60
|
+
context.value = {
|
61
|
+
x: cx.value,
|
62
|
+
y: cy.value,
|
63
|
+
}
|
60
64
|
},
|
61
65
|
onActive: ({ translationX, translationY }, context) => {
|
62
66
|
'worklet';
|
63
|
-
cx.value = context.x + translationX;
|
64
|
-
cy.value = context.y + translationY;
|
67
|
+
cx.value = context.value.x + translationX;
|
68
|
+
cy.value = context.value.y + translationY;
|
65
69
|
},
|
66
70
|
});
|
67
71
|
|
@@ -105,15 +109,17 @@ import { Gesture } from 'react-native-gesture-handler';
|
|
105
109
|
|
106
110
|
const panGesture = Gesture.Pan().runOnJS(true)
|
107
111
|
|
108
|
-
const circleGesture = useGestureHandler
|
112
|
+
const circleGesture = useGestureHandler({
|
109
113
|
// You can avoid the 'worklet' keyword if you are running the gesture on JS thread
|
110
|
-
onStart: (
|
111
|
-
context.
|
112
|
-
|
114
|
+
onStart: () => {
|
115
|
+
context.value = {
|
116
|
+
x: cx.value,
|
117
|
+
y: cy.value,
|
118
|
+
}
|
113
119
|
},
|
114
|
-
onActive: ({ translationX, translationY }
|
115
|
-
cx.value = context.x + translationX;
|
116
|
-
cy.value = context.y + translationY;
|
120
|
+
onActive: ({ translationX, translationY }) => {
|
121
|
+
cx.value = context.value.x + translationX;
|
122
|
+
cy.value = context.value.y + translationY;
|
117
123
|
},
|
118
124
|
});
|
119
125
|
|
@@ -47,7 +47,7 @@ const Canvas = _ref => {
|
|
47
47
|
const isPointInPath = touchableItem === null || touchableItem === void 0 ? void 0 : touchableItem.isPointInPath(event);
|
48
48
|
if (isPointInPath && touchableItem !== null && touchableItem !== void 0 && touchableItem.onStart) {
|
49
49
|
var _touchableItem$onStar;
|
50
|
-
activeKey.value
|
50
|
+
activeKey.value = [`${key}__${event.handlerTag}`];
|
51
51
|
(_touchableItem$onStar = touchableItem.onStart) === null || _touchableItem$onStar === void 0 ? void 0 : _touchableItem$onStar.call(touchableItem, event);
|
52
52
|
}
|
53
53
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["AnimatedSkiaCanvas","Animated","createAnimatedComponent","SkiaCanvas","Canvas","children","panGesture","Gesture","Pan","timeoutBeforeCollectingRefs","props","touchableRefs","useMemo","value","activeKey","useSharedValue","loadedRefs","prepareLoadedRefs","useState","ref","useRef","useEffect","current","setTimeout","clearTimeout","mainGesture","onBegin","event","keys","Object","i","length","key","touchableItem","isPointInPath","onStart","
|
1
|
+
{"version":3,"names":["AnimatedSkiaCanvas","Animated","createAnimatedComponent","SkiaCanvas","Canvas","children","panGesture","Gesture","Pan","timeoutBeforeCollectingRefs","props","touchableRefs","useMemo","value","activeKey","useSharedValue","loadedRefs","prepareLoadedRefs","useState","ref","useRef","useEffect","current","setTimeout","clearTimeout","mainGesture","onBegin","event","keys","Object","i","length","key","touchableItem","isPointInPath","onStart","handlerTag","onUpdate","activatedKey","find","includes","toString","indexedKey","split","onActive","onFinalize","filter","onEnd"],"sourceRoot":"../../src","sources":["canvas.tsx"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getSkiaPath","key","props","unwrappedProps","unwrapAnimatedValueObject","getCirclePath","getRectPath","getRoundedRectPath","path","withTouchableHandler","Component","componentName","onStart","onStartProp","onActive","onActiveProp","onEnd","onEndProp","touchablePath","id","useId","ref","useTouchHandlerContext","useCallback","event","isPointInPath","point","unwrapAnimatedValue","contains","x","y","Error","useEffect","value"],"sourceRoot":"../../src","sources":["with-touchable-handler.tsx"],"mappings":";;;;;;
|
1
|
+
{"version":3,"names":["getSkiaPath","key","props","unwrappedProps","unwrapAnimatedValueObject","getCirclePath","getRectPath","getRoundedRectPath","path","withTouchableHandler","Component","componentName","onStart","onStartProp","onActive","onActiveProp","onEnd","onEndProp","touchablePath","id","useId","ref","useTouchHandlerContext","useCallback","event","isPointInPath","point","unwrapAnimatedValue","contains","x","y","Error","useEffect","value"],"sourceRoot":"../../src","sources":["with-touchable-handler.tsx"],"mappings":"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"}
|
@@ -5,32 +5,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useGestureHandler = void 0;
|
7
7
|
var _react = require("react");
|
8
|
-
var _reactNativeReanimated = require("react-native-reanimated");
|
9
8
|
const useGestureHandler = gestureHandlers => {
|
10
9
|
const {
|
11
10
|
onStart,
|
12
11
|
onActive,
|
13
12
|
onEnd
|
14
13
|
} = gestureHandlers;
|
15
|
-
const context = (0, _reactNativeReanimated.useSharedValue)({});
|
16
14
|
const handleStart = (0, _react.useCallback)(touchInfo => {
|
17
15
|
'worklet';
|
18
16
|
|
19
17
|
if (!onStart) return;
|
20
|
-
return onStart(touchInfo
|
21
|
-
}, [
|
18
|
+
return onStart(touchInfo);
|
19
|
+
}, [onStart]);
|
22
20
|
const handleActive = (0, _react.useCallback)(extendedTouchInfo => {
|
23
21
|
'worklet';
|
24
22
|
|
25
23
|
if (!onActive) return;
|
26
|
-
return onActive(extendedTouchInfo
|
27
|
-
}, [
|
24
|
+
return onActive(extendedTouchInfo);
|
25
|
+
}, [onActive]);
|
28
26
|
const handleEnd = (0, _react.useCallback)(extendedTouchInfo => {
|
29
27
|
'worklet';
|
30
28
|
|
31
29
|
if (!onEnd) return;
|
32
|
-
return onEnd(extendedTouchInfo
|
33
|
-
}, [
|
30
|
+
return onEnd(extendedTouchInfo);
|
31
|
+
}, [onEnd]);
|
34
32
|
return {
|
35
33
|
onStart: handleStart,
|
36
34
|
onActive: handleActive,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["useGestureHandler","gestureHandlers","onStart","onActive","onEnd","
|
1
|
+
{"version":3,"names":["useGestureHandler","gestureHandlers","onStart","onActive","onEnd","handleStart","useCallback","touchInfo","handleActive","extendedTouchInfo","handleEnd"],"sourceRoot":"../../src","sources":["use-gesture-handler.ts"],"mappings":";;;;;;AAAA;AAoBA,MAAMA,iBAAiB,GAAIC,eAAwC,IAAK;EACtE,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGH,eAAe;EAEpD,MAAMI,WAAW,GAAG,IAAAC,kBAAW,EAC5BC,SAAiE,IAAK;IACrE,SAAS;;IACT,IAAI,CAACL,OAAO,EAAE;IACd,OAAOA,OAAO,CAACK,SAAS,CAAC;EAC3B,CAAC,EACD,CAACL,OAAO,CAAC,CACV;EAED,MAAMM,YAAY,GAAG,IAAAF,kBAAW,EAC7BG,iBAAoE,IAAK;IACxE,SAAS;;IACT,IAAI,CAACN,QAAQ,EAAE;IACf,OAAOA,QAAQ,CAACM,iBAAiB,CAAC;EACpC,CAAC,EACD,CAACN,QAAQ,CAAC,CACX;EAED,MAAMO,SAAS,GAAG,IAAAJ,kBAAW,EAEzBG,iBAAyE,IACtE;IACH,SAAS;;IACT,IAAI,CAACL,KAAK,EAAE;IACZ,OAAOA,KAAK,CAACK,iBAAiB,CAAC;EACjC,CAAC,EACD,CAACL,KAAK,CAAC,CACR;EAED,OAAO;IACLF,OAAO,EAAEG,WAAW;IACpBF,QAAQ,EAAEK,YAAY;IACtBJ,KAAK,EAAEM;EACT,CAAC;AACH,CAAC;AAAC"}
|
@@ -10,13 +10,6 @@ const unwrapAnimatedValue = value => {
|
|
10
10
|
if (value.value != null) {
|
11
11
|
return value.value;
|
12
12
|
}
|
13
|
-
if (value.current != null) {
|
14
|
-
return value.current;
|
15
|
-
}
|
16
|
-
if (value.selector != null) {
|
17
|
-
const skiaValueWithSelector = value;
|
18
|
-
return skiaValueWithSelector.selector(skiaValueWithSelector.value.current);
|
19
|
-
}
|
20
13
|
return value;
|
21
14
|
};
|
22
15
|
exports.unwrapAnimatedValue = unwrapAnimatedValue;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["unwrapAnimatedValue","value","
|
1
|
+
{"version":3,"names":["unwrapAnimatedValue","value","unwrapAnimatedValueObject","Object","keys","reduce","acc","key"],"sourceRoot":"../../src","sources":["unwrap-animated-value.ts"],"mappings":";;;;;;AAEA,MAAMA,mBAAmB,GAAOC,KAAyB,IAAQ;EAC/D,SAAS;;EAET,IAAKA,KAAK,CAAoBA,KAAK,IAAI,IAAI,EAAE;IAC3C,OAAQA,KAAK,CAAoBA,KAAK;EACxC;EAEA,OAAOA,KAAK;AACd,CAAC;AAAC;AAEF,MAAMC,yBAAyB,GAC7BD,KAAsC,IACnB;EACnB,SAAS;;EACT,OAAOE,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;IAC7C,OAAO;MAAE,GAAGD,GAAG;MAAE,CAACC,GAAG,GAAGP,mBAAmB,CAACC,KAAK,CAACM,GAAG,CAAC;IAAE,CAAC;EAC3D,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAAC"}
|
@@ -39,7 +39,7 @@ const Canvas = _ref => {
|
|
39
39
|
const isPointInPath = touchableItem === null || touchableItem === void 0 ? void 0 : touchableItem.isPointInPath(event);
|
40
40
|
if (isPointInPath && touchableItem !== null && touchableItem !== void 0 && touchableItem.onStart) {
|
41
41
|
var _touchableItem$onStar;
|
42
|
-
activeKey.value
|
42
|
+
activeKey.value = [`${key}__${event.handlerTag}`];
|
43
43
|
(_touchableItem$onStar = touchableItem.onStart) === null || _touchableItem$onStar === void 0 ? void 0 : _touchableItem$onStar.call(touchableItem, event);
|
44
44
|
}
|
45
45
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Canvas","SkiaCanvas","React","useEffect","useMemo","useRef","useState","Gesture","GestureDetector","Animated","useSharedValue","TouchHandlerContext","AnimatedSkiaCanvas","createAnimatedComponent","children","panGesture","Pan","timeoutBeforeCollectingRefs","props","touchableRefs","value","activeKey","loadedRefs","prepareLoadedRefs","ref","current","setTimeout","clearTimeout","mainGesture","onBegin","event","keys","Object","i","length","key","touchableItem","isPointInPath","onStart","
|
1
|
+
{"version":3,"names":["Canvas","SkiaCanvas","React","useEffect","useMemo","useRef","useState","Gesture","GestureDetector","Animated","useSharedValue","TouchHandlerContext","AnimatedSkiaCanvas","createAnimatedComponent","children","panGesture","Pan","timeoutBeforeCollectingRefs","props","touchableRefs","value","activeKey","loadedRefs","prepareLoadedRefs","ref","current","setTimeout","clearTimeout","mainGesture","onBegin","event","keys","Object","i","length","key","touchableItem","isPointInPath","onStart","handlerTag","onUpdate","activatedKey","find","includes","toString","indexedKey","split","onActive","onFinalize","filter","onEnd"],"sourceRoot":"../../src","sources":["canvas.tsx"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useId","useTouchHandlerContext","getCirclePath","getRectPath","getRoundedRectPath","unwrapAnimatedValue","unwrapAnimatedValueObject","getSkiaPath","key","props","unwrappedProps","path","withTouchableHandler","Component","componentName","onStart","onStartProp","onActive","onActiveProp","onEnd","onEndProp","touchablePath","id","ref","event","isPointInPath","point","contains","x","y","Error","value"],"sourceRoot":"../../src","sources":["with-touchable-handler.tsx"],"mappings":"
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useId","useTouchHandlerContext","getCirclePath","getRectPath","getRoundedRectPath","unwrapAnimatedValue","unwrapAnimatedValueObject","getSkiaPath","key","props","unwrappedProps","path","withTouchableHandler","Component","componentName","onStart","onStartProp","onActive","onActiveProp","onEnd","onEndProp","touchablePath","id","ref","event","isPointInPath","point","contains","x","y","Error","value"],"sourceRoot":"../../src","sources":["with-touchable-handler.tsx"],"mappings":"AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,KAAK,QAAQ,OAAO;AAErD,SAASC,sBAAsB,QAAQ,mBAAmB;AAC1D,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,WAAW,EAAEC,kBAAkB,QAAQ,wBAAwB;AACxE,SACEC,mBAAmB,EACnBC,yBAAyB,QACpB,gCAAgC;AAwBvC,OAAO,MAAMC,WAAW,GAAG,CAACC,GAAW,EAAEC,KAAU,KAAK;EACtD,SAAS;;EAET,MAAMC,cAAc,GAAGJ,yBAAyB,CAACG,KAAK,CAAQ;EAC9D,QAAQD,GAAG;IACT,KAAK,QAAQ;MACX,OAAON,aAAa,CAACQ,cAAc,CAAC;IACtC,KAAK,MAAM;MACT,OAAOP,WAAW,CAACO,cAAc,CAAC;IACpC,KAAK,aAAa;MAChB,OAAON,kBAAkB,CAACM,cAAc,CAAC;IAC3C,KAAK,MAAM;MACT,OAAOA,cAAc,CAACC,IAAI;IAC5B;MACE,OAAO,IAAI;EAAC;AAElB,CAAC;AAED,MAAMC,oBAAoB,GAAG,CAC3BC,SAA+D,EAC/DC,aAAsB,KACnB;EACH,OAAO,QAM6B;IAAA,IAN5B;MACNC,OAAO,EAAEC,WAAW;MACpBC,QAAQ,EAAEC,YAAY;MACtBC,KAAK,EAAEC,SAAS;MAChBC,aAAa;MACb,GAAGZ;IACyB,CAAC;IAC7B,MAAMa,EAAE,GAAGtB,KAAK,EAAE;IAClB,MAAMuB,GAAG,GAAGtB,sBAAsB,EAAE;IAEpC,MAAMc,OAAyC,GAAGjB,WAAW,CAC1D0B,KAAK,IAAK;MACT,SAAS;;MACT,OAAOR,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGQ,KAAK,CAAC;IAC7B,CAAC,EACD,CAACR,WAAW,CAAC,CACd;IACD,MAAMC,QAA2C,GAAGnB,WAAW,CAC5D0B,KAAK,IAAK;MACT,SAAS;;MACT,OAAON,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGM,KAAK,CAAC;IAC9B,CAAC,EACD,CAACN,YAAY,CAAC,CACf;IACD,MAAMC,KAAqC,GAAGrB,WAAW,CACtD0B,KAAK,IAAK;MACT,SAAS;;MACT,OAAOJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAGI,KAAK,CAAC;IAC3B,CAAC,EACD,CAACJ,SAAS,CAAC,CACZ;IAED,MAAMK,aAAa,GAAG3B,WAAW,CAC9B4B,KAAa,IAAK;MACjB,SAAS;;MACT,IAAIL,aAAa,EAAE;QACjB,OAAOhB,mBAAmB,CAACgB,aAAa,CAAC,CAACM,QAAQ,CAACD,KAAK,CAACE,CAAC,EAAEF,KAAK,CAACG,CAAC,CAAC;MACtE;MAEA,IAAI,CAACf,aAAa,EAAE,OAAO,KAAK;MAChC,MAAMH,IAAI,GAAGJ,WAAW,CAACO,aAAa,EAAEL,KAAK,CAAC;MAE9C,IAAI,CAACE,IAAI,EAAE;QACT,MAAMmB,KAAK,CAAC,2BAA2B,CAAC;MAC1C;MACA,OAAOnB,IAAI,CAACgB,QAAQ,CAACD,KAAK,CAACE,CAAC,EAAEF,KAAK,CAACG,CAAC,CAAC;IACxC,CAAC,EACD,CAACpB,KAAK,EAAEY,aAAa,CAAC,CACvB;IAEDtB,SAAS,CAAC,MAAM;MACdwB,GAAG,CAACQ,KAAK,GAAG;QACV,CAAE,MAAKT,EAAG,EAAC,GAAG;UACZG,aAAa;UACbV,OAAO;UACPE,QAAQ;UACRE;QACF,CAAC;QACD,GAAGI,GAAG,CAACQ;MACT,CAAQ;MACR;IACF,CAAC,EAAE,CAACT,EAAE,EAAEG,aAAa,EAAER,QAAQ,EAAEE,KAAK,EAAEJ,OAAO,CAAC,CAAC;IAEjDhB,SAAS,CAAC,MAAM;MACd,OAAO,MAAM;QAAA;QACX,cAAOwB,GAAG,CAACQ,KAAK,6CAAhB,OAAO,WAAa,MAAKT,EAAG,EAAC,CAAC;MAChC,CAAC;IACH,CAAC,EAAE,CAACA,EAAE,EAAEb,KAAK,EAAEc,GAAG,EAAEF,aAAa,CAAC,CAAC;IAEnC,OAAOR,SAAS,CAACJ,KAAK,CAAQ;EAChC,CAAC;AACH,CAAC;AAED,SAASG,oBAAoB"}
|
@@ -1,30 +1,28 @@
|
|
1
1
|
import { useCallback } from 'react';
|
2
|
-
import { useSharedValue } from 'react-native-reanimated';
|
3
2
|
const useGestureHandler = gestureHandlers => {
|
4
3
|
const {
|
5
4
|
onStart,
|
6
5
|
onActive,
|
7
6
|
onEnd
|
8
7
|
} = gestureHandlers;
|
9
|
-
const context = useSharedValue({});
|
10
8
|
const handleStart = useCallback(touchInfo => {
|
11
9
|
'worklet';
|
12
10
|
|
13
11
|
if (!onStart) return;
|
14
|
-
return onStart(touchInfo
|
15
|
-
}, [
|
12
|
+
return onStart(touchInfo);
|
13
|
+
}, [onStart]);
|
16
14
|
const handleActive = useCallback(extendedTouchInfo => {
|
17
15
|
'worklet';
|
18
16
|
|
19
17
|
if (!onActive) return;
|
20
|
-
return onActive(extendedTouchInfo
|
21
|
-
}, [
|
18
|
+
return onActive(extendedTouchInfo);
|
19
|
+
}, [onActive]);
|
22
20
|
const handleEnd = useCallback(extendedTouchInfo => {
|
23
21
|
'worklet';
|
24
22
|
|
25
23
|
if (!onEnd) return;
|
26
|
-
return onEnd(extendedTouchInfo
|
27
|
-
}, [
|
24
|
+
return onEnd(extendedTouchInfo);
|
25
|
+
}, [onEnd]);
|
28
26
|
return {
|
29
27
|
onStart: handleStart,
|
30
28
|
onActive: handleActive,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["useCallback","
|
1
|
+
{"version":3,"names":["useCallback","useGestureHandler","gestureHandlers","onStart","onActive","onEnd","handleStart","touchInfo","handleActive","extendedTouchInfo","handleEnd"],"sourceRoot":"../../src","sources":["use-gesture-handler.ts"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AAoBnC,MAAMC,iBAAiB,GAAIC,eAAwC,IAAK;EACtE,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGH,eAAe;EAEpD,MAAMI,WAAW,GAAGN,WAAW,CAC5BO,SAAiE,IAAK;IACrE,SAAS;;IACT,IAAI,CAACJ,OAAO,EAAE;IACd,OAAOA,OAAO,CAACI,SAAS,CAAC;EAC3B,CAAC,EACD,CAACJ,OAAO,CAAC,CACV;EAED,MAAMK,YAAY,GAAGR,WAAW,CAC7BS,iBAAoE,IAAK;IACxE,SAAS;;IACT,IAAI,CAACL,QAAQ,EAAE;IACf,OAAOA,QAAQ,CAACK,iBAAiB,CAAC;EACpC,CAAC,EACD,CAACL,QAAQ,CAAC,CACX;EAED,MAAMM,SAAS,GAAGV,WAAW,CAEzBS,iBAAyE,IACtE;IACH,SAAS;;IACT,IAAI,CAACJ,KAAK,EAAE;IACZ,OAAOA,KAAK,CAACI,iBAAiB,CAAC;EACjC,CAAC,EACD,CAACJ,KAAK,CAAC,CACR;EAED,OAAO;IACLF,OAAO,EAAEG,WAAW;IACpBF,QAAQ,EAAEI,YAAY;IACtBH,KAAK,EAAEK;EACT,CAAC;AACH,CAAC;AAED,SAAST,iBAAiB"}
|
@@ -4,13 +4,6 @@ const unwrapAnimatedValue = value => {
|
|
4
4
|
if (value.value != null) {
|
5
5
|
return value.value;
|
6
6
|
}
|
7
|
-
if (value.current != null) {
|
8
|
-
return value.current;
|
9
|
-
}
|
10
|
-
if (value.selector != null) {
|
11
|
-
const skiaValueWithSelector = value;
|
12
|
-
return skiaValueWithSelector.selector(skiaValueWithSelector.value.current);
|
13
|
-
}
|
14
7
|
return value;
|
15
8
|
};
|
16
9
|
const unwrapAnimatedValueObject = value => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["unwrapAnimatedValue","value","
|
1
|
+
{"version":3,"names":["unwrapAnimatedValue","value","unwrapAnimatedValueObject","Object","keys","reduce","acc","key"],"sourceRoot":"../../src","sources":["unwrap-animated-value.ts"],"mappings":"AAEA,MAAMA,mBAAmB,GAAOC,KAAyB,IAAQ;EAC/D,SAAS;;EAET,IAAKA,KAAK,CAAoBA,KAAK,IAAI,IAAI,EAAE;IAC3C,OAAQA,KAAK,CAAoBA,KAAK;EACxC;EAEA,OAAOA,KAAK;AACd,CAAC;AAED,MAAMC,yBAAyB,GAC7BD,KAAsC,IACnB;EACnB,SAAS;;EACT,OAAOE,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACI,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;IAC7C,OAAO;MAAE,GAAGD,GAAG;MAAE,CAACC,GAAG,GAAGP,mBAAmB,CAACC,KAAK,CAACM,GAAG,CAAC;IAAE,CAAC;EAC3D,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAASP,mBAAmB,EAAEE,yBAAyB"}
|
@@ -3,7 +3,7 @@ export declare const Circle: ({ onStart: onStartProp, onActive: onActiveProp, on
|
|
3
3
|
export declare const RoundedRect: ({ onStart: onStartProp, onActive: onActiveProp, onEnd: onEndProp, touchablePath, ...props }: import("@shopify/react-native-skia").AnimatedProps<import("@shopify/react-native-skia").RoundedRectProps, never> & Partial<import("../hoc").TouchableHandlerProps>) => JSX.Element;
|
4
4
|
export declare const Rect: ({ onStart: onStartProp, onActive: onActiveProp, onEnd: onEndProp, touchablePath, ...props }: import("@shopify/react-native-skia").AnimatedProps<import("@shopify/react-native-skia").RectProps, never> & Partial<import("../hoc").TouchableHandlerProps>) => JSX.Element;
|
5
5
|
export declare const Path: ({ onStart: onStartProp, onActive: onActiveProp, onEnd: onEndProp, touchablePath, ...props }: Omit<import("@shopify/react-native-skia").AnimatedProps<import("@shopify/react-native-skia").PathProps, never>, "end" | "start"> & {
|
6
|
-
end?: import("@shopify/react-native-skia").AnimatedProp<number
|
7
|
-
start?: import("@shopify/react-native-skia").AnimatedProp<number
|
6
|
+
end?: import("@shopify/react-native-skia").AnimatedProp<number> | undefined;
|
7
|
+
start?: import("@shopify/react-native-skia").AnimatedProp<number> | undefined;
|
8
8
|
} & Partial<import("../hoc").TouchableHandlerProps>) => JSX.Element;
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1,10 +1,11 @@
|
|
1
|
-
import { type
|
1
|
+
import { type SkPath } from '@shopify/react-native-skia';
|
2
2
|
import type { GestureStateChangeEvent, GestureUpdateEvent, PanGestureHandlerEventPayload } from 'react-native-gesture-handler';
|
3
|
+
import { SharedValue } from 'react-native-reanimated';
|
3
4
|
export type TouchableHandlerProps = {
|
4
5
|
onStart: (touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;
|
5
6
|
onActive: (touchInfo: GestureUpdateEvent<PanGestureHandlerEventPayload>) => void;
|
6
7
|
onEnd: (touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;
|
7
|
-
touchablePath: SkPath |
|
8
|
+
touchablePath: SkPath | SharedValue<SkPath>;
|
8
9
|
};
|
9
10
|
type WithTouchableHandlerProps<T> = T & Partial<TouchableHandlerProps>;
|
10
11
|
export declare const getSkiaPath: (key: string, props: any) => any;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"with-touchable-handler.d.ts","sourceRoot":"","sources":["../../../src/hoc/with-touchable-handler.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"with-touchable-handler.d.ts","sourceRoot":"","sources":["../../../src/hoc/with-touchable-handler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,4BAA4B,CAAC;AAWtE,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,CACP,SAAS,EAAE,uBAAuB,CAAC,6BAA6B,CAAC,KAC9D,IAAI,CAAC;IACV,QAAQ,EAAE,CACR,SAAS,EAAE,kBAAkB,CAAC,6BAA6B,CAAC,KACzD,IAAI,CAAC;IACV,KAAK,EAAE,CACL,SAAS,EAAE,uBAAuB,CAAC,6BAA6B,CAAC,KAC9D,IAAI,CAAC;IACV,aAAa,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,KAAK,yBAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEvE,eAAO,MAAM,WAAW,QAAS,MAAM,SAAS,GAAG,QAgBlD,CAAC;AAEF,QAAA,MAAM,oBAAoB,0DAC4B,WAAW,kBAC/C,MAAM,+IAyEvB,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import type { GestureStateChangeEvent, GestureUpdateEvent, PanGestureHandlerEventPayload } from 'react-native-gesture-handler';
|
2
|
-
type UseGestureHandlerParams
|
3
|
-
onStart?: (touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload
|
4
|
-
onActive?: (touchInfo: GestureUpdateEvent<PanGestureHandlerEventPayload
|
5
|
-
onEnd?: (touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload
|
2
|
+
type UseGestureHandlerParams = {
|
3
|
+
onStart?: (touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;
|
4
|
+
onActive?: (touchInfo: GestureUpdateEvent<PanGestureHandlerEventPayload>) => void;
|
5
|
+
onEnd?: (touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;
|
6
6
|
};
|
7
|
-
declare const useGestureHandler:
|
7
|
+
declare const useGestureHandler: (gestureHandlers: UseGestureHandlerParams) => {
|
8
8
|
onStart: (touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;
|
9
9
|
onActive: (extendedTouchInfo: GestureUpdateEvent<PanGestureHandlerEventPayload>) => void;
|
10
10
|
onEnd: (extendedTouchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-gesture-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-gesture-handler.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"use-gesture-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-gesture-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AAEtC,KAAK,uBAAuB,GAAG;IAC7B,OAAO,CAAC,EAAE,CACR,SAAS,EAAE,uBAAuB,CAAC,6BAA6B,CAAC,KAC9D,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,CACT,SAAS,EAAE,kBAAkB,CAAC,6BAA6B,CAAC,KACzD,IAAI,CAAC;IACV,KAAK,CAAC,EAAE,CACN,SAAS,EAAE,uBAAuB,CAAC,6BAA6B,CAAC,KAC9D,IAAI,CAAC;CACX,CAAC;AAEF,QAAA,MAAM,iBAAiB,oBAAqB,uBAAuB;yBAInD,wBAAwB,6BAA6B,CAAC;kCAS9C,mBAAmB,6BAA6B,CAAC;+BAUhD,wBAAwB,6BAA6B,CAAC;CAc9E,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
@@ -1,10 +1,5 @@
|
|
1
|
-
import
|
2
|
-
|
3
|
-
|
4
|
-
value: SkiaValue<T>;
|
5
|
-
selector: (v: T) => T;
|
6
|
-
};
|
7
|
-
declare const unwrapAnimatedValue: <T>(value: T | SkiaValue<T> | SkiaValueWithSelector<T> | Animated.SharedValue<T>) => T;
|
8
|
-
declare const unwrapAnimatedValueObject: <T>(value: Record<any, T | SkiaValue<T>>) => Record<any, T>;
|
1
|
+
import { SharedValue } from 'react-native-reanimated';
|
2
|
+
declare const unwrapAnimatedValue: <T>(value: T | SharedValue<T>) => T;
|
3
|
+
declare const unwrapAnimatedValueObject: <T>(value: Record<any, T | SharedValue<T>>) => Record<any, T>;
|
9
4
|
export { unwrapAnimatedValue, unwrapAnimatedValueObject };
|
10
5
|
//# sourceMappingURL=unwrap-animated-value.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"unwrap-animated-value.d.ts","sourceRoot":"","sources":["../../../src/utils/unwrap-animated-value.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"unwrap-animated-value.d.ts","sourceRoot":"","sources":["../../../src/utils/unwrap-animated-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,QAAA,MAAM,mBAAmB,qCAQxB,CAAC;AAEF,QAAA,MAAM,yBAAyB,+DAO9B,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-native-skia-gesture",
|
3
|
-
"version": "0.3.
|
3
|
+
"version": "0.3.5",
|
4
4
|
"description": "A detection system for React Native Skia components",
|
5
5
|
"main": "lib/commonjs/index",
|
6
6
|
"module": "lib/module/index",
|
@@ -55,7 +55,7 @@
|
|
55
55
|
"@evilmartians/lefthook": "^1.2.2",
|
56
56
|
"@react-native-community/eslint-config": "^3.0.2",
|
57
57
|
"@release-it/conventional-changelog": "^5.0.0",
|
58
|
-
"@shopify/react-native-skia": "
|
58
|
+
"@shopify/react-native-skia": "1.2.3",
|
59
59
|
"@types/jest": "^28.1.2",
|
60
60
|
"@types/react": "18.0.26",
|
61
61
|
"@types/react-native": "0.70.0",
|
@@ -65,13 +65,14 @@
|
|
65
65
|
"eslint-config-prettier": "^8.5.0",
|
66
66
|
"eslint-plugin-prettier": "^4.0.0",
|
67
67
|
"jest": "^28.1.1",
|
68
|
+
"metro-react-native-babel-preset": "^0.77.0",
|
68
69
|
"pod-install": "^0.1.0",
|
69
70
|
"prettier": "^2.0.5",
|
70
|
-
"react": "18.
|
71
|
-
"react-native": "0.
|
71
|
+
"react": "18.2.0",
|
72
|
+
"react-native": "0.74.1",
|
72
73
|
"react-native-builder-bob": "^0.20.0",
|
73
|
-
"react-native-gesture-handler": "~2.
|
74
|
-
"react-native-reanimated": "~3.
|
74
|
+
"react-native-gesture-handler": "~2.16.1",
|
75
|
+
"react-native-reanimated": "~3.10.1",
|
75
76
|
"release-it": "^15.0.0",
|
76
77
|
"typescript": "^4.5.2"
|
77
78
|
},
|
package/src/canvas/canvas.tsx
CHANGED
@@ -60,7 +60,7 @@ const Canvas: React.FC<TouchableCanvasProps> = ({
|
|
60
60
|
const touchableItem = loadedRefs[key];
|
61
61
|
const isPointInPath = touchableItem?.isPointInPath(event);
|
62
62
|
if (isPointInPath && touchableItem?.onStart) {
|
63
|
-
activeKey.value
|
63
|
+
activeKey.value = [`${key}__${event.handlerTag}`];
|
64
64
|
touchableItem.onStart?.(event);
|
65
65
|
}
|
66
66
|
}
|
@@ -1,8 +1,4 @@
|
|
1
|
-
import {
|
2
|
-
type SkiaValue,
|
3
|
-
type SkPath,
|
4
|
-
type Vector,
|
5
|
-
} from '@shopify/react-native-skia';
|
1
|
+
import { type SkPath, type Vector } from '@shopify/react-native-skia';
|
6
2
|
import { useCallback, useEffect, useId } from 'react';
|
7
3
|
|
8
4
|
import { useTouchHandlerContext } from '../canvas/context';
|
@@ -18,6 +14,7 @@ import type {
|
|
18
14
|
GestureUpdateEvent,
|
19
15
|
PanGestureHandlerEventPayload,
|
20
16
|
} from 'react-native-gesture-handler';
|
17
|
+
import { SharedValue } from 'react-native-reanimated';
|
21
18
|
|
22
19
|
export type TouchableHandlerProps = {
|
23
20
|
onStart: (
|
@@ -29,7 +26,7 @@ export type TouchableHandlerProps = {
|
|
29
26
|
onEnd: (
|
30
27
|
touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>
|
31
28
|
) => void;
|
32
|
-
touchablePath: SkPath |
|
29
|
+
touchablePath: SkPath | SharedValue<SkPath>;
|
33
30
|
};
|
34
31
|
|
35
32
|
type WithTouchableHandlerProps<T> = T & Partial<TouchableHandlerProps>;
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { useCallback } from 'react';
|
2
|
-
import { useSharedValue } from 'react-native-reanimated';
|
3
2
|
|
4
3
|
import type {
|
5
4
|
GestureStateChangeEvent,
|
@@ -7,44 +6,37 @@ import type {
|
|
7
6
|
PanGestureHandlerEventPayload,
|
8
7
|
} from 'react-native-gesture-handler';
|
9
8
|
|
10
|
-
type UseGestureHandlerParams
|
9
|
+
type UseGestureHandlerParams = {
|
11
10
|
onStart?: (
|
12
|
-
touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload
|
13
|
-
context: ContextType
|
11
|
+
touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>
|
14
12
|
) => void;
|
15
13
|
onActive?: (
|
16
|
-
touchInfo: GestureUpdateEvent<PanGestureHandlerEventPayload
|
17
|
-
context: ContextType
|
14
|
+
touchInfo: GestureUpdateEvent<PanGestureHandlerEventPayload>
|
18
15
|
) => void;
|
19
16
|
onEnd?: (
|
20
|
-
touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload
|
21
|
-
context: ContextType
|
17
|
+
touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>
|
22
18
|
) => void;
|
23
19
|
};
|
24
20
|
|
25
|
-
const useGestureHandler =
|
26
|
-
gestureHandlers: UseGestureHandlerParams<ContextType>
|
27
|
-
) => {
|
21
|
+
const useGestureHandler = (gestureHandlers: UseGestureHandlerParams) => {
|
28
22
|
const { onStart, onActive, onEnd } = gestureHandlers;
|
29
23
|
|
30
|
-
const context = useSharedValue<ContextType>({} as any);
|
31
|
-
|
32
24
|
const handleStart = useCallback(
|
33
25
|
(touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => {
|
34
26
|
'worklet';
|
35
27
|
if (!onStart) return;
|
36
|
-
return onStart(touchInfo
|
28
|
+
return onStart(touchInfo);
|
37
29
|
},
|
38
|
-
[
|
30
|
+
[onStart]
|
39
31
|
);
|
40
32
|
|
41
33
|
const handleActive = useCallback(
|
42
34
|
(extendedTouchInfo: GestureUpdateEvent<PanGestureHandlerEventPayload>) => {
|
43
35
|
'worklet';
|
44
36
|
if (!onActive) return;
|
45
|
-
return onActive(extendedTouchInfo
|
37
|
+
return onActive(extendedTouchInfo);
|
46
38
|
},
|
47
|
-
[
|
39
|
+
[onActive]
|
48
40
|
);
|
49
41
|
|
50
42
|
const handleEnd = useCallback(
|
@@ -53,9 +45,9 @@ const useGestureHandler = <ContextType>(
|
|
53
45
|
) => {
|
54
46
|
'worklet';
|
55
47
|
if (!onEnd) return;
|
56
|
-
return onEnd(extendedTouchInfo
|
48
|
+
return onEnd(extendedTouchInfo);
|
57
49
|
},
|
58
|
-
[
|
50
|
+
[onEnd]
|
59
51
|
);
|
60
52
|
|
61
53
|
return {
|
@@ -1,33 +1,17 @@
|
|
1
|
-
import
|
2
|
-
import type Animated from 'react-native-reanimated';
|
1
|
+
import { SharedValue } from 'react-native-reanimated';
|
3
2
|
|
4
|
-
|
5
|
-
value: SkiaValue<T>;
|
6
|
-
selector: (v: T) => T;
|
7
|
-
};
|
8
|
-
const unwrapAnimatedValue = <T>(
|
9
|
-
value: SkiaValue<T> | SkiaValueWithSelector<T> | Animated.SharedValue<T> | T
|
10
|
-
): T => {
|
3
|
+
const unwrapAnimatedValue = <T>(value: SharedValue<T> | T): T => {
|
11
4
|
'worklet';
|
12
5
|
|
13
|
-
if ((value as
|
14
|
-
return (value as
|
15
|
-
}
|
16
|
-
|
17
|
-
if ((value as SkiaValue<T>).current != null) {
|
18
|
-
return (value as SkiaValue<T>).current;
|
19
|
-
}
|
20
|
-
|
21
|
-
if ((value as SkiaValueWithSelector<T>).selector != null) {
|
22
|
-
const skiaValueWithSelector = value as SkiaValueWithSelector<T>;
|
23
|
-
return skiaValueWithSelector.selector(skiaValueWithSelector.value.current);
|
6
|
+
if ((value as SharedValue<T>).value != null) {
|
7
|
+
return (value as SharedValue<T>).value as T;
|
24
8
|
}
|
25
9
|
|
26
10
|
return value as T;
|
27
11
|
};
|
28
12
|
|
29
13
|
const unwrapAnimatedValueObject = <T>(
|
30
|
-
value: Record<any,
|
14
|
+
value: Record<any, SharedValue<T> | T>
|
31
15
|
): Record<any, T> => {
|
32
16
|
'worklet';
|
33
17
|
return Object.keys(value).reduce((acc, key) => {
|