react-native-gesture-handler 3.0.0-beta.4 → 3.0.0-beta.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/android/src/main/java/com/swmansion/gesturehandler/core/GestureHandlerOrchestrator.kt +12 -4
- package/android/src/main/java/com/swmansion/gesturehandler/core/NativeViewGestureHandler.kt +6 -2
- package/android/src/main/java/com/swmansion/gesturehandler/react/Extensions.kt +21 -0
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt +113 -49
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerDetectorView.kt +75 -98
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerModule.kt +7 -10
- package/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerRegistry.kt +64 -2
- package/apple/RNGestureHandler.mm +50 -27
- package/apple/RNGestureHandlerButton.h +4 -2
- package/apple/RNGestureHandlerButton.mm +106 -27
- package/apple/RNGestureHandlerButtonComponentView.mm +17 -2
- package/apple/RNGestureHandlerDetector.mm +99 -75
- package/apple/RNGestureHandlerModule.mm +11 -14
- package/apple/RNGestureHandlerRegistry.h +14 -0
- package/apple/RNGestureHandlerRegistry.m +56 -0
- package/lib/module/RNGestureHandlerModule.web.js +5 -1
- package/lib/module/RNGestureHandlerModule.web.js.map +1 -1
- package/lib/module/components/GestureButtons.js +16 -5
- package/lib/module/components/GestureButtons.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.js.map +1 -1
- package/lib/module/components/GestureHandlerButton.web.js +63 -23
- package/lib/module/components/GestureHandlerButton.web.js.map +1 -1
- package/lib/module/components/Pressable/Pressable.js +1 -0
- package/lib/module/components/Pressable/Pressable.js.map +1 -1
- package/lib/module/components/ReanimatedDrawerLayout.js.map +1 -1
- package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js +38 -5
- package/lib/module/components/ReanimatedSwipeable/ReanimatedSwipeable.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js +1 -2
- package/lib/module/handlers/gestures/GestureDetector/useDetectorUpdater.js.map +1 -1
- package/lib/module/handlers/gestures/GestureDetector/utils.js +0 -47
- package/lib/module/handlers/gestures/GestureDetector/utils.js.map +1 -1
- package/lib/module/handlers/gestures/reanimatedWrapper.js +14 -2
- package/lib/module/handlers/gestures/reanimatedWrapper.js.map +1 -1
- package/lib/module/mocks/module.js +3 -2
- package/lib/module/mocks/module.js.map +1 -1
- package/lib/module/specs/NativeRNGestureHandlerModule.js.map +1 -1
- package/lib/module/specs/RNGestureHandlerButtonNativeComponent.ts +28 -13
- package/lib/module/v3/NativeProxy.js +5 -3
- package/lib/module/v3/NativeProxy.js.map +1 -1
- package/lib/module/v3/NativeProxy.web.js +2 -2
- package/lib/module/v3/NativeProxy.web.js.map +1 -1
- package/lib/module/v3/components/GestureButtons.js +8 -3
- package/lib/module/v3/components/GestureButtons.js.map +1 -1
- package/lib/module/v3/components/Touchable/Touchable.js +53 -4
- package/lib/module/v3/components/Touchable/Touchable.js.map +1 -1
- package/lib/module/v3/detectors/HostGestureDetector.web.js +178 -59
- package/lib/module/v3/detectors/HostGestureDetector.web.js.map +1 -1
- package/lib/module/v3/detectors/NativeDetector.js +3 -2
- package/lib/module/v3/detectors/NativeDetector.js.map +1 -1
- package/lib/module/v3/detectors/VirtualDetector/InterceptingGestureDetector.js +3 -4
- package/lib/module/v3/detectors/VirtualDetector/InterceptingGestureDetector.js.map +1 -1
- package/lib/module/v3/detectors/VirtualDetector/VirtualDetector.js +2 -2
- package/lib/module/v3/detectors/VirtualDetector/VirtualDetector.js.map +1 -1
- package/lib/module/v3/detectors/useGestureRelationsUpdater.js +23 -0
- package/lib/module/v3/detectors/useGestureRelationsUpdater.js.map +1 -0
- package/lib/module/v3/detectors/utils.js +10 -8
- package/lib/module/v3/detectors/utils.js.map +1 -1
- package/lib/module/v3/hooks/useGesture.js +3 -18
- package/lib/module/v3/hooks/useGesture.js.map +1 -1
- package/lib/module/v3/hooks/utils/configUtils.js +1 -3
- package/lib/module/v3/hooks/utils/configUtils.js.map +1 -1
- package/lib/module/v3/hooks/utils/eventHandlersUtils.js +31 -29
- package/lib/module/v3/hooks/utils/eventHandlersUtils.js.map +1 -1
- package/lib/module/v3/hooks/utils/reanimatedUtils.js +8 -2
- package/lib/module/v3/hooks/utils/reanimatedUtils.js.map +1 -1
- package/lib/module/web/tools/NodeManager.js +44 -0
- package/lib/module/web/tools/NodeManager.js.map +1 -1
- package/lib/typescript/RNGestureHandlerModule.web.d.ts +1 -1
- package/lib/typescript/RNGestureHandlerModule.web.d.ts.map +1 -1
- package/lib/typescript/components/GestureButtons.d.ts +14 -6
- package/lib/typescript/components/GestureButtons.d.ts.map +1 -1
- package/lib/typescript/components/GestureHandlerButton.d.ts +62 -8
- package/lib/typescript/components/GestureHandlerButton.d.ts.map +1 -1
- package/lib/typescript/components/GestureHandlerButton.web.d.ts +10 -3
- package/lib/typescript/components/GestureHandlerButton.web.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/Pressable.d.ts.map +1 -1
- package/lib/typescript/components/Pressable/PressableProps.d.ts +1 -1
- package/lib/typescript/components/Pressable/PressableProps.d.ts.map +1 -1
- package/lib/typescript/components/ReanimatedDrawerLayout.d.ts +16 -14
- package/lib/typescript/components/ReanimatedDrawerLayout.d.ts.map +1 -1
- package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts +2 -1
- package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeable.d.ts.map +1 -1
- package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts +30 -34
- package/lib/typescript/components/ReanimatedSwipeable/ReanimatedSwipeableProps.d.ts.map +1 -1
- package/lib/typescript/handlers/gestures/GestureDetector/useDetectorUpdater.d.ts.map +1 -1
- package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts +0 -1
- package/lib/typescript/handlers/gestures/GestureDetector/utils.d.ts.map +1 -1
- package/lib/typescript/handlers/gestures/reanimatedWrapper.d.ts.map +1 -1
- package/lib/typescript/mocks/module.d.ts +1 -1
- package/lib/typescript/mocks/module.d.ts.map +1 -1
- package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts +2 -2
- package/lib/typescript/specs/NativeRNGestureHandlerModule.d.ts.map +1 -1
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts +19 -11
- package/lib/typescript/specs/RNGestureHandlerButtonNativeComponent.d.ts.map +1 -1
- package/lib/typescript/v3/NativeProxy.d.ts +1 -1
- package/lib/typescript/v3/NativeProxy.d.ts.map +1 -1
- package/lib/typescript/v3/NativeProxy.web.d.ts +1 -1
- package/lib/typescript/v3/NativeProxy.web.d.ts.map +1 -1
- package/lib/typescript/v3/components/GestureButtons.d.ts +1 -38
- package/lib/typescript/v3/components/GestureButtons.d.ts.map +1 -1
- package/lib/typescript/v3/components/GestureButtonsProps.d.ts +1 -1
- package/lib/typescript/v3/components/GestureButtonsProps.d.ts.map +1 -1
- package/lib/typescript/v3/components/Touchable/Touchable.d.ts.map +1 -1
- package/lib/typescript/v3/components/Touchable/TouchableProps.d.ts +39 -1
- package/lib/typescript/v3/components/Touchable/TouchableProps.d.ts.map +1 -1
- package/lib/typescript/v3/detectors/HostGestureDetector.web.d.ts.map +1 -1
- package/lib/typescript/v3/detectors/NativeDetector.d.ts.map +1 -1
- package/lib/typescript/v3/detectors/VirtualDetector/InterceptingGestureDetector.d.ts.map +1 -1
- package/lib/typescript/v3/detectors/useGestureRelationsUpdater.d.ts +3 -0
- package/lib/typescript/v3/detectors/useGestureRelationsUpdater.d.ts.map +1 -0
- package/lib/typescript/v3/detectors/utils.d.ts +3 -3
- package/lib/typescript/v3/detectors/utils.d.ts.map +1 -1
- package/lib/typescript/v3/hooks/useGesture.d.ts.map +1 -1
- package/lib/typescript/v3/hooks/utils/configUtils.d.ts.map +1 -1
- package/lib/typescript/v3/hooks/utils/eventHandlersUtils.d.ts.map +1 -1
- package/lib/typescript/v3/hooks/utils/reanimatedUtils.d.ts +1 -0
- package/lib/typescript/v3/hooks/utils/reanimatedUtils.d.ts.map +1 -1
- package/lib/typescript/web/tools/NodeManager.d.ts +7 -0
- package/lib/typescript/web/tools/NodeManager.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/RNGestureHandlerModule.web.ts +5 -1
- package/src/components/GestureButtons.tsx +23 -7
- package/src/components/GestureHandlerButton.tsx +70 -8
- package/src/components/GestureHandlerButton.web.tsx +97 -29
- package/src/components/Pressable/Pressable.tsx +1 -0
- package/src/components/Pressable/PressableProps.tsx +2 -1
- package/src/components/ReanimatedDrawerLayout.tsx +27 -23
- package/src/components/ReanimatedSwipeable/ReanimatedSwipeable.tsx +51 -5
- package/src/components/ReanimatedSwipeable/ReanimatedSwipeableProps.ts +31 -39
- package/src/handlers/gestures/GestureDetector/useDetectorUpdater.ts +1 -2
- package/src/handlers/gestures/GestureDetector/utils.ts +0 -52
- package/src/handlers/gestures/reanimatedWrapper.ts +20 -2
- package/src/mocks/module.tsx +4 -2
- package/src/specs/NativeRNGestureHandlerModule.ts +2 -4
- package/src/specs/RNGestureHandlerButtonNativeComponent.ts +28 -13
- package/src/v3/NativeProxy.ts +9 -7
- package/src/v3/NativeProxy.web.ts +2 -2
- package/src/v3/components/GestureButtons.tsx +13 -5
- package/src/v3/components/GestureButtonsProps.ts +1 -0
- package/src/v3/components/Touchable/Touchable.tsx +65 -4
- package/src/v3/components/Touchable/TouchableProps.ts +49 -1
- package/src/v3/detectors/HostGestureDetector.web.tsx +265 -108
- package/src/v3/detectors/NativeDetector.tsx +3 -2
- package/src/v3/detectors/VirtualDetector/InterceptingGestureDetector.tsx +3 -4
- package/src/v3/detectors/VirtualDetector/VirtualDetector.tsx +2 -2
- package/src/v3/detectors/useGestureRelationsUpdater.ts +30 -0
- package/src/v3/detectors/utils.ts +28 -12
- package/src/v3/hooks/useGesture.ts +4 -14
- package/src/v3/hooks/utils/configUtils.ts +2 -3
- package/src/v3/hooks/utils/eventHandlersUtils.ts +43 -32
- package/src/v3/hooks/utils/reanimatedUtils.ts +10 -10
- package/src/web/tools/NodeManager.ts +57 -0
- package/lib/module/RNRenderer.js +0 -6
- package/lib/module/RNRenderer.js.map +0 -1
- package/lib/module/RNRenderer.web.js +0 -6
- package/lib/module/RNRenderer.web.js.map +0 -1
- package/lib/typescript/RNRenderer.d.ts +0 -2
- package/lib/typescript/RNRenderer.d.ts.map +0 -1
- package/lib/typescript/RNRenderer.web.d.ts +0 -4
- package/lib/typescript/RNRenderer.web.d.ts.map +0 -1
- package/src/RNRenderer.ts +0 -3
- package/src/RNRenderer.web.ts +0 -3
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
@interface RNGestureHandlerDetector () <RCTRNGestureHandlerDetectorViewProtocol>
|
|
17
17
|
|
|
18
18
|
@property (nonatomic, nonnull) NSMutableSet *nativeHandlers;
|
|
19
|
+
@property (nonatomic, nonnull) NSMutableSet *subscribedHandlers;
|
|
19
20
|
@property (nonatomic, nonnull) NSMutableSet *attachedHandlers;
|
|
20
|
-
@property (nonatomic) std::unordered_map<int, NSMutableSet *>
|
|
21
|
+
@property (nonatomic) std::unordered_map<int, NSMutableSet *> subscribedVirtualHandlers;
|
|
21
22
|
|
|
22
23
|
@end
|
|
23
24
|
|
|
@@ -49,25 +50,23 @@
|
|
|
49
50
|
RNGestureHandlerManager *handlerManager = [RNGestureHandlerModule handlerManagerForModuleId:_moduleId];
|
|
50
51
|
react_native_assert(handlerManager != nullptr && "Tried to access a non-existent handler manager");
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
[handlerManager.registry cancelAllObservationsForOwner:self];
|
|
53
54
|
|
|
54
|
-
for (
|
|
55
|
-
NSNumber *handlerTag = [NSNumber numberWithInt:handler];
|
|
55
|
+
for (NSNumber *handlerTag in _attachedHandlers) {
|
|
56
56
|
[handlerManager.registry detachHandlerWithTag:handlerTag fromHostDetector:self];
|
|
57
57
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
_attachedVirtualHandlers.clear();
|
|
64
|
-
_attachedHandlers = [NSMutableSet set];
|
|
58
|
+
|
|
59
|
+
[_attachedHandlers removeAllObjects];
|
|
60
|
+
_subscribedVirtualHandlers.clear();
|
|
61
|
+
[_subscribedHandlers removeAllObjects];
|
|
62
|
+
[_nativeHandlers removeAllObjects];
|
|
65
63
|
} else {
|
|
66
64
|
const auto &props = *std::static_pointer_cast<const RNGestureHandlerDetectorProps>(_props);
|
|
67
65
|
[self attachHandlers:props.handlerTags
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
actionType:RNGestureHandlerActionTypeNativeDetector
|
|
67
|
+
viewTag:-1
|
|
68
|
+
subscribedHandlers:_subscribedHandlers];
|
|
69
|
+
[self updateVirtualChildren:props.virtualChildren];
|
|
71
70
|
}
|
|
72
71
|
}
|
|
73
72
|
|
|
@@ -77,6 +76,7 @@
|
|
|
77
76
|
_props = defaultProps;
|
|
78
77
|
_moduleId = -1;
|
|
79
78
|
_nativeHandlers = [NSMutableSet set];
|
|
79
|
+
_subscribedHandlers = [NSMutableSet set];
|
|
80
80
|
_attachedHandlers = [NSMutableSet set];
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -140,13 +140,6 @@
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
- (BOOL)shouldAttachGestureToSubview:(NSNumber *)handlerTag
|
|
144
|
-
{
|
|
145
|
-
RNGestureHandlerManager *handlerManager = [RNGestureHandlerModule handlerManagerForModuleId:_moduleId];
|
|
146
|
-
|
|
147
|
-
return [[[handlerManager registry] handlerWithTag:handlerTag] wantsToAttachDirectlyToView];
|
|
148
|
-
}
|
|
149
|
-
|
|
150
143
|
- (void)prepareForRecycle
|
|
151
144
|
{
|
|
152
145
|
[super prepareForRecycle];
|
|
@@ -194,62 +187,82 @@
|
|
|
194
187
|
- (void)attachHandlers:(const std::vector<int> &)handlerTags
|
|
195
188
|
actionType:(RNGestureHandlerActionType)actionType
|
|
196
189
|
viewTag:(const int)viewTag
|
|
197
|
-
|
|
190
|
+
subscribedHandlers:(NSMutableSet *)subscribedHandlers
|
|
198
191
|
{
|
|
199
192
|
RNGestureHandlerManager *handlerManager = [RNGestureHandlerModule handlerManagerForModuleId:_moduleId];
|
|
200
193
|
react_native_assert(handlerManager != nullptr && "Tried to access a non-existent handler manager");
|
|
201
194
|
|
|
202
|
-
NSMutableSet *handlersToDetach = [
|
|
195
|
+
NSMutableSet *handlersToDetach = [subscribedHandlers mutableCopy];
|
|
196
|
+
|
|
197
|
+
__weak __typeof(self) weakSelf = self;
|
|
203
198
|
|
|
204
199
|
for (const int tag : handlerTags) {
|
|
205
200
|
[handlersToDetach removeObject:@(tag)];
|
|
206
|
-
if (
|
|
207
|
-
|
|
208
|
-
// It might happen that `attachHandlers` will be called before children are added into view hierarchy. In that
|
|
209
|
-
// case we cannot attach `NativeViewGestureHandlers` here and we have to do it in `didAddSubview` method.
|
|
210
|
-
react_native_assert(
|
|
211
|
-
self.subviews.count <= 1 &&
|
|
212
|
-
"Cannot attach native gesture handlers when the detector has multiple children");
|
|
213
|
-
[_nativeHandlers addObject:@(tag)];
|
|
214
|
-
} else {
|
|
215
|
-
if (actionType == RNGestureHandlerActionTypeVirtualDetector) {
|
|
216
|
-
RNGHUIView *targetView = [handlerManager viewForReactTag:@(viewTag)];
|
|
217
|
-
|
|
218
|
-
if (targetView != nil) {
|
|
219
|
-
[handlerManager attachGestureHandler:@(tag)
|
|
220
|
-
toViewWithTag:@(viewTag)
|
|
221
|
-
withActionType:actionType
|
|
222
|
-
withHostDetector:self];
|
|
223
|
-
} else {
|
|
224
|
-
// Let's assume that if the native view for the virtual detector hasn't been found, the hierarchy was folded
|
|
225
|
-
// into a single UIView.
|
|
226
|
-
[handlerManager.registry attachHandlerWithTag:@(tag)
|
|
227
|
-
toView:self
|
|
228
|
-
withActionType:actionType
|
|
229
|
-
withHostDetector:self];
|
|
230
|
-
[[handlerManager registry] handlerWithTag:@(tag)].virtualViewTag = @(viewTag);
|
|
231
|
-
}
|
|
232
|
-
} else {
|
|
233
|
-
[handlerManager.registry attachHandlerWithTag:@(tag)
|
|
234
|
-
toView:self
|
|
235
|
-
withActionType:actionType
|
|
236
|
-
withHostDetector:self];
|
|
237
|
-
}
|
|
238
|
-
[attachedHandlers addObject:@(tag)];
|
|
239
|
-
}
|
|
201
|
+
if ([subscribedHandlers containsObject:@(tag)]) {
|
|
202
|
+
continue;
|
|
240
203
|
}
|
|
204
|
+
|
|
205
|
+
[handlerManager.registry observeHandlerWithTag:@(tag)
|
|
206
|
+
owner:self
|
|
207
|
+
withCallback:^(RNGestureHandler *handler) {
|
|
208
|
+
__strong __typeof(weakSelf) strongSelf = weakSelf;
|
|
209
|
+
if (strongSelf == nil) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
[strongSelf attachReadyHandler:handler actionType:actionType viewTag:viewTag];
|
|
213
|
+
}];
|
|
214
|
+
[subscribedHandlers addObject:@(tag)];
|
|
241
215
|
}
|
|
242
216
|
|
|
243
217
|
for (const id tag : handlersToDetach) {
|
|
244
|
-
[handlerManager.registry
|
|
245
|
-
[
|
|
218
|
+
[handlerManager.registry cancelObservationForTag:tag owner:self];
|
|
219
|
+
if ([_attachedHandlers containsObject:tag]) {
|
|
220
|
+
[handlerManager.registry detachHandlerWithTag:tag fromHostDetector:self];
|
|
221
|
+
[_attachedHandlers removeObject:tag];
|
|
222
|
+
}
|
|
223
|
+
[subscribedHandlers removeObject:tag];
|
|
246
224
|
[_nativeHandlers removeObject:tag];
|
|
247
225
|
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// Invoked from the registry's `observeHandlerWithTag:` block once the handler is known to exist.
|
|
229
|
+
// Branches on handler kind + actionType to pick the right binding flow. May be called multiple
|
|
230
|
+
// times for the same tag (handler re-registration), so each branch must be idempotent.
|
|
231
|
+
- (void)attachReadyHandler:(RNGestureHandler *)handler
|
|
232
|
+
actionType:(RNGestureHandlerActionType)actionType
|
|
233
|
+
viewTag:(int)viewTag
|
|
234
|
+
{
|
|
235
|
+
RNGestureHandlerManager *manager = [RNGestureHandlerModule handlerManagerForModuleId:_moduleId];
|
|
236
|
+
react_native_assert(manager != nullptr && "Tried to access a non-existent handler manager");
|
|
237
|
+
|
|
238
|
+
if ([handler wantsToAttachDirectlyToView] && actionType == RNGestureHandlerActionTypeNativeDetector) {
|
|
239
|
+
react_native_assert(
|
|
240
|
+
self.subviews.count <= 1 && "Cannot attach native gesture handlers when the detector has multiple children");
|
|
241
|
+
[_nativeHandlers addObject:handler.tag];
|
|
242
|
+
if (self.subviews.count != 0) {
|
|
243
|
+
[self tryAttachNativeHandlersToChildView];
|
|
244
|
+
}
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
248
247
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
248
|
+
if (actionType == RNGestureHandlerActionTypeVirtualDetector) {
|
|
249
|
+
RNGHUIView *targetView = [manager viewForReactTag:@(viewTag)];
|
|
250
|
+
if (targetView != nil) {
|
|
251
|
+
[manager attachGestureHandler:handler.tag
|
|
252
|
+
toViewWithTag:@(viewTag)
|
|
253
|
+
withActionType:actionType
|
|
254
|
+
withHostDetector:self];
|
|
255
|
+
} else {
|
|
256
|
+
// Hierarchy was folded into a single UIView.
|
|
257
|
+
[manager.registry attachHandlerWithTag:handler.tag toView:self withActionType:actionType withHostDetector:self];
|
|
258
|
+
handler.virtualViewTag = @(viewTag);
|
|
259
|
+
}
|
|
260
|
+
[_attachedHandlers addObject:handler.tag];
|
|
261
|
+
return;
|
|
252
262
|
}
|
|
263
|
+
|
|
264
|
+
[manager.registry attachHandlerWithTag:handler.tag toView:self withActionType:actionType withHostDetector:self];
|
|
265
|
+
[_attachedHandlers addObject:handler.tag];
|
|
253
266
|
}
|
|
254
267
|
|
|
255
268
|
- (void)updateProps:(const Props::Shared &)propsBase oldProps:(const Props::Shared &)oldPropsBase
|
|
@@ -258,9 +271,9 @@
|
|
|
258
271
|
_moduleId = newProps.moduleId;
|
|
259
272
|
|
|
260
273
|
[self attachHandlers:newProps.handlerTags
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
274
|
+
actionType:RNGestureHandlerActionTypeNativeDetector
|
|
275
|
+
viewTag:-1
|
|
276
|
+
subscribedHandlers:_subscribedHandlers];
|
|
264
277
|
|
|
265
278
|
[super updateProps:propsBase oldProps:oldPropsBase];
|
|
266
279
|
[self updateVirtualChildren:newProps.virtualChildren];
|
|
@@ -275,7 +288,7 @@
|
|
|
275
288
|
react_native_assert(handlerManager != nullptr && "Tried to access a non-existent handler manager");
|
|
276
289
|
|
|
277
290
|
NSMutableSet *virtualChildrenToDetach = [NSMutableSet set];
|
|
278
|
-
for (const auto &child :
|
|
291
|
+
for (const auto &child : _subscribedVirtualHandlers) {
|
|
279
292
|
[virtualChildrenToDetach addObject:@(child.first)];
|
|
280
293
|
}
|
|
281
294
|
|
|
@@ -284,20 +297,24 @@
|
|
|
284
297
|
}
|
|
285
298
|
|
|
286
299
|
for (const NSNumber *tag : virtualChildrenToDetach) {
|
|
287
|
-
for (id handlerTag :
|
|
288
|
-
[handlerManager.registry
|
|
300
|
+
for (id handlerTag : _subscribedVirtualHandlers[tag.intValue]) {
|
|
301
|
+
[handlerManager.registry cancelObservationForTag:handlerTag owner:self];
|
|
302
|
+
if ([_attachedHandlers containsObject:handlerTag]) {
|
|
303
|
+
[handlerManager.registry detachHandlerWithTag:handlerTag fromHostDetector:self];
|
|
304
|
+
[_attachedHandlers removeObject:handlerTag];
|
|
305
|
+
}
|
|
289
306
|
}
|
|
290
|
-
|
|
307
|
+
_subscribedVirtualHandlers.erase(tag.intValue);
|
|
291
308
|
}
|
|
292
309
|
|
|
293
310
|
for (const auto &child : virtualChildren) {
|
|
294
|
-
if (
|
|
295
|
-
|
|
311
|
+
if (_subscribedVirtualHandlers.find(child.viewTag) == _subscribedVirtualHandlers.end()) {
|
|
312
|
+
_subscribedVirtualHandlers[child.viewTag] = [NSMutableSet set];
|
|
296
313
|
}
|
|
297
314
|
[self attachHandlers:child.handlerTags
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
315
|
+
actionType:RNGestureHandlerActionTypeVirtualDetector
|
|
316
|
+
viewTag:child.viewTag
|
|
317
|
+
subscribedHandlers:_subscribedVirtualHandlers[child.viewTag]];
|
|
301
318
|
}
|
|
302
319
|
}
|
|
303
320
|
|
|
@@ -329,11 +346,15 @@
|
|
|
329
346
|
}
|
|
330
347
|
|
|
331
348
|
for (NSNumber *handlerTag in _nativeHandlers) {
|
|
349
|
+
// A tag may be in `_nativeHandlers` from an earlier block fire but the underlying
|
|
350
|
+
// handler may have been dropped since. Skip - a re-registration will fire the block again.
|
|
351
|
+
if ([handlerManager.registry handlerWithTag:handlerTag] == nil) {
|
|
352
|
+
continue;
|
|
353
|
+
}
|
|
332
354
|
[handlerManager.registry attachHandlerWithTag:handlerTag
|
|
333
355
|
toView:view
|
|
334
356
|
withActionType:RNGestureHandlerActionTypeNativeDetector
|
|
335
357
|
withHostDetector:self];
|
|
336
|
-
|
|
337
358
|
[_attachedHandlers addObject:handlerTag];
|
|
338
359
|
}
|
|
339
360
|
}
|
|
@@ -343,6 +364,9 @@
|
|
|
343
364
|
RNGestureHandlerManager *handlerManager = [RNGestureHandlerModule handlerManagerForModuleId:_moduleId];
|
|
344
365
|
|
|
345
366
|
for (NSNumber *handlerTag in _nativeHandlers) {
|
|
367
|
+
if (![_attachedHandlers containsObject:handlerTag]) {
|
|
368
|
+
continue;
|
|
369
|
+
}
|
|
346
370
|
[[handlerManager registry] detachHandlerWithTag:handlerTag fromHostDetector:self];
|
|
347
371
|
[_attachedHandlers removeObject:handlerTag];
|
|
348
372
|
}
|
|
@@ -41,8 +41,6 @@ typedef void (^GestureHandlerOperation)(RNGestureHandlerManager *manager);
|
|
|
41
41
|
|
|
42
42
|
jsi::Runtime *_rnRuntime;
|
|
43
43
|
int _moduleId;
|
|
44
|
-
|
|
45
|
-
bool _isReanimatedAvailable;
|
|
46
44
|
bool _uiRuntimeDecorated;
|
|
47
45
|
}
|
|
48
46
|
|
|
@@ -106,7 +104,7 @@ RCT_EXPORT_MODULE()
|
|
|
106
104
|
_operations = [NSMutableArray new];
|
|
107
105
|
}
|
|
108
106
|
|
|
109
|
-
- (bool)
|
|
107
|
+
- (bool)decorateUIRuntime
|
|
110
108
|
{
|
|
111
109
|
__weak RNGestureHandlerModule *weakSelf = self;
|
|
112
110
|
|
|
@@ -118,16 +116,11 @@ RCT_EXPORT_MODULE()
|
|
|
118
116
|
});
|
|
119
117
|
}
|
|
120
118
|
|
|
121
|
-
- (
|
|
119
|
+
- (void)createGestureHandler:(NSString *)handlerName handlerTag:(double)handlerTag config:(NSDictionary *)config
|
|
122
120
|
{
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
RNGestureHandlerManager *manager = [RNGestureHandlerModule handlerManagerForModuleId:_moduleId];
|
|
128
|
-
[manager createGestureHandler:handlerName tag:[NSNumber numberWithDouble:handlerTag] config:config];
|
|
129
|
-
|
|
130
|
-
return @1;
|
|
121
|
+
[self addOperationBlock:^(RNGestureHandlerManager *manager) {
|
|
122
|
+
[manager createGestureHandler:handlerName tag:[NSNumber numberWithDouble:handlerTag] config:config];
|
|
123
|
+
}];
|
|
131
124
|
}
|
|
132
125
|
|
|
133
126
|
- (void)attachGestureHandler:(double)handlerTag newView:(double)viewTag actionType:(double)actionType
|
|
@@ -189,9 +182,13 @@ RCT_EXPORT_MODULE()
|
|
|
189
182
|
}];
|
|
190
183
|
}
|
|
191
184
|
|
|
192
|
-
- (
|
|
185
|
+
- (nonnull NSNumber *)installUIRuntimeBindings
|
|
193
186
|
{
|
|
194
|
-
|
|
187
|
+
if (!_uiRuntimeDecorated) {
|
|
188
|
+
_uiRuntimeDecorated = [self decorateUIRuntime];
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
return _uiRuntimeDecorated ? @1 : @0;
|
|
195
192
|
}
|
|
196
193
|
|
|
197
194
|
- (void)setGestureState:(int)state forHandler:(int)handlerTag
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
#import "RNGestureHandler.h"
|
|
10
10
|
|
|
11
|
+
typedef void (^RNGestureHandlerReadyBlock)(RNGestureHandler *_Nonnull handler);
|
|
12
|
+
|
|
11
13
|
@interface RNGestureHandlerRegistry : NSObject
|
|
12
14
|
|
|
13
15
|
- (nullable RNGestureHandler *)handlerWithTag:(nonnull NSNumber *)handlerTag;
|
|
@@ -20,6 +22,18 @@
|
|
|
20
22
|
- (void)dropHandlerWithTag:(nonnull NSNumber *)handlerTag;
|
|
21
23
|
- (void)dropAllHandlers;
|
|
22
24
|
|
|
25
|
+
// Invokes `block` every time a handler with `handlerTag` is registered. If the handler already
|
|
26
|
+
// exists at the time this method is called, `block` is also invoked synchronously before returning.
|
|
27
|
+
// The observation persists until explicitly cancelled (or until `owner` is deallocated, provided
|
|
28
|
+
// the block does not strongly capture `owner`). `owner` is held weakly and acts as the cancellation
|
|
29
|
+
// key; observing the same tag twice with the same `owner` replaces the previous block.
|
|
30
|
+
- (void)observeHandlerWithTag:(nonnull NSNumber *)handlerTag
|
|
31
|
+
owner:(nonnull id)owner
|
|
32
|
+
withCallback:(nonnull RNGestureHandlerReadyBlock)callback;
|
|
33
|
+
|
|
34
|
+
- (void)cancelObservationForTag:(nonnull NSNumber *)handlerTag owner:(nonnull id)owner;
|
|
35
|
+
- (void)cancelAllObservationsForOwner:(nonnull id)owner;
|
|
36
|
+
|
|
23
37
|
@property (nonatomic, readonly, nonnull) NSDictionary<NSNumber *, RNGestureHandler *> *handlers;
|
|
24
38
|
|
|
25
39
|
@end
|
|
@@ -12,12 +12,14 @@
|
|
|
12
12
|
|
|
13
13
|
@implementation RNGestureHandlerRegistry {
|
|
14
14
|
NSMutableDictionary<NSNumber *, RNGestureHandler *> *_handlers;
|
|
15
|
+
NSMutableDictionary<NSNumber *, NSMapTable<id, RNGestureHandlerReadyBlock> *> *_observers;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
- (instancetype)init
|
|
18
19
|
{
|
|
19
20
|
if ((self = [super init])) {
|
|
20
21
|
_handlers = [NSMutableDictionary new];
|
|
22
|
+
_observers = [NSMutableDictionary new];
|
|
21
23
|
}
|
|
22
24
|
return self;
|
|
23
25
|
}
|
|
@@ -36,8 +38,62 @@
|
|
|
36
38
|
|
|
37
39
|
- (void)registerGestureHandler:(RNGestureHandler *)gestureHandler
|
|
38
40
|
{
|
|
41
|
+
NSArray<RNGestureHandlerReadyBlock> *observers = nil;
|
|
42
|
+
|
|
39
43
|
@synchronized(_handlers) {
|
|
40
44
|
_handlers[gestureHandler.tag] = gestureHandler;
|
|
45
|
+
|
|
46
|
+
NSMapTable *table = _observers[gestureHandler.tag];
|
|
47
|
+
if (table != nil) {
|
|
48
|
+
observers = [[table objectEnumerator] allObjects];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
for (RNGestureHandlerReadyBlock block in observers) {
|
|
53
|
+
block(gestureHandler);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
- (void)observeHandlerWithTag:(NSNumber *)handlerTag owner:(id)owner withCallback:(RNGestureHandlerReadyBlock)callback
|
|
58
|
+
{
|
|
59
|
+
RNGestureHandler *existing = nil;
|
|
60
|
+
|
|
61
|
+
@synchronized(_handlers) {
|
|
62
|
+
NSMapTable *table = _observers[handlerTag];
|
|
63
|
+
if (table == nil) {
|
|
64
|
+
table =
|
|
65
|
+
[NSMapTable mapTableWithKeyOptions:NSPointerFunctionsWeakMemory | NSPointerFunctionsObjectPointerPersonality
|
|
66
|
+
valueOptions:NSPointerFunctionsStrongMemory];
|
|
67
|
+
_observers[handlerTag] = table;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
[table setObject:[callback copy] forKey:owner];
|
|
71
|
+
existing = _handlers[handlerTag];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
if (existing != nil) {
|
|
75
|
+
callback(existing);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
- (void)cancelObservationForTag:(NSNumber *)handlerTag owner:(id)owner
|
|
80
|
+
{
|
|
81
|
+
@synchronized(_handlers) {
|
|
82
|
+
NSMapTable *table = _observers[handlerTag];
|
|
83
|
+
[table removeObjectForKey:owner];
|
|
84
|
+
if (table.count == 0) {
|
|
85
|
+
[_observers removeObjectForKey:handlerTag];
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
- (void)cancelAllObservationsForOwner:(id)owner
|
|
91
|
+
{
|
|
92
|
+
@synchronized(_handlers) {
|
|
93
|
+
NSArray<NSNumber *> *tags = [_observers allKeys];
|
|
94
|
+
for (NSNumber *tag in tags) {
|
|
95
|
+
[self cancelObservationForTag:tag owner:owner];
|
|
96
|
+
}
|
|
41
97
|
}
|
|
42
98
|
}
|
|
43
99
|
|
|
@@ -58,12 +58,16 @@ export default {
|
|
|
58
58
|
NodeManager.dropGestureHandler(handlerTag);
|
|
59
59
|
},
|
|
60
60
|
configureRelations(handlerTag, relations) {
|
|
61
|
+
if (!NodeManager.hasHandler(handlerTag)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
61
64
|
InteractionManager.instance.configureInteractions(NodeManager.getHandler(handlerTag), relations);
|
|
62
65
|
},
|
|
63
66
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
64
67
|
flushOperations() {},
|
|
65
|
-
|
|
68
|
+
installUIRuntimeBindings() {
|
|
66
69
|
// No-op on web
|
|
70
|
+
return true;
|
|
67
71
|
}
|
|
68
72
|
};
|
|
69
73
|
//# sourceMappingURL=RNGestureHandlerModule.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Gestures","GestureHandlerWebDelegate","InteractionManager","NodeManager","shouldPreventDrop","createGestureHandler","handlerName","handlerTag","config","Error","GestureClass","setGestureHandlerConfig","attachGestureHandler","newView","actionType","propsRef","Element","Component","handler","getHandler","constructor","name","init","detachGestureHandler","newConfig","setGestureConfig","updateGestureHandlerConfig","updateGestureConfig","getGestureHandlerNode","dropGestureHandler","configureRelations","relations","instance","configureInteractions","flushOperations","
|
|
1
|
+
{"version":3,"names":["React","Gestures","GestureHandlerWebDelegate","InteractionManager","NodeManager","shouldPreventDrop","createGestureHandler","handlerName","handlerTag","config","Error","GestureClass","setGestureHandlerConfig","attachGestureHandler","newView","actionType","propsRef","Element","Component","handler","getHandler","constructor","name","init","detachGestureHandler","newConfig","setGestureConfig","updateGestureHandlerConfig","updateGestureConfig","getGestureHandlerNode","dropGestureHandler","configureRelations","relations","hasHandler","instance","configureInteractions","flushOperations","installUIRuntimeBindings"],"sourceRoot":"../../src","sources":["RNGestureHandlerModule.web.ts"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AAIzB,SAASC,QAAQ,QAAQ,gBAAgB;AAEzC,SAASC,yBAAyB,QAAQ,uCAAuC;AACjF,OAAOC,kBAAkB,MAAM,gCAAgC;AAC/D,OAAOC,WAAW,MAAM,yBAAyB;;AAEjD;AACA;AACA;AACA;AACA;AACA,IAAIC,iBAAiB,GAAG,KAAK;AAE7B,eAAe;EACbC,oBAAoBA,CAClBC,WAAkC,EAClCC,UAAkB,EAClBC,MAAS,EACT;IACA,IAAI,EAAEF,WAAW,IAAIN,QAAQ,CAAC,EAAE;MAC9B,MAAM,IAAIS,KAAK,CACb,iCAAiCH,WAAW,2BAC9C,CAAC;IACH;IAEA,MAAMI,YAAY,GAAGV,QAAQ,CAACM,WAAW,CAAC;IAC1CH,WAAW,CAACE,oBAAoB,CAC9BE,UAAU,EACV,IAAIG,YAAY,CAAC,IAAIT,yBAAyB,CAAC,CAAC,CAClD,CAAC;IACD,IAAI,CAACU,uBAAuB,CAACJ,UAAU,EAAEC,MAA2B,CAAC;EACvE,CAAC;EACDI,oBAAoBA,CAClBL,UAAkB;EAClB;EACAM,OAAY,EACZC,UAAsB,EACtBC,QAAmC,EACnC;IACA,IAAI,EAAEF,OAAO,YAAYG,OAAO,IAAIH,OAAO,YAAYd,KAAK,CAACkB,SAAS,CAAC,EAAE;MACvEb,iBAAiB,GAAG,IAAI;MAExB,MAAMc,OAAO,GAAGf,WAAW,CAACgB,UAAU,CAACZ,UAAU,CAAC;MAElD,MAAMD,WAAW,GAAGY,OAAO,CAACE,WAAW,CAACC,IAAI;MAE5C,MAAM,IAAIZ,KAAK,CACb,GAAGH,WAAW,aAAaC,UAAU,iDACvC,CAAC;IACH;;IAEA;IACAJ,WAAW,CAACgB,UAAU,CAACZ,UAAU,CAAC,CAACe,IAAI,CAACT,OAAO,EAAEE,QAAQ,EAAED,UAAU,CAAC;EACxE,CAAC;EACDS,oBAAoBA,CAAChB,UAAkB,EAAE;IACvC,IAAIH,iBAAiB,EAAE;MACrBA,iBAAiB,GAAG,KAAK;MACzB;IACF;IAEAD,WAAW,CAACoB,oBAAoB,CAAChB,UAAU,CAAC;EAC9C,CAAC;EACDI,uBAAuBA,CAACJ,UAAkB,EAAEiB,SAAiB,EAAE;IAC7DrB,WAAW,CAACgB,UAAU,CAACZ,UAAU,CAAC,CAACkB,gBAAgB,CAACD,SAAS,CAAC;EAChE,CAAC;EACDE,0BAA0BA,CAACnB,UAAkB,EAAEiB,SAA0B,EAAE;IACzErB,WAAW,CAACgB,UAAU,CAACZ,UAAU,CAAC,CAACoB,mBAAmB,CAACH,SAAS,CAAC;EACnE,CAAC;EACDI,qBAAqBA,CAACrB,UAAkB,EAAE;IACxC,OAAOJ,WAAW,CAACgB,UAAU,CAACZ,UAAU,CAAC;EAC3C,CAAC;EACDsB,kBAAkBA,CAACtB,UAAkB,EAAE;IACrC,IAAIH,iBAAiB,EAAE;MACrBA,iBAAiB,GAAG,KAAK;MACzB;IACF;IAEAD,WAAW,CAAC0B,kBAAkB,CAACtB,UAAU,CAAC;EAC5C,CAAC;EACDuB,kBAAkBA,CAACvB,UAAkB,EAAEwB,SAA2B,EAAE;IAClE,IAAI,CAAC5B,WAAW,CAAC6B,UAAU,CAACzB,UAAU,CAAC,EAAE;MACvC;IACF;IACAL,kBAAkB,CAAC+B,QAAQ,CAACC,qBAAqB,CAC/C/B,WAAW,CAACgB,UAAU,CAACZ,UAAU,CAAC,EAClCwB,SACF,CAAC;EACH,CAAC;EACD;EACAI,eAAeA,CAAA,EAAG,CAAC,CAAC;EACpBC,wBAAwBA,CAAA,EAAG;IACzB;IACA,OAAO,IAAI;EACb;AACF,CAAC","ignoreList":[]}
|
|
@@ -5,14 +5,18 @@ import { Animated, Platform, StyleSheet } from 'react-native';
|
|
|
5
5
|
import createNativeWrapper from '../handlers/createNativeWrapper';
|
|
6
6
|
import { State } from '../State';
|
|
7
7
|
import GestureHandlerButton from './GestureHandlerButton';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const LegacyRawButtonInner = createNativeWrapper(GestureHandlerButton, {
|
|
10
|
+
shouldCancelWhenOutside: false,
|
|
11
|
+
shouldActivateOnStart: Platform.OS === 'web'
|
|
12
|
+
});
|
|
8
13
|
|
|
9
14
|
/**
|
|
10
15
|
* @deprecated use `RawButton` instead
|
|
11
16
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
shouldActivateOnStart: Platform.OS === 'web'
|
|
17
|
+
export const LegacyRawButton = props => /*#__PURE__*/_jsx(LegacyRawButtonInner, {
|
|
18
|
+
...props,
|
|
19
|
+
needsOffscreenAlphaCompositing: true
|
|
16
20
|
});
|
|
17
21
|
class InnerBaseButton extends React.Component {
|
|
18
22
|
static defaultProps = {
|
|
@@ -221,5 +225,12 @@ export const LegacyBorderlessButton = ({
|
|
|
221
225
|
innerRef: ref,
|
|
222
226
|
...props
|
|
223
227
|
});
|
|
224
|
-
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* @deprecated use `PureNativeButton` instead
|
|
231
|
+
*/
|
|
232
|
+
export const LegacyPureNativeButton = props => /*#__PURE__*/_jsx(GestureHandlerButton, {
|
|
233
|
+
...props,
|
|
234
|
+
needsOffscreenAlphaCompositing: true
|
|
235
|
+
});
|
|
225
236
|
//# sourceMappingURL=GestureButtons.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Animated","Platform","StyleSheet","createNativeWrapper","State","GestureHandlerButton","jsx","_jsx","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["React","Animated","Platform","StyleSheet","createNativeWrapper","State","GestureHandlerButton","jsx","_jsx","jsxs","_jsxs","LegacyRawButtonInner","shouldCancelWhenOutside","shouldActivateOnStart","OS","LegacyRawButton","props","needsOffscreenAlphaCompositing","InnerBaseButton","Component","defaultProps","delayLongPress","constructor","lastIsPressed","longPressDetected","handleEvent","nativeEvent","state","oldState","pointerInside","isPressed","BEGAN","ACTIVE","onActiveStateChange","CANCELLED","onPress","onLongPress","longPressTimeout","setTimeout","undefined","clearTimeout","END","FAILED","onHandlerStateChange","e","onGestureEvent","render","rippleColor","style","rest","ref","innerRef","cursor","AnimatedInnerBaseButton","createAnimatedComponent","LegacyBaseButton","AnimatedBaseButton","btnStyles","create","underlay","position","left","right","bottom","top","InnerRectButton","activeOpacity","underlayColor","opacity","Value","active","setValue","children","resolvedStyle","flatten","View","backgroundColor","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","LegacyRectButton","InnerBorderlessButton","borderless","LegacyBorderlessButton","LegacyPureNativeButton"],"sourceRoot":"../../../src","sources":["components/GestureButtons.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAE7D,OAAOC,mBAAmB,MAAM,iCAAiC;AAMjE,SAASC,KAAK,QAAQ,UAAU;AAUhC,OAAOC,oBAAoB,MAA4B,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMhF,MAAMC,oBAAoB,GAAGP,mBAAmB,CAC9CE,oBAAoB,EACpB;EACEM,uBAAuB,EAAE,KAAK;EAC9BC,qBAAqB,EAAEX,QAAQ,CAACY,EAAE,KAAK;AACzC,CACF,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAC1BC,KAGC,iBACER,IAAA,CAACG,oBAAoB;EAAA,GAAKK,KAAK;EAAEC,8BAA8B;AAAA,CAAE,CAAC;AAEvE,MAAMC,eAAe,SAASlB,KAAK,CAACmB,SAAS,CAAyB;EACpE,OAAOC,YAAY,GAAG;IACpBC,cAAc,EAAE;EAClB,CAAC;EAMDC,WAAWA,CAACN,KAA6B,EAAE;IACzC,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACO,aAAa,GAAG,KAAK;IAC1B,IAAI,CAACC,iBAAiB,GAAG,KAAK;EAChC;EAEQC,WAAW,GAAGA,CAAC;IACrBC;EACwD,CAAC,KAAK;IAC9D,MAAM;MAAEC,KAAK;MAAEC,QAAQ;MAAEC;IAAc,CAAC,GAAGH,WAAW;IACtD,MAAMI,SAAS,GACbD,aAAa,KAAKF,KAAK,KAAKtB,KAAK,CAAC0B,KAAK,IAAIJ,KAAK,KAAKtB,KAAK,CAAC2B,MAAM,CAAC;IAEpE,IAAIF,SAAS,KAAK,IAAI,CAACP,aAAa,IAAI,IAAI,CAACP,KAAK,CAACiB,mBAAmB,EAAE;MACtE,IAAI,CAACjB,KAAK,CAACiB,mBAAmB,CAACH,SAAS,CAAC;IAC3C;IAEA,IACE,CAAC,IAAI,CAACN,iBAAiB,IACvBI,QAAQ,KAAKvB,KAAK,CAAC2B,MAAM,IACzBL,KAAK,KAAKtB,KAAK,CAAC6B,SAAS,IACzB,IAAI,CAACX,aAAa,IAClB,IAAI,CAACP,KAAK,CAACmB,OAAO,EAClB;MACA,IAAI,CAACnB,KAAK,CAACmB,OAAO,CAACN,aAAa,CAAC;IACnC;IAEA,IAAI,CAAC,IAAI,CAACN,aAAa,IAAII,KAAK,KAAKtB,KAAK,CAAC0B,KAAK,IAAIF,aAAa,EAAE;MACjE,IAAI,CAACL,iBAAiB,GAAG,KAAK;MAC9B,IAAI,IAAI,CAACR,KAAK,CAACoB,WAAW,EAAE;QAC1B,IAAI,CAACC,gBAAgB,GAAGC,UAAU,CAChC,IAAI,CAACF,WAAW,EAChB,IAAI,CAACpB,KAAK,CAACK,cACb,CAAC;MACH;IACF,CAAC,MAAM;IACL;IACAM,KAAK,KAAKtB,KAAK,CAAC2B,MAAM,IACtB,CAACH,aAAa,IACd,IAAI,CAACQ,gBAAgB,KAAKE,SAAS,EACnC;MACAC,YAAY,CAAC,IAAI,CAACH,gBAAgB,CAAC;MACnC,IAAI,CAACA,gBAAgB,GAAGE,SAAS;IACnC,CAAC,MAAM;IACL;IACA,IAAI,CAACF,gBAAgB,KAAKE,SAAS,KAClCZ,KAAK,KAAKtB,KAAK,CAACoC,GAAG,IAClBd,KAAK,KAAKtB,KAAK,CAAC6B,SAAS,IACzBP,KAAK,KAAKtB,KAAK,CAACqC,MAAM,CAAC,EACzB;MACAF,YAAY,CAAC,IAAI,CAACH,gBAAgB,CAAC;MACnC,IAAI,CAACA,gBAAgB,GAAGE,SAAS;IACnC;IAEA,IAAI,CAAChB,aAAa,GAAGO,SAAS;EAChC,CAAC;EAEOM,WAAW,GAAGA,CAAA,KAAM;IAC1B,IAAI,CAACZ,iBAAiB,GAAG,IAAI;IAC7B,IAAI,CAACR,KAAK,CAACoB,WAAW,GAAG,CAAC;EAC5B,CAAC;;EAED;EACA;EACA;EACA;EACQO,oBAAoB,GAC1BC,CAA2D,IACxD;IACH,IAAI,CAAC5B,KAAK,CAAC2B,oBAAoB,GAAGC,CAAC,CAAC;IACpC,IAAI,CAACnB,WAAW,CAACmB,CAAC,CAAC;EACrB,CAAC;EAEOC,cAAc,GACpBD,CAAgD,IAC7C;IACH,IAAI,CAAC5B,KAAK,CAAC6B,cAAc,GAAGD,CAAC,CAAC;IAC9B,IAAI,CAACnB,WAAW,CACdmB,CACF,CAAC,CAAC,CAAC;EACL,CAAC;EAEQE,MAAMA,CAAA,EAAG;IAChB,MAAM;MAAEC,WAAW;MAAEC,KAAK;MAAE,GAAGC;IAAK,CAAC,GAAG,IAAI,CAACjC,KAAK;IAElD,oBACER,IAAA,CAACO,eAAe;MACdmC,GAAG,EAAE,IAAI,CAAClC,KAAK,CAACmC,QAAS;MACzBJ,WAAW,EAAEA,WAAY;MACzBC,KAAK,EAAE,CAACA,KAAK,EAAE9C,QAAQ,CAACY,EAAE,KAAK,KAAK,IAAI;QAAEsC,MAAM,EAAEb;MAAU,CAAC,CAAE;MAAA,GAC3DU,IAAI;MACRJ,cAAc,EAAE,IAAI,CAACA,cAAe;MACpCF,oBAAoB,EAAE,IAAI,CAACA;IAAqB,CACjD,CAAC;EAEN;AACF;AAEA,MAAMU,uBAAuB,GAC3BpD,QAAQ,CAACqD,uBAAuB,CAAyBpC,eAAe,CAAC;;AAE3E;AACA;AACA;AACA,OAAO,MAAMqC,gBAAgB,GAAGA,CAAC;EAC/BL,GAAG;EACH,GAAGlC;AAGL,CAAC,kBAAKR,IAAA,CAACU,eAAe;EAACiC,QAAQ,EAAED,GAAI;EAAA,GAAKlC;AAAK,CAAG,CAAC;AAEnD,MAAMwC,kBAAkB,GAAGA,CAAC;EAC1BN,GAAG;EACH,GAAGlC;AAGL,CAAC,kBAAKR,IAAA,CAAC6C,uBAAuB;EAACF,QAAQ,EAAED,GAAI;EAAA,GAAKlC;AAAK,CAAG,CAAC;AAE3D,MAAMyC,SAAS,GAAGtD,UAAU,CAACuD,MAAM,CAAC;EAClCC,QAAQ,EAAE;IACRC,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,GAAG,EAAE;EACP;AACF,CAAC,CAAC;AAEF,MAAMC,eAAe,SAASjE,KAAK,CAACmB,SAAS,CAAyB;EACpE,OAAOC,YAAY,GAAG;IACpB8C,aAAa,EAAE,KAAK;IACpBC,aAAa,EAAE;EACjB,CAAC;EAID7C,WAAWA,CAACN,KAA6B,EAAE;IACzC,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACoD,OAAO,GAAG,IAAInE,QAAQ,CAACoE,KAAK,CAAC,CAAC,CAAC;EACtC;EAEQpC,mBAAmB,GAAIqC,MAAe,IAAK;IACjD,IAAIpE,QAAQ,CAACY,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAI,CAACsD,OAAO,CAACG,QAAQ,CAACD,MAAM,GAAG,IAAI,CAACtD,KAAK,CAACkD,aAAa,GAAI,CAAC,CAAC;IAC/D;IAEA,IAAI,CAAClD,KAAK,CAACiB,mBAAmB,GAAGqC,MAAM,CAAC;EAC1C,CAAC;EAEQxB,MAAMA,CAAA,EAAG;IAChB;IACA;IACA,MAAM;MAAE0B,QAAQ;MAAExB,KAAK;MAAEkB,aAAa;MAAE,GAAGjB;IAAK,CAAC,GAAG,IAAI,CAACjC,KAAK;IAE9D,MAAMyD,aAAa,GAAGtE,UAAU,CAACuE,OAAO,CAAC1B,KAAK,CAAC,IAAI,CAAC,CAAC;IAErD,oBACEtC,KAAA,CAAC6C,gBAAgB;MAAA,GACXN,IAAI;MACRC,GAAG,EAAE,IAAI,CAAClC,KAAK,CAACmC,QAAS;MACzBH,KAAK,EAAEyB,aAAc;MACrBxC,mBAAmB,EAAE,IAAI,CAACA,mBAAoB;MAAAuC,QAAA,gBAC9ChE,IAAA,CAACP,QAAQ,CAAC0E,IAAI;QACZ3B,KAAK,EAAE,CACLS,SAAS,CAACE,QAAQ,EAClB;UACES,OAAO,EAAE,IAAI,CAACA,OAAO;UACrBQ,eAAe,EAAE,IAAI,CAAC5D,KAAK,CAACmD,aAAa;UACzCU,YAAY,EAAEJ,aAAa,CAACI,YAAY;UACxCC,mBAAmB,EAAEL,aAAa,CAACK,mBAAmB;UACtDC,oBAAoB,EAAEN,aAAa,CAACM,oBAAoB;UACxDC,sBAAsB,EAAEP,aAAa,CAACO,sBAAsB;UAC5DC,uBAAuB,EAAER,aAAa,CAACQ;QACzC,CAAC;MACD,CACH,CAAC,EACDT,QAAQ;IAAA,CACO,CAAC;EAEvB;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMU,gBAAgB,GAAGA,CAAC;EAC/BhC,GAAG;EACH,GAAGlC;AAGL,CAAC,kBAAKR,IAAA,CAACyD,eAAe;EAACd,QAAQ,EAAED,GAAI;EAAA,GAAKlC;AAAK,CAAG,CAAC;AAEnD,MAAMmE,qBAAqB,SAASnF,KAAK,CAACmB,SAAS,CAA+B;EAChF,OAAOC,YAAY,GAAG;IACpB8C,aAAa,EAAE,GAAG;IAClBkB,UAAU,EAAE;EACd,CAAC;EAID9D,WAAWA,CAACN,KAAmC,EAAE;IAC/C,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACoD,OAAO,GAAG,IAAInE,QAAQ,CAACoE,KAAK,CAAC,CAAC,CAAC;EACtC;EAEQpC,mBAAmB,GAAIqC,MAAe,IAAK;IACjD,IAAIpE,QAAQ,CAACY,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAI,CAACsD,OAAO,CAACG,QAAQ,CAACD,MAAM,GAAG,IAAI,CAACtD,KAAK,CAACkD,aAAa,GAAI,CAAC,CAAC;IAC/D;IAEA,IAAI,CAAClD,KAAK,CAACiB,mBAAmB,GAAGqC,MAAM,CAAC;EAC1C,CAAC;EAEQxB,MAAMA,CAAA,EAAG;IAChB;IACA;IACA,MAAM;MAAE0B,QAAQ;MAAExB,KAAK;MAAEG,QAAQ;MAAEe,aAAa;MAAE,GAAGjB;IAAK,CAAC,GAAG,IAAI,CAACjC,KAAK;IAExE,oBACER,IAAA,CAACgD,kBAAkB;MAAA,GACbP,IAAI;MACRE,QAAQ,EAAEA,QAAS;MACnBlB,mBAAmB,EAAE,IAAI,CAACA,mBAAoB;MAC9Ce,KAAK,EAAE,CAACA,KAAK,EAAE9C,QAAQ,CAACY,EAAE,KAAK,KAAK,IAAI;QAAEsD,OAAO,EAAE,IAAI,CAACA;MAAQ,CAAC,CAAE;MAAAI,QAAA,EAClEA;IAAQ,CACS,CAAC;EAEzB;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMa,sBAAsB,GAAGA,CAAC;EACrCnC,GAAG;EACH,GAAGlC;AAGL,CAAC,kBAAKR,IAAA,CAAC2E,qBAAqB;EAAChC,QAAQ,EAAED,GAAI;EAAA,GAAKlC;AAAK,CAAG,CAAC;;AAEzD;AACA;AACA;AACA,OAAO,MAAMsE,sBAAsB,GACjCtE,KAA0D,iBACvDR,IAAA,CAACF,oBAAoB;EAAA,GAAKU,KAAK;EAAEC,8BAA8B;AAAA,CAAE,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RNGestureHandlerButtonNativeComponent","ButtonComponent"],"sourceRoot":"../../../src","sources":["components/GestureHandlerButton.tsx"],"mappings":";;AAUA,OAAOA,qCAAqC,MAAM,gDAAgD;
|
|
1
|
+
{"version":3,"names":["RNGestureHandlerButtonNativeComponent","ButtonComponent"],"sourceRoot":"../../../src","sources":["components/GestureHandlerButton.tsx"],"mappings":";;AAUA,OAAOA,qCAAqC,MAAM,gDAAgD;AAyMlG,OAAO,MAAMC,eAAe,GAC1BD,qCAAmE;AAErE,eAAeC,eAAe","ignoreList":[]}
|