-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit eaacd28
Showing
6 changed files
with
360 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# react-native-gesture-handler | ||
|
||
Haxe externs for [react-native-gesture-handler](https://github.com/kmagiera/react-native-gesture-handler) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"name": "react-native-gesture-handler", | ||
"license": "MIT", | ||
"tags": [ | ||
"react", | ||
"native", | ||
"gesture" | ||
], | ||
"classPath": "src", | ||
"contributors": [ | ||
"zabojad" | ||
], | ||
"releasenote": "Initial release", | ||
"version": "1.0.0", | ||
"url": "https://github.com/haxe-react/react-native-gesture-handler", | ||
"dependencies": { | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,149 @@ | ||
package react.native.gesturehandler; | ||
|
||
@:enum | ||
abstract Directions(Int) to Int { | ||
var RIGHT = 1; | ||
var LEFT = 2; | ||
var UP = 4; | ||
var DOWN = 8; | ||
} | ||
|
||
@:enum | ||
abstract State(Int) to Int { | ||
var UNDETERMINED = 0; | ||
var FAILED = 1; | ||
var BEGAN = 2; | ||
var CANCELLED = 3; | ||
var ACTIVE = 4; | ||
var END = 5; | ||
} | ||
|
||
/* STATE CHANGE EVENTS */ | ||
|
||
typedef GestureHandlerGestureEventNativeEvent = { | ||
handlerTag: Float, | ||
numberOfPointers: Float, | ||
state: State, | ||
} | ||
|
||
typedef GestureHandlerStateChangeNativeEvent = { | ||
handlerTag: Float, | ||
numberOfPointers: Float, | ||
state: State, | ||
oldState: State, | ||
} | ||
|
||
class GestureHandlerStateChangeEvent<T:(GestureHandlerStateChangeNativeEvent)> { | ||
public var nativeEvent: T; | ||
} | ||
|
||
|
||
class GestureHandlerGestureEvent<T:(GestureHandlerGestureEventNativeEvent)> { | ||
public var nativeEvent: T; | ||
} | ||
|
||
class GestureHandlerGestureNativeEvent extends GestureHandlerGestureEvent<GestureHandlerGestureEventNativeEvent> {} | ||
|
||
|
||
typedef NativeViewGestureHandlerStateChangeEventExtra = { | ||
> GestureHandlerStateChangeNativeEvent, | ||
pointerInside: Bool, | ||
} | ||
|
||
typedef NativeViewGestureHandlerGestureEventExtra = { | ||
> GestureHandlerGestureEventNativeEvent, | ||
pointerInside: Bool, | ||
} | ||
|
||
class NativeViewGestureHandlerStateChangeEvent extends GestureHandlerStateChangeEvent<NativeViewGestureHandlerStateChangeEventExtra> {} | ||
|
||
class NativeViewGestureHandlerGestureEvent extends GestureHandlerGestureEvent<NativeViewGestureHandlerGestureEventExtra> {} | ||
|
||
typedef TapGestureHandlerEventExtra = { | ||
> GestureHandlerStateChangeNativeEvent, | ||
x: Float, | ||
y: Float, | ||
absoluteX: Float, | ||
absoluteY: Float, | ||
} | ||
|
||
typedef ForceTouchGestureHandlerEventExtra = { | ||
> GestureHandlerStateChangeNativeEvent, | ||
x: Float, | ||
y: Float, | ||
absoluteX: Float, | ||
absoluteY: Float, | ||
force: Float, | ||
} | ||
|
||
class TapGestureHandlerStateChangeEvent extends GestureHandlerStateChangeEvent<TapGestureHandlerEventExtra> {} | ||
|
||
class TapGestureHandlerGestureEvent extends GestureHandlerStateChangeEvent<TapGestureHandlerEventExtra> {} | ||
|
||
class ForceTouchGestureHandlerGestureEvent extends GestureHandlerStateChangeEvent<ForceTouchGestureHandlerEventExtra> {} | ||
|
||
class LongPressGestureHandlerStateChangeEvent extends GestureHandlerStateChangeEvent<LongPressGestureHandlerEventExtra> {} | ||
|
||
class ForceTouchGestureHandlerStateChangeEvent extends GestureHandlerStateChangeEvent<ForceTouchGestureHandlerEventExtra> {} | ||
|
||
typedef LongPressGestureHandlerEventExtra = { | ||
> GestureHandlerStateChangeNativeEvent, | ||
x: Float, | ||
y: Float, | ||
absoluteX: Float, | ||
absoluteY: Float, | ||
} | ||
|
||
typedef PanGestureHandlerEventExtra = { | ||
> GestureHandlerStateChangeNativeEvent, | ||
x: Float, | ||
y: Float, | ||
absoluteX: Float, | ||
absoluteY: Float, | ||
translationX: Float, | ||
translationY: Float, | ||
velocityX: Float, | ||
velocityY: Float, | ||
} | ||
|
||
class PanGestureHandlerStateChangeEvent extends GestureHandlerStateChangeEvent<PanGestureHandlerEventExtra> {} | ||
|
||
class PanGestureHandlerGestureEvent extends GestureHandlerGestureEvent<PanGestureHandlerEventExtra> {} | ||
|
||
|
||
typedef PinchGestureHandlerEventExtra = { | ||
> GestureHandlerStateChangeNativeEvent, | ||
scale: Float, | ||
focalX: Float, | ||
focalY: Float, | ||
velocity: Float, | ||
} | ||
|
||
class PinchGestureHandlerStateChangeEvent extends GestureHandlerStateChangeEvent<PinchGestureHandlerEventExtra> {} | ||
class PinchGestureHandlerGestureEvent extends GestureHandlerGestureEvent<PinchGestureHandlerEventExtra> {} | ||
|
||
typedef RotationGestureHandlerEventExtra = { | ||
> GestureHandlerStateChangeNativeEvent, | ||
rotation: Float, | ||
anchorX: Float, | ||
anchorY: Float, | ||
velocity: Float, | ||
} | ||
|
||
class RotationGestureHandlerStateChangeEvent extends GestureHandlerStateChangeEvent<RotationGestureHandlerEventExtra> {} | ||
class RotationGestureHandlerGestureEvent extends GestureHandlerGestureEvent<RotationGestureHandlerEventExtra> {} | ||
|
||
|
||
typedef FlingGestureHandlerEventExtra = { | ||
> GestureHandlerStateChangeNativeEvent, | ||
x: Float, | ||
y: Float, | ||
absoluteX: Float, | ||
absoluteY: Float, | ||
} | ||
|
||
class FlingGestureHandlerStateChangeEvent extends GestureHandlerStateChangeEvent<FlingGestureHandlerEventExtra> {} | ||
class FlingGestureHandlerGestureEvent extends GestureHandlerGestureEvent<GestureHandlerGestureEventNativeEvent> {} | ||
|
||
|
||
//TODO complete missing classes.. I think there's more |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
package react.native.gesturehandler; | ||
|
||
import haxe.extern.EitherType; | ||
import react.ReactRef; | ||
import react.ReactComponent; | ||
import react.native.component.props.ViewStyle; | ||
import react.native.gesturehandler.GestureEvent; | ||
|
||
private typedef EitherData<T> = EitherType<T, Array<T>>; | ||
|
||
/* GESTURE HANDLERS PROPERTIES */ | ||
|
||
typedef GestureHandlerProperties = { | ||
? id: String, | ||
? enabled: Bool, | ||
? waitFor: ReactRef<EitherData<Any>>, | ||
? simultaneousHandlers: ReactRef<EitherData<Any>>, | ||
? shouldCancelWhenOutside: Bool, | ||
? hitSlop: EitherType<Float, { | ||
? left: Float, | ||
? right: Float, | ||
? top: Float, | ||
? bottom: Float, | ||
? vertical: Float, | ||
? horizontal: Float, | ||
}>, | ||
} | ||
|
||
typedef NativeViewGestureHandlerProperties = { | ||
> GestureHandlerProperties, | ||
? shouldActivateOnStart: Bool, | ||
? disallowInterruption: Bool, | ||
? onGestureEvent: NativeViewGestureHandlerGestureEvent -> Void, | ||
? onHandlerStateChange: NativeViewGestureHandlerStateChangeEvent -> Void, | ||
} | ||
|
||
typedef TapGestureHandlerProperties = { | ||
> GestureHandlerProperties, | ||
? minPointers: Float, | ||
? maxDurationMs: Float, | ||
? maxDelayMs: Float, | ||
? FloatOfTaps: Float, | ||
? maxDeltaX: Float, | ||
? maxDeltaY: Float, | ||
? maxDist: Float, | ||
? onGestureEvent: TapGestureHandlerGestureEvent -> Void, | ||
? onHandlerStateChange: TapGestureHandlerStateChangeEvent -> Void, | ||
} | ||
|
||
typedef ForceTouchGestureHandlerProperties = { | ||
> GestureHandlerProperties, | ||
? minForce: Float, | ||
? maxForce: Float, | ||
? feedbackOnActivation: Bool, | ||
? onGestureEvent: ForceTouchGestureHandlerGestureEvent -> Void, | ||
? onHandlerStateChange: ForceTouchGestureHandlerStateChangeEvent -> Void, | ||
} | ||
|
||
typedef LongPressGestureHandlerProperties = { | ||
> GestureHandlerProperties, | ||
? minDurationMs: Float, | ||
? maxDist: Float, | ||
? onGestureEvent: GestureHandlerGestureNativeEvent -> Void, | ||
? onHandlerStateChange: LongPressGestureHandlerStateChangeEvent -> Void, | ||
} | ||
|
||
typedef PanGestureHandlerProperties = { | ||
> GestureHandlerProperties, | ||
// @deprecated use activeOffsetX | ||
? minDeltaX: Float, | ||
// @deprecated use activeOffsetY | ||
? minDeltaY: Float, | ||
// @deprecated use failOffsetX | ||
? maxDeltaX: Float, | ||
// @deprecated use failOffsetY | ||
? maxDeltaY: Float, | ||
// @deprecated use activeOffsetX | ||
? minOffsetX: Float, | ||
// @deprecated use failOffsetY | ||
? minOffsetY: Float, | ||
? activeOffsetY: EitherData<Float>, | ||
? activeOffsetX: EitherData<Float>, | ||
? failOffsetY: EitherData<Float>, | ||
? failOffsetX: EitherData<Float>, | ||
? minDist: Float, | ||
? minVelocity: Float, | ||
? minVelocityX: Float, | ||
? minVelocityY: Float, | ||
? minPointers: Float, | ||
? maxPointers: Float, | ||
? avgTouches: Bool, | ||
? onGestureEvent: PanGestureHandlerGestureEvent -> Void, | ||
? onHandlerStateChange: PanGestureHandlerStateChangeEvent -> Void, | ||
} | ||
|
||
typedef PinchGestureHandlerProperties = { | ||
> GestureHandlerProperties, | ||
? onGestureEvent: PinchGestureHandlerGestureEvent -> Void, | ||
? onHandlerStateChange: PinchGestureHandlerStateChangeEvent -> Void, | ||
} | ||
|
||
typedef RotationGestureHandlerProperties = { | ||
> GestureHandlerProperties, | ||
? onGestureEvent: RotationGestureHandlerGestureEvent -> Void, | ||
? onHandlerStateChange: RotationGestureHandlerStateChangeEvent->Void, | ||
} | ||
|
||
typedef FlingGestureHandlerProperties = { | ||
> GestureHandlerProperties, | ||
? direction: Float, | ||
? FloatOfPointers: Float, | ||
? onGestureEvent: FlingGestureHandlerGestureEvent -> Void, | ||
? onHandlerStateChange: FlingGestureHandlerStateChangeEvent -> Void, | ||
} | ||
|
||
// GESTURE HANDLERS CLASSES | ||
|
||
@:jsRequire('react-native-gesture-handler', 'GestureHandler') | ||
extern class NativeViewGestureHandler extends ReactComponentOfProps<NativeViewGestureHandlerProperties> {} | ||
|
||
@:jsRequire('react-native-gesture-handler', 'GestureHandler') | ||
extern class TapGestureHandler extends ReactComponentOfProps<TapGestureHandlerProperties> {} | ||
|
||
@:jsRequire('react-native-gesture-handler', 'GestureHandler') | ||
extern class LongPressGestureHandler extends ReactComponentOfProps<LongPressGestureHandlerProperties> {} | ||
|
||
@:jsRequire('react-native-gesture-handler', 'GestureHandler') | ||
extern class PanGestureHandler extends ReactComponentOfProps<PanGestureHandlerProperties> {} | ||
|
||
@:jsRequire('react-native-gesture-handler', 'GestureHandler') | ||
extern class PinchGestureHandler extends ReactComponentOfProps<PinchGestureHandlerProperties> {} | ||
|
||
@:jsRequire('react-native-gesture-handler', 'GestureHandler') | ||
extern class RotationGestureHandler extends ReactComponentOfProps<RotationGestureHandlerProperties> {} | ||
|
||
@:jsRequire('react-native-gesture-handler', 'GestureHandler') | ||
extern class FlingGestureHandler extends ReactComponentOfProps<FlingGestureHandlerProperties> {} | ||
|
||
@:jsRequire('react-native-gesture-handler', 'GestureHandler') | ||
extern class ForceTouchGestureHandler extends ReactComponentOfProps<ForceTouchGestureHandlerProperties> {} | ||
|
||
|
||
@:jsRequire('react-native-gesture-handler', 'gestureHandlerRootHOC') | ||
extern class GestureHandler | ||
{ | ||
@:selfCall | ||
public static function gestureHandlerRootHOC(component: react.ReactType, ?containerStyles: ViewStyle): react.ReactType; | ||
} | ||
|
||
//@:selfCall | ||
// public static function call(component: react.ReactType, config: NativeViewGestureHandlerProperties): react.ReactType; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package react.native.gesturehandler; | ||
|
||
import react.ReactComponent; | ||
import react.native.api.Animated; | ||
import react.native.api.Animated.AnimatedValue; | ||
|
||
typedef SwipeableProps = { | ||
?friction:Float, | ||
?leftThreshold:Float, | ||
?rightThreshold:Float, | ||
?overshootLeft:Bool, | ||
?overshootRight:Bool, | ||
?overshootFriction:Float, | ||
?onSwipeableLeftOpen:Void->Void, | ||
?onSwipeableRightOpen:Dynamic->Void, | ||
?onSwipeableOpen:Void->Void, | ||
?onSwipeableClose:Void->Void, | ||
?onSwipeableLeftWillOpen:Void->Void, | ||
?onSwipeableRightWillOpen:Void->Void, | ||
?onSwipeableWillOpen:Void->Void, | ||
?onSwipeableWillClose:Void->Void, | ||
?renderLeftActions:AnimatedValue->AnimatedValue->react.ReactFragment,//progress, drag | ||
?renderRightActions:AnimatedValue->AnimatedValue->react.ReactFragment,//progress, drag | ||
?useNativeAnimations:Bool, | ||
} | ||
|
||
@:jsRequire('react-native-gesture-handler/Swipeable', 'default') | ||
extern class Swipeable extends ReactComponentOfProps<SwipeableProps> { | ||
function close():Void; | ||
function openLeft():Void; | ||
function openRight():Void; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#!/bin/sh | ||
|
||
zip -r temp.zip haxelib.json src README.md | ||
haxelib submit temp.zip | ||
rm temp.zip |