react-native-skia-gesture 0.2.0 → 0.3.2
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 +77 -20
- package/lib/commonjs/canvas/canvas.js +68 -56
- package/lib/commonjs/canvas/canvas.js.map +1 -1
- package/lib/commonjs/canvas/context.js +1 -1
- package/lib/commonjs/canvas/context.js.map +1 -1
- package/lib/commonjs/components/index.js +4 -4
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/hoc/with-touchable-handler.js +29 -34
- package/lib/commonjs/hoc/with-touchable-handler.js.map +1 -1
- package/lib/commonjs/hooks/use-gesture-handler.js +11 -5
- package/lib/commonjs/hooks/use-gesture-handler.js.map +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/get-circle-path.js +2 -0
- package/lib/commonjs/utils/get-circle-path.js.map +1 -1
- package/lib/commonjs/utils/get-rect-path.js +8 -5
- package/lib/commonjs/utils/get-rect-path.js.map +1 -1
- package/lib/commonjs/utils/unwrap-animated-value.js +7 -0
- package/lib/commonjs/utils/unwrap-animated-value.js.map +1 -1
- package/lib/module/canvas/canvas.js +70 -58
- package/lib/module/canvas/canvas.js.map +1 -1
- package/lib/module/canvas/context.js +1 -1
- package/lib/module/canvas/context.js.map +1 -1
- package/lib/module/components/index.js +4 -4
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/hoc/with-touchable-handler.js +28 -34
- package/lib/module/hoc/with-touchable-handler.js.map +1 -1
- package/lib/module/hooks/use-gesture-handler.js +11 -5
- package/lib/module/hooks/use-gesture-handler.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/get-circle-path.js +2 -0
- package/lib/module/utils/get-circle-path.js.map +1 -1
- package/lib/module/utils/get-rect-path.js +9 -6
- package/lib/module/utils/get-rect-path.js.map +1 -1
- package/lib/module/utils/unwrap-animated-value.js +7 -0
- package/lib/module/utils/unwrap-animated-value.js.map +1 -1
- package/lib/typescript/canvas/canvas.d.ts +7 -2
- package/lib/typescript/canvas/canvas.d.ts.map +1 -1
- package/lib/typescript/canvas/context.d.ts +6 -5
- package/lib/typescript/canvas/context.d.ts.map +1 -1
- package/lib/typescript/components/index.d.ts +2 -2
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/hoc/with-touchable-handler.d.ts +7 -9
- package/lib/typescript/hoc/with-touchable-handler.d.ts.map +1 -1
- package/lib/typescript/hooks/use-gesture-handler.d.ts +7 -8
- package/lib/typescript/hooks/use-gesture-handler.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/get-circle-path.d.ts.map +1 -1
- package/lib/typescript/utils/get-rect-path.d.ts.map +1 -1
- package/lib/typescript/utils/unwrap-animated-value.d.ts +2 -1
- package/lib/typescript/utils/unwrap-animated-value.d.ts.map +1 -1
- package/package.json +6 -4
- package/src/canvas/canvas.tsx +109 -81
- package/src/canvas/context.tsx +19 -10
- package/src/components/index.ts +5 -4
- package/src/hoc/with-touchable-handler.tsx +40 -35
- package/src/hooks/use-gesture-handler.ts +25 -16
- package/src/index.ts +1 -1
- package/src/utils/get-circle-path.ts +1 -0
- package/src/utils/get-rect-path.ts +11 -6
- package/src/utils/unwrap-animated-value.ts +9 -1
package/README.md
CHANGED
@@ -4,10 +4,6 @@ React Native Skia Gesture 🤌🏽
|
|
4
4
|
|
5
5
|
_A detection system for React Native Skia components._
|
6
6
|
|
7
|
-
<div align="center">
|
8
|
-
<img src="https://github.com/enzomanuelmangano/react-native-skia-gesture/blob/main/.assets/example.gif" title="react-native-skia-gesture">
|
9
|
-
</div>
|
10
|
-
|
11
7
|
### Motivation
|
12
8
|
|
13
9
|
React Native Skia, provides many declarative APIs for building screens using React Components. However, [Skia components are not real components, but abstract representations of a part of a drawing](https://github.com/Shopify/react-native-skia/issues/513#issuecomment-1290126304).
|
@@ -15,45 +11,57 @@ Therefore direct interactions with individual Skia components can only be achiev
|
|
15
11
|
|
16
12
|
This package, simply provides a set of APIs to be able to interact directly with individual components.
|
17
13
|
|
14
|
+
|
15
|
+
<a href="https://github.com/enzomanuelmangano/react-native-skia-gesture">
|
16
|
+
<img src="https://raw.githubusercontent.com/enzomanuelmangano/react-native-skia-gesture/main/.assets/demo.gif" title="react-native-skia-gesture">
|
17
|
+
</a>
|
18
|
+
|
19
|
+
|
18
20
|
## Installation
|
19
21
|
|
20
|
-
**You need to have already installed [@shopify/react-native-skia (>= 0.1.
|
22
|
+
**You need to have already installed [@shopify/react-native-skia (>= 0.1.221)](https://shopify.github.io/react-native-skia/docs/getting-started/installation)**
|
21
23
|
|
22
|
-
|
24
|
+
### Since v0.3.0
|
25
|
+
|
26
|
+
You need to install Reanimated (v3.0.0+) and Gesture Handler (v2.0.0+)
|
23
27
|
|
24
28
|
```sh
|
25
|
-
yarn add react-native-
|
29
|
+
yarn add react-native-reanimated react-native-gesture-handler
|
26
30
|
```
|
27
31
|
|
28
|
-
|
32
|
+
### Install Skia Gesture
|
33
|
+
|
34
|
+
Open a Terminal in your project's folder and then install the library using `yarn`:
|
29
35
|
|
30
36
|
```sh
|
31
|
-
|
37
|
+
yarn add react-native-skia-gesture
|
32
38
|
```
|
33
39
|
|
34
40
|
## Usage
|
35
41
|
|
36
42
|
```jsx
|
37
43
|
import {
|
38
|
-
|
39
|
-
} from '
|
44
|
+
useSharedValue,
|
45
|
+
} from 'react-native-reanimated';
|
40
46
|
|
41
47
|
import Touchable, {
|
42
48
|
useGestureHandler,
|
43
49
|
} from 'react-native-skia-gesture';
|
44
50
|
|
45
51
|
export default function App() {
|
46
|
-
const cx =
|
47
|
-
const cy =
|
52
|
+
const cx = useSharedValue(100);
|
53
|
+
const cy = useSharedValue(100);
|
48
54
|
|
49
55
|
const circleGesture = useGestureHandler<{ x: number; y: number }>({
|
50
56
|
onStart: (_, context) => {
|
51
|
-
|
52
|
-
context.
|
57
|
+
'worklet'; // Remember the 'worklet' keyword
|
58
|
+
context.x = cx.value;
|
59
|
+
context.y = cy.value;
|
53
60
|
},
|
54
61
|
onActive: ({ translationX, translationY }, context) => {
|
55
|
-
|
56
|
-
|
62
|
+
'worklet';
|
63
|
+
cx.value = context.x + translationX;
|
64
|
+
cy.value = context.y + translationY;
|
57
65
|
},
|
58
66
|
});
|
59
67
|
|
@@ -69,9 +77,9 @@ If the element is a **Circle**, **Rect**, **RoundedRect**, or a **Path** the pac
|
|
69
77
|
|
70
78
|
```jsx
|
71
79
|
...
|
72
|
-
const touchablePath =
|
80
|
+
const touchablePath = useDerivedValue(() => {
|
73
81
|
const path = new Path();
|
74
|
-
path.addCircle(cx.
|
82
|
+
path.addCircle(cx.value, cy.value, 50);
|
75
83
|
return path;
|
76
84
|
}, [cx, cy]);
|
77
85
|
|
@@ -83,6 +91,40 @@ return (
|
|
83
91
|
...
|
84
92
|
```
|
85
93
|
|
94
|
+
### Run the Gestures on JS thread
|
95
|
+
|
96
|
+
You might want to run the gestures on the JS thread (but it's not recommended).
|
97
|
+
However it could be useful if you want to slowly migrate from the v0.2.0 to the v0.3.0.
|
98
|
+
|
99
|
+
To handle that you need to define the panGesture and pass it to the Touchable.Canvas
|
100
|
+
|
101
|
+
```jsx
|
102
|
+
import { Gesture } from 'react-native-gesture-handler';
|
103
|
+
|
104
|
+
...
|
105
|
+
|
106
|
+
const panGesture = Gesture.Pan().runOnJS(true)
|
107
|
+
|
108
|
+
const circleGesture = useGestureHandler<{ x: number; y: number }>({
|
109
|
+
// 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;
|
113
|
+
},
|
114
|
+
onActive: ({ translationX, translationY }, context) => {
|
115
|
+
cx.value = context.x + translationX;
|
116
|
+
cy.value = context.y + translationY;
|
117
|
+
},
|
118
|
+
});
|
119
|
+
|
120
|
+
return (
|
121
|
+
<Touchable.Canvas style={styles.fill} panGesture={panGesture}>
|
122
|
+
<Touchable.Circle cx={cx} cy={cy} r={50} color="red" {...circleGesture} />
|
123
|
+
</Touchable.Canvas>
|
124
|
+
);
|
125
|
+
|
126
|
+
```
|
127
|
+
|
86
128
|
## Ingredients
|
87
129
|
|
88
130
|
### `Canvas`
|
@@ -93,13 +135,28 @@ It's simply a Wrapper of Skia's Canvas.
|
|
93
135
|
|
94
136
|
### `withTouchableHandler`
|
95
137
|
|
96
|
-
It's a HOC with which to wrap all Skia components with which you want to interact directly.
|
138
|
+
It's a HOC with which to wrap all Skia components with which you want to interact directly. You will need to pass a `touchablePath` to the component.
|
97
139
|
|
98
140
|
```jsx
|
99
141
|
import { Image } from '@shopify/react-native-skia';
|
100
142
|
import { withTouchableHandler } from 'react-native-skia-gesture';
|
101
143
|
|
102
144
|
const TouchableImage = withTouchableHandler(Image);
|
145
|
+
const touchablePath = Skia.Path.Make().addCircle(x, y, 50);
|
146
|
+
|
147
|
+
return (
|
148
|
+
<Touchable.Canvas style={styles.fill}>
|
149
|
+
<TouchableImage
|
150
|
+
image={image}
|
151
|
+
x={x}
|
152
|
+
y={y}
|
153
|
+
width={50}
|
154
|
+
height={50}
|
155
|
+
touchablePath={touchablePath}
|
156
|
+
{...circleGesture}
|
157
|
+
/>
|
158
|
+
</Touchable.Canvas>
|
159
|
+
);
|
103
160
|
```
|
104
161
|
|
105
162
|
---
|
@@ -6,75 +6,87 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.Canvas = void 0;
|
7
7
|
var _reactNativeSkia = require("@shopify/react-native-skia");
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
9
|
+
var _reactNativeGestureHandler = require("react-native-gesture-handler");
|
10
|
+
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
9
11
|
var _context = require("./context");
|
10
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); }
|
11
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; }
|
12
|
-
|
13
|
-
const Canvas =
|
14
|
+
const AnimatedSkiaCanvas = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeSkia.Canvas);
|
15
|
+
const Canvas = _ref => {
|
14
16
|
let {
|
15
17
|
children,
|
16
|
-
|
18
|
+
panGesture = _reactNativeGestureHandler.Gesture.Pan(),
|
19
|
+
timeoutBeforeCollectingRefs = 100,
|
17
20
|
...props
|
18
21
|
} = _ref;
|
19
|
-
|
20
|
-
const
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
var _activatedKey$split2, _touchableItem$onEnd;
|
50
|
-
const activatedKey = activeKey.current.find(key => key.includes(event.id.toString()));
|
51
|
-
if (!activatedKey) {
|
52
|
-
return;
|
53
|
-
}
|
54
|
-
const indexedKey = (_activatedKey$split2 = activatedKey.split('__')) === null || _activatedKey$split2 === void 0 ? void 0 : _activatedKey$split2[0];
|
55
|
-
if (!indexedKey) {
|
56
|
-
return;
|
22
|
+
// Instead of value, provide a subscribe method and reload the refs
|
23
|
+
const touchableRefs = (0, _react.useMemo)(() => {
|
24
|
+
return {
|
25
|
+
value: {}
|
26
|
+
};
|
27
|
+
}, []);
|
28
|
+
const activeKey = (0, _reactNativeReanimated.useSharedValue)([]);
|
29
|
+
|
30
|
+
// This must be improved, it's a hack to wait for the refs to be loaded
|
31
|
+
const [loadedRefs, prepareLoadedRefs] = (0, _react.useState)({});
|
32
|
+
const ref = (0, _react.useRef)();
|
33
|
+
(0, _react.useEffect)(() => {
|
34
|
+
ref.current = setTimeout(() => {
|
35
|
+
prepareLoadedRefs(touchableRefs.value);
|
36
|
+
}, timeoutBeforeCollectingRefs);
|
37
|
+
return () => {
|
38
|
+
clearTimeout(ref.current);
|
39
|
+
};
|
40
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
41
|
+
}, [timeoutBeforeCollectingRefs]);
|
42
|
+
const mainGesture = panGesture.onBegin(event => {
|
43
|
+
const keys = Object.keys(loadedRefs);
|
44
|
+
for (let i = 0; i < keys.length; i++) {
|
45
|
+
const key = keys[i];
|
46
|
+
const touchableItem = loadedRefs[key];
|
47
|
+
const isPointInPath = touchableItem === null || touchableItem === void 0 ? void 0 : touchableItem.isPointInPath(event);
|
48
|
+
if (isPointInPath && touchableItem !== null && touchableItem !== void 0 && touchableItem.onStart) {
|
49
|
+
var _touchableItem$onStar;
|
50
|
+
activeKey.value.push(`${key}__${event.handlerTag}`);
|
51
|
+
(_touchableItem$onStar = touchableItem.onStart) === null || _touchableItem$onStar === void 0 ? void 0 : _touchableItem$onStar.call(touchableItem, event);
|
57
52
|
}
|
58
|
-
const touchableItem = touchableRefs.current[indexedKey];
|
59
|
-
activeKey.current = activeKey.current.filter(key => !key.includes(event.id.toString()));
|
60
|
-
return touchableItem === null || touchableItem === void 0 ? void 0 : (_touchableItem$onEnd = touchableItem.onEnd) === null || _touchableItem$onEnd === void 0 ? void 0 : _touchableItem$onEnd.call(touchableItem, event);
|
61
53
|
}
|
62
|
-
}
|
54
|
+
}).onUpdate(event => {
|
55
|
+
var _activatedKey$split, _touchableItem$onActi;
|
56
|
+
const activatedKey = activeKey.value.find(key => key.includes(event.handlerTag.toString()));
|
57
|
+
if (!activatedKey) {
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
const indexedKey = (_activatedKey$split = activatedKey.split('__')) === null || _activatedKey$split === void 0 ? void 0 : _activatedKey$split[0];
|
61
|
+
if (!indexedKey) {
|
62
|
+
return;
|
63
|
+
}
|
64
|
+
const touchableItem = loadedRefs[indexedKey];
|
65
|
+
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
|
+
}).onFinalize(event => {
|
67
|
+
var _activatedKey$split2, _touchableItem$onEnd;
|
68
|
+
const activatedKey = activeKey.value.find(key => key.includes(event.handlerTag.toString()));
|
69
|
+
if (!activatedKey) {
|
70
|
+
return;
|
71
|
+
}
|
72
|
+
const indexedKey = (_activatedKey$split2 = activatedKey.split('__')) === null || _activatedKey$split2 === void 0 ? void 0 : _activatedKey$split2[0];
|
73
|
+
if (!indexedKey) {
|
74
|
+
return;
|
75
|
+
}
|
76
|
+
const touchableItem = loadedRefs[indexedKey];
|
77
|
+
activeKey.value = activeKey.value.filter(key => !key.includes(event.handlerTag.toString()));
|
78
|
+
return touchableItem === null || touchableItem === void 0 ? void 0 : (_touchableItem$onEnd = touchableItem.onEnd) === null || _touchableItem$onEnd === void 0 ? void 0 : _touchableItem$onEnd.call(touchableItem, event);
|
79
|
+
});
|
63
80
|
(0, _react.useEffect)(() => {
|
64
81
|
return () => {
|
65
|
-
touchableRefs.
|
82
|
+
touchableRefs.value = {};
|
66
83
|
};
|
67
84
|
}, [touchableRefs]);
|
68
|
-
return /*#__PURE__*/_react.default.createElement(
|
69
|
-
|
70
|
-
}, props, {
|
71
|
-
onTouch: touchInfo => {
|
72
|
-
touchHandler(touchInfo);
|
73
|
-
return onTouch === null || onTouch === void 0 ? void 0 : onTouch(touchInfo);
|
74
|
-
}
|
75
|
-
}), /*#__PURE__*/_react.default.createElement(_context.TouchHandlerContext.Provider, {
|
85
|
+
return /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureDetector, {
|
86
|
+
gesture: mainGesture
|
87
|
+
}, /*#__PURE__*/_react.default.createElement(AnimatedSkiaCanvas, props, /*#__PURE__*/_react.default.createElement(_context.TouchHandlerContext.Provider, {
|
76
88
|
value: touchableRefs
|
77
|
-
}, children));
|
78
|
-
}
|
89
|
+
}, children)));
|
90
|
+
};
|
79
91
|
exports.Canvas = Canvas;
|
80
92
|
//# sourceMappingURL=canvas.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
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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"}
|
@@ -8,7 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
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); }
|
9
9
|
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; }
|
10
10
|
const TouchHandlerContext = /*#__PURE__*/_react.default.createContext({
|
11
|
-
|
11
|
+
value: {}
|
12
12
|
});
|
13
13
|
exports.TouchHandlerContext = TouchHandlerContext;
|
14
14
|
const useTouchHandlerContext = () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["TouchHandlerContext","React","createContext","
|
1
|
+
{"version":3,"names":["TouchHandlerContext","React","createContext","value","useTouchHandlerContext","useContext"],"sourceRoot":"../../src","sources":["context.tsx"],"mappings":";;;;;;AAAA;AAA0C;AAAA;AA2B1C,MAAMA,mBAAmB,gBAAGC,cAAK,CAACC,aAAa,CAA8B;EAC3EC,KAAK,EAAE,CAAC;AACV,CAAC,CAAC;AAAC;AAEH,MAAMC,sBAAsB,GAAG,MAAM;EACnC,OAAO,IAAAC,iBAAU,EAACL,mBAAmB,CAAC;AACxC,CAAC;AAAC"}
|
@@ -13,12 +13,12 @@ exports.RoundedRect = exports.Rect = exports.Path = exports.Circle = void 0;
|
|
13
13
|
var _reactNativeSkia = require("@shopify/react-native-skia");
|
14
14
|
var _hoc = require("../hoc");
|
15
15
|
var _canvas = require("../canvas");
|
16
|
-
const Circle = (0, _hoc.withTouchableHandler)(_reactNativeSkia.Circle);
|
16
|
+
const Circle = (0, _hoc.withTouchableHandler)(_reactNativeSkia.Circle, 'Circle');
|
17
17
|
exports.Circle = Circle;
|
18
|
-
const RoundedRect = (0, _hoc.withTouchableHandler)(_reactNativeSkia.RoundedRect);
|
18
|
+
const RoundedRect = (0, _hoc.withTouchableHandler)(_reactNativeSkia.RoundedRect, 'RoundedRect');
|
19
19
|
exports.RoundedRect = RoundedRect;
|
20
|
-
const Rect = (0, _hoc.withTouchableHandler)(_reactNativeSkia.Rect);
|
20
|
+
const Rect = (0, _hoc.withTouchableHandler)(_reactNativeSkia.Rect, 'Rect');
|
21
21
|
exports.Rect = Rect;
|
22
|
-
const Path = (0, _hoc.withTouchableHandler)(_reactNativeSkia.Path);
|
22
|
+
const Path = (0, _hoc.withTouchableHandler)(_reactNativeSkia.Path, 'Path');
|
23
23
|
exports.Path = Path;
|
24
24
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Circle","withTouchableHandler","SkiaCircle","RoundedRect","SkiaRoundedRect","Rect","SkiaRect","Path","SkiaPath"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;AAAA;
|
1
|
+
{"version":3,"names":["Circle","withTouchableHandler","SkiaCircle","RoundedRect","SkiaRoundedRect","Rect","SkiaRect","Path","SkiaPath"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;AAAA;AAOA;AAEA;AAEO,MAAMA,MAAM,GAAG,IAAAC,yBAAoB,EAACC,uBAAU,EAAE,QAAQ,CAAC;AAAC;AAC1D,MAAMC,WAAW,GAAG,IAAAF,yBAAoB,EAACG,4BAAe,EAAE,aAAa,CAAC;AAAC;AACzE,MAAMC,IAAI,GAAG,IAAAJ,yBAAoB,EAACK,qBAAQ,EAAE,MAAM,CAAC;AAAC;AACpD,MAAMC,IAAI,GAAG,IAAAN,yBAAoB,EAACO,qBAAQ,EAAE,MAAM,CAAC;AAAC"}
|
@@ -3,14 +3,15 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.withTouchableHandler = void 0;
|
7
|
-
var _reactNativeSkia = require("@shopify/react-native-skia");
|
6
|
+
exports.withTouchableHandler = exports.getSkiaPath = void 0;
|
8
7
|
var _react = require("react");
|
8
|
+
var _context = require("../canvas/context");
|
9
9
|
var _getCirclePath = require("../utils/get-circle-path");
|
10
10
|
var _getRectPath = require("../utils/get-rect-path");
|
11
11
|
var _unwrapAnimatedValue = require("../utils/unwrap-animated-value");
|
12
|
-
var _context = require("../canvas/context");
|
13
12
|
const getSkiaPath = (key, props) => {
|
13
|
+
'worklet';
|
14
|
+
|
14
15
|
const unwrappedProps = (0, _unwrapAnimatedValue.unwrapAnimatedValueObject)(props);
|
15
16
|
switch (key) {
|
16
17
|
case 'Circle':
|
@@ -25,7 +26,8 @@ const getSkiaPath = (key, props) => {
|
|
25
26
|
return null;
|
26
27
|
}
|
27
28
|
};
|
28
|
-
|
29
|
+
exports.getSkiaPath = getSkiaPath;
|
30
|
+
const withTouchableHandler = (Component, componentName) => {
|
29
31
|
return _ref => {
|
30
32
|
let {
|
31
33
|
onStart: onStartProp,
|
@@ -36,59 +38,52 @@ const withTouchableHandler = Component => {
|
|
36
38
|
} = _ref;
|
37
39
|
const id = (0, _react.useId)();
|
38
40
|
const ref = (0, _context.useTouchHandlerContext)();
|
39
|
-
const startingPoint = (0, _reactNativeSkia.useValue)(null);
|
40
41
|
const onStart = (0, _react.useCallback)(event => {
|
41
|
-
|
42
|
-
|
43
|
-
y: event.y
|
44
|
-
};
|
42
|
+
'worklet';
|
43
|
+
|
45
44
|
return onStartProp === null || onStartProp === void 0 ? void 0 : onStartProp(event);
|
46
|
-
}, [onStartProp
|
45
|
+
}, [onStartProp]);
|
47
46
|
const onActive = (0, _react.useCallback)(event => {
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
...event,
|
53
|
-
translationX,
|
54
|
-
translationY
|
55
|
-
});
|
56
|
-
}, [onActiveProp, startingPoint]);
|
47
|
+
'worklet';
|
48
|
+
|
49
|
+
return onActiveProp === null || onActiveProp === void 0 ? void 0 : onActiveProp(event);
|
50
|
+
}, [onActiveProp]);
|
57
51
|
const onEnd = (0, _react.useCallback)(event => {
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
...event,
|
63
|
-
translationX,
|
64
|
-
translationY
|
65
|
-
});
|
66
|
-
}, [onEndProp, startingPoint]);
|
52
|
+
'worklet';
|
53
|
+
|
54
|
+
return onEndProp === null || onEndProp === void 0 ? void 0 : onEndProp(event);
|
55
|
+
}, [onEndProp]);
|
67
56
|
const isPointInPath = (0, _react.useCallback)(point => {
|
57
|
+
'worklet';
|
58
|
+
|
68
59
|
if (touchablePath) {
|
69
60
|
return (0, _unwrapAnimatedValue.unwrapAnimatedValue)(touchablePath).contains(point.x, point.y);
|
70
61
|
}
|
71
|
-
|
62
|
+
if (!componentName) return false;
|
63
|
+
const path = getSkiaPath(componentName, props);
|
72
64
|
if (!path) {
|
73
65
|
throw Error('No touchablePath provided');
|
74
66
|
}
|
75
67
|
return path.contains(point.x, point.y);
|
76
68
|
}, [props, touchablePath]);
|
77
69
|
(0, _react.useEffect)(() => {
|
78
|
-
ref.
|
70
|
+
ref.value = {
|
79
71
|
[`id:${id}`]: {
|
80
72
|
isPointInPath,
|
81
73
|
onStart,
|
82
74
|
onActive,
|
83
75
|
onEnd
|
84
76
|
},
|
85
|
-
...ref.
|
77
|
+
...ref.value
|
86
78
|
};
|
79
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
80
|
+
}, [id, isPointInPath, onActive, onEnd, onStart]);
|
81
|
+
(0, _react.useEffect)(() => {
|
87
82
|
return () => {
|
88
|
-
var _ref$
|
89
|
-
(_ref$
|
83
|
+
var _ref$value;
|
84
|
+
(_ref$value = ref.value) === null || _ref$value === void 0 ? true : delete _ref$value[`id:${id}`];
|
90
85
|
};
|
91
|
-
}, [id,
|
86
|
+
}, [id, props, ref, touchablePath]);
|
92
87
|
return Component(props);
|
93
88
|
};
|
94
89
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getSkiaPath","key","props","unwrappedProps","unwrapAnimatedValueObject","getCirclePath","getRectPath","getRoundedRectPath","path","withTouchableHandler","Component","onStart","onStartProp","onActive","onActiveProp","onEnd","onEndProp","touchablePath","id","useId","ref","useTouchHandlerContext","
|
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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"}
|
@@ -4,26 +4,32 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.useGestureHandler = void 0;
|
7
|
-
var _reactNativeSkia = require("@shopify/react-native-skia");
|
8
7
|
var _react = require("react");
|
8
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
9
9
|
const useGestureHandler = gestureHandlers => {
|
10
10
|
const {
|
11
11
|
onStart,
|
12
12
|
onActive,
|
13
13
|
onEnd
|
14
14
|
} = gestureHandlers;
|
15
|
-
const context = (0,
|
15
|
+
const context = (0, _reactNativeReanimated.useSharedValue)({});
|
16
16
|
const handleStart = (0, _react.useCallback)(touchInfo => {
|
17
|
+
'worklet';
|
18
|
+
|
17
19
|
if (!onStart) return;
|
18
|
-
return onStart(touchInfo, context.
|
20
|
+
return onStart(touchInfo, context.value);
|
19
21
|
}, [context, onStart]);
|
20
22
|
const handleActive = (0, _react.useCallback)(extendedTouchInfo => {
|
23
|
+
'worklet';
|
24
|
+
|
21
25
|
if (!onActive) return;
|
22
|
-
return onActive(extendedTouchInfo, context.
|
26
|
+
return onActive(extendedTouchInfo, context.value);
|
23
27
|
}, [context, onActive]);
|
24
28
|
const handleEnd = (0, _react.useCallback)(extendedTouchInfo => {
|
29
|
+
'worklet';
|
30
|
+
|
25
31
|
if (!onEnd) return;
|
26
|
-
return onEnd(extendedTouchInfo, context.
|
32
|
+
return onEnd(extendedTouchInfo, context.value);
|
27
33
|
}, [context, onEnd]);
|
28
34
|
return {
|
29
35
|
onStart: handleStart,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["useGestureHandler","gestureHandlers","onStart","onActive","onEnd","context","
|
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"}
|
package/lib/commonjs/index.js
CHANGED
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
var _exportNames = {};
|
7
7
|
exports.default = void 0;
|
8
|
+
var Touchable = _interopRequireWildcard(require("./components"));
|
8
9
|
var _hoc = require("./hoc");
|
9
10
|
Object.keys(_hoc).forEach(function (key) {
|
10
11
|
if (key === "default" || key === "__esModule") return;
|
@@ -29,7 +30,6 @@ Object.keys(_useGestureHandler).forEach(function (key) {
|
|
29
30
|
}
|
30
31
|
});
|
31
32
|
});
|
32
|
-
var Touchable = _interopRequireWildcard(require("./components"));
|
33
33
|
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); }
|
34
34
|
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; }
|
35
35
|
var _default = Touchable;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["Touchable"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;
|
1
|
+
{"version":3,"names":["Touchable"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA4C;AAAA;AAAA,eAE7BA,SAAS;AAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getCirclePath","cx","cy","r","Skia","Path","Make","addCircle"],"sourceRoot":"../../src","sources":["get-circle-path.ts"],"mappings":";;;;;;AAAA;AAIO,MAAMA,aAAa,GAAG,QAAwC;
|
1
|
+
{"version":3,"names":["getCirclePath","cx","cy","r","Skia","Path","Make","addCircle"],"sourceRoot":"../../src","sources":["get-circle-path.ts"],"mappings":";;;;;;AAAA;AAIO,MAAMA,aAAa,GAAG,QAAwC;EACnE,SAAS;;EAAC,IADkB;IAAEC,EAAE;IAAEC,EAAE;IAAEC;EAAuB,CAAC;EAE9D,OAAOC,qBAAI,CAACC,IAAI,CAACC,IAAI,EAAE,CAACC,SAAS,CAACN,EAAE,EAAEC,EAAE,EAAEC,CAAC,CAAC;AAC9C,CAAC;AAAC"}
|