@hanzogui/native 4.4.0 → 7.3.0
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/dist/cjs/gestureState.cjs +46 -26
- package/dist/cjs/gestureState.native.js +50 -29
- package/dist/cjs/gestureState.native.js.map +1 -1
- package/dist/cjs/setup-gesture-handler.cjs +3 -3
- package/dist/cjs/setup-gesture-handler.native.js +3 -3
- package/dist/cjs/setup-gesture-handler.native.js.map +1 -1
- package/dist/cjs/setup-safe-area.cjs +2 -27
- package/dist/cjs/setup-safe-area.native.js +8 -16
- package/dist/cjs/setup-safe-area.native.js.map +1 -1
- package/dist/esm/PressBoundary.mjs.map +1 -1
- package/dist/esm/gestureState.mjs +46 -26
- package/dist/esm/gestureState.mjs.map +1 -1
- package/dist/esm/gestureState.native.js +50 -29
- package/dist/esm/gestureState.native.js.map +1 -1
- package/dist/esm/setup-gesture-handler.mjs +3 -3
- package/dist/esm/setup-gesture-handler.mjs.map +1 -1
- package/dist/esm/setup-gesture-handler.native.js +3 -3
- package/dist/esm/setup-gesture-handler.native.js.map +1 -1
- package/dist/esm/setup-safe-area.mjs +1 -26
- package/dist/esm/setup-safe-area.mjs.map +1 -1
- package/dist/esm/setup-safe-area.native.js +8 -16
- package/dist/esm/setup-safe-area.native.js.map +1 -1
- package/package.json +21 -7
- package/src/PressBoundary.tsx +1 -1
- package/src/gestureState.ts +74 -36
- package/src/index.ts +1 -1
- package/src/setup-burnt.ts +1 -1
- package/src/setup-gesture-handler.ts +5 -5
- package/src/setup-keyboard-controller.ts +1 -1
- package/src/setup-safe-area.ts +2 -2
- package/src/setup-worklets.ts +1 -1
- package/src/setup-zeego.ts +1 -1
- package/types/PressBoundary.d.ts +1 -1
- package/types/PressBoundary.d.ts.map +11 -0
- package/types/burntState.d.ts.map +11 -0
- package/types/components.d.ts.map +11 -0
- package/types/gesture-handler.d.ts.map +11 -0
- package/types/gestureState.d.ts.map +11 -0
- package/types/globalState.d.ts.map +11 -0
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +11 -0
- package/types/keyboardControllerState.d.ts.map +11 -0
- package/types/linearGradientState.d.ts.map +11 -0
- package/types/nativeMenuContext.d.ts.map +11 -0
- package/types/portalState.d.ts.map +11 -0
- package/types/safeAreaState.d.ts.map +11 -0
- package/types/setup-burnt.d.ts.map +11 -0
- package/types/setup-expo-linear-gradient.d.ts.map +11 -0
- package/types/setup-gesture-handler.d.ts +1 -1
- package/types/setup-gesture-handler.d.ts.map +11 -0
- package/types/setup-keyboard-controller.d.ts.map +11 -0
- package/types/setup-keyboard-controller.web.d.ts.map +11 -0
- package/types/setup-safe-area.d.ts.map +11 -0
- package/types/setup-teleport.d.ts.map +11 -0
- package/types/setup-worklets.d.ts.map +11 -0
- package/types/setup-zeego.d.ts.map +11 -0
- package/types/types.d.ts.map +11 -0
- package/types/workletsState.d.ts.map +11 -0
- package/types/zeegoState.d.ts.map +11 -0
- package/gesture-handler/index.cjs +0 -1
- package/gesture-handler/index.js +0 -1
- package/gesture-handler/index.native.cjs +0 -1
- package/gesture-handler/index.native.js +0 -1
- package/setup-burnt/index.cjs +0 -2
- package/setup-burnt/index.js +0 -2
- package/setup-burnt/index.native.cjs +0 -2
- package/setup-burnt/index.native.js +0 -2
- package/setup-expo-linear-gradient/index.cjs +0 -2
- package/setup-expo-linear-gradient/index.js +0 -2
- package/setup-expo-linear-gradient/index.native.cjs +0 -2
- package/setup-expo-linear-gradient/index.native.js +0 -2
- package/setup-gesture-handler/index.cjs +0 -2
- package/setup-gesture-handler/index.js +0 -2
- package/setup-gesture-handler/index.native.cjs +0 -2
- package/setup-gesture-handler/index.native.js +0 -2
- package/setup-keyboard-controller/index.cjs +0 -2
- package/setup-keyboard-controller/index.js +0 -2
- package/setup-keyboard-controller/index.native.cjs +0 -2
- package/setup-keyboard-controller/index.native.js +0 -2
- package/setup-safe-area/index.cjs +0 -2
- package/setup-safe-area/index.js +0 -2
- package/setup-safe-area/index.native.cjs +0 -2
- package/setup-safe-area/index.native.js +0 -2
- package/setup-teleport/index.cjs +0 -2
- package/setup-teleport/index.js +0 -2
- package/setup-teleport/index.native.cjs +0 -2
- package/setup-teleport/index.native.js +0 -2
- package/setup-worklets/index.cjs +0 -2
- package/setup-worklets/index.js +0 -2
- package/setup-worklets/index.native.cjs +0 -2
- package/setup-worklets/index.native.js +0 -2
- package/setup-zeego/index.cjs +0 -2
- package/setup-zeego/index.js +0 -2
- package/setup-zeego/index.native.cjs +0 -2
- package/setup-zeego/index.native.js +0 -2
- package/tsconfig.json +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","pressGestureDebugId","externalPressDebugId","pressState","owner","ownerId","ownerSource","timestamp","resetPressOwner","resetStaleOwner","now","debugName","claimExternalPressOwnership","Date","token","
|
|
1
|
+
{"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","pressGestureDebugId","externalPressDebugId","getEventPointerId","e","pointerId","pointer","id","event","nativeEvent","Number","isNaN","pressState","owner","ownerId","ownerSource","ownerPointerId","timestamp","resetPressOwner","resetStaleOwner","now","debugName","claimExternalPressOwnership","Date","token","releaseExternalPressOwnership","getGestureHandler","isEnabled","get","set","updates","Object","assign","disable","createPressGesture","config","longPressDuration","delayLongPress","myToken","myDebugId","didLongPress","didPressIn","pressInTimer","GRACE_PERIOD_MS","process","env","GUI_RNGH_PRESS_DELAY","tryClaimOwnership","currentPointerId","isSameTouchPointer","isOwner","releaseOwnership","clearTimeout","firePressIn","onPressIn","schedulePressIn","setTimeout","tap","Tap","runOnJS","maxDuration","onBegin","onEnd","onPress","onFinalize","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration","onStart","Exclusive"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -7,16 +7,24 @@ var state = createGlobalState(`gesture`, {
|
|
|
7
7
|
});
|
|
8
8
|
var pressGestureDebugId = 0;
|
|
9
9
|
var externalPressDebugId = 0;
|
|
10
|
+
function getEventPointerId(e) {
|
|
11
|
+
var _e_pointer, _e_event, _e_event_pointer, _e_event1, _e_nativeEvent, _e_nativeEvent1, _e_event_nativeEvent, _e_event2, _e_event_nativeEvent1, _e_event3;
|
|
12
|
+
var _e_pointerId, _ref, _ref1, _ref2, _ref3, _ref4, _ref5, _ref6;
|
|
13
|
+
var pointerId = (_ref6 = (_ref5 = (_ref4 = (_ref3 = (_ref2 = (_ref1 = (_ref = (_e_pointerId = e === null || e === void 0 ? void 0 : e.pointerId) !== null && _e_pointerId !== void 0 ? _e_pointerId : e === null || e === void 0 ? void 0 : (_e_pointer = e.pointer) === null || _e_pointer === void 0 ? void 0 : _e_pointer.id) !== null && _ref !== void 0 ? _ref : e === null || e === void 0 ? void 0 : (_e_event = e.event) === null || _e_event === void 0 ? void 0 : _e_event.pointerId) !== null && _ref1 !== void 0 ? _ref1 : e === null || e === void 0 ? void 0 : (_e_event1 = e.event) === null || _e_event1 === void 0 ? void 0 : (_e_event_pointer = _e_event1.pointer) === null || _e_event_pointer === void 0 ? void 0 : _e_event_pointer.id) !== null && _ref2 !== void 0 ? _ref2 : e === null || e === void 0 ? void 0 : (_e_nativeEvent = e.nativeEvent) === null || _e_nativeEvent === void 0 ? void 0 : _e_nativeEvent.pointerId) !== null && _ref3 !== void 0 ? _ref3 : e === null || e === void 0 ? void 0 : (_e_nativeEvent1 = e.nativeEvent) === null || _e_nativeEvent1 === void 0 ? void 0 : _e_nativeEvent1.id) !== null && _ref4 !== void 0 ? _ref4 : e === null || e === void 0 ? void 0 : (_e_event2 = e.event) === null || _e_event2 === void 0 ? void 0 : (_e_event_nativeEvent = _e_event2.nativeEvent) === null || _e_event_nativeEvent === void 0 ? void 0 : _e_event_nativeEvent.pointerId) !== null && _ref5 !== void 0 ? _ref5 : e === null || e === void 0 ? void 0 : (_e_event3 = e.event) === null || _e_event3 === void 0 ? void 0 : (_e_event_nativeEvent1 = _e_event3.nativeEvent) === null || _e_event_nativeEvent1 === void 0 ? void 0 : _e_event_nativeEvent1.id) !== null && _ref6 !== void 0 ? _ref6 : null;
|
|
14
|
+
return pointerId == null || Number.isNaN(pointerId) ? null : Number(pointerId);
|
|
15
|
+
}
|
|
10
16
|
var pressState = {
|
|
11
17
|
owner: null,
|
|
12
18
|
ownerId: null,
|
|
13
19
|
ownerSource: null,
|
|
20
|
+
ownerPointerId: null,
|
|
14
21
|
timestamp: 0
|
|
15
22
|
};
|
|
16
23
|
function resetPressOwner() {
|
|
17
24
|
pressState.owner = null;
|
|
18
25
|
pressState.ownerId = null;
|
|
19
26
|
pressState.ownerSource = null;
|
|
27
|
+
pressState.ownerPointerId = null;
|
|
20
28
|
pressState.timestamp = 0;
|
|
21
29
|
}
|
|
22
30
|
function resetStaleOwner(now, debugName) {
|
|
@@ -29,8 +37,6 @@ function claimExternalPressOwnership(debugName) {
|
|
|
29
37
|
resetStaleOwner(now, debugName);
|
|
30
38
|
var token = {};
|
|
31
39
|
var ownerId = ++externalPressDebugId;
|
|
32
|
-
var previousOwnerId = pressState.ownerId;
|
|
33
|
-
var previousOwnerSource = pressState.ownerSource;
|
|
34
40
|
pressState.owner = token;
|
|
35
41
|
pressState.ownerId = ownerId;
|
|
36
42
|
pressState.ownerSource = "external";
|
|
@@ -66,17 +72,20 @@ function getGestureHandler() {
|
|
|
66
72
|
var longPressDuration = (_config_delayLongPress = config.delayLongPress) !== null && _config_delayLongPress !== void 0 ? _config_delayLongPress : 500;
|
|
67
73
|
var myToken = {};
|
|
68
74
|
var myDebugId = ++pressGestureDebugId;
|
|
69
|
-
var
|
|
70
|
-
var
|
|
75
|
+
var didLongPress = false;
|
|
76
|
+
var didPressIn = false;
|
|
77
|
+
var pressInTimer = null;
|
|
78
|
+
var GRACE_PERIOD_MS = process.env.GUI_RNGH_PRESS_DELAY ? +process.env.GUI_RNGH_PRESS_DELAY : 24;
|
|
79
|
+
var tryClaimOwnership = function (e) {
|
|
71
80
|
var now = Date.now();
|
|
72
81
|
resetStaleOwner(now, config.debugName);
|
|
73
|
-
var
|
|
74
|
-
var
|
|
75
|
-
|
|
76
|
-
if (pressState.owner === null || withinGrace && pressState.ownerSource !== "external") {
|
|
82
|
+
var currentPointerId = getEventPointerId(e);
|
|
83
|
+
var isSameTouchPointer = currentPointerId == null || pressState.ownerPointerId == null || pressState.ownerPointerId === currentPointerId;
|
|
84
|
+
if (pressState.owner === null || pressState.ownerSource === "internal" && isSameTouchPointer) {
|
|
77
85
|
pressState.owner = myToken;
|
|
78
86
|
pressState.ownerId = myDebugId;
|
|
79
87
|
pressState.ownerSource = "internal";
|
|
88
|
+
pressState.ownerPointerId = currentPointerId;
|
|
80
89
|
pressState.timestamp = now;
|
|
81
90
|
}
|
|
82
91
|
return pressState.owner === myToken;
|
|
@@ -85,21 +94,41 @@ function getGestureHandler() {
|
|
|
85
94
|
return pressState.owner === myToken;
|
|
86
95
|
};
|
|
87
96
|
var releaseOwnership = function () {
|
|
97
|
+
if (pressInTimer) {
|
|
98
|
+
clearTimeout(pressInTimer);
|
|
99
|
+
pressInTimer = null;
|
|
100
|
+
}
|
|
88
101
|
if (pressState.owner === myToken) {
|
|
89
102
|
resetPressOwner();
|
|
90
103
|
}
|
|
91
104
|
};
|
|
92
|
-
var
|
|
93
|
-
|
|
94
|
-
|
|
105
|
+
var firePressIn = function (e) {
|
|
106
|
+
if (!didPressIn && isOwner()) {
|
|
107
|
+
var _config_onPressIn;
|
|
108
|
+
didPressIn = true;
|
|
109
|
+
(_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
var schedulePressIn = function (e) {
|
|
113
|
+
if (pressInTimer) {
|
|
114
|
+
clearTimeout(pressInTimer);
|
|
115
|
+
}
|
|
116
|
+
pressInTimer = setTimeout(function () {
|
|
117
|
+
pressInTimer = null;
|
|
95
118
|
if (isOwner()) {
|
|
96
|
-
|
|
97
|
-
(_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
|
|
119
|
+
firePressIn(e);
|
|
98
120
|
}
|
|
99
121
|
}, GRACE_PERIOD_MS + 1);
|
|
122
|
+
};
|
|
123
|
+
var tap = Gesture.Tap().runOnJS(true).maxDuration(1e4).onBegin(function (e) {
|
|
124
|
+
didLongPress = false;
|
|
125
|
+
didPressIn = false;
|
|
126
|
+
tryClaimOwnership(e);
|
|
127
|
+
schedulePressIn(e);
|
|
100
128
|
}).onEnd(function (e) {
|
|
101
|
-
if (isOwner()) {
|
|
129
|
+
if (isOwner() && !didLongPress) {
|
|
102
130
|
var _config_onPress;
|
|
131
|
+
firePressIn(e);
|
|
103
132
|
(_config_onPress = config.onPress) === null || _config_onPress === void 0 ? void 0 : _config_onPress.call(config, e);
|
|
104
133
|
}
|
|
105
134
|
}).onFinalize(function (e) {
|
|
@@ -107,29 +136,21 @@ function getGestureHandler() {
|
|
|
107
136
|
var _config_onPressOut;
|
|
108
137
|
(_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
|
|
109
138
|
releaseOwnership();
|
|
139
|
+
} else if (didPressIn) {
|
|
140
|
+
var _config_onPressOut1;
|
|
141
|
+
didPressIn = false;
|
|
142
|
+
(_config_onPressOut1 = config.onPressOut) === null || _config_onPressOut1 === void 0 ? void 0 : _config_onPressOut1.call(config, e);
|
|
110
143
|
}
|
|
111
144
|
});
|
|
112
145
|
if (config.hitSlop) tap.hitSlop(config.hitSlop);
|
|
113
146
|
if (!config.onLongPress) return tap;
|
|
114
|
-
var longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).
|
|
115
|
-
|
|
116
|
-
setTimeout(function () {
|
|
117
|
-
if (isOwner()) {
|
|
118
|
-
var _config_onPressIn;
|
|
119
|
-
(_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
|
|
120
|
-
}
|
|
121
|
-
}, GRACE_PERIOD_MS + 1);
|
|
122
|
-
}).onStart(function (e) {
|
|
147
|
+
var longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).onStart(function (e) {
|
|
148
|
+
didLongPress = true;
|
|
123
149
|
if (isOwner()) {
|
|
124
150
|
var _config_onLongPress;
|
|
151
|
+
firePressIn(e);
|
|
125
152
|
(_config_onLongPress = config.onLongPress) === null || _config_onLongPress === void 0 ? void 0 : _config_onLongPress.call(config, e);
|
|
126
153
|
}
|
|
127
|
-
}).onFinalize(function (e) {
|
|
128
|
-
if (isOwner()) {
|
|
129
|
-
var _config_onPressOut;
|
|
130
|
-
(_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
|
|
131
|
-
releaseOwnership();
|
|
132
|
-
}
|
|
133
154
|
});
|
|
134
155
|
if (config.hitSlop) longPress.hitSlop(config.hitSlop);
|
|
135
156
|
return Gesture.Exclusive(longPress, tap);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","pressGestureDebugId","externalPressDebugId","pressState","owner","ownerId","ownerSource","timestamp","resetPressOwner","resetStaleOwner","now","debugName","claimExternalPressOwnership","Date","token","
|
|
1
|
+
{"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","pressGestureDebugId","externalPressDebugId","getEventPointerId","e","_e_pointer","_e_event","_e_event_pointer","_e_event1","_e_nativeEvent","_e_nativeEvent1","_e_event_nativeEvent","_e_event2","_e_event_nativeEvent1","_e_event3","_e_pointerId","_ref","_ref1","_ref2","_ref3","_ref4","_ref5","_ref6","pointerId","pointer","id","event","nativeEvent","Number","isNaN","pressState","owner","ownerId","ownerSource","ownerPointerId","timestamp","resetPressOwner","resetStaleOwner","now","debugName","claimExternalPressOwnership","Date","token","releaseExternalPressOwnership","getGestureHandler","isEnabled","get","set","updates","Object","assign","disable","createPressGesture","config","_config_delayLongPress","longPressDuration","delayLongPress","myToken","myDebugId","didLongPress","didPressIn","pressInTimer","GRACE_PERIOD_MS","process","env","GUI_RNGH_PRESS_DELAY","tryClaimOwnership","currentPointerId","isSameTouchPointer","isOwner","releaseOwnership","clearTimeout","firePressIn","_config_onPressIn","onPressIn","call","schedulePressIn","setTimeout","tap","Tap","runOnJS","maxDuration","onBegin","onEnd","_config_onPress","onPress","onFinalize","_config_onPressOut","onPressOut","_config_onPressOut1","hitSlop","onLongPress","longPress","LongPress","minDuration","onStart"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -11,8 +11,8 @@ function setupGestureHandler(config) {
|
|
|
11
11
|
if (config) {
|
|
12
12
|
currentConfig = config;
|
|
13
13
|
}
|
|
14
|
-
const isFirstRun = !g.
|
|
15
|
-
g.
|
|
14
|
+
const isFirstRun = !g.__gui_native_gesture_setup_complete;
|
|
15
|
+
g.__gui_native_gesture_setup_complete = true;
|
|
16
16
|
try {
|
|
17
17
|
const rngh = require("react-native-gesture-handler");
|
|
18
18
|
const {
|
|
@@ -27,7 +27,7 @@ function setupGestureHandler(config) {
|
|
|
27
27
|
GestureDetector,
|
|
28
28
|
ScrollView: ScrollView || null
|
|
29
29
|
});
|
|
30
|
-
g.
|
|
30
|
+
g.__gui_sheet_gesture_state__ = {
|
|
31
31
|
enabled: currentConfig.sheet !== false,
|
|
32
32
|
Gesture,
|
|
33
33
|
GestureDetector,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getGestureHandler","currentConfig","pressEvents","sheet","getGestureHandlerConfig","setupGestureHandler","config","g","globalThis","isFirstRun","
|
|
1
|
+
{"version":3,"names":["getGestureHandler","currentConfig","pressEvents","sheet","getGestureHandlerConfig","setupGestureHandler","config","g","globalThis","isFirstRun","__gui_native_gesture_setup_complete","rngh","require","Gesture","GestureDetector","ScrollView","set","enabled","__gui_sheet_gesture_state__"],"sources":["../../src/setup-gesture-handler.ts"],"sourcesContent":[null],"mappings":"AAmBA,SAASA,iBAAA,QAAyB;AASlC,IAAIC,aAAA,GAAsC;EACxCC,WAAA,EAAa;EACbC,KAAA,EAAO;AACT;AAEO,SAASC,wBAAA,EAAgD;EAC9D,OAAOH,aAAA;AACT;AAEO,SAASI,oBAAoBC,MAAA,EAAqC;EACvE,MAAMC,CAAA,GAAIC,UAAA;EAGV,IAAIF,MAAA,EAAQ;IACVL,aAAA,GAAgBK,MAAA;EAClB;EAGA,MAAMG,UAAA,GAAa,CAACF,CAAA,CAAEG,mCAAA;EACtBH,CAAA,CAAEG,mCAAA,GAAsC;EAExC,IAAI;IAEF,MAAMC,IAAA,GAAOC,OAAA,CAAQ,8BAA8B;IACnD,MAAM;MAAEC,OAAA;MAASC,eAAA;MAAiBC;IAAW,IAAIJ,IAAA;IAEjD,IAAIE,OAAA,IAAWC,eAAA,EAAiB;MAE9Bd,iBAAA,CAAkB,EAAEgB,GAAA,CAAI;QACtBC,OAAA,EAAShB,aAAA,CAAcC,WAAA,KAAgB;QACvCW,OAAA;QACAC,eAAA;QACAC,UAAA,EAAYA,UAAA,IAAc;MAC5B,CAAC;MAGDR,CAAA,CAAEW,2BAAA,GAA8B;QAC9BD,OAAA,EAAShB,aAAA,CAAcE,KAAA,KAAU;QACjCU,OAAA;QACAC,eAAA;QACAC,UAAA,EAAYA,UAAA,IAAc;MAC5B;IACF;EACF,QAAQ,CAER;AACF;AAGAV,mBAAA,CAAoB","ignoreList":[]}
|
|
@@ -11,8 +11,8 @@ function setupGestureHandler(config) {
|
|
|
11
11
|
if (config) {
|
|
12
12
|
currentConfig = config;
|
|
13
13
|
}
|
|
14
|
-
var isFirstRun = !g.
|
|
15
|
-
g.
|
|
14
|
+
var isFirstRun = !g.__gui_native_gesture_setup_complete;
|
|
15
|
+
g.__gui_native_gesture_setup_complete = true;
|
|
16
16
|
try {
|
|
17
17
|
var rngh = require("react-native-gesture-handler");
|
|
18
18
|
var {
|
|
@@ -27,7 +27,7 @@ function setupGestureHandler(config) {
|
|
|
27
27
|
GestureDetector,
|
|
28
28
|
ScrollView: ScrollView || null
|
|
29
29
|
});
|
|
30
|
-
g.
|
|
30
|
+
g.__gui_sheet_gesture_state__ = {
|
|
31
31
|
enabled: currentConfig.sheet !== false,
|
|
32
32
|
Gesture,
|
|
33
33
|
GestureDetector,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getGestureHandler","currentConfig","pressEvents","sheet","getGestureHandlerConfig","setupGestureHandler","config","g","globalThis","isFirstRun","
|
|
1
|
+
{"version":3,"names":["getGestureHandler","currentConfig","pressEvents","sheet","getGestureHandlerConfig","setupGestureHandler","config","g","globalThis","isFirstRun","__gui_native_gesture_setup_complete","rngh","require","Gesture","GestureDetector","ScrollView","set","enabled","__gui_sheet_gesture_state__","e"],"sources":["../../src/setup-gesture-handler.ts"],"sourcesContent":[null],"mappings":"AAmBA,SAASA,iBAAA,QAAyB;AASlC,IAAIC,aAAA,GAAsC;EACxCC,WAAA,EAAa;EACbC,KAAA,EAAO;AACT;AAEO,SAASC,wBAAA,EAAgD;EAC9D,OAAOH,aAAA;AACT;AAEO,SAASI,oBAAoBC,MAAA,EAAqC;EACvE,IAAAC,CAAA,GAAMC,UAAI;EAGV,IAAIF,MAAA,EAAQ;IACVL,aAAA,GAAgBK,MAAA;EAClB;EAGA,IAAAG,UAAM,IAAAF,CAAa,CAACG,mCAAE;EACtBH,CAAA,CAAEG,mCAAA,GAAsC;EAExC,IAAI;IAEF,IAAAC,IAAM,GAAAC,OAAO,+BAAQ;IACrB;MAAMC,OAAE;MAAAC,eAAS;MAAAC;IAAiB,IAAWJ,IAAI;IAEjD,IAAIE,OAAA,IAAWC,eAAA,EAAiB;MAE9Bd,iBAAA,CAAkB,EAAEgB,GAAA,CAAI;QACtBC,OAAA,EAAShB,aAAA,CAAcC,WAAA,KAAgB;QACvCW,OAAA;QACAC,eAAA;QACAC,UAAA,EAAYA,UAAA,IAAc;MAC5B,CAAC;MAGDR,CAAA,CAAEW,2BAAA,GAA8B;QAC9BD,OAAA,EAAShB,aAAA,CAAcE,KAAA,KAAU;QACjCU,OAAA;QACAC,eAAA;QACAC,UAAA,EAAYA,UAAA,IAAc;MAC5B;IACF;EACF,SAAQI,CAAA,GAER;AACF;AAGAd,mBAAA,CAAoB","ignoreList":[]}
|
|
@@ -1,29 +1,4 @@
|
|
|
1
1
|
import { getSafeArea } from "./safeAreaState.mjs";
|
|
2
|
-
function setup() {
|
|
3
|
-
if (true) {
|
|
4
|
-
return;
|
|
5
|
-
}
|
|
6
|
-
const g = globalThis;
|
|
7
|
-
if (g.__gui_native_safe_area_setup_complete) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
g.__gui_native_safe_area_setup_complete = true;
|
|
11
|
-
try {
|
|
12
|
-
const safeAreaContext = require("react-native-safe-area-context");
|
|
13
|
-
const {
|
|
14
|
-
useSafeAreaInsets,
|
|
15
|
-
useSafeAreaFrame,
|
|
16
|
-
initialWindowMetrics
|
|
17
|
-
} = safeAreaContext;
|
|
18
|
-
if (useSafeAreaInsets) {
|
|
19
|
-
getSafeArea().set({
|
|
20
|
-
enabled: true,
|
|
21
|
-
useSafeAreaInsets,
|
|
22
|
-
useSafeAreaFrame: useSafeAreaFrame || null,
|
|
23
|
-
initialMetrics: initialWindowMetrics || null
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
} catch {}
|
|
27
|
-
}
|
|
2
|
+
function setup() {}
|
|
28
3
|
setup();
|
|
29
4
|
//# sourceMappingURL=setup-safe-area.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getSafeArea","setup"
|
|
1
|
+
{"version":3,"names":["getSafeArea","setup"],"sources":["../../src/setup-safe-area.ts"],"sourcesContent":[null],"mappings":"AAwBA,SAASA,WAAA,QAAmB;AAE5B,SAASC,MAAA,EAAQ;AAEfA,KAAA,CAAI","ignoreList":[]}
|
|
@@ -1,28 +1,20 @@
|
|
|
1
1
|
import { getSafeArea } from "./safeAreaState.native.js";
|
|
2
2
|
function setup() {
|
|
3
|
-
if (false) {
|
|
4
|
-
return;
|
|
5
|
-
}
|
|
6
3
|
var g = globalThis;
|
|
7
|
-
if (g.__gui_native_safe_area_setup_complete)
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
4
|
+
if (g.__gui_native_safe_area_setup_complete) return;
|
|
10
5
|
g.__gui_native_safe_area_setup_complete = true;
|
|
11
6
|
try {
|
|
12
|
-
var safeAreaContext = require("react-native-safe-area-context");
|
|
13
7
|
var {
|
|
14
8
|
useSafeAreaInsets,
|
|
15
9
|
useSafeAreaFrame,
|
|
16
10
|
initialWindowMetrics
|
|
17
|
-
} =
|
|
18
|
-
if (useSafeAreaInsets) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
}
|
|
11
|
+
} = require("react-native-safe-area-context");
|
|
12
|
+
if (useSafeAreaInsets) getSafeArea().set({
|
|
13
|
+
enabled: true,
|
|
14
|
+
useSafeAreaInsets,
|
|
15
|
+
useSafeAreaFrame: useSafeAreaFrame || null,
|
|
16
|
+
initialMetrics: initialWindowMetrics || null
|
|
17
|
+
});
|
|
26
18
|
} catch (e) {}
|
|
27
19
|
}
|
|
28
20
|
setup();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getSafeArea","setup","g","globalThis","__gui_native_safe_area_setup_complete","
|
|
1
|
+
{"version":3,"names":["getSafeArea","setup","g","globalThis","__gui_native_safe_area_setup_complete","useSafeAreaInsets","useSafeAreaFrame","initialWindowMetrics","require","set","enabled","initialMetrics","e"],"sources":["../../src/setup-safe-area.ts"],"sourcesContent":[null],"mappings":"AAwBA,SAASA,WAAA,QAAmB;AAE5B,SAASC,MAAA,EAAQ;EAEf,IAAAC,CAAI,GAAAC,UAAY;EACd,IAAAD,CAAA,CAAAE,qCAAA;EAAAF,CACF,CAAAE,qCAAA;EAEA;IACA,IAAI;MAAEC,iBAAA;MAAAC,gBAAA;MAAAC;IAAuC,IAAAC,OAAA;IAC3C,IAAAH,iBAAA,EAAAL,WAAA,GAAAS,GAAA;MACFC,OAAA;MACAL,iBAAE;MAEFC,gBAAI,EAAAA,gBAAA;MACFK,cAAM,EAAAJ,oBAA0B;IAChC;EAEA,SAAIK,CAAA;AACF;AAAkBX,KAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzogui/native",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Native setup modules for
|
|
3
|
+
"version": "7.3.0",
|
|
4
|
+
"description": "Native setup modules for Gui - portals, gesture handler, worklets, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
7
7
|
"**/setup-*",
|
|
@@ -138,13 +138,13 @@
|
|
|
138
138
|
"access": "public"
|
|
139
139
|
},
|
|
140
140
|
"scripts": {
|
|
141
|
-
"build": "
|
|
142
|
-
"watch": "
|
|
143
|
-
"clean": "
|
|
144
|
-
"clean:build": "
|
|
141
|
+
"build": "gui-build",
|
|
142
|
+
"watch": "gui-build --watch",
|
|
143
|
+
"clean": "gui-build clean",
|
|
144
|
+
"clean:build": "gui-build clean:build"
|
|
145
145
|
},
|
|
146
146
|
"devDependencies": {
|
|
147
|
-
"@hanzogui/build": "
|
|
147
|
+
"@hanzogui/build": "7.3.0",
|
|
148
148
|
"burnt": "^0.12.2",
|
|
149
149
|
"react": ">=19",
|
|
150
150
|
"react-native": "0.83.2",
|
|
@@ -204,5 +204,19 @@
|
|
|
204
204
|
"sf-symbols-typescript": {
|
|
205
205
|
"optional": true
|
|
206
206
|
}
|
|
207
|
+
},
|
|
208
|
+
"files": [
|
|
209
|
+
"dist",
|
|
210
|
+
"src",
|
|
211
|
+
"types",
|
|
212
|
+
"*.cjs",
|
|
213
|
+
"*.mjs",
|
|
214
|
+
"*.css",
|
|
215
|
+
"README.md"
|
|
216
|
+
],
|
|
217
|
+
"license": "BSD-3-Clause",
|
|
218
|
+
"author": "Hanzo AI <dev@hanzo.ai>",
|
|
219
|
+
"dependencies": {
|
|
220
|
+
"expo-linear-gradient": "^55.0.14"
|
|
207
221
|
}
|
|
208
222
|
}
|
package/src/PressBoundary.tsx
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
export interface PressBoundaryProps extends ViewProps {
|
|
10
10
|
enabled?: boolean
|
|
11
11
|
/**
|
|
12
|
-
* Alias for enabling the boundary. The behavior is limited to
|
|
12
|
+
* Alias for enabling the boundary. The behavior is limited to Gui's
|
|
13
13
|
* shared press ownership and does not patch arbitrary RN bubbling.
|
|
14
14
|
*/
|
|
15
15
|
stopPropagation?: boolean
|
package/src/gestureState.ts
CHANGED
|
@@ -13,6 +13,21 @@ let externalPressDebugId = 0
|
|
|
13
13
|
|
|
14
14
|
type PressOwnerSource = 'internal' | 'external' | null
|
|
15
15
|
|
|
16
|
+
function getEventPointerId(e: any): number | null {
|
|
17
|
+
const pointerId =
|
|
18
|
+
e?.pointerId ??
|
|
19
|
+
e?.pointer?.id ??
|
|
20
|
+
e?.event?.pointerId ??
|
|
21
|
+
e?.event?.pointer?.id ??
|
|
22
|
+
e?.nativeEvent?.pointerId ??
|
|
23
|
+
e?.nativeEvent?.id ??
|
|
24
|
+
e?.event?.nativeEvent?.pointerId ??
|
|
25
|
+
e?.event?.nativeEvent?.id ??
|
|
26
|
+
null
|
|
27
|
+
|
|
28
|
+
return pointerId == null || Number.isNaN(pointerId) ? null : Number(pointerId)
|
|
29
|
+
}
|
|
30
|
+
|
|
16
31
|
/**
|
|
17
32
|
* Global press coordination - ensures only innermost pressable fires press events,
|
|
18
33
|
* matching RN Pressable/responder system semantics where deepest component wins.
|
|
@@ -23,6 +38,7 @@ const pressState = {
|
|
|
23
38
|
owner: null as object | null,
|
|
24
39
|
ownerId: null as number | null,
|
|
25
40
|
ownerSource: null as PressOwnerSource,
|
|
41
|
+
ownerPointerId: null as number | null,
|
|
26
42
|
timestamp: 0,
|
|
27
43
|
}
|
|
28
44
|
|
|
@@ -57,6 +73,7 @@ function resetPressOwner() {
|
|
|
57
73
|
pressState.owner = null
|
|
58
74
|
pressState.ownerId = null
|
|
59
75
|
pressState.ownerSource = null
|
|
76
|
+
pressState.ownerPointerId = null
|
|
60
77
|
pressState.timestamp = 0
|
|
61
78
|
}
|
|
62
79
|
|
|
@@ -74,8 +91,6 @@ export function claimExternalPressOwnership(
|
|
|
74
91
|
|
|
75
92
|
const token = {}
|
|
76
93
|
const ownerId = ++externalPressDebugId
|
|
77
|
-
const previousOwnerId = pressState.ownerId
|
|
78
|
-
const previousOwnerSource = pressState.ownerSource
|
|
79
94
|
|
|
80
95
|
pressState.owner = token
|
|
81
96
|
pressState.ownerId = ownerId
|
|
@@ -92,7 +107,6 @@ export function releaseExternalPressOwnership(
|
|
|
92
107
|
if (!token || pressState.owner !== token) {
|
|
93
108
|
return
|
|
94
109
|
}
|
|
95
|
-
|
|
96
110
|
resetPressOwner()
|
|
97
111
|
}
|
|
98
112
|
|
|
@@ -121,30 +135,36 @@ export function getGestureHandler(): GestureHandlerAccessor {
|
|
|
121
135
|
// unique token for this gesture instance - used to track ownership
|
|
122
136
|
const myToken = {}
|
|
123
137
|
const myDebugId = ++pressGestureDebugId
|
|
138
|
+
let didLongPress = false
|
|
139
|
+
let didPressIn = false
|
|
140
|
+
let pressInTimer: ReturnType<typeof setTimeout> | null = null
|
|
124
141
|
|
|
125
142
|
// Grace period for child gestures to steal ownership from parent.
|
|
126
143
|
// RNGH fires parent before child, but we want innermost to win.
|
|
127
144
|
// Claims typically span a few ms, 24ms gives enough room to observe
|
|
128
145
|
// ordering while debugging slower frames.
|
|
129
|
-
const GRACE_PERIOD_MS = process.env.
|
|
130
|
-
? +process.env.
|
|
146
|
+
const GRACE_PERIOD_MS = process.env.GUI_RNGH_PRESS_DELAY
|
|
147
|
+
? +process.env.GUI_RNGH_PRESS_DELAY
|
|
131
148
|
: 24
|
|
132
149
|
|
|
133
|
-
const tryClaimOwnership = () => {
|
|
150
|
+
const tryClaimOwnership = (e: any) => {
|
|
134
151
|
const now = Date.now()
|
|
135
152
|
resetStaleOwner(now, config.debugName)
|
|
136
153
|
|
|
137
|
-
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
154
|
+
const currentPointerId = getEventPointerId(e)
|
|
155
|
+
const isSameTouchPointer =
|
|
156
|
+
currentPointerId == null ||
|
|
157
|
+
pressState.ownerPointerId == null ||
|
|
158
|
+
pressState.ownerPointerId === currentPointerId
|
|
159
|
+
|
|
141
160
|
if (
|
|
142
161
|
pressState.owner === null ||
|
|
143
|
-
(
|
|
162
|
+
(pressState.ownerSource === 'internal' && isSameTouchPointer)
|
|
144
163
|
) {
|
|
145
164
|
pressState.owner = myToken
|
|
146
165
|
pressState.ownerId = myDebugId
|
|
147
166
|
pressState.ownerSource = 'internal'
|
|
167
|
+
pressState.ownerPointerId = currentPointerId
|
|
148
168
|
pressState.timestamp = now
|
|
149
169
|
}
|
|
150
170
|
return pressState.owner === myToken
|
|
@@ -153,34 +173,64 @@ export function getGestureHandler(): GestureHandlerAccessor {
|
|
|
153
173
|
const isOwner = () => pressState.owner === myToken
|
|
154
174
|
|
|
155
175
|
const releaseOwnership = () => {
|
|
176
|
+
if (pressInTimer) {
|
|
177
|
+
clearTimeout(pressInTimer)
|
|
178
|
+
pressInTimer = null
|
|
179
|
+
}
|
|
156
180
|
if (pressState.owner === myToken) {
|
|
157
181
|
resetPressOwner()
|
|
158
182
|
}
|
|
159
183
|
}
|
|
160
184
|
|
|
185
|
+
const firePressIn = (e: any) => {
|
|
186
|
+
if (!didPressIn && isOwner()) {
|
|
187
|
+
didPressIn = true
|
|
188
|
+
config.onPressIn?.(e)
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
const schedulePressIn = (e: any) => {
|
|
193
|
+
if (pressInTimer) {
|
|
194
|
+
clearTimeout(pressInTimer)
|
|
195
|
+
}
|
|
196
|
+
pressInTimer = setTimeout(() => {
|
|
197
|
+
pressInTimer = null
|
|
198
|
+
if (isOwner()) {
|
|
199
|
+
firePressIn(e)
|
|
200
|
+
}
|
|
201
|
+
}, GRACE_PERIOD_MS + 1)
|
|
202
|
+
}
|
|
203
|
+
|
|
161
204
|
// Tap gesture for regular presses
|
|
162
205
|
// Use long maxDuration to not cancel during long presses
|
|
163
206
|
const tap = Gesture.Tap()
|
|
164
207
|
.runOnJS(true)
|
|
165
208
|
.maxDuration(10000) // allow very long presses
|
|
166
|
-
.onBegin((e:
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}, GRACE_PERIOD_MS + 1)
|
|
209
|
+
.onBegin((e: unknown) => {
|
|
210
|
+
didLongPress = false
|
|
211
|
+
didPressIn = false
|
|
212
|
+
tryClaimOwnership(e)
|
|
213
|
+
// Defer onPressIn until after the grace window so child pressables
|
|
214
|
+
// can steal ownership, but flush it on tap end for very fast taps.
|
|
215
|
+
schedulePressIn(e)
|
|
174
216
|
})
|
|
175
|
-
.onEnd((e:
|
|
176
|
-
if (isOwner()) {
|
|
217
|
+
.onEnd((e: unknown) => {
|
|
218
|
+
if (isOwner() && !didLongPress) {
|
|
219
|
+
firePressIn(e)
|
|
177
220
|
config.onPress?.(e)
|
|
178
221
|
}
|
|
179
222
|
})
|
|
180
|
-
.onFinalize((e:
|
|
223
|
+
.onFinalize((e: unknown) => {
|
|
181
224
|
if (isOwner()) {
|
|
182
225
|
config.onPressOut?.(e)
|
|
183
226
|
releaseOwnership()
|
|
227
|
+
} else if (didPressIn) {
|
|
228
|
+
// we already fired onPressIn but lost ownership before finalize
|
|
229
|
+
// (e.g. finger dragged onto a sibling pressable and that one
|
|
230
|
+
// claimed ownership). fire onPressOut so callers can clear their
|
|
231
|
+
// press state — otherwise pressStyle stays stuck on this view.
|
|
232
|
+
didPressIn = false
|
|
233
|
+
config.onPressOut?.(e)
|
|
184
234
|
}
|
|
185
235
|
})
|
|
186
236
|
|
|
@@ -193,25 +243,13 @@ export function getGestureHandler(): GestureHandlerAccessor {
|
|
|
193
243
|
const longPress = Gesture.LongPress()
|
|
194
244
|
.runOnJS(true)
|
|
195
245
|
.minDuration(longPressDuration)
|
|
196
|
-
.onBegin((e: any) => {
|
|
197
|
-
tryClaimOwnership()
|
|
198
|
-
setTimeout(() => {
|
|
199
|
-
if (isOwner()) {
|
|
200
|
-
config.onPressIn?.(e)
|
|
201
|
-
}
|
|
202
|
-
}, GRACE_PERIOD_MS + 1)
|
|
203
|
-
})
|
|
204
246
|
.onStart((e: any) => {
|
|
247
|
+
didLongPress = true
|
|
205
248
|
if (isOwner()) {
|
|
249
|
+
firePressIn(e)
|
|
206
250
|
config.onLongPress?.(e)
|
|
207
251
|
}
|
|
208
252
|
})
|
|
209
|
-
.onFinalize((e: any) => {
|
|
210
|
-
if (isOwner()) {
|
|
211
|
-
config.onPressOut?.(e)
|
|
212
|
-
releaseOwnership()
|
|
213
|
-
}
|
|
214
|
-
})
|
|
215
253
|
|
|
216
254
|
if (config.hitSlop) longPress.hitSlop(config.hitSlop)
|
|
217
255
|
|