@hanzogui/react-native-use-pressable 8.3.0 → 8.3.2
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/PressResponder.js +501 -0
- package/dist/cjs/PressResponder.js.map +1 -0
- package/dist/cjs/index.js +34 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/PressResponder.js +497 -0
- package/dist/esm/PressResponder.js.map +1 -0
- package/dist/esm/index.js +29 -20
- package/dist/esm/index.js.map +1 -1
- package/package.json +13 -13
- package/src/index.ts +1 -1
- package/types/PressResponder.d.ts.map +1 -1
- package/dist/cjs/PressResponder.cjs +0 -411
- package/dist/cjs/PressResponder.native.js +0 -489
- package/dist/cjs/PressResponder.native.js.map +0 -1
- package/dist/cjs/index.cjs +0 -57
- package/dist/cjs/index.native.js +0 -60
- package/dist/cjs/index.native.js.map +0 -1
- package/dist/esm/PressResponder.mjs +0 -386
- package/dist/esm/PressResponder.mjs.map +0 -1
- package/dist/esm/PressResponder.native.js +0 -461
- package/dist/esm/PressResponder.native.js.map +0 -1
- package/dist/esm/index.mjs +0 -21
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js +0 -21
- package/dist/esm/index.native.js.map +0 -1
|
@@ -1,386 +0,0 @@
|
|
|
1
|
-
const DELAY = "DELAY";
|
|
2
|
-
const ERROR = "ERROR";
|
|
3
|
-
const LONG_PRESS_DETECTED = "LONG_PRESS_DETECTED";
|
|
4
|
-
const NOT_RESPONDER = "NOT_RESPONDER";
|
|
5
|
-
const RESPONDER_ACTIVE_LONG_PRESS_START = "RESPONDER_ACTIVE_LONG_PRESS_START";
|
|
6
|
-
const RESPONDER_ACTIVE_PRESS_START = "RESPONDER_ACTIVE_PRESS_START";
|
|
7
|
-
const RESPONDER_INACTIVE_PRESS_START = "RESPONDER_INACTIVE_PRESS_START";
|
|
8
|
-
const RESPONDER_GRANT = "RESPONDER_GRANT";
|
|
9
|
-
const RESPONDER_RELEASE = "RESPONDER_RELEASE";
|
|
10
|
-
const RESPONDER_TERMINATED = "RESPONDER_TERMINATED";
|
|
11
|
-
const Transitions = Object.freeze({
|
|
12
|
-
NOT_RESPONDER: {
|
|
13
|
-
DELAY: ERROR,
|
|
14
|
-
RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,
|
|
15
|
-
RESPONDER_RELEASE: ERROR,
|
|
16
|
-
RESPONDER_TERMINATED: ERROR,
|
|
17
|
-
LONG_PRESS_DETECTED: ERROR
|
|
18
|
-
},
|
|
19
|
-
RESPONDER_INACTIVE_PRESS_START: {
|
|
20
|
-
DELAY: RESPONDER_ACTIVE_PRESS_START,
|
|
21
|
-
RESPONDER_GRANT: ERROR,
|
|
22
|
-
RESPONDER_RELEASE: NOT_RESPONDER,
|
|
23
|
-
RESPONDER_TERMINATED: NOT_RESPONDER,
|
|
24
|
-
LONG_PRESS_DETECTED: ERROR
|
|
25
|
-
},
|
|
26
|
-
RESPONDER_ACTIVE_PRESS_START: {
|
|
27
|
-
DELAY: ERROR,
|
|
28
|
-
RESPONDER_GRANT: ERROR,
|
|
29
|
-
RESPONDER_RELEASE: NOT_RESPONDER,
|
|
30
|
-
RESPONDER_TERMINATED: NOT_RESPONDER,
|
|
31
|
-
LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START
|
|
32
|
-
},
|
|
33
|
-
RESPONDER_ACTIVE_LONG_PRESS_START: {
|
|
34
|
-
DELAY: ERROR,
|
|
35
|
-
RESPONDER_GRANT: ERROR,
|
|
36
|
-
RESPONDER_RELEASE: NOT_RESPONDER,
|
|
37
|
-
RESPONDER_TERMINATED: NOT_RESPONDER,
|
|
38
|
-
LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START
|
|
39
|
-
},
|
|
40
|
-
ERROR: {
|
|
41
|
-
DELAY: NOT_RESPONDER,
|
|
42
|
-
RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,
|
|
43
|
-
RESPONDER_RELEASE: NOT_RESPONDER,
|
|
44
|
-
RESPONDER_TERMINATED: NOT_RESPONDER,
|
|
45
|
-
LONG_PRESS_DETECTED: NOT_RESPONDER
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
const isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;
|
|
49
|
-
const isButtonRole = element => element.getAttribute("role") === "button";
|
|
50
|
-
const isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;
|
|
51
|
-
const isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;
|
|
52
|
-
const isValidKeyPress = event => {
|
|
53
|
-
const key = event.key;
|
|
54
|
-
const target = event.target;
|
|
55
|
-
const role = target.getAttribute("role");
|
|
56
|
-
const isSpacebar = key === " " || key === "Spacebar";
|
|
57
|
-
return key === "Enter" || isSpacebar && role === "button";
|
|
58
|
-
};
|
|
59
|
-
const DEFAULT_LONG_PRESS_DELAY_MS = 450;
|
|
60
|
-
const DEFAULT_PRESS_DELAY_MS = 50;
|
|
61
|
-
class PressResponder {
|
|
62
|
-
_touchActivatePosition = null;
|
|
63
|
-
_pressDelayTimeout = 0;
|
|
64
|
-
_selectionTerminated = false;
|
|
65
|
-
_isPointerTouch = false;
|
|
66
|
-
_longPressDelayTimeout = 0;
|
|
67
|
-
_longPressDispatched = false;
|
|
68
|
-
_pressOutDelayTimeout = 0;
|
|
69
|
-
_touchState = NOT_RESPONDER;
|
|
70
|
-
_config = null;
|
|
71
|
-
_eventHandlers = null;
|
|
72
|
-
constructor(config) {
|
|
73
|
-
this.configure(config);
|
|
74
|
-
}
|
|
75
|
-
configure(config) {
|
|
76
|
-
this._config = config;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Resets any pending timers. This should be called on unmount.
|
|
80
|
-
*/
|
|
81
|
-
reset() {
|
|
82
|
-
this._cancelLongPressDelayTimeout();
|
|
83
|
-
this._cancelPressDelayTimeout();
|
|
84
|
-
this._cancelPressOutDelayTimeout();
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Returns a set of props to spread into the interactive element.
|
|
88
|
-
*/
|
|
89
|
-
getEventHandlers() {
|
|
90
|
-
if (this._eventHandlers == null) {
|
|
91
|
-
this._eventHandlers = this._createEventHandlers();
|
|
92
|
-
}
|
|
93
|
-
return this._eventHandlers;
|
|
94
|
-
}
|
|
95
|
-
_createEventHandlers() {
|
|
96
|
-
const start = (event, shouldDelay) => {
|
|
97
|
-
event.persist();
|
|
98
|
-
this._cancelPressOutDelayTimeout();
|
|
99
|
-
this._longPressDispatched = false;
|
|
100
|
-
this._selectionTerminated = false;
|
|
101
|
-
this._touchState = NOT_RESPONDER;
|
|
102
|
-
this._isPointerTouch = event.nativeEvent.type === "touchstart";
|
|
103
|
-
this._receiveSignal(RESPONDER_GRANT, event);
|
|
104
|
-
const delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);
|
|
105
|
-
if (shouldDelay !== false && delayPressStart > 0) {
|
|
106
|
-
this._pressDelayTimeout = setTimeout(() => {
|
|
107
|
-
this._receiveSignal(DELAY, event);
|
|
108
|
-
}, delayPressStart);
|
|
109
|
-
} else {
|
|
110
|
-
this._receiveSignal(DELAY, event);
|
|
111
|
-
}
|
|
112
|
-
const delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);
|
|
113
|
-
this._longPressDelayTimeout = setTimeout(() => {
|
|
114
|
-
this._handleLongPress(event);
|
|
115
|
-
}, delayLongPress + delayPressStart);
|
|
116
|
-
};
|
|
117
|
-
const end = event => {
|
|
118
|
-
this._receiveSignal(RESPONDER_RELEASE, event);
|
|
119
|
-
};
|
|
120
|
-
const keyupHandler = event => {
|
|
121
|
-
const onPress = this._config.onPress;
|
|
122
|
-
const target = event.target;
|
|
123
|
-
if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {
|
|
124
|
-
end(event);
|
|
125
|
-
document.removeEventListener("keyup", keyupHandler);
|
|
126
|
-
const role = target.getAttribute("role");
|
|
127
|
-
const elementType = target.tagName.toLowerCase();
|
|
128
|
-
const isNativeInteractiveElement = role === "link" || elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea";
|
|
129
|
-
if (onPress != null && !isNativeInteractiveElement) {
|
|
130
|
-
onPress(event);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
return {
|
|
135
|
-
onStartShouldSetResponder: event => {
|
|
136
|
-
const disabled = this._config.disabled;
|
|
137
|
-
if (disabled && isButtonRole(event.currentTarget)) {
|
|
138
|
-
event.stopPropagation();
|
|
139
|
-
}
|
|
140
|
-
if (disabled == null) {
|
|
141
|
-
return true;
|
|
142
|
-
}
|
|
143
|
-
return !disabled;
|
|
144
|
-
},
|
|
145
|
-
onKeyDown: event => {
|
|
146
|
-
const disabled = this._config.disabled;
|
|
147
|
-
const key = event.key;
|
|
148
|
-
const target = event.target;
|
|
149
|
-
if (!disabled && isValidKeyPress(event)) {
|
|
150
|
-
if (this._touchState === NOT_RESPONDER) {
|
|
151
|
-
start(event, false);
|
|
152
|
-
document.addEventListener("keyup", keyupHandler);
|
|
153
|
-
}
|
|
154
|
-
const role = target.getAttribute("role");
|
|
155
|
-
const isSpacebarKey = key === " " || key === "Spacebar";
|
|
156
|
-
const _isButtonRole = role === "button" || role === "menuitem";
|
|
157
|
-
if (isSpacebarKey && _isButtonRole) {
|
|
158
|
-
event.preventDefault();
|
|
159
|
-
}
|
|
160
|
-
event.stopPropagation();
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
onResponderGrant: event => start(event),
|
|
164
|
-
onResponderMove: event => {
|
|
165
|
-
if (this._config.onPressMove != null) {
|
|
166
|
-
this._config.onPressMove(event);
|
|
167
|
-
}
|
|
168
|
-
const touch = getTouchFromResponderEvent(event);
|
|
169
|
-
if (this._touchActivatePosition != null) {
|
|
170
|
-
const deltaX = this._touchActivatePosition.pageX - touch.pageX;
|
|
171
|
-
const deltaY = this._touchActivatePosition.pageY - touch.pageY;
|
|
172
|
-
if (Math.hypot(deltaX, deltaY) > 10) {
|
|
173
|
-
this._cancelLongPressDelayTimeout();
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
},
|
|
177
|
-
onResponderRelease: event => end(event),
|
|
178
|
-
onResponderTerminate: event => {
|
|
179
|
-
if (event.nativeEvent.type === "selectionchange") {
|
|
180
|
-
this._selectionTerminated = true;
|
|
181
|
-
}
|
|
182
|
-
this._receiveSignal(RESPONDER_TERMINATED, event);
|
|
183
|
-
},
|
|
184
|
-
onResponderTerminationRequest: event => {
|
|
185
|
-
const _this$_config = this._config;
|
|
186
|
-
const cancelable = _this$_config.cancelable;
|
|
187
|
-
const disabled = _this$_config.disabled;
|
|
188
|
-
const onLongPress = _this$_config.onLongPress;
|
|
189
|
-
if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === "contextmenu") {
|
|
190
|
-
return false;
|
|
191
|
-
}
|
|
192
|
-
if (cancelable == null) {
|
|
193
|
-
return true;
|
|
194
|
-
}
|
|
195
|
-
return cancelable;
|
|
196
|
-
},
|
|
197
|
-
// NOTE: this diverges from react-native in 3 significant ways:
|
|
198
|
-
// * The `onPress` callback is not connected to the responder system (the native
|
|
199
|
-
// `click` event must be used but is dispatched in many scenarios where no pointers
|
|
200
|
-
// are on the screen.) Therefore, it's possible for `onPress` to be called without
|
|
201
|
-
// `onPress{Start,End}` being called first.
|
|
202
|
-
// * The `onPress` callback is only be called on the first ancestor of the native
|
|
203
|
-
// `click` target that is using the PressResponder.
|
|
204
|
-
// * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.
|
|
205
|
-
onClick: event => {
|
|
206
|
-
const _this$_config2 = this._config;
|
|
207
|
-
const disabled = _this$_config2.disabled;
|
|
208
|
-
const onPress = _this$_config2.onPress;
|
|
209
|
-
if (!disabled) {
|
|
210
|
-
event.stopPropagation();
|
|
211
|
-
if (this._longPressDispatched || this._selectionTerminated) {
|
|
212
|
-
event.preventDefault();
|
|
213
|
-
} else if (onPress != null && event.altKey === false) {
|
|
214
|
-
onPress(event);
|
|
215
|
-
}
|
|
216
|
-
} else {
|
|
217
|
-
if (isButtonRole(event.currentTarget)) {
|
|
218
|
-
event.stopPropagation();
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
},
|
|
222
|
-
// If `onLongPress` is provided and a touch pointer is being used, prevent the
|
|
223
|
-
// default context menu from opening.
|
|
224
|
-
onContextMenu: event => {
|
|
225
|
-
const _this$_config3 = this._config;
|
|
226
|
-
const disabled = _this$_config3.disabled;
|
|
227
|
-
const onLongPress = _this$_config3.onLongPress;
|
|
228
|
-
if (!disabled) {
|
|
229
|
-
if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {
|
|
230
|
-
event.preventDefault();
|
|
231
|
-
event.stopPropagation();
|
|
232
|
-
}
|
|
233
|
-
} else {
|
|
234
|
-
if (isButtonRole(event.currentTarget)) {
|
|
235
|
-
event.stopPropagation();
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Receives a state machine signal, performs side effects of the transition
|
|
243
|
-
* and stores the new state. Validates the transition as well.
|
|
244
|
-
*/
|
|
245
|
-
_receiveSignal(signal, event) {
|
|
246
|
-
const prevState = this._touchState;
|
|
247
|
-
let nextState = null;
|
|
248
|
-
if (Transitions[prevState] != null) {
|
|
249
|
-
nextState = Transitions[prevState][signal];
|
|
250
|
-
}
|
|
251
|
-
if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
if (nextState == null || nextState === ERROR) {
|
|
255
|
-
console.error(`PressResponder: Invalid signal ${signal} for state ${prevState} on responder`);
|
|
256
|
-
} else if (prevState !== nextState) {
|
|
257
|
-
this._performTransitionSideEffects(prevState, nextState, signal, event);
|
|
258
|
-
this._touchState = nextState;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* Performs a transition between touchable states and identify any activations
|
|
263
|
-
* or deactivations (and callback invocations).
|
|
264
|
-
*/
|
|
265
|
-
_performTransitionSideEffects(prevState, nextState, signal, event) {
|
|
266
|
-
if (isTerminalSignal(signal)) {
|
|
267
|
-
setTimeout(() => {
|
|
268
|
-
this._isPointerTouch = false;
|
|
269
|
-
}, 0);
|
|
270
|
-
this._touchActivatePosition = null;
|
|
271
|
-
this._cancelLongPressDelayTimeout();
|
|
272
|
-
}
|
|
273
|
-
if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {
|
|
274
|
-
const onLongPress = this._config.onLongPress;
|
|
275
|
-
if (onLongPress != null && event.nativeEvent.key == null) {
|
|
276
|
-
onLongPress(event);
|
|
277
|
-
this._longPressDispatched = true;
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
const isPrevActive = isActiveSignal(prevState);
|
|
281
|
-
const isNextActive = isActiveSignal(nextState);
|
|
282
|
-
if (!isPrevActive && isNextActive) {
|
|
283
|
-
this._activate(event);
|
|
284
|
-
} else if (isPrevActive && !isNextActive) {
|
|
285
|
-
this._deactivate(event);
|
|
286
|
-
}
|
|
287
|
-
if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {
|
|
288
|
-
const _this$_config4 = this._config;
|
|
289
|
-
const _onLongPress = _this$_config4.onLongPress;
|
|
290
|
-
const onPress = _this$_config4.onPress;
|
|
291
|
-
if (onPress != null) {
|
|
292
|
-
const isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;
|
|
293
|
-
if (!isPressCanceledByLongPress) {
|
|
294
|
-
if (!(isNextActive || isPrevActive)) {
|
|
295
|
-
this._activate(event);
|
|
296
|
-
this._deactivate(event);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
this._cancelPressDelayTimeout();
|
|
302
|
-
}
|
|
303
|
-
_activate(event) {
|
|
304
|
-
const _this$_config5 = this._config;
|
|
305
|
-
const onPressChange = _this$_config5.onPressChange;
|
|
306
|
-
const onPressStart = _this$_config5.onPressStart;
|
|
307
|
-
const touch = getTouchFromResponderEvent(event);
|
|
308
|
-
this._touchActivatePosition = {
|
|
309
|
-
pageX: touch.pageX,
|
|
310
|
-
pageY: touch.pageY
|
|
311
|
-
};
|
|
312
|
-
if (onPressStart != null) {
|
|
313
|
-
onPressStart(event);
|
|
314
|
-
}
|
|
315
|
-
if (onPressChange != null) {
|
|
316
|
-
onPressChange(true);
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
_deactivate(event) {
|
|
320
|
-
const _this$_config6 = this._config;
|
|
321
|
-
const onPressChange = _this$_config6.onPressChange;
|
|
322
|
-
const onPressEnd = _this$_config6.onPressEnd;
|
|
323
|
-
function end() {
|
|
324
|
-
if (onPressEnd != null) {
|
|
325
|
-
onPressEnd(event);
|
|
326
|
-
}
|
|
327
|
-
if (onPressChange != null) {
|
|
328
|
-
onPressChange(false);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
const delayPressEnd = normalizeDelay(this._config.delayPressEnd);
|
|
332
|
-
if (delayPressEnd > 0) {
|
|
333
|
-
this._pressOutDelayTimeout = setTimeout(() => {
|
|
334
|
-
end();
|
|
335
|
-
}, delayPressEnd);
|
|
336
|
-
} else {
|
|
337
|
-
end();
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
_handleLongPress(event) {
|
|
341
|
-
if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {
|
|
342
|
-
this._receiveSignal(LONG_PRESS_DETECTED, event);
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
_cancelLongPressDelayTimeout() {
|
|
346
|
-
if (this._longPressDelayTimeout != null) {
|
|
347
|
-
clearTimeout(this._longPressDelayTimeout);
|
|
348
|
-
this._longPressDelayTimeout = null;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
_cancelPressDelayTimeout() {
|
|
352
|
-
if (this._pressDelayTimeout != null) {
|
|
353
|
-
clearTimeout(this._pressDelayTimeout);
|
|
354
|
-
this._pressDelayTimeout = null;
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
_cancelPressOutDelayTimeout() {
|
|
358
|
-
if (this._pressOutDelayTimeout != null) {
|
|
359
|
-
clearTimeout(this._pressOutDelayTimeout);
|
|
360
|
-
this._pressOutDelayTimeout = null;
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
function normalizeDelay(delay, min, fallback) {
|
|
365
|
-
if (min === void 0) {
|
|
366
|
-
min = 0;
|
|
367
|
-
}
|
|
368
|
-
if (fallback === void 0) {
|
|
369
|
-
fallback = 0;
|
|
370
|
-
}
|
|
371
|
-
return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);
|
|
372
|
-
}
|
|
373
|
-
function getTouchFromResponderEvent(event) {
|
|
374
|
-
const _event$nativeEvent = event.nativeEvent;
|
|
375
|
-
const changedTouches = _event$nativeEvent.changedTouches;
|
|
376
|
-
const touches = _event$nativeEvent.touches;
|
|
377
|
-
if (touches != null && touches.length > 0) {
|
|
378
|
-
return touches[0];
|
|
379
|
-
}
|
|
380
|
-
if (changedTouches != null && changedTouches.length > 0) {
|
|
381
|
-
return changedTouches[0];
|
|
382
|
-
}
|
|
383
|
-
return event.nativeEvent;
|
|
384
|
-
}
|
|
385
|
-
export { PressResponder };
|
|
386
|
-
//# sourceMappingURL=PressResponder.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_GRANT","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","Object","freeze","isActiveSignal","signal","isButtonRole","element","getAttribute","isPressStartSignal","isTerminalSignal","isValidKeyPress","event","key","target","role","isSpacebar","DEFAULT_LONG_PRESS_DELAY_MS","DEFAULT_PRESS_DELAY_MS","PressResponder","_touchActivatePosition","_pressDelayTimeout","_selectionTerminated","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressOutDelayTimeout","_touchState","_config","_eventHandlers","constructor","config","configure","reset","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","start","shouldDelay","persist","nativeEvent","type","_receiveSignal","delayPressStart","normalizeDelay","setTimeout","delayLongPress","_handleLongPress","end","keyupHandler","onPress","document","removeEventListener","elementType","tagName","toLowerCase","isNativeInteractiveElement","onStartShouldSetResponder","disabled","currentTarget","stopPropagation","onKeyDown","addEventListener","isSpacebarKey","_isButtonRole","preventDefault","onResponderGrant","onResponderMove","onPressMove","touch","getTouchFromResponderEvent","deltaX","pageX","deltaY","pageY","Math","hypot","onResponderRelease","onResponderTerminate","onResponderTerminationRequest","_this$_config","cancelable","onLongPress","onClick","_this$_config2","altKey","onContextMenu","_this$_config3","defaultPrevented","prevState","nextState","console","error","_performTransitionSideEffects","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","isPressCanceledByLongPress","_this$_config5","onPressChange","onPressStart","_this$_config6","onPressEnd","delayPressEnd","clearTimeout","delay","min","fallback","max","_event$nativeEvent","changedTouches","touches","length"],"sources":["../../src/PressResponder.ts"],"sourcesContent":[null],"mappings":"AAUA,MAAMA,KAAA,GAAQ;AACd,MAAMC,KAAA,GAAQ;AACd,MAAMC,mBAAA,GAAsB;AAC5B,MAAMC,aAAA,GAAgB;AACtB,MAAMC,iCAAA,GAAoC;AAC1C,MAAMC,4BAAA,GAA+B;AACrC,MAAMC,8BAAA,GAAiC;AACvC,MAAMC,eAAA,GAAkB;AACxB,MAAMC,iBAAA,GAAoB;AAC1B,MAAMC,oBAAA,GAAuB;AAC7B,MAAMC,WAAA,GAAcC,MAAA,CAAOC,MAAA,CAAO;EAChCT,aAAA,EAAe;IACbH,KAAA,EAAOC,KAAA;IACPM,eAAA,EAAiBD,8BAAA;IACjBE,iBAAA,EAAmBP,KAAA;IACnBQ,oBAAA,EAAsBR,KAAA;IACtBC,mBAAA,EAAqBD;EACvB;EACAK,8BAAA,EAAgC;IAC9BN,KAAA,EAAOK,4BAAA;IACPE,eAAA,EAAiBN,KAAA;IACjBO,iBAAA,EAAmBL,aAAA;IACnBM,oBAAA,EAAsBN,aAAA;IACtBD,mBAAA,EAAqBD;EACvB;EACAI,4BAAA,EAA8B;IAC5BL,KAAA,EAAOC,KAAA;IACPM,eAAA,EAAiBN,KAAA;IACjBO,iBAAA,EAAmBL,aAAA;IACnBM,oBAAA,EAAsBN,aAAA;IACtBD,mBAAA,EAAqBE;EACvB;EACAA,iCAAA,EAAmC;IACjCJ,KAAA,EAAOC,KAAA;IACPM,eAAA,EAAiBN,KAAA;IACjBO,iBAAA,EAAmBL,aAAA;IACnBM,oBAAA,EAAsBN,aAAA;IACtBD,mBAAA,EAAqBE;EACvB;EACAH,KAAA,EAAO;IACLD,KAAA,EAAOG,aAAA;IACPI,eAAA,EAAiBD,8BAAA;IACjBE,iBAAA,EAAmBL,aAAA;IACnBM,oBAAA,EAAsBN,aAAA;IACtBD,mBAAA,EAAqBC;EACvB;AACF,CAAC;AAED,MAAMU,cAAA,GAAkBC,MAAA,IACtBA,MAAA,KAAWT,4BAAA,IAAgCS,MAAA,KAAWV,iCAAA;AAExD,MAAMW,YAAA,GAAgBC,OAAA,IAAYA,OAAA,CAAQC,YAAA,CAAa,MAAM,MAAM;AAEnE,MAAMC,kBAAA,GAAsBJ,MAAA,IAC1BA,MAAA,KAAWR,8BAAA,IACXQ,MAAA,KAAWT,4BAAA,IACXS,MAAA,KAAWV,iCAAA;AAEb,MAAMe,gBAAA,GAAoBL,MAAA,IACxBA,MAAA,KAAWL,oBAAA,IAAwBK,MAAA,KAAWN,iBAAA;AAEhD,MAAMY,eAAA,GAAmBC,KAAA,IAAU;EACjC,MAAMC,GAAA,GAAMD,KAAA,CAAMC,GAAA;EAClB,MAAMC,MAAA,GAASF,KAAA,CAAME,MAAA;EACrB,MAAMC,IAAA,GAAOD,MAAA,CAAON,YAAA,CAAa,MAAM;EACvC,MAAMQ,UAAA,GAAaH,GAAA,KAAQ,OAAOA,GAAA,KAAQ;EAC1C,OAAOA,GAAA,KAAQ,WAAYG,UAAA,IAAcD,IAAA,KAAS;AACpD;AAEA,MAAME,2BAAA,GAA8B;AAEpC,MAAMC,sBAAA,GAAyB;AA4ExB,MAAMC,cAAA,CAAe;EAC1BC,sBAAA,GAAyB;EACzBC,kBAAA,GAAqB;EACrBC,oBAAA,GAAuB;EACvBC,eAAA,GAAkB;EAClBC,sBAAA,GAAyB;EACzBC,oBAAA,GAAuB;EACvBC,qBAAA,GAAwB;EACxBC,WAAA,GAAcjC,aAAA;EACdkC,OAAA,GAAU;EACVC,cAAA,GAAiB;EAEjBC,YAAYC,MAAA,EAAQ;IAClB,KAAKC,SAAA,CAAUD,MAAM;EACvB;EAEAC,UAAUD,MAAA,EAAQ;IAChB,KAAKH,OAAA,GAAUG,MAAA;EACjB;EAAA;AAAA;AAAA;EAKAE,MAAA,EAAQ;IACN,KAAKC,4BAAA,CAA6B;IAElC,KAAKC,wBAAA,CAAyB;IAE9B,KAAKC,2BAAA,CAA4B;EACnC;EAAA;AAAA;AAAA;EAKAC,iBAAA,EAAmB;IACjB,IAAI,KAAKR,cAAA,IAAkB,MAAM;MAC/B,KAAKA,cAAA,GAAiB,KAAKS,oBAAA,CAAqB;IAClD;IAEA,OAAO,KAAKT,cAAA;EACd;EAEAS,qBAAA,EAAuB;IACrB,MAAMC,KAAA,GAAQA,CAAC3B,KAAA,EAAO4B,WAAA,KAA0B;MAC9C5B,KAAA,CAAM6B,OAAA,CAAQ;MAEd,KAAKL,2BAAA,CAA4B;MAEjC,KAAKX,oBAAA,GAAuB;MAC5B,KAAKH,oBAAA,GAAuB;MAC5B,KAAKK,WAAA,GAAcjC,aAAA;MACnB,KAAK6B,eAAA,GAAkBX,KAAA,CAAM8B,WAAA,CAAYC,IAAA,KAAS;MAElD,KAAKC,cAAA,CAAe9C,eAAA,EAAiBc,KAAK;MAE1C,MAAMiC,eAAA,GAAkBC,cAAA,CACtB,KAAKlB,OAAA,CAAQiB,eAAA,EACb,GACA3B,sBACF;MAEA,IAAIsB,WAAA,KAAgB,SAASK,eAAA,GAAkB,GAAG;QAChD,KAAKxB,kBAAA,GAAqB0B,UAAA,CAAW,MAAM;UACzC,KAAKH,cAAA,CAAerD,KAAA,EAAOqB,KAAK;QAClC,GAAGiC,eAAe;MACpB,OAAO;QACL,KAAKD,cAAA,CAAerD,KAAA,EAAOqB,KAAK;MAClC;MAEA,MAAMoC,cAAA,GAAiBF,cAAA,CACrB,KAAKlB,OAAA,CAAQoB,cAAA,EACb,IACA/B,2BACF;MACA,KAAKO,sBAAA,GAAyBuB,UAAA,CAAW,MAAM;QAC7C,KAAKE,gBAAA,CAAiBrC,KAAK;MAC7B,GAAGoC,cAAA,GAAiBH,eAAe;IACrC;IAEA,MAAMK,GAAA,GAAOtC,KAAA,IAAU;MACrB,KAAKgC,cAAA,CAAe7C,iBAAA,EAAmBa,KAAK;IAC9C;IAEA,MAAMuC,YAAA,GAAgBvC,KAAA,IAAU;MAC9B,MAAMwC,OAAA,GAAU,KAAKxB,OAAA,CAAQwB,OAAA;MAC7B,MAAMtC,MAAA,GAASF,KAAA,CAAME,MAAA;MAErB,IAAI,KAAKa,WAAA,KAAgBjC,aAAA,IAAiBiB,eAAA,CAAgBC,KAAK,GAAG;QAChEsC,GAAA,CAAItC,KAAK;QACTyC,QAAA,CAASC,mBAAA,CAAoB,SAASH,YAAY;QAClD,MAAMpC,IAAA,GAAOD,MAAA,CAAON,YAAA,CAAa,MAAM;QACvC,MAAM+C,WAAA,GAAczC,MAAA,CAAO0C,OAAA,CAAQC,WAAA,CAAY;QAC/C,MAAMC,0BAAA,GACJ3C,IAAA,KAAS,UACTwC,WAAA,KAAgB,OAChBA,WAAA,KAAgB,YAChBA,WAAA,KAAgB,WAChBA,WAAA,KAAgB,YAChBA,WAAA,KAAgB;QAElB,IAAIH,OAAA,IAAW,QAAQ,CAACM,0BAAA,EAA4B;UAClDN,OAAA,CAAQxC,KAAK;QACf;MACF;IACF;IAEA,OAAO;MACL+C,yBAAA,EAA4B/C,KAAA,IAAU;QACpC,MAAMgD,QAAA,GAAW,KAAKhC,OAAA,CAAQgC,QAAA;QAE9B,IAAIA,QAAA,IAAYtD,YAAA,CAAaM,KAAA,CAAMiD,aAAa,GAAG;UACjDjD,KAAA,CAAMkD,eAAA,CAAgB;QACxB;QAEA,IAAIF,QAAA,IAAY,MAAM;UACpB,OAAO;QACT;QAEA,OAAO,CAACA,QAAA;MACV;MACAG,SAAA,EAAYnD,KAAA,IAAU;QACpB,MAAMgD,QAAA,GAAW,KAAKhC,OAAA,CAAQgC,QAAA;QAC9B,MAAM/C,GAAA,GAAMD,KAAA,CAAMC,GAAA;QAClB,MAAMC,MAAA,GAASF,KAAA,CAAME,MAAA;QAErB,IAAI,CAAC8C,QAAA,IAAYjD,eAAA,CAAgBC,KAAK,GAAG;UACvC,IAAI,KAAKe,WAAA,KAAgBjC,aAAA,EAAe;YACtC6C,KAAA,CAAM3B,KAAA,EAAO,KAAK;YAGlByC,QAAA,CAASW,gBAAA,CAAiB,SAASb,YAAY;UACjD;UAEA,MAAMpC,IAAA,GAAOD,MAAA,CAAON,YAAA,CAAa,MAAM;UACvC,MAAMyD,aAAA,GAAgBpD,GAAA,KAAQ,OAAOA,GAAA,KAAQ;UAE7C,MAAMqD,aAAA,GAAgBnD,IAAA,KAAS,YAAYA,IAAA,KAAS;UAEpD,IAAIkD,aAAA,IAAiBC,aAAA,EAAe;YAElCtD,KAAA,CAAMuD,cAAA,CAAe;UACvB;UAEAvD,KAAA,CAAMkD,eAAA,CAAgB;QACxB;MACF;MACAM,gBAAA,EAAmBxD,KAAA,IAAU2B,KAAA,CAAM3B,KAAK;MACxCyD,eAAA,EAAkBzD,KAAA,IAAU;QAC1B,IAAI,KAAKgB,OAAA,CAAQ0C,WAAA,IAAe,MAAM;UACpC,KAAK1C,OAAA,CAAQ0C,WAAA,CAAY1D,KAAK;QAChC;QAEA,MAAM2D,KAAA,GAAQC,0BAAA,CAA2B5D,KAAK;QAE9C,IAAI,KAAKQ,sBAAA,IAA0B,MAAM;UACvC,MAAMqD,MAAA,GAAS,KAAKrD,sBAAA,CAAuBsD,KAAA,GAAQH,KAAA,CAAMG,KAAA;UACzD,MAAMC,MAAA,GAAS,KAAKvD,sBAAA,CAAuBwD,KAAA,GAAQL,KAAA,CAAMK,KAAA;UAEzD,IAAIC,IAAA,CAAKC,KAAA,CAAML,MAAA,EAAQE,MAAM,IAAI,IAAI;YACnC,KAAKzC,4BAAA,CAA6B;UACpC;QACF;MACF;MACA6C,kBAAA,EAAqBnE,KAAA,IAAUsC,GAAA,CAAItC,KAAK;MACxCoE,oBAAA,EAAuBpE,KAAA,IAAU;QAC/B,IAAIA,KAAA,CAAM8B,WAAA,CAAYC,IAAA,KAAS,mBAAmB;UAChD,KAAKrB,oBAAA,GAAuB;QAC9B;QAEA,KAAKsB,cAAA,CAAe5C,oBAAA,EAAsBY,KAAK;MACjD;MACAqE,6BAAA,EAAgCrE,KAAA,IAAU;QACxC,MAAMsE,aAAA,GAAgB,KAAKtD,OAAA;QAC3B,MAAMuD,UAAA,GAAaD,aAAA,CAAcC,UAAA;QACjC,MAAMvB,QAAA,GAAWsB,aAAA,CAActB,QAAA;QAC/B,MAAMwB,WAAA,GAAcF,aAAA,CAAcE,WAAA;QAGlC,IACE,CAACxB,QAAA,IACDwB,WAAA,IAAe,QACf,KAAK7D,eAAA,IACLX,KAAA,CAAM8B,WAAA,CAAYC,IAAA,KAAS,eAC3B;UACA,OAAO;QACT;QAEA,IAAIwC,UAAA,IAAc,MAAM;UACtB,OAAO;QACT;QAEA,OAAOA,UAAA;MACT;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MASAE,OAAA,EAAUzE,KAAA,IAAU;QAClB,MAAM0E,cAAA,GAAiB,KAAK1D,OAAA;QAC5B,MAAMgC,QAAA,GAAW0B,cAAA,CAAe1B,QAAA;QAChC,MAAMR,OAAA,GAAUkC,cAAA,CAAelC,OAAA;QAE/B,IAAI,CAACQ,QAAA,EAAU;UAIbhD,KAAA,CAAMkD,eAAA,CAAgB;UAEtB,IAAI,KAAKrC,oBAAA,IAAwB,KAAKH,oBAAA,EAAsB;YAC1DV,KAAA,CAAMuD,cAAA,CAAe;UACvB,WAAWf,OAAA,IAAW,QAAQxC,KAAA,CAAM2E,MAAA,KAAW,OAAO;YACpDnC,OAAA,CAAQxC,KAAK;UACf;QACF,OAAO;UACL,IAAIN,YAAA,CAAaM,KAAA,CAAMiD,aAAa,GAAG;YACrCjD,KAAA,CAAMkD,eAAA,CAAgB;UACxB;QACF;MACF;MAAA;MAAA;MAGA0B,aAAA,EAAgB5E,KAAA,IAAU;QACxB,MAAM6E,cAAA,GAAiB,KAAK7D,OAAA;QAC5B,MAAMgC,QAAA,GAAW6B,cAAA,CAAe7B,QAAA;QAChC,MAAMwB,WAAA,GAAcK,cAAA,CAAeL,WAAA;QAEnC,IAAI,CAACxB,QAAA,EAAU;UACb,IAAIwB,WAAA,IAAe,QAAQ,KAAK7D,eAAA,IAAmB,CAACX,KAAA,CAAM8E,gBAAA,EAAkB;YAC1E9E,KAAA,CAAMuD,cAAA,CAAe;YACrBvD,KAAA,CAAMkD,eAAA,CAAgB;UACxB;QACF,OAAO;UACL,IAAIxD,YAAA,CAAaM,KAAA,CAAMiD,aAAa,GAAG;YACrCjD,KAAA,CAAMkD,eAAA,CAAgB;UACxB;QACF;MACF;IACF;EACF;EAAA;AAAA;AAAA;AAAA;EAMAlB,eAAevC,MAAA,EAAQO,KAAA,EAAO;IAC5B,MAAM+E,SAAA,GAAY,KAAKhE,WAAA;IACvB,IAAIiE,SAAA,GAAY;IAEhB,IAAI3F,WAAA,CAAY0F,SAAS,KAAK,MAAM;MAClCC,SAAA,GAAY3F,WAAA,CAAY0F,SAAS,EAAEtF,MAAM;IAC3C;IAEA,IAAI,KAAKsB,WAAA,KAAgBjC,aAAA,IAAiBW,MAAA,KAAWN,iBAAA,EAAmB;MACtE;IACF;IAEA,IAAI6F,SAAA,IAAa,QAAQA,SAAA,KAAcpG,KAAA,EAAO;MAC5CqG,OAAA,CAAQC,KAAA,CACN,kCAAkCzF,MAAM,cAAcsF,SAAS,eACjE;IACF,WAAWA,SAAA,KAAcC,SAAA,EAAW;MAClC,KAAKG,6BAAA,CAA8BJ,SAAA,EAAWC,SAAA,EAAWvF,MAAA,EAAQO,KAAK;MAEtE,KAAKe,WAAA,GAAciE,SAAA;IACrB;EACF;EAAA;AAAA;AAAA;AAAA;EAMAG,8BAA8BJ,SAAA,EAAWC,SAAA,EAAWvF,MAAA,EAAQO,KAAA,EAAO;IACjE,IAAIF,gBAAA,CAAiBL,MAAM,GAAG;MAI5B0C,UAAA,CAAW,MAAM;QACf,KAAKxB,eAAA,GAAkB;MACzB,GAAG,CAAC;MACJ,KAAKH,sBAAA,GAAyB;MAE9B,KAAKc,4BAAA,CAA6B;IACpC;IAEA,IAAIzB,kBAAA,CAAmBkF,SAAS,KAAKtF,MAAA,KAAWZ,mBAAA,EAAqB;MACnE,MAAM2F,WAAA,GAAc,KAAKxD,OAAA,CAAQwD,WAAA;MAGjC,IAAIA,WAAA,IAAe,QAAQxE,KAAA,CAAM8B,WAAA,CAAY7B,GAAA,IAAO,MAAM;QACxDuE,WAAA,CAAYxE,KAAK;QACjB,KAAKa,oBAAA,GAAuB;MAC9B;IACF;IAEA,MAAMuE,YAAA,GAAe5F,cAAA,CAAeuF,SAAS;IAC7C,MAAMM,YAAA,GAAe7F,cAAA,CAAewF,SAAS;IAE7C,IAAI,CAACI,YAAA,IAAgBC,YAAA,EAAc;MACjC,KAAKC,SAAA,CAAUtF,KAAK;IACtB,WAAWoF,YAAA,IAAgB,CAACC,YAAA,EAAc;MACxC,KAAKE,WAAA,CAAYvF,KAAK;IACxB;IAEA,IAAIH,kBAAA,CAAmBkF,SAAS,KAAKtF,MAAA,KAAWN,iBAAA,EAAmB;MACjE,MAAMqG,cAAA,GAAiB,KAAKxE,OAAA;MAC5B,MAAMyE,YAAA,GAAeD,cAAA,CAAehB,WAAA;MACpC,MAAMhC,OAAA,GAAUgD,cAAA,CAAehD,OAAA;MAE/B,IAAIA,OAAA,IAAW,MAAM;QACnB,MAAMkD,0BAAA,GACJD,YAAA,IAAgB,QAAQV,SAAA,KAAchG,iCAAA;QAExC,IAAI,CAAC2G,0BAAA,EAA4B;UAE/B,IAAI,EAAEL,YAAA,IAAgBD,YAAA,GAAe;YACnC,KAAKE,SAAA,CAAUtF,KAAK;YAEpB,KAAKuF,WAAA,CAAYvF,KAAK;UACxB;QACF;MACF;IACF;IAEA,KAAKuB,wBAAA,CAAyB;EAChC;EAEA+D,UAAUtF,KAAA,EAAO;IACf,MAAM2F,cAAA,GAAiB,KAAK3E,OAAA;IAC5B,MAAM4E,aAAA,GAAgBD,cAAA,CAAeC,aAAA;IACrC,MAAMC,YAAA,GAAeF,cAAA,CAAeE,YAAA;IACpC,MAAMlC,KAAA,GAAQC,0BAAA,CAA2B5D,KAAK;IAC9C,KAAKQ,sBAAA,GAAyB;MAC5BsD,KAAA,EAAOH,KAAA,CAAMG,KAAA;MACbE,KAAA,EAAOL,KAAA,CAAMK;IACf;IAEA,IAAI6B,YAAA,IAAgB,MAAM;MACxBA,YAAA,CAAa7F,KAAK;IACpB;IAEA,IAAI4F,aAAA,IAAiB,MAAM;MACzBA,aAAA,CAAc,IAAI;IACpB;EACF;EAEAL,YAAYvF,KAAA,EAAO;IACjB,MAAM8F,cAAA,GAAiB,KAAK9E,OAAA;IAC5B,MAAM4E,aAAA,GAAgBE,cAAA,CAAeF,aAAA;IACrC,MAAMG,UAAA,GAAaD,cAAA,CAAeC,UAAA;IAElC,SAASzD,IAAA,EAAM;MACb,IAAIyD,UAAA,IAAc,MAAM;QACtBA,UAAA,CAAW/F,KAAK;MAClB;MAEA,IAAI4F,aAAA,IAAiB,MAAM;QACzBA,aAAA,CAAc,KAAK;MACrB;IACF;IAEA,MAAMI,aAAA,GAAgB9D,cAAA,CAAe,KAAKlB,OAAA,CAAQgF,aAAa;IAE/D,IAAIA,aAAA,GAAgB,GAAG;MACrB,KAAKlF,qBAAA,GAAwBqB,UAAA,CAAW,MAAM;QAC5CG,GAAA,CAAI;MACN,GAAG0D,aAAa;IAClB,OAAO;MACL1D,GAAA,CAAI;IACN;EACF;EAEAD,iBAAiBrC,KAAA,EAAO;IACtB,IACE,KAAKe,WAAA,KAAgB/B,4BAAA,IACrB,KAAK+B,WAAA,KAAgBhC,iCAAA,EACrB;MACA,KAAKiD,cAAA,CAAenD,mBAAA,EAAqBmB,KAAK;IAChD;EACF;EAEAsB,6BAAA,EAA+B;IAC7B,IAAI,KAAKV,sBAAA,IAA0B,MAAM;MACvCqF,YAAA,CAAa,KAAKrF,sBAAsB;MACxC,KAAKA,sBAAA,GAAyB;IAChC;EACF;EAEAW,yBAAA,EAA2B;IACzB,IAAI,KAAKd,kBAAA,IAAsB,MAAM;MACnCwF,YAAA,CAAa,KAAKxF,kBAAkB;MACpC,KAAKA,kBAAA,GAAqB;IAC5B;EACF;EAEAe,4BAAA,EAA8B;IAC5B,IAAI,KAAKV,qBAAA,IAAyB,MAAM;MACtCmF,YAAA,CAAa,KAAKnF,qBAAqB;MACvC,KAAKA,qBAAA,GAAwB;IAC/B;EACF;AACF;AAEA,SAASoB,eAAegE,KAAA,EAAOC,GAAA,EAAcC,QAAA,EAAgB;EAC3D,IAAID,GAAA,KAAQ,QAAQ;IAClBA,GAAA,GAAM;EACR;EAEA,IAAIC,QAAA,KAAa,QAAQ;IACvBA,QAAA,GAAW;EACb;EAEA,OAAOnC,IAAA,CAAKoC,GAAA,CAAIF,GAAA,EAAKD,KAAA,KAAU,QAAQA,KAAA,KAAU,SAASA,KAAA,GAAQE,QAAQ;AAC5E;AAEA,SAASxC,2BAA2B5D,KAAA,EAAO;EACzC,MAAMsG,kBAAA,GAAqBtG,KAAA,CAAM8B,WAAA;EACjC,MAAMyE,cAAA,GAAiBD,kBAAA,CAAmBC,cAAA;EAC1C,MAAMC,OAAA,GAAUF,kBAAA,CAAmBE,OAAA;EAEnC,IAAIA,OAAA,IAAW,QAAQA,OAAA,CAAQC,MAAA,GAAS,GAAG;IACzC,OAAOD,OAAA,CAAQ,CAAC;EAClB;EAEA,IAAID,cAAA,IAAkB,QAAQA,cAAA,CAAeE,MAAA,GAAS,GAAG;IACvD,OAAOF,cAAA,CAAe,CAAC;EACzB;EAEA,OAAOvG,KAAA,CAAM8B,WAAA;AACf","ignoreList":[]}
|