react-native-skia-gesture 0.3.2 → 0.3.6

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.
Files changed (28) hide show
  1. package/README.md +20 -14
  2. package/lib/commonjs/canvas/canvas.js +9 -4
  3. package/lib/commonjs/canvas/canvas.js.map +1 -1
  4. package/lib/commonjs/hoc/with-touchable-handler.js.map +1 -1
  5. package/lib/commonjs/hooks/use-gesture-handler.js +6 -8
  6. package/lib/commonjs/hooks/use-gesture-handler.js.map +1 -1
  7. package/lib/commonjs/utils/unwrap-animated-value.js +0 -7
  8. package/lib/commonjs/utils/unwrap-animated-value.js.map +1 -1
  9. package/lib/module/canvas/canvas.js +9 -4
  10. package/lib/module/canvas/canvas.js.map +1 -1
  11. package/lib/module/hoc/with-touchable-handler.js.map +1 -1
  12. package/lib/module/hooks/use-gesture-handler.js +6 -8
  13. package/lib/module/hooks/use-gesture-handler.js.map +1 -1
  14. package/lib/module/utils/unwrap-animated-value.js +0 -7
  15. package/lib/module/utils/unwrap-animated-value.js.map +1 -1
  16. package/lib/typescript/canvas/canvas.d.ts.map +1 -1
  17. package/lib/typescript/components/index.d.ts +3 -3
  18. package/lib/typescript/hoc/with-touchable-handler.d.ts +3 -2
  19. package/lib/typescript/hoc/with-touchable-handler.d.ts.map +1 -1
  20. package/lib/typescript/hooks/use-gesture-handler.d.ts +5 -5
  21. package/lib/typescript/hooks/use-gesture-handler.d.ts.map +1 -1
  22. package/lib/typescript/utils/unwrap-animated-value.d.ts +3 -8
  23. package/lib/typescript/utils/unwrap-animated-value.d.ts.map +1 -1
  24. package/package.json +7 -6
  25. package/src/canvas/canvas.tsx +7 -6
  26. package/src/hoc/with-touchable-handler.tsx +3 -6
  27. package/src/hooks/use-gesture-handler.ts +11 -19
  28. 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 circleGesture = useGestureHandler<{ x: number; y: number }>({
56
- onStart: (_, context) => {
55
+ const context = useSharedValue({ x: 0, y: 0 });
56
+
57
+ const circleGesture = useGestureHandler({
58
+ onStart: () => {
57
59
  'worklet'; // Remember the 'worklet' keyword
58
- context.x = cx.value;
59
- context.y = cy.value;
60
+ context.value = {
61
+ x: cx.value,
62
+ y: cy.value,
63
+ }
60
64
  },
61
- onActive: ({ translationX, translationY }, context) => {
65
+ onActive: ({ translationX, translationY }) => {
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<{ x: number; y: number }>({
112
+ const circleGesture = useGestureHandler({
109
113
  // You can avoid the 'worklet' keyword if you are running the gesture on JS thread
110
- onStart: (_, context) => {
111
- context.x = cx.value;
112
- context.y = cy.value;
114
+ onStart: () => {
115
+ context.value = {
116
+ x: cx.value,
117
+ y: cy.value,
118
+ }
113
119
  },
114
- onActive: ({ translationX, translationY }, context) => {
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
 
@@ -7,11 +7,10 @@ exports.Canvas = void 0;
7
7
  var _reactNativeSkia = require("@shopify/react-native-skia");
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
10
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
+ var _reactNativeReanimated = require("react-native-reanimated");
11
11
  var _context = require("./context");
12
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
- const AnimatedSkiaCanvas = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeSkia.Canvas);
15
14
  const Canvas = _ref => {
16
15
  let {
17
16
  children,
@@ -40,6 +39,8 @@ const Canvas = _ref => {
40
39
  // eslint-disable-next-line react-hooks/exhaustive-deps
41
40
  }, [timeoutBeforeCollectingRefs]);
42
41
  const mainGesture = panGesture.onBegin(event => {
42
+ 'worklet';
43
+
43
44
  const keys = Object.keys(loadedRefs);
44
45
  for (let i = 0; i < keys.length; i++) {
45
46
  const key = keys[i];
@@ -47,11 +48,13 @@ const Canvas = _ref => {
47
48
  const isPointInPath = touchableItem === null || touchableItem === void 0 ? void 0 : touchableItem.isPointInPath(event);
48
49
  if (isPointInPath && touchableItem !== null && touchableItem !== void 0 && touchableItem.onStart) {
49
50
  var _touchableItem$onStar;
50
- activeKey.value.push(`${key}__${event.handlerTag}`);
51
+ activeKey.value = [`${key}__${event.handlerTag}`];
51
52
  (_touchableItem$onStar = touchableItem.onStart) === null || _touchableItem$onStar === void 0 ? void 0 : _touchableItem$onStar.call(touchableItem, event);
52
53
  }
53
54
  }
54
55
  }).onUpdate(event => {
56
+ 'worklet';
57
+
55
58
  var _activatedKey$split, _touchableItem$onActi;
56
59
  const activatedKey = activeKey.value.find(key => key.includes(event.handlerTag.toString()));
57
60
  if (!activatedKey) {
@@ -64,6 +67,8 @@ const Canvas = _ref => {
64
67
  const touchableItem = loadedRefs[indexedKey];
65
68
  return touchableItem === null || touchableItem === void 0 ? void 0 : (_touchableItem$onActi = touchableItem.onActive) === null || _touchableItem$onActi === void 0 ? void 0 : _touchableItem$onActi.call(touchableItem, event);
66
69
  }).onFinalize(event => {
70
+ 'worklet';
71
+
67
72
  var _activatedKey$split2, _touchableItem$onEnd;
68
73
  const activatedKey = activeKey.value.find(key => key.includes(event.handlerTag.toString()));
69
74
  if (!activatedKey) {
@@ -84,7 +89,7 @@ const Canvas = _ref => {
84
89
  }, [touchableRefs]);
85
90
  return /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureDetector, {
86
91
  gesture: mainGesture
87
- }, /*#__PURE__*/_react.default.createElement(AnimatedSkiaCanvas, props, /*#__PURE__*/_react.default.createElement(_context.TouchHandlerContext.Provider, {
92
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeSkia.Canvas, props, /*#__PURE__*/_react.default.createElement(_context.TouchHandlerContext.Provider, {
88
93
  value: touchableRefs
89
94
  }, children)));
90
95
  };
@@ -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","push","handlerTag","onUpdate","activatedKey","find","includes","toString","indexedKey","split","onActive","onFinalize","filter","onEnd"],"sourceRoot":"../../src","sources":["canvas.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["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":"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"}
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, context.value);
21
- }, [context, onStart]);
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, context.value);
27
- }, [context, onActive]);
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, context.value);
33
- }, [context, onEnd]);
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","context","useSharedValue","handleStart","useCallback","touchInfo","value","handleActive","extendedTouchInfo","handleEnd"],"sourceRoot":"../../src","sources":["use-gesture-handler.ts"],"mappings":";;;;;;AAAA;AACA;AAuBA,MAAMA,iBAAiB,GACrBC,eAAqD,IAClD;EACH,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGH,eAAe;EAEpD,MAAMI,OAAO,GAAG,IAAAC,qCAAc,EAAc,CAAC,CAAC,CAAQ;EAEtD,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC5BC,SAAiE,IAAK;IACrE,SAAS;;IACT,IAAI,CAACP,OAAO,EAAE;IACd,OAAOA,OAAO,CAACO,SAAS,EAAEJ,OAAO,CAACK,KAAK,CAAC;EAC1C,CAAC,EACD,CAACL,OAAO,EAAEH,OAAO,CAAC,CACnB;EAED,MAAMS,YAAY,GAAG,IAAAH,kBAAW,EAC7BI,iBAAoE,IAAK;IACxE,SAAS;;IACT,IAAI,CAACT,QAAQ,EAAE;IACf,OAAOA,QAAQ,CAACS,iBAAiB,EAAEP,OAAO,CAACK,KAAK,CAAC;EACnD,CAAC,EACD,CAACL,OAAO,EAAEF,QAAQ,CAAC,CACpB;EAED,MAAMU,SAAS,GAAG,IAAAL,kBAAW,EAEzBI,iBAAyE,IACtE;IACH,SAAS;;IACT,IAAI,CAACR,KAAK,EAAE;IACZ,OAAOA,KAAK,CAACQ,iBAAiB,EAAEP,OAAO,CAACK,KAAK,CAAC;EAChD,CAAC,EACD,CAACL,OAAO,EAAED,KAAK,CAAC,CACjB;EAED,OAAO;IACLF,OAAO,EAAEK,WAAW;IACpBJ,QAAQ,EAAEQ,YAAY;IACtBP,KAAK,EAAES;EACT,CAAC;AACH,CAAC;AAAC"}
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","current","selector","skiaValueWithSelector","unwrapAnimatedValueObject","Object","keys","reduce","acc","key"],"sourceRoot":"../../src","sources":["unwrap-animated-value.ts"],"mappings":";;;;;;AAOA,MAAMA,mBAAmB,GACvBC,KAA4E,IACtE;EACN,SAAS;;EAET,IAAKA,KAAK,CAA6BA,KAAK,IAAI,IAAI,EAAE;IACpD,OAAQA,KAAK,CAA6BA,KAAK;EACjD;EAEA,IAAKA,KAAK,CAAkBC,OAAO,IAAI,IAAI,EAAE;IAC3C,OAAQD,KAAK,CAAkBC,OAAO;EACxC;EAEA,IAAKD,KAAK,CAA8BE,QAAQ,IAAI,IAAI,EAAE;IACxD,MAAMC,qBAAqB,GAAGH,KAAiC;IAC/D,OAAOG,qBAAqB,CAACD,QAAQ,CAACC,qBAAqB,CAACH,KAAK,CAACC,OAAO,CAAC;EAC5E;EAEA,OAAOD,KAAK;AACd,CAAC;AAAC;AAEF,MAAMI,yBAAyB,GAC7BJ,KAAoC,IACjB;EACnB,SAAS;;EACT,OAAOK,MAAM,CAACC,IAAI,CAACN,KAAK,CAAC,CAACO,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;IAC7C,OAAO;MAAE,GAAGD,GAAG;MAAE,CAACC,GAAG,GAAGV,mBAAmB,CAACC,KAAK,CAACS,GAAG,CAAC;IAAE,CAAC;EAC3D,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAAC"}
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"}
@@ -1,9 +1,8 @@
1
1
  import { Canvas as SkiaCanvas } from '@shopify/react-native-skia';
2
2
  import React, { useEffect, useMemo, useRef, useState } from 'react';
3
3
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
4
- import Animated, { useSharedValue } from 'react-native-reanimated';
4
+ import { useSharedValue } from 'react-native-reanimated';
5
5
  import { TouchHandlerContext } from './context';
6
- const AnimatedSkiaCanvas = Animated.createAnimatedComponent(SkiaCanvas);
7
6
  const Canvas = _ref => {
8
7
  let {
9
8
  children,
@@ -32,6 +31,8 @@ const Canvas = _ref => {
32
31
  // eslint-disable-next-line react-hooks/exhaustive-deps
33
32
  }, [timeoutBeforeCollectingRefs]);
34
33
  const mainGesture = panGesture.onBegin(event => {
34
+ 'worklet';
35
+
35
36
  const keys = Object.keys(loadedRefs);
36
37
  for (let i = 0; i < keys.length; i++) {
37
38
  const key = keys[i];
@@ -39,11 +40,13 @@ const Canvas = _ref => {
39
40
  const isPointInPath = touchableItem === null || touchableItem === void 0 ? void 0 : touchableItem.isPointInPath(event);
40
41
  if (isPointInPath && touchableItem !== null && touchableItem !== void 0 && touchableItem.onStart) {
41
42
  var _touchableItem$onStar;
42
- activeKey.value.push(`${key}__${event.handlerTag}`);
43
+ activeKey.value = [`${key}__${event.handlerTag}`];
43
44
  (_touchableItem$onStar = touchableItem.onStart) === null || _touchableItem$onStar === void 0 ? void 0 : _touchableItem$onStar.call(touchableItem, event);
44
45
  }
45
46
  }
46
47
  }).onUpdate(event => {
48
+ 'worklet';
49
+
47
50
  var _activatedKey$split, _touchableItem$onActi;
48
51
  const activatedKey = activeKey.value.find(key => key.includes(event.handlerTag.toString()));
49
52
  if (!activatedKey) {
@@ -56,6 +59,8 @@ const Canvas = _ref => {
56
59
  const touchableItem = loadedRefs[indexedKey];
57
60
  return touchableItem === null || touchableItem === void 0 ? void 0 : (_touchableItem$onActi = touchableItem.onActive) === null || _touchableItem$onActi === void 0 ? void 0 : _touchableItem$onActi.call(touchableItem, event);
58
61
  }).onFinalize(event => {
62
+ 'worklet';
63
+
59
64
  var _activatedKey$split2, _touchableItem$onEnd;
60
65
  const activatedKey = activeKey.value.find(key => key.includes(event.handlerTag.toString()));
61
66
  if (!activatedKey) {
@@ -76,7 +81,7 @@ const Canvas = _ref => {
76
81
  }, [touchableRefs]);
77
82
  return /*#__PURE__*/React.createElement(GestureDetector, {
78
83
  gesture: mainGesture
79
- }, /*#__PURE__*/React.createElement(AnimatedSkiaCanvas, props, /*#__PURE__*/React.createElement(TouchHandlerContext.Provider, {
84
+ }, /*#__PURE__*/React.createElement(SkiaCanvas, props, /*#__PURE__*/React.createElement(TouchHandlerContext.Provider, {
80
85
  value: touchableRefs
81
86
  }, children)));
82
87
  };
@@ -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","push","handlerTag","onUpdate","activatedKey","find","includes","toString","indexedKey","split","onActive","onFinalize","filter","onEnd"],"sourceRoot":"../../src","sources":["canvas.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["Canvas","SkiaCanvas","React","useEffect","useMemo","useRef","useState","Gesture","GestureDetector","useSharedValue","TouchHandlerContext","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":"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"}
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":"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"}
@@ -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, context.value);
15
- }, [context, onStart]);
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, context.value);
21
- }, [context, onActive]);
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, context.value);
27
- }, [context, onEnd]);
24
+ return onEnd(extendedTouchInfo);
25
+ }, [onEnd]);
28
26
  return {
29
27
  onStart: handleStart,
30
28
  onActive: handleActive,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useSharedValue","useGestureHandler","gestureHandlers","onStart","onActive","onEnd","context","handleStart","touchInfo","value","handleActive","extendedTouchInfo","handleEnd"],"sourceRoot":"../../src","sources":["use-gesture-handler.ts"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,cAAc,QAAQ,yBAAyB;AAuBxD,MAAMC,iBAAiB,GACrBC,eAAqD,IAClD;EACH,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGH,eAAe;EAEpD,MAAMI,OAAO,GAAGN,cAAc,CAAc,CAAC,CAAC,CAAQ;EAEtD,MAAMO,WAAW,GAAGR,WAAW,CAC5BS,SAAiE,IAAK;IACrE,SAAS;;IACT,IAAI,CAACL,OAAO,EAAE;IACd,OAAOA,OAAO,CAACK,SAAS,EAAEF,OAAO,CAACG,KAAK,CAAC;EAC1C,CAAC,EACD,CAACH,OAAO,EAAEH,OAAO,CAAC,CACnB;EAED,MAAMO,YAAY,GAAGX,WAAW,CAC7BY,iBAAoE,IAAK;IACxE,SAAS;;IACT,IAAI,CAACP,QAAQ,EAAE;IACf,OAAOA,QAAQ,CAACO,iBAAiB,EAAEL,OAAO,CAACG,KAAK,CAAC;EACnD,CAAC,EACD,CAACH,OAAO,EAAEF,QAAQ,CAAC,CACpB;EAED,MAAMQ,SAAS,GAAGb,WAAW,CAEzBY,iBAAyE,IACtE;IACH,SAAS;;IACT,IAAI,CAACN,KAAK,EAAE;IACZ,OAAOA,KAAK,CAACM,iBAAiB,EAAEL,OAAO,CAACG,KAAK,CAAC;EAChD,CAAC,EACD,CAACH,OAAO,EAAED,KAAK,CAAC,CACjB;EAED,OAAO;IACLF,OAAO,EAAEI,WAAW;IACpBH,QAAQ,EAAEM,YAAY;IACtBL,KAAK,EAAEO;EACT,CAAC;AACH,CAAC;AAED,SAASX,iBAAiB"}
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","current","selector","skiaValueWithSelector","unwrapAnimatedValueObject","Object","keys","reduce","acc","key"],"sourceRoot":"../../src","sources":["unwrap-animated-value.ts"],"mappings":"AAOA,MAAMA,mBAAmB,GACvBC,KAA4E,IACtE;EACN,SAAS;;EAET,IAAKA,KAAK,CAA6BA,KAAK,IAAI,IAAI,EAAE;IACpD,OAAQA,KAAK,CAA6BA,KAAK;EACjD;EAEA,IAAKA,KAAK,CAAkBC,OAAO,IAAI,IAAI,EAAE;IAC3C,OAAQD,KAAK,CAAkBC,OAAO;EACxC;EAEA,IAAKD,KAAK,CAA8BE,QAAQ,IAAI,IAAI,EAAE;IACxD,MAAMC,qBAAqB,GAAGH,KAAiC;IAC/D,OAAOG,qBAAqB,CAACD,QAAQ,CAACC,qBAAqB,CAACH,KAAK,CAACC,OAAO,CAAC;EAC5E;EAEA,OAAOD,KAAK;AACd,CAAC;AAED,MAAMI,yBAAyB,GAC7BJ,KAAoC,IACjB;EACnB,SAAS;;EACT,OAAOK,MAAM,CAACC,IAAI,CAACN,KAAK,CAAC,CAACO,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;IAC7C,OAAO;MAAE,GAAGD,GAAG;MAAE,CAACC,GAAG,GAAGV,mBAAmB,CAACC,KAAK,CAACS,GAAG,CAAC;IAAE,CAAC;EAC3D,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAASV,mBAAmB,EAAEK,yBAAyB"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/canvas/canvas.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAGL,UAAU,EACX,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,KAAK,oBAAoB,GAAG,WAAW,GAAG;IACxC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAIF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA8F1C,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/canvas/canvas.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAGL,UAAU,EACX,MAAM,8BAA8B,CAAC;AAQtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,KAAK,oBAAoB,GAAG,WAAW,GAAG;IACxC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAiG1C,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -2,8 +2,8 @@ export { Canvas } from '../canvas';
2
2
  export declare const Circle: ({ onStart: onStartProp, onActive: onActiveProp, onEnd: onEndProp, touchablePath, ...props }: import("@shopify/react-native-skia").AnimatedProps<import("@shopify/react-native-skia").CircleProps, never> & Partial<import("../hoc").TouchableHandlerProps>) => JSX.Element;
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
- 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, any> | undefined;
7
- start?: import("@shopify/react-native-skia").AnimatedProp<number, any> | undefined;
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>, "start" | "end"> & {
6
+ start?: import("@shopify/react-native-skia").AnimatedProp<number> | undefined;
7
+ end?: 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 SkiaValue, type SkPath } from '@shopify/react-native-skia';
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 | SkiaValue<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,EACL,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,4BAA4B,CAAC;AAWpC,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AAEtC,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,SAAS,CAAC,MAAM,CAAC,CAAC;CAC3C,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
+ {"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<ContextType> = {
3
- onStart?: (touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>, context: ContextType) => void;
4
- onActive?: (touchInfo: GestureUpdateEvent<PanGestureHandlerEventPayload>, context: ContextType) => void;
5
- onEnd?: (touchInfo: GestureStateChangeEvent<PanGestureHandlerEventPayload>, context: ContextType) => void;
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: <ContextType>(gestureHandlers: UseGestureHandlerParams<ContextType>) => {
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":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AAEtC,KAAK,uBAAuB,CAAC,WAAW,IAAI;IAC1C,OAAO,CAAC,EAAE,CACR,SAAS,EAAE,uBAAuB,CAAC,6BAA6B,CAAC,EACjE,OAAO,EAAE,WAAW,KACjB,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,CACT,SAAS,EAAE,kBAAkB,CAAC,6BAA6B,CAAC,EAC5D,OAAO,EAAE,WAAW,KACjB,IAAI,CAAC;IACV,KAAK,CAAC,EAAE,CACN,SAAS,EAAE,uBAAuB,CAAC,6BAA6B,CAAC,EACjE,OAAO,EAAE,WAAW,KACjB,IAAI,CAAC;CACX,CAAC;AAEF,QAAA,MAAM,iBAAiB;yBAQP,wBAAwB,6BAA6B,CAAC;kCAS9C,mBAAmB,6BAA6B,CAAC;+BAUhD,wBAAwB,6BAA6B,CAAC;CAc9E,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
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 type { SkiaValue } from '@shopify/react-native-skia';
2
- import type Animated from 'react-native-reanimated';
3
- type SkiaValueWithSelector<T> = {
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,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAC;AAEpD,KAAK,qBAAqB,CAAC,CAAC,IAAI;IAC9B,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;CACvB,CAAC;AACF,QAAA,MAAM,mBAAmB,wFAmBxB,CAAC;AAEF,QAAA,MAAM,yBAAyB,6DAO9B,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,CAAC"}
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.2",
3
+ "version": "0.3.6",
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": "0.1.221",
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.1.0",
71
- "react-native": "0.70.5",
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.14.0",
74
- "react-native-reanimated": "~3.6.2",
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
  },
@@ -5,7 +5,7 @@ import {
5
5
  GestureDetector,
6
6
  PanGesture,
7
7
  } from 'react-native-gesture-handler';
8
- import Animated, { useSharedValue } from 'react-native-reanimated';
8
+ import { useSharedValue } from 'react-native-reanimated';
9
9
 
10
10
  import {
11
11
  TouchHandlerContext,
@@ -19,8 +19,6 @@ type TouchableCanvasProps = CanvasProps & {
19
19
  timeoutBeforeCollectingRefs?: number; // default 100
20
20
  };
21
21
 
22
- const AnimatedSkiaCanvas = Animated.createAnimatedComponent(SkiaCanvas);
23
-
24
22
  const Canvas: React.FC<TouchableCanvasProps> = ({
25
23
  children,
26
24
  panGesture = Gesture.Pan(),
@@ -54,18 +52,20 @@ const Canvas: React.FC<TouchableCanvasProps> = ({
54
52
 
55
53
  const mainGesture = panGesture
56
54
  .onBegin((event) => {
55
+ 'worklet';
57
56
  const keys = Object.keys(loadedRefs);
58
57
  for (let i = 0; i < keys.length; i++) {
59
58
  const key = keys[i] as string;
60
59
  const touchableItem = loadedRefs[key];
61
60
  const isPointInPath = touchableItem?.isPointInPath(event);
62
61
  if (isPointInPath && touchableItem?.onStart) {
63
- activeKey.value.push(`${key}__${event.handlerTag}`);
62
+ activeKey.value = [`${key}__${event.handlerTag}`];
64
63
  touchableItem.onStart?.(event);
65
64
  }
66
65
  }
67
66
  })
68
67
  .onUpdate((event) => {
68
+ 'worklet';
69
69
  const activatedKey = activeKey.value.find((key) =>
70
70
  key.includes(event.handlerTag.toString())
71
71
  );
@@ -83,6 +83,7 @@ const Canvas: React.FC<TouchableCanvasProps> = ({
83
83
  return touchableItem?.onActive?.(event);
84
84
  })
85
85
  .onFinalize((event) => {
86
+ 'worklet';
86
87
  const activatedKey = activeKey.value.find((key) =>
87
88
  key.includes(event.handlerTag.toString())
88
89
  );
@@ -108,11 +109,11 @@ const Canvas: React.FC<TouchableCanvasProps> = ({
108
109
 
109
110
  return (
110
111
  <GestureDetector gesture={mainGesture}>
111
- <AnimatedSkiaCanvas {...props}>
112
+ <SkiaCanvas {...props}>
112
113
  <TouchHandlerContext.Provider value={touchableRefs}>
113
114
  {children}
114
115
  </TouchHandlerContext.Provider>
115
- </AnimatedSkiaCanvas>
116
+ </SkiaCanvas>
116
117
  </GestureDetector>
117
118
  );
118
119
  };
@@ -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 | SkiaValue<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<ContextType> = {
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 = <ContextType>(
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, context.value);
28
+ return onStart(touchInfo);
37
29
  },
38
- [context, onStart]
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, context.value);
37
+ return onActive(extendedTouchInfo);
46
38
  },
47
- [context, onActive]
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, context.value);
48
+ return onEnd(extendedTouchInfo);
57
49
  },
58
- [context, onEnd]
50
+ [onEnd]
59
51
  );
60
52
 
61
53
  return {
@@ -1,33 +1,17 @@
1
- import type { SkiaValue } from '@shopify/react-native-skia';
2
- import type Animated from 'react-native-reanimated';
1
+ import { SharedValue } from 'react-native-reanimated';
3
2
 
4
- type SkiaValueWithSelector<T> = {
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 Animated.SharedValue<T>).value != null) {
14
- return (value as Animated.SharedValue<T>).value as T;
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, SkiaValue<T> | T>
14
+ value: Record<any, SharedValue<T> | T>
31
15
  ): Record<any, T> => {
32
16
  'worklet';
33
17
  return Object.keys(value).reduce((acc, key) => {