react-native-screen-transitions 2.3.3 → 2.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/README.md +34 -15
- package/lib/commonjs/__configs__/presets.js +10 -5
- package/lib/commonjs/__configs__/presets.js.map +1 -1
- package/lib/commonjs/components/controllers/screen-lifecycle.js +5 -8
- package/lib/commonjs/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/commonjs/components/create-transition-aware-component.js +2 -2
- package/lib/commonjs/components/create-transition-aware-component.js.map +1 -1
- package/lib/commonjs/constants.js +2 -1
- package/lib/commonjs/constants.js.map +1 -1
- package/lib/commonjs/hooks/animation/use-screen-animation.js +2 -1
- package/lib/commonjs/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/commonjs/hooks/bounds/use-bound-registry.js +18 -14
- package/lib/commonjs/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/commonjs/hooks/gestures/use-build-gestures.js +17 -10
- package/lib/commonjs/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/commonjs/hooks/use-stable-callback-value.js +64 -0
- package/lib/commonjs/hooks/use-stable-callback-value.js.map +1 -0
- package/lib/commonjs/stores/gestures.js +2 -1
- package/lib/commonjs/stores/gestures.js.map +1 -1
- package/lib/commonjs/utils/bounds/_utils/styles.js +58 -0
- package/lib/commonjs/utils/bounds/_utils/styles.js.map +1 -0
- package/lib/commonjs/utils/gesture/reset-gesture-values.js +14 -4
- package/lib/commonjs/utils/gesture/reset-gesture-values.js.map +1 -1
- package/lib/module/__configs__/presets.js +10 -5
- package/lib/module/__configs__/presets.js.map +1 -1
- package/lib/module/components/controllers/screen-lifecycle.js +5 -8
- package/lib/module/components/controllers/screen-lifecycle.js.map +1 -1
- package/lib/module/components/create-transition-aware-component.js +2 -2
- package/lib/module/components/create-transition-aware-component.js.map +1 -1
- package/lib/module/constants.js +2 -1
- package/lib/module/constants.js.map +1 -1
- package/lib/module/hooks/animation/use-screen-animation.js +2 -1
- package/lib/module/hooks/animation/use-screen-animation.js.map +1 -1
- package/lib/module/hooks/bounds/use-bound-registry.js +19 -15
- package/lib/module/hooks/bounds/use-bound-registry.js.map +1 -1
- package/lib/module/hooks/gestures/use-build-gestures.js +18 -11
- package/lib/module/hooks/gestures/use-build-gestures.js.map +1 -1
- package/lib/module/hooks/use-stable-callback-value.js +60 -0
- package/lib/module/hooks/use-stable-callback-value.js.map +1 -0
- package/lib/module/stores/gestures.js +2 -1
- package/lib/module/stores/gestures.js.map +1 -1
- package/lib/module/utils/bounds/_utils/styles.js +54 -0
- package/lib/module/utils/bounds/_utils/styles.js.map +1 -0
- package/lib/module/utils/gesture/reset-gesture-values.js +14 -4
- package/lib/module/utils/gesture/reset-gesture-values.js.map +1 -1
- package/lib/typescript/__configs__/presets.d.ts.map +1 -1
- package/lib/typescript/components/controllers/screen-lifecycle.d.ts.map +1 -1
- package/lib/typescript/constants.d.ts.map +1 -1
- package/lib/typescript/hooks/animation/use-screen-animation.d.ts.map +1 -1
- package/lib/typescript/hooks/bounds/use-bound-registry.d.ts +1 -1
- package/lib/typescript/hooks/bounds/use-bound-registry.d.ts.map +1 -1
- package/lib/typescript/hooks/gestures/use-build-gestures.d.ts.map +1 -1
- package/lib/typescript/hooks/use-stable-callback-value.d.ts +13 -0
- package/lib/typescript/hooks/use-stable-callback-value.d.ts.map +1 -0
- package/lib/typescript/stores/gestures.d.ts +2 -0
- package/lib/typescript/stores/gestures.d.ts.map +1 -1
- package/lib/typescript/types/animation.d.ts +10 -9
- package/lib/typescript/types/animation.d.ts.map +1 -1
- package/lib/typescript/types/gesture.d.ts +4 -0
- package/lib/typescript/types/gesture.d.ts.map +1 -1
- package/lib/typescript/utils/bounds/_utils/styles.d.ts +7 -0
- package/lib/typescript/utils/bounds/_utils/styles.d.ts.map +1 -0
- package/lib/typescript/utils/gesture/reset-gesture-values.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__configs__/presets.ts +23 -7
- package/src/__tests__/determine-dismissal.test.ts +121 -0
- package/src/__tests__/gesture.velocity.test.ts +138 -0
- package/src/components/controllers/screen-lifecycle.tsx +5 -7
- package/src/components/create-transition-aware-component.tsx +2 -2
- package/src/constants.ts +2 -0
- package/src/hooks/animation/use-screen-animation.tsx +1 -0
- package/src/hooks/bounds/use-bound-registry.tsx +23 -23
- package/src/hooks/gestures/use-build-gestures.tsx +21 -37
- package/src/hooks/use-stable-callback-value.tsx +68 -0
- package/src/stores/gestures.ts +5 -0
- package/src/types/animation.ts +10 -9
- package/src/types/gesture.ts +4 -0
- package/src/utils/bounds/_utils/styles.ts +68 -0
- package/src/utils/gesture/reset-gesture-values.ts +22 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","Fragment","
|
|
1
|
+
{"version":3,"names":["createContext","Fragment","useContext","useMemo","measure","runOnJS","runOnUI","useAnimatedReaction","useSharedValue","useKeys","Bounds","isBoundsEqual","prepareStyleForBounds","useStableCallback","useStableCallbackValue","jsx","_jsx","MeasurementUpdateContext","useBoundsRegistry","sharedBoundTag","animatedRef","style","onPress","previous","current","next","preparedStyles","ROOT_MEASUREMENT_SIGNAL","ROOT_SIGNAL","IS_ROOT","emitUpdate","value","maybeMeasureAndStore","skipMarkingActive","measured","console","warn","key","route","setRouteActive","setBounds","hasMeasuredOnLayout","handleInitialLayout","prevKey","prevBounds","getBounds","captureActiveOnPress","MeasurementSyncProvider","children","Provider","updateSignal","undefined"],"sourceRoot":"../../../../src","sources":["hooks/bounds/use-bound-registry.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useMemo } from "react";
|
|
4
4
|
import { useWindowDimensions } from "react-native";
|
|
5
5
|
import { Gesture } from "react-native-gesture-handler";
|
|
6
6
|
import { runOnJS, useSharedValue } from "react-native-reanimated";
|
|
@@ -17,6 +17,7 @@ import { mapGestureToProgress } from "../../utils/gesture/map-gesture-to-progres
|
|
|
17
17
|
import { resetGestureValues } from "../../utils/gesture/reset-gesture-values";
|
|
18
18
|
import { velocity } from "../../utils/gesture/velocity";
|
|
19
19
|
import useStableCallback from "../use-stable-callback";
|
|
20
|
+
import useStableCallbackValue from "../use-stable-callback-value";
|
|
20
21
|
export const useBuildGestures = ({
|
|
21
22
|
scrollConfig
|
|
22
23
|
}) => {
|
|
@@ -59,7 +60,7 @@ export const useBuildGestures = ({
|
|
|
59
60
|
current.navigation.goBack();
|
|
60
61
|
NavigatorDismissState.remove(key);
|
|
61
62
|
});
|
|
62
|
-
const onTouchesDown =
|
|
63
|
+
const onTouchesDown = useStableCallbackValue(e => {
|
|
63
64
|
"worklet";
|
|
64
65
|
|
|
65
66
|
const firstTouch = e.changedTouches[0];
|
|
@@ -68,8 +69,8 @@ export const useBuildGestures = ({
|
|
|
68
69
|
y: firstTouch.y
|
|
69
70
|
};
|
|
70
71
|
gestureOffsetState.value = GestureOffsetState.PENDING;
|
|
71
|
-
}
|
|
72
|
-
const onTouchesMove =
|
|
72
|
+
});
|
|
73
|
+
const onTouchesMove = useStableCallbackValue((e, manager) => {
|
|
73
74
|
"worklet";
|
|
74
75
|
|
|
75
76
|
const touch = e.changedTouches[0];
|
|
@@ -103,18 +104,23 @@ export const useBuildGestures = ({
|
|
|
103
104
|
const recognizedDirection = isSwipingDown || isSwipingUp || isSwipingRight || isSwipingLeft;
|
|
104
105
|
const scrollCfg = scrollConfig.value;
|
|
105
106
|
let shouldActivate = false;
|
|
107
|
+
let activatedDirection = null;
|
|
106
108
|
if (recognizedDirection) {
|
|
107
109
|
if (directions.vertical && isSwipingDown) {
|
|
108
110
|
shouldActivate = scrollCfg ? scrollCfg.y <= 0 : true;
|
|
111
|
+
if (shouldActivate) activatedDirection = "vertical";
|
|
109
112
|
}
|
|
110
113
|
if (directions.horizontal && isSwipingRight) {
|
|
111
114
|
shouldActivate = scrollCfg ? scrollCfg.x <= 0 : true;
|
|
115
|
+
if (shouldActivate) activatedDirection = "horizontal";
|
|
112
116
|
}
|
|
113
117
|
if (directions.verticalInverted && isSwipingUp) {
|
|
114
118
|
shouldActivate = scrollCfg ? scrollCfg.y >= maxScrollY : true;
|
|
119
|
+
if (shouldActivate) activatedDirection = "vertical-inverted";
|
|
115
120
|
}
|
|
116
121
|
if (directions.horizontalInverted && isSwipingLeft) {
|
|
117
122
|
shouldActivate = scrollCfg ? scrollCfg.x >= maxScrollX : true;
|
|
123
|
+
if (shouldActivate) activatedDirection = "horizontal-inverted";
|
|
118
124
|
}
|
|
119
125
|
}
|
|
120
126
|
if (recognizedDirection && !shouldActivate) {
|
|
@@ -122,17 +128,18 @@ export const useBuildGestures = ({
|
|
|
122
128
|
return;
|
|
123
129
|
}
|
|
124
130
|
if (shouldActivate && gestureOffsetState.value === GestureOffsetState.PASSED && !gestures.isDismissing?.value) {
|
|
131
|
+
gestures.direction.value = activatedDirection;
|
|
125
132
|
manager.activate();
|
|
126
133
|
return;
|
|
127
134
|
}
|
|
128
|
-
}
|
|
129
|
-
const onStart =
|
|
135
|
+
});
|
|
136
|
+
const onStart = useStableCallbackValue(() => {
|
|
130
137
|
"worklet";
|
|
131
138
|
|
|
132
139
|
gestures.isDragging.value = 1;
|
|
133
140
|
gestures.isDismissing.value = 0;
|
|
134
|
-
}
|
|
135
|
-
const onUpdate =
|
|
141
|
+
});
|
|
142
|
+
const onUpdate = useStableCallbackValue(event => {
|
|
136
143
|
"worklet";
|
|
137
144
|
|
|
138
145
|
let gestureProgress = 0;
|
|
@@ -173,8 +180,8 @@ export const useBuildGestures = ({
|
|
|
173
180
|
if (gestureDrivesProgress) {
|
|
174
181
|
animations.progress.value = 1 - gestureProgress;
|
|
175
182
|
}
|
|
176
|
-
}
|
|
177
|
-
const onEnd =
|
|
183
|
+
});
|
|
184
|
+
const onEnd = useStableCallbackValue(event => {
|
|
178
185
|
"worklet";
|
|
179
186
|
|
|
180
187
|
const {
|
|
@@ -210,7 +217,7 @@ export const useBuildGestures = ({
|
|
|
210
217
|
animations,
|
|
211
218
|
initialVelocity
|
|
212
219
|
});
|
|
213
|
-
}
|
|
220
|
+
});
|
|
214
221
|
return useMemo(() => {
|
|
215
222
|
const nativeGesture = Gesture.Native();
|
|
216
223
|
const panGesture = Gesture.Pan().enabled(gestureEnabled).manualActivation(true).onTouchesDown(onTouchesDown).onTouchesMove(onTouchesMove).onStart(onStart).onUpdate(onUpdate).onEnd(onEnd).blocksExternalGesture(nativeGesture);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useMemo","useWindowDimensions","Gesture","runOnJS","useSharedValue","DEFAULT_GESTURE_ACTIVATION_AREA","DEFAULT_GESTURE_DIRECTION","DEFAULT_GESTURE_DRIVES_PROGRESS","DEFAULT_GESTURE_ENABLED","GESTURE_VELOCITY_IMPACT","useKeys","Animations","Gestures","NavigatorDismissState","GestureOffsetState","startScreenTransition","applyOffsetRules","determineDismissal","mapGestureToProgress","resetGestureValues","velocity","useStableCallback","useStableCallbackValue","useBuildGestures","scrollConfig","dimensions","current","initialTouch","x","y","gestureOffsetState","PENDING","gestures","getRouteGestures","route","key","animations","getAll","gestureDirection","gestureEnabled","gestureVelocityImpact","gestureDrivesProgress","gestureActivationArea","gestureResponseDistance","transitionSpec","options","directions","directionsArray","Array","isArray","isBidirectional","includes","vertical","verticalInverted","horizontal","horizontalInverted","setNavigatorDismissal","navigation","getState","set","handleDismiss","goBack","remove","onTouchesDown","e","firstTouch","changedTouches","value","onTouchesMove","manager","touch","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","activationArea","responseDistance","FAILED","fail","isDragging","activate","maxScrollY","contentHeight","layoutHeight","maxScrollX","contentWidth","layoutWidth","recognizedDirection","scrollCfg","shouldActivate","activatedDirection","PASSED","isDismissing","direction","onStart","onUpdate","event","gestureProgress","translationX","translationY","width","height","normalizedX","Math","max","min","normalizedY","maxProgress","allowedDown","allowedUp","allowedRight","allowedLeft","currentProgress","progress","onEnd","shouldDismiss","spec","close","open","initialVelocity","calculateProgressVelocity","target","onAnimationFinish","undefined","nativeGesture","Native","panGesture","Pan","enabled","manualActivation","blocksExternalGesture"],"sourceRoot":"../../../../src","sources":["hooks/gestures/use-build-gestures.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Credit:
|
|
5
|
+
* https://github.com/MatiPl01/react-native-sortables/blob/main/packages/react-native-sortables/src/integrations/reanimated/hooks/useStableCallbackValue.ts
|
|
6
|
+
*/
|
|
7
|
+
import { useCallback, useEffect, useState } from "react";
|
|
8
|
+
import { isWorkletFunction, makeMutable, runOnJS } from "react-native-reanimated";
|
|
9
|
+
|
|
10
|
+
// biome-ignore lint/suspicious/noExplicitAny: <Does not matter>
|
|
11
|
+
|
|
12
|
+
function useMutableValue(initialValue) {
|
|
13
|
+
return useState(() => makeMutable(initialValue))[0];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// We cannot store a function as a SharedValue because reanimated will treat
|
|
17
|
+
// it as an animation and will try to execute the animation when assigned
|
|
18
|
+
// to the SharedValue. Since we want the function to be treated as a value,
|
|
19
|
+
// we wrap it in an object and store the object in the SharedValue.
|
|
20
|
+
|
|
21
|
+
const wrap = callback => {
|
|
22
|
+
if (isWorkletFunction(callback)) {
|
|
23
|
+
return {
|
|
24
|
+
call: callback
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
call: (...args) => {
|
|
29
|
+
"worklet";
|
|
30
|
+
|
|
31
|
+
runOnJS(callback)(...args);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/** Creates a stable worklet callback that can be called from the UI runtime
|
|
37
|
+
* @param callback The JavaScript or worklet function to be called
|
|
38
|
+
* @returns A worklet function that can be safely called from the UI thread
|
|
39
|
+
* @default Behavior:
|
|
40
|
+
* - If passed a regular JS function, calls it on the JS thread using runOnJS
|
|
41
|
+
* - If passed a worklet function, calls it directly on the UI thread
|
|
42
|
+
* @important The returned function maintains a stable reference and properly handles
|
|
43
|
+
* thread execution based on the input callback type
|
|
44
|
+
*/
|
|
45
|
+
export default function useStableCallbackValue(callback) {
|
|
46
|
+
const stableCallback = useMutableValue(null);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
if (callback) {
|
|
49
|
+
stableCallback.value = wrap(callback);
|
|
50
|
+
} else {
|
|
51
|
+
stableCallback.value = null;
|
|
52
|
+
}
|
|
53
|
+
}, [callback, stableCallback]);
|
|
54
|
+
return useCallback((...args) => {
|
|
55
|
+
"worklet";
|
|
56
|
+
|
|
57
|
+
stableCallback.value?.call(...args);
|
|
58
|
+
}, [stableCallback]);
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=use-stable-callback-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useState","isWorkletFunction","makeMutable","runOnJS","useMutableValue","initialValue","wrap","callback","call","args","useStableCallbackValue","stableCallback","value"],"sourceRoot":"../../../src","sources":["hooks/use-stable-callback-value.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACxD,SACCC,iBAAiB,EACjBC,WAAW,EACXC,OAAO,QACD,yBAAyB;;AAEhC;;AAGA,SAASC,eAAeA,CAAIC,YAAe,EAAE;EAC5C,OAAOL,QAAQ,CAAC,MAAME,WAAW,CAACG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD;;AAEA;AACA;AACA;AACA;;AAKA,MAAMC,IAAI,GAA2BC,QAAW,IAAyB;EACxE,IAAIN,iBAAiB,CAACM,QAAQ,CAAC,EAAE;IAChC,OAAO;MAAEC,IAAI,EAAED;IAAS,CAAC;EAC1B;EACA,OAAO;IACNC,IAAI,EAAGA,CAAC,GAAGC,IAAmB,KAAK;MAClC,SAAS;;MACTN,OAAO,CAACI,QAAQ,CAAC,CAAC,GAAGE,IAAI,CAAC;IAC3B;EACD,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,sBAAsBA,CAC7CH,QAAY,EACX;EACD,MAAMI,cAAc,GAAGP,eAAe,CAA4B,IAAI,CAAC;EAEvEL,SAAS,CAAC,MAAM;IACf,IAAIQ,QAAQ,EAAE;MACbI,cAAc,CAACC,KAAK,GAAGN,IAAI,CAACC,QAAQ,CAAC;IACtC,CAAC,MAAM;MACNI,cAAc,CAACC,KAAK,GAAG,IAAI;IAC5B;EACD,CAAC,EAAE,CAACL,QAAQ,EAAEI,cAAc,CAAC,CAAC;EAE9B,OAAOb,WAAW,CACjB,CAAC,GAAGW,IAAmB,KAAK;IAC3B,SAAS;;IACTE,cAAc,CAACC,KAAK,EAAEJ,IAAI,CAAC,GAAGC,IAAI,CAAC;EACpC,CAAC,EACD,CAACE,cAAc,CAChB,CAAC;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["makeMutable","store","ensure","routeKey","bag","x","y","normalizedX","normalizedY","isDismissing","isDragging","getGesture","gestureKey","getRouteGestures","clear","Gestures"],"sourceRoot":"../../../src","sources":["stores/gestures.ts"],"mappings":";;AAAA,SAASA,WAAW,QAA0B,yBAAyB;
|
|
1
|
+
{"version":3,"names":["makeMutable","store","ensure","routeKey","bag","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","getGesture","gestureKey","getRouteGestures","clear","Gestures"],"sourceRoot":"../../../src","sources":["stores/gestures.ts"],"mappings":";;AAAA,SAASA,WAAW,QAA0B,yBAAyB;AAsBvE,MAAMC,KAAoC,GAAG,CAAC,CAAC;AAE/C,SAASC,MAAMA,CAACC,QAAmB,EAAc;EAChD,IAAIC,GAAG,GAAGH,KAAK,CAACE,QAAQ,CAAC;EACzB,IAAI,CAACC,GAAG,EAAE;IACTA,GAAG,GAAG;MACLC,CAAC,EAAEL,WAAW,CAAC,CAAC,CAAC;MACjBM,CAAC,EAAEN,WAAW,CAAC,CAAC,CAAC;MACjBO,WAAW,EAAEP,WAAW,CAAC,CAAC,CAAC;MAC3BQ,WAAW,EAAER,WAAW,CAAC,CAAC,CAAC;MAC3BS,YAAY,EAAET,WAAW,CAAC,CAAC,CAAC;MAC5BU,UAAU,EAAEV,WAAW,CAAC,CAAC,CAAC;MAC1BW,SAAS,EAAEX,WAAW,CACrB,IACD;IACD,CAAC;IACDC,KAAK,CAACE,QAAQ,CAAC,GAAGC,GAAG;EACtB;EACA,OAAOA,GAAG;AACX;AAEA,SAASQ,UAAUA,CAACT,QAAmB,EAAEU,UAAsB,EAAE;EAChE,OAAOX,MAAM,CAACC,QAAQ,CAAC,CAACU,UAAU,CAAC;AACpC;AAEA,SAASC,gBAAgBA,CAACX,QAAmB,EAAE;EAC9C,OAAOD,MAAM,CAACC,QAAQ,CAAC;AACxB;AAEA,SAASY,KAAKA,CAACZ,QAAmB,EAAE;EACnC,OAAOF,KAAK,CAACE,QAAQ,CAAC;AACvB;AAEA,OAAO,MAAMa,QAAQ,GAAG;EACvBJ,UAAU;EACVE,gBAAgB;EAChBC;AACD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { isSharedValue } from "react-native-reanimated";
|
|
4
|
+
function mergeStyleArrays(style) {
|
|
5
|
+
"worklet";
|
|
6
|
+
|
|
7
|
+
// Early returns for non-objects
|
|
8
|
+
if (style === null || style === undefined || typeof style !== "object") {
|
|
9
|
+
return style;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// If not an array, return as-is
|
|
13
|
+
if (!Array.isArray(style)) {
|
|
14
|
+
return style;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Merge array of styles into single object
|
|
18
|
+
const merged = {};
|
|
19
|
+
for (let i = 0; i < style.length; i++) {
|
|
20
|
+
const currentStyle = mergeStyleArrays(style[i]);
|
|
21
|
+
if (currentStyle && typeof currentStyle === "object") {
|
|
22
|
+
Object.assign(merged, currentStyle);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return merged;
|
|
26
|
+
}
|
|
27
|
+
function stripNonSerializable(value) {
|
|
28
|
+
if (isSharedValue(value)) return value;
|
|
29
|
+
if (Array.isArray(value)) {
|
|
30
|
+
return value.map(stripNonSerializable);
|
|
31
|
+
}
|
|
32
|
+
if (value && typeof value === "object") {
|
|
33
|
+
const cleaned = {};
|
|
34
|
+
for (const key in value) {
|
|
35
|
+
if (key === "current") continue;
|
|
36
|
+
const cleanedValue = stripNonSerializable(value[key]);
|
|
37
|
+
if (cleanedValue !== undefined) {
|
|
38
|
+
cleaned[key] = cleanedValue;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return cleaned;
|
|
42
|
+
}
|
|
43
|
+
if (typeof value === "function") {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
export function prepareStyleForBounds(style) {
|
|
49
|
+
if (!style) return {};
|
|
50
|
+
const flattened = mergeStyleArrays(style);
|
|
51
|
+
const serializable = stripNonSerializable(flattened);
|
|
52
|
+
return serializable || {};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isSharedValue","mergeStyleArrays","style","undefined","Array","isArray","merged","i","length","currentStyle","Object","assign","stripNonSerializable","value","map","cleaned","key","cleanedValue","prepareStyleForBounds","flattened","serializable"],"sourceRoot":"../../../../../src","sources":["utils/bounds/_utils/styles.ts"],"mappings":";;AACA,SAASA,aAAa,QAAQ,yBAAyB;AAMvD,SAASC,gBAAgBA,CAAuBC,KAAQ,EAAK;EAC5D,SAAS;;EAET;EACA,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKC,SAAS,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IACvE,OAAOA,KAAK;EACb;;EAEA;EACA,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IAC1B,OAAOA,KAAK;EACb;;EAEA;EACA,MAAMI,MAAwB,GAAG,CAAC,CAAC;EACnC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,KAAK,CAACM,MAAM,EAAED,CAAC,EAAE,EAAE;IACtC,MAAME,YAAY,GAAGR,gBAAgB,CAACC,KAAK,CAACK,CAAC,CAAe,CAAC;IAC7D,IAAIE,YAAY,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;MACrDC,MAAM,CAACC,MAAM,CAACL,MAAM,EAAEG,YAAY,CAAC;IACpC;EACD;EACA,OAAOH,MAAM;AACd;AAEA,SAASM,oBAAoBA,CAAIC,KAAQ,EAAiB;EACzD,IAAIb,aAAa,CAACa,KAAK,CAAC,EAAE,OAAOA,KAAK;EAEtC,IAAIT,KAAK,CAACC,OAAO,CAACQ,KAAK,CAAC,EAAE;IACzB,OAAOA,KAAK,CAACC,GAAG,CAACF,oBAAoB,CAAC;EACvC;EAEA,IAAIC,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvC,MAAME,OAAyB,GAAG,CAAC,CAAC;IACpC,KAAK,MAAMC,GAAG,IAAIH,KAAK,EAAE;MACxB,IAAIG,GAAG,KAAK,SAAS,EAAE;MAEvB,MAAMC,YAAY,GAAGL,oBAAoB,CAACC,KAAK,CAACG,GAAG,CAAC,CAAC;MACrD,IAAIC,YAAY,KAAKd,SAAS,EAAE;QAC/BY,OAAO,CAACC,GAAG,CAAC,GAAGC,YAAY;MAC5B;IACD;IACA,OAAOF,OAAO;EACf;EAEA,IAAI,OAAOF,KAAK,KAAK,UAAU,EAAE;IAChC,OAAOV,SAAS;EACjB;EAEA,OAAOU,KAAK;AACb;AAEA,OAAO,SAASK,qBAAqBA,CACpChB,KAA6B,EACV;EACnB,IAAI,CAACA,KAAK,EAAE,OAAO,CAAC,CAAC;EAErB,MAAMiB,SAAS,GAAGlB,gBAAgB,CAACC,KAAK,CAAC;EACzC,MAAMkB,YAAY,GAAGR,oBAAoB,CAACO,SAAS,CAAC;EAEpD,OAAOC,YAAY,IAAI,CAAC,CAAC;AAC1B","ignoreList":[]}
|
|
@@ -19,22 +19,32 @@ export const resetGestureValues = ({
|
|
|
19
19
|
const ny = gestures.normalizedY.value || event.translationY / Math.max(1, dimensions.height);
|
|
20
20
|
const vxTowardZero = velocity.calculateRestoreVelocity(nx, vxNorm);
|
|
21
21
|
const vyTowardZero = velocity.calculateRestoreVelocity(ny, vyNorm);
|
|
22
|
+
let remainingAnimations = 4;
|
|
23
|
+
const onFinish = finished => {
|
|
24
|
+
"worklet";
|
|
25
|
+
|
|
26
|
+
if (!finished) return;
|
|
27
|
+
remainingAnimations -= 1;
|
|
28
|
+
if (remainingAnimations === 0) {
|
|
29
|
+
gestures.direction.value = null;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
22
32
|
gestures.x.value = animate(0, {
|
|
23
33
|
...spec,
|
|
24
34
|
velocity: vxTowardZero
|
|
25
|
-
});
|
|
35
|
+
}, onFinish);
|
|
26
36
|
gestures.y.value = animate(0, {
|
|
27
37
|
...spec,
|
|
28
38
|
velocity: vyTowardZero
|
|
29
|
-
});
|
|
39
|
+
}, onFinish);
|
|
30
40
|
gestures.normalizedX.value = animate(0, {
|
|
31
41
|
...spec,
|
|
32
42
|
velocity: vxTowardZero
|
|
33
|
-
});
|
|
43
|
+
}, onFinish);
|
|
34
44
|
gestures.normalizedY.value = animate(0, {
|
|
35
45
|
...spec,
|
|
36
46
|
velocity: vyTowardZero
|
|
37
|
-
});
|
|
47
|
+
}, onFinish);
|
|
38
48
|
gestures.isDragging.value = 0;
|
|
39
49
|
gestures.isDismissing.value = Number(shouldDismiss);
|
|
40
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["animate","velocity","resetGestureValues","spec","gestures","shouldDismiss","event","dimensions","vxNorm","normalize","velocityX","width","vyNorm","velocityY","height","nx","normalizedX","value","translationX","Math","max","ny","normalizedY","translationY","vxTowardZero","calculateRestoreVelocity","vyTowardZero","x","y","isDragging","isDismissing","Number"],"sourceRoot":"../../../../src","sources":["utils/gesture/reset-gesture-values.ts"],"mappings":";;AAMA,SAASA,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,QAAQ,QAAQ,YAAY;AAUrC,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAClCC,IAAI;EACJC,QAAQ;EACRC,aAAa;EACbC,KAAK;EACLC;AACwB,CAAC,KAAK;EAC9B,SAAS;;EAET,MAAMC,MAAM,GAAGP,QAAQ,CAACQ,SAAS,CAACH,KAAK,CAACI,SAAS,EAAEH,UAAU,CAACI,KAAK,CAAC;EACpE,MAAMC,MAAM,GAAGX,QAAQ,CAACQ,SAAS,CAACH,KAAK,CAACO,SAAS,EAAEN,UAAU,CAACO,MAAM,CAAC;;EAErE;EACA,MAAMC,EAAE,GACPX,QAAQ,CAACY,WAAW,CAACC,KAAK,IAC1BX,KAAK,CAACY,YAAY,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEb,UAAU,CAACI,KAAK,CAAC;EACnD,MAAMU,EAAE,GACPjB,QAAQ,CAACkB,WAAW,CAACL,KAAK,IAC1BX,KAAK,CAACiB,YAAY,GAAGJ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEb,UAAU,CAACO,MAAM,CAAC;EAEpD,MAAMU,YAAY,GAAGvB,QAAQ,CAACwB,wBAAwB,CAACV,EAAE,EAAEP,MAAM,CAAC;EAClE,MAAMkB,YAAY,GAAGzB,QAAQ,CAACwB,wBAAwB,CAACJ,EAAE,EAAET,MAAM,CAAC;
|
|
1
|
+
{"version":3,"names":["animate","velocity","resetGestureValues","spec","gestures","shouldDismiss","event","dimensions","vxNorm","normalize","velocityX","width","vyNorm","velocityY","height","nx","normalizedX","value","translationX","Math","max","ny","normalizedY","translationY","vxTowardZero","calculateRestoreVelocity","vyTowardZero","remainingAnimations","onFinish","finished","direction","x","y","isDragging","isDismissing","Number"],"sourceRoot":"../../../../src","sources":["utils/gesture/reset-gesture-values.ts"],"mappings":";;AAMA,SAASA,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,QAAQ,QAAQ,YAAY;AAUrC,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAClCC,IAAI;EACJC,QAAQ;EACRC,aAAa;EACbC,KAAK;EACLC;AACwB,CAAC,KAAK;EAC9B,SAAS;;EAET,MAAMC,MAAM,GAAGP,QAAQ,CAACQ,SAAS,CAACH,KAAK,CAACI,SAAS,EAAEH,UAAU,CAACI,KAAK,CAAC;EACpE,MAAMC,MAAM,GAAGX,QAAQ,CAACQ,SAAS,CAACH,KAAK,CAACO,SAAS,EAAEN,UAAU,CAACO,MAAM,CAAC;;EAErE;EACA,MAAMC,EAAE,GACPX,QAAQ,CAACY,WAAW,CAACC,KAAK,IAC1BX,KAAK,CAACY,YAAY,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEb,UAAU,CAACI,KAAK,CAAC;EACnD,MAAMU,EAAE,GACPjB,QAAQ,CAACkB,WAAW,CAACL,KAAK,IAC1BX,KAAK,CAACiB,YAAY,GAAGJ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEb,UAAU,CAACO,MAAM,CAAC;EAEpD,MAAMU,YAAY,GAAGvB,QAAQ,CAACwB,wBAAwB,CAACV,EAAE,EAAEP,MAAM,CAAC;EAClE,MAAMkB,YAAY,GAAGzB,QAAQ,CAACwB,wBAAwB,CAACJ,EAAE,EAAET,MAAM,CAAC;EAElE,IAAIe,mBAAmB,GAAG,CAAC;EAE3B,MAAMC,QAAQ,GAAIC,QAA6B,IAAK;IACnD,SAAS;;IACT,IAAI,CAACA,QAAQ,EAAE;IACfF,mBAAmB,IAAI,CAAC;IACxB,IAAIA,mBAAmB,KAAK,CAAC,EAAE;MAC9BvB,QAAQ,CAAC0B,SAAS,CAACb,KAAK,GAAG,IAAI;IAChC;EACD,CAAC;EAEDb,QAAQ,CAAC2B,CAAC,CAACd,KAAK,GAAGjB,OAAO,CAAC,CAAC,EAAE;IAAE,GAAGG,IAAI;IAAEF,QAAQ,EAAEuB;EAAa,CAAC,EAAEI,QAAQ,CAAC;EAC5ExB,QAAQ,CAAC4B,CAAC,CAACf,KAAK,GAAGjB,OAAO,CAAC,CAAC,EAAE;IAAE,GAAGG,IAAI;IAAEF,QAAQ,EAAEyB;EAAa,CAAC,EAAEE,QAAQ,CAAC;EAC5ExB,QAAQ,CAACY,WAAW,CAACC,KAAK,GAAGjB,OAAO,CACnC,CAAC,EACD;IAAE,GAAGG,IAAI;IAAEF,QAAQ,EAAEuB;EAAa,CAAC,EACnCI,QACD,CAAC;EACDxB,QAAQ,CAACkB,WAAW,CAACL,KAAK,GAAGjB,OAAO,CACnC,CAAC,EACD;IAAE,GAAGG,IAAI;IAAEF,QAAQ,EAAEyB;EAAa,CAAC,EACnCE,QACD,CAAC;EACDxB,QAAQ,CAAC6B,UAAU,CAAChB,KAAK,GAAG,CAAC;EAC7Bb,QAAQ,CAAC8B,YAAY,CAACjB,KAAK,GAAGkB,MAAM,CAAC9B,aAAa,CAAC;AACpD,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/__configs__/presets.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAKjE,eAAO,MAAM,YAAY,GACxB,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBA4BF,CAAC;AAEF,eAAO,MAAM,MAAM,GAClB,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBAkCF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC3B,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBA2BF,CAAC;AAEF,eAAO,MAAM,aAAa,GACzB,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBAuCF,CAAC;AAEF,eAAO,MAAM,WAAW,GACvB,SAAQ,OAAO,CAAC,sBAAsB,CAAC,GAAG;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACE,KACxB,
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/__configs__/presets.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAKjE,eAAO,MAAM,YAAY,GACxB,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBA4BF,CAAC;AAEF,eAAO,MAAM,MAAM,GAClB,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBAkCF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC3B,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBA2BF,CAAC;AAEF,eAAO,MAAM,aAAa,GACzB,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBAuCF,CAAC;AAEF,eAAO,MAAM,WAAW,GACvB,SAAQ,OAAO,CAAC,sBAAsB,CAAC,GAAG;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACE,KACxB,sBAyDF,CAAC;AAEF,eAAO,MAAM,aAAa,GACzB,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBA6HF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC5B,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBAmMF,CAAC;AAEF,eAAO,MAAM,YAAY,GACxB,SAAQ,OAAO,CAAC,sBAAsB,CAAM,KAC1C,sBA+EF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/components/controllers/screen-lifecycle.tsx"],"names":[],"mappings":"AASA,UAAU,oBAAoB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,yBAAyB,GAAI,eAEvC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"screen-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/components/controllers/screen-lifecycle.tsx"],"names":[],"mappings":"AASA,UAAU,oBAAoB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,yBAAyB,GAAI,eAEvC,oBAAoB,8BA8DtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,SAAS,cAAoB,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAC5C,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,SAAS,cAAoB,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,qBAgB3C,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAqB,CAAC;AAC3E,eAAO,MAAM,yBAAyB,cAAoB,CAAC;AAC3D,eAAO,MAAM,6BAA6B;;;;;;;;EAQxC,CAAC;AACH,eAAO,MAAM,WAAW,iBAAkB,CAAC;AAC3C,eAAO,MAAM,UAAU,iBAAkB,CAAC;AAE1C,eAAO,MAAM,qBAAqB,GACjC,YAAY,UAAU,KACpB,kBAUF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAC7C,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CActB,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,uBAAuB,QAAQ,CAAC;AAC7C,eAAO,MAAM,+BAA+B,OAAO,CAAC;AACpD,eAAO,MAAM,+BAA+B,EAAE,cAAyB,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,8BAA8B,KAAK,CAAC;AACjD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,gCAAgC,KAAK,CAAC;AACnD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,uBAAuB,EAAG,QAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-screen-animation.d.ts","sourceRoot":"","sources":["../../../../src/hooks/animation/use-screen-animation.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACX,wBAAwB,EAExB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-screen-animation.d.ts","sourceRoot":"","sources":["../../../../src/hooks/animation/use-screen-animation.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACX,wBAAwB,EAExB,MAAM,uBAAuB,CAAC;AAwD/B,wBAAgB,mBAAmB;;;EAmElC;AAED,wBAAgB,kBAAkB,6EAIjC"}
|
|
@@ -7,7 +7,7 @@ interface BoundMeasurerHookProps {
|
|
|
7
7
|
onPress?: ((...args: unknown[]) => void) | undefined;
|
|
8
8
|
}
|
|
9
9
|
export declare const useBoundsRegistry: ({ sharedBoundTag, animatedRef, style, onPress, }: BoundMeasurerHookProps) => {
|
|
10
|
-
|
|
10
|
+
handleInitialLayout: () => void;
|
|
11
11
|
captureActiveOnPress: () => void;
|
|
12
12
|
MeasurementSyncProvider: import("react").ExoticComponent<import("react").FragmentProps> | (({ children }: {
|
|
13
13
|
children: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-bound-registry.d.ts","sourceRoot":"","sources":["../../../../src/hooks/bounds/use-bound-registry.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACN,KAAK,WAAW,EAIhB,KAAK,UAAU,EAGf,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-bound-registry.d.ts","sourceRoot":"","sources":["../../../../src/hooks/bounds/use-bound-registry.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACN,KAAK,WAAW,EAIhB,KAAK,UAAU,EAGf,MAAM,yBAAyB,CAAC;AASjC,UAAU,sBAAsB;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACrD;AAcD,eAAO,MAAM,iBAAiB,GAAI,kDAK/B,sBAAsB;;;8GAoFD;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE;CAyBpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-build-gestures.d.ts","sourceRoot":"","sources":["../../../../src/hooks/gestures/use-build-gestures.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIN,KAAK,WAAW,EAGhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAEN,KAAK,WAAW,EAEhB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-build-gestures.d.ts","sourceRoot":"","sources":["../../../../src/hooks/gestures/use-build-gestures.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIN,KAAK,WAAW,EAGhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAEN,KAAK,WAAW,EAEhB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAe7D,UAAU,sBAAsB;IAC/B,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CAC/C;AAED,eAAO,MAAM,gBAAgB,GAAI,mBAE9B,sBAAsB,KAAG;IAC3B,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,EAAE,WAAW,CAAC;CAqR3B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type AnyFunction = (...args: Array<any>) => any;
|
|
2
|
+
/** Creates a stable worklet callback that can be called from the UI runtime
|
|
3
|
+
* @param callback The JavaScript or worklet function to be called
|
|
4
|
+
* @returns A worklet function that can be safely called from the UI thread
|
|
5
|
+
* @default Behavior:
|
|
6
|
+
* - If passed a regular JS function, calls it on the JS thread using runOnJS
|
|
7
|
+
* - If passed a worklet function, calls it directly on the UI thread
|
|
8
|
+
* @important The returned function maintains a stable reference and properly handles
|
|
9
|
+
* thread execution based on the input callback type
|
|
10
|
+
*/
|
|
11
|
+
export default function useStableCallbackValue<C extends AnyFunction>(callback?: C): (...args: Parameters<C>) => void;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=use-stable-callback-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-stable-callback-value.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-stable-callback-value.tsx"],"names":[],"mappings":"AAYA,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;AA0BhD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,CAAC,SAAS,WAAW,EACnE,QAAQ,CAAC,EAAE,CAAC,aAaD,UAAU,CAAC,CAAC,CAAC,UAMxB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type SharedValue } from "react-native-reanimated";
|
|
2
|
+
import type { GestureDirection } from "../types/gesture";
|
|
2
3
|
import type { ScreenKey } from "../types/navigator";
|
|
3
4
|
export type GestureKey = "x" | "y" | "normalizedX" | "normalizedY" | "isDismissing" | "isDragging";
|
|
4
5
|
export type GestureMap = {
|
|
@@ -8,6 +9,7 @@ export type GestureMap = {
|
|
|
8
9
|
normalizedY: SharedValue<number>;
|
|
9
10
|
isDismissing: SharedValue<number>;
|
|
10
11
|
isDragging: SharedValue<number>;
|
|
12
|
+
direction: SharedValue<Omit<GestureDirection, "bidirectional"> | null>;
|
|
11
13
|
};
|
|
12
14
|
declare function getGesture(routeKey: ScreenKey, gestureKey: GestureKey): SharedValue<number>;
|
|
13
15
|
declare function getRouteGestures(routeKey: ScreenKey): GestureMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gestures.d.ts","sourceRoot":"","sources":["../../../src/stores/gestures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,UAAU,GACnB,GAAG,GACH,GAAG,GACH,aAAa,GACb,aAAa,GACb,cAAc,GACd,YAAY,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG;IACxB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"gestures.d.ts","sourceRoot":"","sources":["../../../src/stores/gestures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,UAAU,GACnB,GAAG,GACH,GAAG,GACH,aAAa,GACb,aAAa,GACb,cAAc,GACd,YAAY,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG;IACxB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC;CACvE,CAAC;AAuBF,iBAAS,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,uBAE9D;AAED,iBAAS,gBAAgB,CAAC,QAAQ,EAAE,SAAS,cAE5C;AAED,iBAAS,KAAK,CAAC,QAAQ,EAAE,SAAS,QAEjC;AAED,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC"}
|
|
@@ -12,10 +12,11 @@ export type ScreenTransitionState = {
|
|
|
12
12
|
route: RouteProp<ParamListBase>;
|
|
13
13
|
};
|
|
14
14
|
export interface ScreenInterpolationProps {
|
|
15
|
-
/** Values for the screen that
|
|
15
|
+
/** Values for the screen that came before the current one in the navigation stack. */
|
|
16
16
|
previous: ScreenTransitionState | undefined;
|
|
17
|
+
/** Values for the current screen being interpolated. */
|
|
17
18
|
current: ScreenTransitionState;
|
|
18
|
-
/** Values for the screen
|
|
19
|
+
/** Values for the screen that comes after the current one in the navigation stack. */
|
|
19
20
|
next: ScreenTransitionState | undefined;
|
|
20
21
|
/** Layout measurements for the screen. */
|
|
21
22
|
layouts: {
|
|
@@ -27,19 +28,19 @@ export interface ScreenInterpolationProps {
|
|
|
27
28
|
};
|
|
28
29
|
/** The safe area insets for the screen. */
|
|
29
30
|
insets: EdgeInsets;
|
|
30
|
-
/** The
|
|
31
|
+
/** The ID of the currently active shared bound (e.g., 'a' when Transition.Pressable has sharedBoundTag='a'). */
|
|
31
32
|
activeBoundId: string;
|
|
32
|
-
/** Whether the screen is focused. */
|
|
33
|
+
/** Whether the current screen is the focused (topmost) screen in the stack. */
|
|
33
34
|
focused: boolean;
|
|
34
|
-
/**
|
|
35
|
+
/** Combined progress of current and next screen transitions, ranging from 0-2. */
|
|
35
36
|
progress: number;
|
|
36
|
-
/**
|
|
37
|
+
/** Function that provides access to bounds builders for creating shared element transitions. */
|
|
37
38
|
bounds: BoundsAccessor;
|
|
38
|
-
/** The
|
|
39
|
+
/** The screen state that is currently driving the transition (either current or next, whichever is focused). */
|
|
39
40
|
active: ScreenTransitionState;
|
|
40
|
-
/** Whether the active screen is transitioning. */
|
|
41
|
+
/** Whether the active screen is currently transitioning (either being dragged or animating). */
|
|
41
42
|
isActiveTransitioning: boolean;
|
|
42
|
-
/** Whether the active screen is
|
|
43
|
+
/** Whether the active screen is in the process of being dismissed/closed. */
|
|
43
44
|
isDismissing: boolean;
|
|
44
45
|
}
|
|
45
46
|
export type ScreenStyleInterpolator = (props: ScreenInterpolationProps) => TransitionInterpolatedStyle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../src/types/animation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACxC,
|
|
1
|
+
{"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../src/types/animation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EACX,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACxC,sFAAsF;IACtF,QAAQ,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC5C,wDAAwD;IACxD,OAAO,EAAE,qBAAqB,CAAC;IAC/B,sFAAsF;IACtF,IAAI,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACxC,0CAA0C;IAC1C,OAAO,EAAE;QACR,wDAAwD;QACxD,MAAM,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;SACf,CAAC;KACF,CAAC;IACF,2CAA2C;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,gHAAgH;IAChH,aAAa,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,MAAM,EAAE,cAAc,CAAC;IACvB,gHAAgH;IAChH,MAAM,EAAE,qBAAqB,CAAC;IAC9B,gGAAgG;IAChG,qBAAqB,EAAE,OAAO,CAAC;IAC/B,6EAA6E;IAC7E,YAAY,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,uBAAuB,GAAG,CACrC,KAAK,EAAE,wBAAwB,KAC3B,2BAA2B,CAAC;AAEjC,MAAM,MAAM,2BAA2B,GAAG;IACzC;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B;;OAEG;IACH,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,eAAe,CAAC;CACxB"}
|
|
@@ -38,5 +38,9 @@ export type GestureValues = {
|
|
|
38
38
|
* A flag indicating if the screen is in the process of dismissing.
|
|
39
39
|
*/
|
|
40
40
|
isDismissing: number;
|
|
41
|
+
/**
|
|
42
|
+
* The initial direction that activated the gesture.
|
|
43
|
+
*/
|
|
44
|
+
direction: Omit<GestureDirection, "bidirectional"> | null;
|
|
41
45
|
};
|
|
42
46
|
//# sourceMappingURL=gesture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gesture.d.ts","sourceRoot":"","sources":["../../../src/types/gesture.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACzB,YAAY,GACZ,qBAAqB,GACrB,UAAU,GACV,mBAAmB,GACnB,eAAe,CAAC;AAEnB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,oBAAY,kBAAkB;IAC7B,OAAO,IAAA;IACP,MAAM,IAAA;IACN,MAAM,IAAA;CACN;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC;AAE7D,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG,cAAc,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IACV;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IACV;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"gesture.d.ts","sourceRoot":"","sources":["../../../src/types/gesture.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACzB,YAAY,GACZ,qBAAqB,GACrB,UAAU,GACV,mBAAmB,GACnB,eAAe,CAAC;AAEnB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,oBAAY,kBAAkB;IAC7B,OAAO,IAAA;IACP,MAAM,IAAA;IACN,MAAM,IAAA;CACN;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,cAAc,CAAC;AAE7D,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG,cAAc,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG;IAC3B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IACV;;OAEG;IACH,CAAC,EAAE,MAAM,CAAC;IACV;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ImageStyle, StyleProp, TextStyle, ViewStyle } from "react-native";
|
|
2
|
+
type AnyStyle = ViewStyle | TextStyle | ImageStyle;
|
|
3
|
+
type StyleValue = StyleProp<AnyStyle>;
|
|
4
|
+
type PlainStyleObject = Record<string, any>;
|
|
5
|
+
export declare function prepareStyleForBounds(style: StyleValue | undefined): PlainStyleObject;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/utils/bounds/_utils/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGhF,KAAK,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AACnD,KAAK,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtC,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAqD5C,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,UAAU,GAAG,SAAS,GAC3B,gBAAgB,CAOlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset-gesture-values.d.ts","sourceRoot":"","sources":["../../../../src/utils/gesture/reset-gesture-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,uBAAuB,EACvB,6BAA6B,EAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,UAAU,uBAAuB;IAChC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,uBAAuB,CAAC,6BAA6B,CAAC,CAAC;IAC9D,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,eAAO,MAAM,kBAAkB,GAAI,uDAMhC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"reset-gesture-values.d.ts","sourceRoot":"","sources":["../../../../src/utils/gesture/reset-gesture-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,uBAAuB,EACvB,6BAA6B,EAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,UAAU,uBAAuB;IAChC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,uBAAuB,CAAC,6BAA6B,CAAC,CAAC;IAC9D,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,eAAO,MAAM,kBAAkB,GAAI,uDAMhC,uBAAuB,SA0CzB,CAAC"}
|