@hanzogui/native 3.0.6 → 4.4.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/PressBoundary.cjs +92 -0
- package/dist/cjs/PressBoundary.native.js +105 -0
- package/dist/cjs/PressBoundary.native.js.map +1 -0
- package/dist/cjs/burntState.cjs +14 -12
- package/dist/cjs/burntState.native.js +18 -16
- package/dist/cjs/burntState.native.js.map +1 -1
- package/dist/cjs/components.cjs +20 -15
- package/dist/cjs/components.native.js +24 -22
- package/dist/cjs/components.native.js.map +1 -1
- package/dist/cjs/gesture-handler.cjs +36 -0
- package/dist/cjs/gesture-handler.native.js +39 -0
- package/dist/cjs/gesture-handler.native.js.map +1 -0
- package/dist/cjs/gestureState.cjs +116 -23
- package/dist/cjs/gestureState.native.js +127 -38
- package/dist/cjs/gestureState.native.js.map +1 -1
- package/dist/cjs/globalState.cjs +17 -11
- package/dist/cjs/globalState.native.js +17 -11
- package/dist/cjs/globalState.native.js.map +1 -1
- package/dist/cjs/index.cjs +26 -21
- package/dist/cjs/index.native.js +26 -21
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/keyboardControllerState.cjs +14 -12
- package/dist/cjs/keyboardControllerState.native.js +23 -21
- package/dist/cjs/keyboardControllerState.native.js.map +1 -1
- package/dist/cjs/linearGradientState.cjs +14 -12
- package/dist/cjs/linearGradientState.native.js +17 -15
- package/dist/cjs/linearGradientState.native.js.map +1 -1
- package/dist/cjs/nativeMenuContext.cjs +13 -11
- package/dist/cjs/nativeMenuContext.native.js +14 -12
- package/dist/cjs/nativeMenuContext.native.js.map +1 -1
- package/dist/cjs/portalState.cjs +14 -12
- package/dist/cjs/portalState.native.js +17 -15
- package/dist/cjs/portalState.native.js.map +1 -1
- package/dist/cjs/safeAreaState.cjs +38 -30
- package/dist/cjs/safeAreaState.native.js +39 -31
- package/dist/cjs/safeAreaState.native.js.map +1 -1
- package/dist/cjs/setup-burnt.cjs +9 -8
- package/dist/cjs/setup-burnt.native.js +9 -8
- package/dist/cjs/setup-burnt.native.js.map +1 -1
- package/dist/cjs/setup-expo-linear-gradient.cjs +9 -8
- package/dist/cjs/setup-expo-linear-gradient.native.js +9 -8
- package/dist/cjs/setup-expo-linear-gradient.native.js.map +1 -1
- package/dist/cjs/setup-gesture-handler.cjs +58 -18
- package/dist/cjs/setup-gesture-handler.native.js +58 -18
- package/dist/cjs/setup-gesture-handler.native.js.map +1 -1
- package/dist/cjs/setup-keyboard-controller.native.js +20 -17
- package/dist/cjs/setup-safe-area.cjs +28 -1
- package/dist/cjs/setup-safe-area.native.js +19 -13
- package/dist/cjs/setup-safe-area.native.js.map +1 -1
- package/dist/cjs/setup-teleport.cjs +13 -13
- package/dist/cjs/setup-teleport.native.js +13 -13
- package/dist/cjs/setup-teleport.native.js.map +1 -1
- package/dist/cjs/setup-worklets.cjs +11 -8
- package/dist/cjs/setup-worklets.native.js +11 -8
- package/dist/cjs/setup-worklets.native.js.map +1 -1
- package/dist/cjs/setup-zeego.cjs +12 -9
- package/dist/cjs/setup-zeego.native.js +12 -9
- package/dist/cjs/setup-zeego.native.js.map +1 -1
- package/dist/cjs/types.cjs +7 -5
- package/dist/cjs/types.native.js +7 -5
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/workletsState.cjs +14 -12
- package/dist/cjs/workletsState.native.js +20 -18
- package/dist/cjs/workletsState.native.js.map +1 -1
- package/dist/cjs/zeegoState.cjs +14 -12
- package/dist/cjs/zeegoState.native.js +18 -16
- package/dist/cjs/zeegoState.native.js.map +1 -1
- package/dist/esm/PressBoundary.mjs +56 -0
- package/dist/esm/PressBoundary.mjs.map +1 -0
- package/dist/esm/PressBoundary.native.js +66 -0
- package/dist/esm/PressBoundary.native.js.map +1 -0
- package/dist/esm/burntState.mjs +2 -2
- package/dist/esm/burntState.native.js +2 -2
- package/dist/esm/components.mjs +6 -3
- package/dist/esm/components.mjs.map +1 -1
- package/dist/esm/components.native.js +10 -10
- package/dist/esm/components.native.js.map +1 -1
- package/dist/esm/gesture-handler.mjs +6 -0
- package/dist/esm/gesture-handler.mjs.map +1 -0
- package/dist/esm/gesture-handler.native.js +6 -0
- package/dist/esm/gesture-handler.native.js.map +1 -0
- package/dist/esm/gestureState.mjs +102 -13
- package/dist/esm/gestureState.mjs.map +1 -1
- package/dist/esm/gestureState.native.js +108 -23
- package/dist/esm/gestureState.native.js.map +1 -1
- package/dist/esm/globalState.mjs +5 -1
- package/dist/esm/globalState.mjs.map +1 -1
- package/dist/esm/globalState.native.js +5 -1
- package/dist/esm/globalState.native.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/keyboardControllerState.mjs +2 -2
- package/dist/esm/keyboardControllerState.native.js +2 -2
- package/dist/esm/linearGradientState.mjs +2 -2
- package/dist/esm/linearGradientState.native.js +2 -2
- package/dist/esm/nativeMenuContext.mjs +1 -1
- package/dist/esm/nativeMenuContext.mjs.map +1 -1
- package/dist/esm/nativeMenuContext.native.js +1 -1
- package/dist/esm/nativeMenuContext.native.js.map +1 -1
- package/dist/esm/portalState.mjs +2 -2
- package/dist/esm/portalState.native.js +2 -2
- package/dist/esm/safeAreaState.mjs +26 -20
- package/dist/esm/safeAreaState.mjs.map +1 -1
- package/dist/esm/safeAreaState.native.js +26 -20
- package/dist/esm/safeAreaState.native.js.map +1 -1
- package/dist/esm/setup-burnt.mjs +9 -8
- package/dist/esm/setup-burnt.mjs.map +1 -1
- package/dist/esm/setup-burnt.native.js +9 -8
- package/dist/esm/setup-burnt.native.js.map +1 -1
- package/dist/esm/setup-expo-linear-gradient.mjs +9 -8
- package/dist/esm/setup-expo-linear-gradient.mjs.map +1 -1
- package/dist/esm/setup-expo-linear-gradient.native.js +9 -8
- package/dist/esm/setup-expo-linear-gradient.native.js.map +1 -1
- package/dist/esm/setup-gesture-handler.mjs +31 -18
- package/dist/esm/setup-gesture-handler.mjs.map +1 -1
- package/dist/esm/setup-gesture-handler.native.js +31 -18
- package/dist/esm/setup-gesture-handler.native.js.map +1 -1
- package/dist/esm/setup-keyboard-controller.native.js +20 -17
- package/dist/esm/setup-safe-area.mjs +27 -0
- package/dist/esm/setup-safe-area.mjs.map +1 -1
- package/dist/esm/setup-safe-area.native.js +19 -13
- package/dist/esm/setup-safe-area.native.js.map +1 -1
- package/dist/esm/setup-teleport.mjs +13 -13
- package/dist/esm/setup-teleport.mjs.map +1 -1
- package/dist/esm/setup-teleport.native.js +13 -13
- package/dist/esm/setup-teleport.native.js.map +1 -1
- package/dist/esm/setup-worklets.mjs +11 -8
- package/dist/esm/setup-worklets.mjs.map +1 -1
- package/dist/esm/setup-worklets.native.js +11 -8
- package/dist/esm/setup-worklets.native.js.map +1 -1
- package/dist/esm/setup-zeego.mjs +12 -9
- package/dist/esm/setup-zeego.mjs.map +1 -1
- package/dist/esm/setup-zeego.native.js +12 -9
- package/dist/esm/setup-zeego.native.js.map +1 -1
- package/dist/esm/workletsState.mjs +2 -2
- package/dist/esm/workletsState.native.js +2 -2
- package/dist/esm/zeegoState.mjs +2 -2
- package/dist/esm/zeegoState.native.js +2 -2
- package/gesture-handler/index.cjs +1 -0
- package/gesture-handler/index.js +1 -0
- package/gesture-handler/index.native.cjs +1 -0
- package/gesture-handler/index.native.js +1 -0
- package/gesture-handler.cjs +1 -0
- package/package.json +16 -3
- package/src/PressBoundary.tsx +81 -0
- package/src/gesture-handler.ts +17 -0
- package/src/gestureState.ts +137 -6
- package/src/index.ts +13 -2
- package/src/setup-burnt.ts +1 -1
- package/src/setup-gesture-handler.ts +38 -11
- package/src/setup-keyboard-controller.ts +1 -1
- package/src/setup-safe-area.ts +3 -3
- package/src/setup-worklets.ts +1 -1
- package/src/setup-zeego.ts +1 -1
- package/types/PressBoundary.d.ts +14 -0
- package/types/gesture-handler.d.ts +8 -0
- package/types/gestureState.d.ts +4 -0
- package/types/index.d.ts +4 -2
- package/types/setup-gesture-handler.d.ts +8 -1
|
@@ -1,10 +1,48 @@
|
|
|
1
1
|
import { createGlobalState } from "./globalState.mjs";
|
|
2
|
-
const state = createGlobalState(
|
|
3
|
-
enabled:
|
|
2
|
+
const state = createGlobalState(`gesture`, {
|
|
3
|
+
enabled: false,
|
|
4
4
|
Gesture: null,
|
|
5
5
|
GestureDetector: null,
|
|
6
6
|
ScrollView: null
|
|
7
7
|
});
|
|
8
|
+
let pressGestureDebugId = 0;
|
|
9
|
+
let externalPressDebugId = 0;
|
|
10
|
+
const pressState = {
|
|
11
|
+
owner: null,
|
|
12
|
+
ownerId: null,
|
|
13
|
+
ownerSource: null,
|
|
14
|
+
timestamp: 0
|
|
15
|
+
};
|
|
16
|
+
function resetPressOwner() {
|
|
17
|
+
pressState.owner = null;
|
|
18
|
+
pressState.ownerId = null;
|
|
19
|
+
pressState.ownerSource = null;
|
|
20
|
+
pressState.timestamp = 0;
|
|
21
|
+
}
|
|
22
|
+
function resetStaleOwner(now, debugName) {
|
|
23
|
+
if (now - pressState.timestamp > 2e3) {
|
|
24
|
+
resetPressOwner();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function claimExternalPressOwnership(debugName) {
|
|
28
|
+
const now = Date.now();
|
|
29
|
+
resetStaleOwner(now, debugName);
|
|
30
|
+
const token = {};
|
|
31
|
+
const ownerId = ++externalPressDebugId;
|
|
32
|
+
const previousOwnerId = pressState.ownerId;
|
|
33
|
+
const previousOwnerSource = pressState.ownerSource;
|
|
34
|
+
pressState.owner = token;
|
|
35
|
+
pressState.ownerId = ownerId;
|
|
36
|
+
pressState.ownerSource = "external";
|
|
37
|
+
pressState.timestamp = now;
|
|
38
|
+
return token;
|
|
39
|
+
}
|
|
40
|
+
function releaseExternalPressOwnership(token, debugName) {
|
|
41
|
+
if (!token || pressState.owner !== token) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
resetPressOwner();
|
|
45
|
+
}
|
|
8
46
|
function getGestureHandler() {
|
|
9
47
|
return {
|
|
10
48
|
get isEnabled() {
|
|
@@ -17,26 +55,77 @@ function getGestureHandler() {
|
|
|
17
55
|
Object.assign(state.get(), updates);
|
|
18
56
|
},
|
|
19
57
|
disable() {
|
|
20
|
-
state.get().enabled =
|
|
58
|
+
state.get().enabled = false;
|
|
21
59
|
},
|
|
22
60
|
createPressGesture(config) {
|
|
23
61
|
const {
|
|
24
62
|
Gesture
|
|
25
63
|
} = state.get();
|
|
26
64
|
if (!Gesture) return null;
|
|
27
|
-
const longPressDuration = config.delayLongPress ?? 500
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
65
|
+
const longPressDuration = config.delayLongPress ?? 500;
|
|
66
|
+
const myToken = {};
|
|
67
|
+
const myDebugId = ++pressGestureDebugId;
|
|
68
|
+
const GRACE_PERIOD_MS = process.env.TAMAGUI_RNGH_PRESS_DELAY ? +process.env.TAMAGUI_RNGH_PRESS_DELAY : 24;
|
|
69
|
+
const tryClaimOwnership = () => {
|
|
70
|
+
const now = Date.now();
|
|
71
|
+
resetStaleOwner(now, config.debugName);
|
|
72
|
+
const withinGrace = now - pressState.timestamp < GRACE_PERIOD_MS;
|
|
73
|
+
const previousOwnerId = pressState.ownerId;
|
|
74
|
+
const previousOwnerSource = pressState.ownerSource;
|
|
75
|
+
if (pressState.owner === null || withinGrace && pressState.ownerSource !== "external") {
|
|
76
|
+
pressState.owner = myToken;
|
|
77
|
+
pressState.ownerId = myDebugId;
|
|
78
|
+
pressState.ownerSource = "internal";
|
|
79
|
+
pressState.timestamp = now;
|
|
80
|
+
}
|
|
81
|
+
return pressState.owner === myToken;
|
|
82
|
+
};
|
|
83
|
+
const isOwner = () => pressState.owner === myToken;
|
|
84
|
+
const releaseOwnership = () => {
|
|
85
|
+
if (pressState.owner === myToken) {
|
|
86
|
+
resetPressOwner();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const tap = Gesture.Tap().runOnJS(true).maxDuration(1e4).onBegin(e => {
|
|
90
|
+
tryClaimOwnership();
|
|
91
|
+
setTimeout(() => {
|
|
92
|
+
if (isOwner()) {
|
|
93
|
+
config.onPressIn?.(e);
|
|
94
|
+
}
|
|
95
|
+
}, GRACE_PERIOD_MS + 1);
|
|
96
|
+
}).onEnd(e => {
|
|
97
|
+
if (isOwner()) {
|
|
31
98
|
config.onPress?.(e);
|
|
32
|
-
}
|
|
99
|
+
}
|
|
100
|
+
}).onFinalize(e => {
|
|
101
|
+
if (isOwner()) {
|
|
102
|
+
config.onPressOut?.(e);
|
|
103
|
+
releaseOwnership();
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
if (config.hitSlop) tap.hitSlop(config.hitSlop);
|
|
107
|
+
if (!config.onLongPress) return tap;
|
|
108
|
+
const longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).onBegin(e => {
|
|
109
|
+
tryClaimOwnership();
|
|
110
|
+
setTimeout(() => {
|
|
111
|
+
if (isOwner()) {
|
|
112
|
+
config.onPressIn?.(e);
|
|
113
|
+
}
|
|
114
|
+
}, GRACE_PERIOD_MS + 1);
|
|
115
|
+
}).onStart(e => {
|
|
116
|
+
if (isOwner()) {
|
|
117
|
+
config.onLongPress?.(e);
|
|
118
|
+
}
|
|
119
|
+
}).onFinalize(e => {
|
|
120
|
+
if (isOwner()) {
|
|
33
121
|
config.onPressOut?.(e);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
122
|
+
releaseOwnership();
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
if (config.hitSlop) longPress.hitSlop(config.hitSlop);
|
|
126
|
+
return Gesture.Exclusive(longPress, tap);
|
|
38
127
|
}
|
|
39
128
|
};
|
|
40
129
|
}
|
|
41
|
-
export { getGestureHandler };
|
|
130
|
+
export { claimExternalPressOwnership, getGestureHandler, releaseExternalPressOwnership };
|
|
42
131
|
//# sourceMappingURL=gestureState.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","getGestureHandler","isEnabled","get","set","updates","Object","assign","disable","createPressGesture","config","longPressDuration","delayLongPress","tap","Tap","runOnJS","maxDuration","onBegin","e","onPressIn","onEnd","onPress","onFinalize","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration","onStart","Exclusive"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAGlC,MAAMC,KAAA,GAAQD,iBAAA,CAAgC,WAAW;EACvDE,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,eAAA,EAAiB;EACjBC,UAAA,EAAY;AACd,CAAC;
|
|
1
|
+
{"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","pressGestureDebugId","externalPressDebugId","pressState","owner","ownerId","ownerSource","timestamp","resetPressOwner","resetStaleOwner","now","debugName","claimExternalPressOwnership","Date","token","previousOwnerId","previousOwnerSource","releaseExternalPressOwnership","getGestureHandler","isEnabled","get","set","updates","Object","assign","disable","createPressGesture","config","longPressDuration","delayLongPress","myToken","myDebugId","GRACE_PERIOD_MS","process","env","TAMAGUI_RNGH_PRESS_DELAY","tryClaimOwnership","withinGrace","isOwner","releaseOwnership","tap","Tap","runOnJS","maxDuration","onBegin","e","setTimeout","onPressIn","onEnd","onPress","onFinalize","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration","onStart","Exclusive"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,48 @@
|
|
|
1
1
|
import { createGlobalState } from "./globalState.native.js";
|
|
2
|
-
var state = createGlobalState(
|
|
3
|
-
enabled:
|
|
2
|
+
var state = createGlobalState(`gesture`, {
|
|
3
|
+
enabled: false,
|
|
4
4
|
Gesture: null,
|
|
5
5
|
GestureDetector: null,
|
|
6
6
|
ScrollView: null
|
|
7
7
|
});
|
|
8
|
+
var pressGestureDebugId = 0;
|
|
9
|
+
var externalPressDebugId = 0;
|
|
10
|
+
var pressState = {
|
|
11
|
+
owner: null,
|
|
12
|
+
ownerId: null,
|
|
13
|
+
ownerSource: null,
|
|
14
|
+
timestamp: 0
|
|
15
|
+
};
|
|
16
|
+
function resetPressOwner() {
|
|
17
|
+
pressState.owner = null;
|
|
18
|
+
pressState.ownerId = null;
|
|
19
|
+
pressState.ownerSource = null;
|
|
20
|
+
pressState.timestamp = 0;
|
|
21
|
+
}
|
|
22
|
+
function resetStaleOwner(now, debugName) {
|
|
23
|
+
if (now - pressState.timestamp > 2e3) {
|
|
24
|
+
resetPressOwner();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function claimExternalPressOwnership(debugName) {
|
|
28
|
+
var now = Date.now();
|
|
29
|
+
resetStaleOwner(now, debugName);
|
|
30
|
+
var token = {};
|
|
31
|
+
var ownerId = ++externalPressDebugId;
|
|
32
|
+
var previousOwnerId = pressState.ownerId;
|
|
33
|
+
var previousOwnerSource = pressState.ownerSource;
|
|
34
|
+
pressState.owner = token;
|
|
35
|
+
pressState.ownerId = ownerId;
|
|
36
|
+
pressState.ownerSource = "external";
|
|
37
|
+
pressState.timestamp = now;
|
|
38
|
+
return token;
|
|
39
|
+
}
|
|
40
|
+
function releaseExternalPressOwnership(token, debugName) {
|
|
41
|
+
if (!token || pressState.owner !== token) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
resetPressOwner();
|
|
45
|
+
}
|
|
8
46
|
function getGestureHandler() {
|
|
9
47
|
return {
|
|
10
48
|
get isEnabled() {
|
|
@@ -17,39 +55,86 @@ function getGestureHandler() {
|
|
|
17
55
|
Object.assign(state.get(), updates);
|
|
18
56
|
},
|
|
19
57
|
disable() {
|
|
20
|
-
state.get().enabled =
|
|
58
|
+
state.get().enabled = false;
|
|
21
59
|
},
|
|
22
60
|
createPressGesture(config) {
|
|
23
61
|
var {
|
|
24
62
|
Gesture
|
|
25
63
|
} = state.get();
|
|
26
64
|
if (!Gesture) return null;
|
|
27
|
-
var _config_delayLongPress
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
65
|
+
var _config_delayLongPress;
|
|
66
|
+
var longPressDuration = (_config_delayLongPress = config.delayLongPress) !== null && _config_delayLongPress !== void 0 ? _config_delayLongPress : 500;
|
|
67
|
+
var myToken = {};
|
|
68
|
+
var myDebugId = ++pressGestureDebugId;
|
|
69
|
+
var GRACE_PERIOD_MS = process.env.TAMAGUI_RNGH_PRESS_DELAY ? +process.env.TAMAGUI_RNGH_PRESS_DELAY : 24;
|
|
70
|
+
var tryClaimOwnership = function () {
|
|
71
|
+
var now = Date.now();
|
|
72
|
+
resetStaleOwner(now, config.debugName);
|
|
73
|
+
var withinGrace = now - pressState.timestamp < GRACE_PERIOD_MS;
|
|
74
|
+
var previousOwnerId = pressState.ownerId;
|
|
75
|
+
var previousOwnerSource = pressState.ownerSource;
|
|
76
|
+
if (pressState.owner === null || withinGrace && pressState.ownerSource !== "external") {
|
|
77
|
+
pressState.owner = myToken;
|
|
78
|
+
pressState.ownerId = myDebugId;
|
|
79
|
+
pressState.ownerSource = "internal";
|
|
80
|
+
pressState.timestamp = now;
|
|
81
|
+
}
|
|
82
|
+
return pressState.owner === myToken;
|
|
83
|
+
};
|
|
84
|
+
var isOwner = function () {
|
|
85
|
+
return pressState.owner === myToken;
|
|
86
|
+
};
|
|
87
|
+
var releaseOwnership = function () {
|
|
88
|
+
if (pressState.owner === myToken) {
|
|
89
|
+
resetPressOwner();
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
var tap = Gesture.Tap().runOnJS(true).maxDuration(1e4).onBegin(function (e) {
|
|
93
|
+
tryClaimOwnership();
|
|
94
|
+
setTimeout(function () {
|
|
95
|
+
if (isOwner()) {
|
|
96
|
+
var _config_onPressIn;
|
|
97
|
+
(_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
|
|
98
|
+
}
|
|
99
|
+
}, GRACE_PERIOD_MS + 1);
|
|
100
|
+
}).onEnd(function (e) {
|
|
101
|
+
if (isOwner()) {
|
|
33
102
|
var _config_onPress;
|
|
34
|
-
(_config_onPress = config.onPress) === null || _config_onPress === void 0
|
|
35
|
-
}
|
|
103
|
+
(_config_onPress = config.onPress) === null || _config_onPress === void 0 ? void 0 : _config_onPress.call(config, e);
|
|
104
|
+
}
|
|
105
|
+
}).onFinalize(function (e) {
|
|
106
|
+
if (isOwner()) {
|
|
36
107
|
var _config_onPressOut;
|
|
37
|
-
(_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
108
|
+
(_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
|
|
109
|
+
releaseOwnership();
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
if (config.hitSlop) tap.hitSlop(config.hitSlop);
|
|
113
|
+
if (!config.onLongPress) return tap;
|
|
114
|
+
var longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).onBegin(function (e) {
|
|
115
|
+
tryClaimOwnership();
|
|
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);
|
|
43
122
|
}).onStart(function (e) {
|
|
44
|
-
|
|
45
|
-
|
|
123
|
+
if (isOwner()) {
|
|
124
|
+
var _config_onLongPress;
|
|
125
|
+
(_config_onLongPress = config.onLongPress) === null || _config_onLongPress === void 0 ? void 0 : _config_onLongPress.call(config, e);
|
|
126
|
+
}
|
|
46
127
|
}).onFinalize(function (e) {
|
|
47
|
-
|
|
48
|
-
|
|
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
|
+
}
|
|
49
133
|
});
|
|
50
|
-
|
|
134
|
+
if (config.hitSlop) longPress.hitSlop(config.hitSlop);
|
|
135
|
+
return Gesture.Exclusive(longPress, tap);
|
|
51
136
|
}
|
|
52
137
|
};
|
|
53
138
|
}
|
|
54
|
-
export { getGestureHandler };
|
|
139
|
+
export { claimExternalPressOwnership, getGestureHandler, releaseExternalPressOwnership };
|
|
55
140
|
//# sourceMappingURL=gestureState.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","getGestureHandler","isEnabled","get","set","updates","Object","assign","disable","createPressGesture","config","_config_delayLongPress","longPressDuration","delayLongPress","tap","Tap","runOnJS","maxDuration","onBegin","e","_config_onPressIn","onPressIn","call","onEnd","_config_onPress","onPress","onFinalize","_config_onPressOut","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAGlC,IAAAC,KAAM,GAAAD,iBAAQ,UAAgC;EAC5CE,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,eAAA,EAAiB;EACjBC,UAAA,EAAY;AACd,CAAC;
|
|
1
|
+
{"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","pressGestureDebugId","externalPressDebugId","pressState","owner","ownerId","ownerSource","timestamp","resetPressOwner","resetStaleOwner","now","debugName","claimExternalPressOwnership","Date","token","previousOwnerId","previousOwnerSource","releaseExternalPressOwnership","getGestureHandler","isEnabled","get","set","updates","Object","assign","disable","createPressGesture","config","_config_delayLongPress","longPressDuration","delayLongPress","myToken","myDebugId","GRACE_PERIOD_MS","process","env","TAMAGUI_RNGH_PRESS_DELAY","tryClaimOwnership","withinGrace","isOwner","releaseOwnership","tap","Tap","runOnJS","maxDuration","onBegin","e","setTimeout","_config_onPressIn","onPressIn","call","onEnd","_config_onPress","onPress","onFinalize","_config_onPressOut","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration","onStart","_config_onLongPress"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/globalState.mjs
CHANGED
|
@@ -2,9 +2,13 @@ function createGlobalState(key, defaultValue) {
|
|
|
2
2
|
const GLOBAL_KEY = `__gui_${key}__`;
|
|
3
3
|
function getGlobalState() {
|
|
4
4
|
const g = globalThis;
|
|
5
|
-
|
|
5
|
+
if (!g[GLOBAL_KEY]) {
|
|
6
|
+
g[GLOBAL_KEY] = defaultValue;
|
|
7
|
+
}
|
|
8
|
+
return g[GLOBAL_KEY];
|
|
6
9
|
}
|
|
7
10
|
function setGlobalState(newState) {
|
|
11
|
+
;
|
|
8
12
|
globalThis[GLOBAL_KEY] = newState;
|
|
9
13
|
}
|
|
10
14
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGlobalState","key","defaultValue","GLOBAL_KEY","getGlobalState","g","globalThis","setGlobalState","newState","get","set"],"sources":["../../src/globalState.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,kBACdC,GAAA,EACAC,YAAA,EAIA;EACA,MAAMC,UAAA,GAAa,SAASF,GAAG;EAM/B,SAASG,eAAA,EAAoB;IAC3B,MAAMC,CAAA,GAAIC,UAAA;IACV,
|
|
1
|
+
{"version":3,"names":["createGlobalState","key","defaultValue","GLOBAL_KEY","getGlobalState","g","globalThis","setGlobalState","newState","get","set"],"sources":["../../src/globalState.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,kBACdC,GAAA,EACAC,YAAA,EAIA;EACA,MAAMC,UAAA,GAAa,SAASF,GAAG;EAM/B,SAASG,eAAA,EAAoB;IAC3B,MAAMC,CAAA,GAAIC,UAAA;IACV,IAAI,CAACD,CAAA,CAAEF,UAAU,GAAG;MAGlBE,CAAA,CAAEF,UAAU,IAAID,YAAA;IAClB;IACA,OAAOG,CAAA,CAAEF,UAAU;EACrB;EAEA,SAASI,eAAeC,QAAA,EAAmB;IACzC;IAAEF,UAAA,CAAyBH,UAAU,IAAIK,QAAA;EAC3C;EAEA,OAAO;IACLC,GAAA,EAAKL,cAAA;IACLM,GAAA,EAAKH;EACP;AACF","ignoreList":[]}
|
|
@@ -2,9 +2,13 @@ function createGlobalState(key, defaultValue) {
|
|
|
2
2
|
var GLOBAL_KEY = `__gui_${key}__`;
|
|
3
3
|
function getGlobalState() {
|
|
4
4
|
var g = globalThis;
|
|
5
|
-
|
|
5
|
+
if (!g[GLOBAL_KEY]) {
|
|
6
|
+
g[GLOBAL_KEY] = defaultValue;
|
|
7
|
+
}
|
|
8
|
+
return g[GLOBAL_KEY];
|
|
6
9
|
}
|
|
7
10
|
function setGlobalState(newState) {
|
|
11
|
+
;
|
|
8
12
|
globalThis[GLOBAL_KEY] = newState;
|
|
9
13
|
}
|
|
10
14
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGlobalState","key","defaultValue","GLOBAL_KEY","getGlobalState","g","globalThis","setGlobalState","newState","get","set"],"sources":["../../src/globalState.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,kBACdC,GAAA,EACAC,YAAA,EAIA;EACA,IAAAC,UAAM,YAAaF,GAAS,IAAG;EAM/B,SAASG,eAAA,EAAoB;IAC3B,IAAAC,CAAA,GAAMC,UAAI;IACV,
|
|
1
|
+
{"version":3,"names":["createGlobalState","key","defaultValue","GLOBAL_KEY","getGlobalState","g","globalThis","setGlobalState","newState","get","set"],"sources":["../../src/globalState.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,kBACdC,GAAA,EACAC,YAAA,EAIA;EACA,IAAAC,UAAM,YAAaF,GAAS,IAAG;EAM/B,SAASG,eAAA,EAAoB;IAC3B,IAAAC,CAAA,GAAMC,UAAI;IACV,IAAI,CAACD,CAAA,CAAEF,UAAU,GAAG;MAGlBE,CAAA,CAAEF,UAAU,IAAID,YAAA;IAClB;IACA,OAAOG,CAAA,CAAEF,UAAU;EACrB;EAEA,SAASI,eAAeC,QAAA,EAAmB;IACzC;IAAEF,UAAA,CAAyBH,UAAU,IAAIK,QAAA;EAC3C;EAEA,OAAO;IACLC,GAAA,EAAKL,cAAA;IACLM,GAAA,EAAKH;EACP;AACF","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getPortal } from "./portalState.mjs";
|
|
2
2
|
import { getGestureHandler } from "./gestureState.mjs";
|
|
3
|
+
import { claimExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.mjs";
|
|
3
4
|
import { getWorklets } from "./workletsState.mjs";
|
|
4
5
|
import { getSafeArea } from "./safeAreaState.mjs";
|
|
5
6
|
import { getLinearGradient } from "./linearGradientState.mjs";
|
|
@@ -8,5 +9,5 @@ import { getZeego } from "./zeegoState.mjs";
|
|
|
8
9
|
import { NativeMenuContext } from "./nativeMenuContext.mjs";
|
|
9
10
|
import { getBurnt } from "./burntState.mjs";
|
|
10
11
|
import { NativePortal, NativePortalHost, NativePortalProvider } from "./components.mjs";
|
|
11
|
-
export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState };
|
|
12
|
+
export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getPortal","getGestureHandler","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;
|
|
1
|
+
{"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SACiCC,2BAAA,EACEC,6BAAA,QAC5B;AAWP,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,QAAA,QAAgB;AAEzB,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getPortal } from "./portalState.mjs";
|
|
2
2
|
import { getGestureHandler } from "./gestureState.mjs";
|
|
3
|
+
import { claimExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.mjs";
|
|
3
4
|
import { getWorklets } from "./workletsState.mjs";
|
|
4
5
|
import { getSafeArea } from "./safeAreaState.mjs";
|
|
5
6
|
import { getLinearGradient } from "./linearGradientState.mjs";
|
|
@@ -8,5 +9,5 @@ import { getZeego } from "./zeegoState.mjs";
|
|
|
8
9
|
import { NativeMenuContext } from "./nativeMenuContext.mjs";
|
|
9
10
|
import { getBurnt } from "./burntState.mjs";
|
|
10
11
|
import { NativePortal, NativePortalHost, NativePortalProvider } from "./components.mjs";
|
|
11
|
-
export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState };
|
|
12
|
+
export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
|
|
12
13
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getPortal","getGestureHandler","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;
|
|
1
|
+
{"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SACiCC,2BAAA,EACEC,6BAAA,QAC5B;AAWP,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,QAAA,QAAgB;AAEzB,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getPortal } from "./portalState.native.js";
|
|
2
2
|
import { getGestureHandler } from "./gestureState.native.js";
|
|
3
|
+
import { claimExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.native.js";
|
|
3
4
|
import { getWorklets } from "./workletsState.native.js";
|
|
4
5
|
import { getSafeArea } from "./safeAreaState.native.js";
|
|
5
6
|
import { getLinearGradient } from "./linearGradientState.native.js";
|
|
@@ -8,5 +9,5 @@ import { getZeego } from "./zeegoState.native.js";
|
|
|
8
9
|
import { NativeMenuContext } from "./nativeMenuContext.native.js";
|
|
9
10
|
import { getBurnt } from "./burntState.native.js";
|
|
10
11
|
import { NativePortal, NativePortalHost, NativePortalProvider } from "./components.native.js";
|
|
11
|
-
export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState };
|
|
12
|
+
export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
|
|
12
13
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getPortal","getGestureHandler","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;
|
|
1
|
+
{"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SAAAC,2BAAA,EAAAC,6BAAA;AAAA,SACiCC,WAAA;AAAA,SACEC,WAAA;AAAA,SAC5BC,iBAAA;AAWP,SAASC,2BAAmB,EAAAC,0BAAA,EAAAC,0BAAA;AAI5B,SAASC,QAAA,gCAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SAAAC,QAAA;AAAA,SACEC,YAAA,EAAAC,gBAAA,EAAAC,oBAAA;AAAA,SAEAJ,iBAAA,EAAAE,YACK,EAIPC,gBAAS,EAETC,oBAAS,EAGTH,QAAS,EAITX,iBAAS,E","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createGlobalState } from "./globalState.mjs";
|
|
2
|
-
const state = createGlobalState(
|
|
3
|
-
enabled:
|
|
2
|
+
const state = createGlobalState(`keyboard_controller`, {
|
|
3
|
+
enabled: false,
|
|
4
4
|
KeyboardProvider: null,
|
|
5
5
|
KeyboardAwareScrollView: null,
|
|
6
6
|
useKeyboardHandler: null,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createGlobalState } from "./globalState.native.js";
|
|
2
|
-
var state = createGlobalState(
|
|
3
|
-
enabled:
|
|
2
|
+
var state = createGlobalState(`keyboard_controller`, {
|
|
3
|
+
enabled: false,
|
|
4
4
|
KeyboardProvider: null,
|
|
5
5
|
KeyboardAwareScrollView: null,
|
|
6
6
|
useKeyboardHandler: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","NativeMenuContext"],"sources":["../../src/nativeMenuContext.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,aAAA,QAAqB;AAEvB,MAAMC,iBAAA,GAA4CD,aAAA,CAAc,
|
|
1
|
+
{"version":3,"names":["createContext","NativeMenuContext"],"sources":["../../src/nativeMenuContext.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,aAAA,QAAqB;AAEvB,MAAMC,iBAAA,GAA4CD,aAAA,CAAc,KAAK","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","NativeMenuContext"],"sources":["../../src/nativeMenuContext.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,aAAA,QAAqB;AAEvB,IAAAC,iBAAM,GAAAD,aAA4C,
|
|
1
|
+
{"version":3,"names":["createContext","NativeMenuContext"],"sources":["../../src/nativeMenuContext.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,aAAA,QAAqB;AAEvB,IAAAC,iBAAM,GAAAD,aAA4C,MAAc","ignoreList":[]}
|
package/dist/esm/portalState.mjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { createGlobalState } from "./globalState.mjs";
|
|
2
|
-
const state = createGlobalState(
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
2
|
+
const state = createGlobalState(`safe_area`, {
|
|
3
|
+
enabled: false,
|
|
4
|
+
useSafeAreaInsets: null,
|
|
5
|
+
useSafeAreaFrame: null,
|
|
6
|
+
initialMetrics: null
|
|
7
|
+
});
|
|
8
|
+
const defaultInsets = {
|
|
9
|
+
top: 0,
|
|
10
|
+
right: 0,
|
|
11
|
+
bottom: 0,
|
|
12
|
+
left: 0
|
|
13
|
+
};
|
|
14
|
+
const defaultFrame = {
|
|
15
|
+
x: 0,
|
|
16
|
+
y: 0,
|
|
17
|
+
width: 0,
|
|
18
|
+
height: 0
|
|
19
|
+
};
|
|
20
20
|
function getSafeArea() {
|
|
21
21
|
return {
|
|
22
22
|
get isEnabled() {
|
|
@@ -30,11 +30,17 @@ function getSafeArea() {
|
|
|
30
30
|
},
|
|
31
31
|
getInsets() {
|
|
32
32
|
const s = state.get();
|
|
33
|
-
|
|
33
|
+
if (!s.enabled || !s.initialMetrics) {
|
|
34
|
+
return defaultInsets;
|
|
35
|
+
}
|
|
36
|
+
return s.initialMetrics.insets;
|
|
34
37
|
},
|
|
35
38
|
getFrame() {
|
|
36
39
|
const s = state.get();
|
|
37
|
-
|
|
40
|
+
if (!s.enabled || !s.initialMetrics) {
|
|
41
|
+
return defaultFrame;
|
|
42
|
+
}
|
|
43
|
+
return s.initialMetrics.frame;
|
|
38
44
|
}
|
|
39
45
|
};
|
|
40
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGlobalState","state","enabled","useSafeAreaInsets","useSafeAreaFrame","initialMetrics","defaultInsets","top","right","bottom","left","defaultFrame","x","y","width","height","getSafeArea","isEnabled","get","set","updates","Object","assign","getInsets","s","insets","getFrame","frame"],"sources":["../../src/safeAreaState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAGlC,MAAMC,KAAA,GAAQD,iBAAA,CAAiC,aAAa;
|
|
1
|
+
{"version":3,"names":["createGlobalState","state","enabled","useSafeAreaInsets","useSafeAreaFrame","initialMetrics","defaultInsets","top","right","bottom","left","defaultFrame","x","y","width","height","getSafeArea","isEnabled","get","set","updates","Object","assign","getInsets","s","insets","getFrame","frame"],"sources":["../../src/safeAreaState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAGlC,MAAMC,KAAA,GAAQD,iBAAA,CAAiC,aAAa;EAC1DE,OAAA,EAAS;EACTC,iBAAA,EAAmB;EACnBC,gBAAA,EAAkB;EAClBC,cAAA,EAAgB;AAClB,CAAC;AAED,MAAMC,aAAA,GAAgC;EAAEC,GAAA,EAAK;EAAGC,KAAA,EAAO;EAAGC,MAAA,EAAQ;EAAGC,IAAA,EAAM;AAAE;AAC7E,MAAMC,YAAA,GAA8B;EAAEC,CAAA,EAAG;EAAGC,CAAA,EAAG;EAAGC,KAAA,EAAO;EAAGC,MAAA,EAAQ;AAAE;AAY/D,SAASC,YAAA,EAAgC;EAC9C,OAAO;IACL,IAAIC,UAAA,EAAY;MACd,OAAOhB,KAAA,CAAMiB,GAAA,CAAI,EAAEhB,OAAA;IACrB;IACA,IAAID,MAAA,EAAQ;MACV,OAAOA,KAAA,CAAMiB,GAAA,CAAI;IACnB;IACAC,IAAIC,OAAA,EAAiC;MACnCC,MAAA,CAAOC,MAAA,CAAOrB,KAAA,CAAMiB,GAAA,CAAI,GAAGE,OAAO;IACpC;IACAG,UAAA,EAAY;MACV,MAAMC,CAAA,GAAIvB,KAAA,CAAMiB,GAAA,CAAI;MACpB,IAAI,CAACM,CAAA,CAAEtB,OAAA,IAAW,CAACsB,CAAA,CAAEnB,cAAA,EAAgB;QACnC,OAAOC,aAAA;MACT;MACA,OAAOkB,CAAA,CAAEnB,cAAA,CAAeoB,MAAA;IAC1B;IACAC,SAAA,EAAW;MACT,MAAMF,CAAA,GAAIvB,KAAA,CAAMiB,GAAA,CAAI;MACpB,IAAI,CAACM,CAAA,CAAEtB,OAAA,IAAW,CAACsB,CAAA,CAAEnB,cAAA,EAAgB;QACnC,OAAOM,YAAA;MACT;MACA,OAAOa,CAAA,CAAEnB,cAAA,CAAesB,KAAA;IAC1B;EACF;AACF","ignoreList":[]}
|