1#import "RNGestureHandlerButtonManager.h"
2#import "RNGestureHandlerButton.h"
3
4@implementation RNGestureHandlerButtonManager
5
6RCT_EXPORT_MODULE(RNGestureHandlerButton)
7
8RCT_CUSTOM_VIEW_PROPERTY(enabled, BOOL, RNGestureHandlerButton)
9{
10  view.userEnabled = json == nil ? YES : [RCTConvert BOOL:json];
11}
12#if !TARGET_OS_TV
13RCT_CUSTOM_VIEW_PROPERTY(exclusive, BOOL, RNGestureHandlerButton)
14{
15  [view setExclusiveTouch:json == nil ? YES : [RCTConvert BOOL:json]];
16}
17#endif
18RCT_CUSTOM_VIEW_PROPERTY(hitSlop, UIEdgeInsets, RNGestureHandlerButton)
19{
20  if (json) {
21    UIEdgeInsets hitSlopInsets = [RCTConvert UIEdgeInsets:json];
22    view.hitTestEdgeInsets =
23        UIEdgeInsetsMake(-hitSlopInsets.top, -hitSlopInsets.left, -hitSlopInsets.bottom, -hitSlopInsets.right);
24  } else {
25    view.hitTestEdgeInsets = defaultView.hitTestEdgeInsets;
26  }
27}
28
29- (UIView *)view
30{
31  return [RNGestureHandlerButton new];
32}
33
34@end
35