react-native-drawer-layout 4.2.11 → 4.2.13
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/lib/module/utils/DrawerGestureContext.js.map +1 -1
- package/lib/module/utils/getDrawerWidth.js +16 -8
- package/lib/module/utils/getDrawerWidth.js.map +1 -1
- package/lib/module/views/Drawer.js +1 -3
- package/lib/module/views/Drawer.js.map +1 -1
- package/lib/module/views/Drawer.native.js +57 -20
- package/lib/module/views/Drawer.native.js.map +1 -1
- package/lib/module/views/GestureHandler.js.map +1 -1
- package/lib/module/views/InteractionManager.js +1 -0
- package/lib/module/views/InteractionManager.js.map +1 -1
- package/lib/module/views/Overlay.native.js +2 -2
- package/lib/module/views/Overlay.native.js.map +1 -1
- package/lib/typescript/src/types.d.ts +2 -2
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/DrawerGestureContext.d.ts +2 -1
- package/lib/typescript/src/utils/DrawerGestureContext.d.ts.map +1 -1
- package/lib/typescript/src/utils/getDrawerWidth.d.ts +5 -7
- package/lib/typescript/src/utils/getDrawerWidth.d.ts.map +1 -1
- package/lib/typescript/src/views/Drawer.d.ts.map +1 -1
- package/lib/typescript/src/views/Drawer.native.d.ts.map +1 -1
- package/lib/typescript/src/views/GestureHandler.d.ts +1 -0
- package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -1
- package/lib/typescript/src/views/InteractionManager.d.ts.map +1 -1
- package/package.json +10 -14
- package/src/types.tsx +3 -2
- package/src/utils/DrawerGestureContext.tsx +4 -4
- package/src/utils/getDrawerWidth.tsx +31 -10
- package/src/views/Drawer.native.tsx +78 -25
- package/src/views/Drawer.tsx +1 -2
- package/src/views/GestureHandler.tsx +5 -1
- package/src/views/InteractionManager.tsx +1 -0
- package/src/views/Overlay.native.tsx +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","DrawerGestureContext","createContext","undefined"],"sourceRoot":"../../../src","sources":["utils/DrawerGestureContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;
|
|
1
|
+
{"version":3,"names":["React","DrawerGestureContext","createContext","undefined"],"sourceRoot":"../../../src","sources":["utils/DrawerGestureContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B,OAAO,MAAMC,oBAA2D,gBACtED,KAAK,CAACE,aAAa,CAAyBC,SAAS,CAAC","ignoreList":[]}
|
|
@@ -11,21 +11,29 @@ const DEFAULT_DRAWER_WIDTH = 360;
|
|
|
11
11
|
*/
|
|
12
12
|
const DRAWER_DEFAULT_WIDTH_WEB = `min(calc(100% - ${APPROX_APP_BAR_HEIGHT}px), ${DEFAULT_DRAWER_WIDTH}px)`;
|
|
13
13
|
export function getDrawerWidthNative({
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
containerWidth,
|
|
15
|
+
customWidth,
|
|
16
|
+
customMaxWidth
|
|
16
17
|
}) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
'worklet';
|
|
19
|
+
|
|
20
|
+
const defaultWidth = Math.max(containerWidth - APPROX_APP_BAR_HEIGHT <= DEFAULT_DRAWER_WIDTH ? containerWidth - APPROX_APP_BAR_HEIGHT : DEFAULT_DRAWER_WIDTH, 0);
|
|
21
|
+
let width = customWidth ?? defaultWidth;
|
|
22
|
+
let maxWidth = customMaxWidth ?? containerWidth;
|
|
21
23
|
if (typeof width === 'string' && width.endsWith('%')) {
|
|
22
24
|
// Try to calculate width if a percentage is given
|
|
23
25
|
const percentage = Number(width.replace(/%$/, ''));
|
|
24
26
|
if (Number.isFinite(percentage)) {
|
|
25
|
-
|
|
27
|
+
width = containerWidth * (percentage / 100);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (typeof maxWidth === 'string' && maxWidth.endsWith('%')) {
|
|
31
|
+
const percentage = Number(maxWidth.replace(/%$/, ''));
|
|
32
|
+
if (Number.isFinite(percentage)) {
|
|
33
|
+
maxWidth = containerWidth * (percentage / 100);
|
|
26
34
|
}
|
|
27
35
|
}
|
|
28
|
-
return typeof width === 'number' ? width : defaultWidth;
|
|
36
|
+
return Math.min(typeof width === 'number' ? width : defaultWidth, typeof maxWidth === 'number' ? maxWidth : containerWidth);
|
|
29
37
|
}
|
|
30
38
|
export function getDrawerWidthWeb({
|
|
31
39
|
drawerStyle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","APPROX_APP_BAR_HEIGHT","DEFAULT_DRAWER_WIDTH","DRAWER_DEFAULT_WIDTH_WEB","getDrawerWidthNative","
|
|
1
|
+
{"version":3,"names":["StyleSheet","APPROX_APP_BAR_HEIGHT","DEFAULT_DRAWER_WIDTH","DRAWER_DEFAULT_WIDTH_WEB","getDrawerWidthNative","containerWidth","customWidth","customMaxWidth","defaultWidth","Math","max","width","maxWidth","endsWith","percentage","Number","replace","isFinite","min","getDrawerWidthWeb","drawerStyle","flatten"],"sourceRoot":"../../../src","sources":["utils/getDrawerWidth.tsx"],"mappings":";;AAAA,SAGEA,UAAU,QAEL,cAAc;AAErB,MAAMC,qBAAqB,GAAG,EAAE;AAChC,MAAMC,oBAAoB,GAAG,GAAG;;AAEhC;AACA;AACA;AACA;AACA;AACA,MAAMC,wBAAwB,GAAG,mBAAmBF,qBAAqB,QAAQC,oBAAoB,KAAK;AAE1G,OAAO,SAASE,oBAAoBA,CAAC;EACnCC,cAAc;EACdC,WAAW;EACXC;AAKF,CAAC,EAAE;EACD,SAAS;;EAET,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAC3BL,cAAc,GAAGJ,qBAAqB,IAAIC,oBAAoB,GAC1DG,cAAc,GAAGJ,qBAAqB,GACtCC,oBAAoB,EACxB,CACF,CAAC;EAED,IAAIS,KAAK,GAAGL,WAAW,IAAIE,YAAY;EACvC,IAAII,QAAQ,GAAGL,cAAc,IAAIF,cAAc;EAE/C,IAAI,OAAOM,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACE,QAAQ,CAAC,GAAG,CAAC,EAAE;IACpD;IACA,MAAMC,UAAU,GAAGC,MAAM,CAACJ,KAAK,CAACK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAElD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;MAC/BH,KAAK,GAAGN,cAAc,IAAIS,UAAU,GAAG,GAAG,CAAC;IAC7C;EACF;EAEA,IAAI,OAAOF,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IAC1D,MAAMC,UAAU,GAAGC,MAAM,CAACH,QAAQ,CAACI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAErD,IAAID,MAAM,CAACE,QAAQ,CAACH,UAAU,CAAC,EAAE;MAC/BF,QAAQ,GAAGP,cAAc,IAAIS,UAAU,GAAG,GAAG,CAAC;IAChD;EACF;EAEA,OAAOL,IAAI,CAACS,GAAG,CACb,OAAOP,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGH,YAAY,EAChD,OAAOI,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAGP,cAC5C,CAAC;AACH;AAEA,OAAO,SAASc,iBAAiBA,CAAC;EAChCC;AAGF,CAAC,EAAU;EACT,MAAM;IAAET;EAAM,CAAC,GAAGX,UAAU,CAACqB,OAAO,CAACD,WAAW,CAAC,IAAI,CAAC,CAAC;EAEvD,IAAI,OAAOT,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAO,GAAGA,KAAK,IAAI;EACrB;EAEA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAEA,OAAOR,wBAAwB;AACjC","ignoreList":[]}
|
|
@@ -75,9 +75,7 @@ export function Drawer({
|
|
|
75
75
|
// FIXME: width contains `px` on web
|
|
76
76
|
{
|
|
77
77
|
width: drawerWidth
|
|
78
|
-
},
|
|
79
|
-
// @ts-expect-error offset contains `calc` for web
|
|
80
|
-
drawerType !== 'permanent' ?
|
|
78
|
+
}, drawerType !== 'permanent' ?
|
|
81
79
|
// Position drawer off-screen by default in closed state
|
|
82
80
|
// And add a translation only when drawer is open
|
|
83
81
|
// So changing position in closed state won't trigger a visible transition
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","useLatestCallback","DrawerProgressContext","getDrawerWidthWeb","useFakeSharedValue","Overlay","jsx","_jsx","jsxs","_jsxs","Drawer","direction","drawerPosition","drawerStyle","drawerType","onClose","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","renderDrawerContent","children","style","drawerWidth","progress","useEffect","value","drawerRef","useRef","onTransitionStartLatest","e","target","currentTarget","propertyName","onTransitionEndLatest","element","current","addEventListener","removeEventListener","isOpen","isRight","drawerTranslateX","drawerAnimatedStyle","transition","transform","contentTranslateX","contentAnimatedStyle","drawerElement","ref","styles","drawer","position","zIndex","width","right","left","mainContent","content","onPress","accessibilityLabel","Provider","container","create","flex","flexDirection","top","bottom","maxWidth","backgroundColor"],"sourceRoot":"../../../src","sources":["views/Drawer.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAC/D,OAAOC,iBAAiB,MAAM,qBAAqB;AAGnD,SAASC,qBAAqB,QAAQ,mCAAgC;AACtE,SAASC,iBAAiB,QAAQ,4BAAyB;AAC3D,SAASC,kBAAkB,QAAQ,gCAA6B;AAChE,SAASC,OAAO,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpC,OAAO,SAASC,MAAMA,CAAC;EACrBC,SAAS,GAAG,KAAK;EACjBC,cAAc,GAAGD,SAAS,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM;EACvDE,WAAW;EACXC,UAAU,GAAG,OAAO;EACpBC,OAAO;EACPC,iBAAiB;EACjBC,eAAe;EACfC,IAAI;EACJC,YAAY;EACZC,yBAAyB;EACzBC,mBAAmB;EACnBC,QAAQ;EACRC;AACW,CAAC,EAAE;EACd,MAAMC,WAAW,GAAGrB,iBAAiB,CAAC;IACpCU;EACF,CAAC,CAAC;EAEF,MAAMY,QAAQ,GAAGrB,kBAAkB,CAACc,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;EAEjDpB,KAAK,CAAC4B,SAAS,CAAC,MAAM;IACpBD,QAAQ,CAACE,KAAK,GAAGT,IAAI,GAAG,CAAC,GAAG,CAAC;EAC/B,CAAC,EAAE,CAACA,IAAI,EAAEO,QAAQ,CAAC,CAAC;EAEpB,MAAMG,SAAS,GAAG9B,KAAK,CAAC+B,MAAM,
|
|
1
|
+
{"version":3,"names":["React","StyleSheet","View","useLatestCallback","DrawerProgressContext","getDrawerWidthWeb","useFakeSharedValue","Overlay","jsx","_jsx","jsxs","_jsxs","Drawer","direction","drawerPosition","drawerStyle","drawerType","onClose","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","renderDrawerContent","children","style","drawerWidth","progress","useEffect","value","drawerRef","useRef","onTransitionStartLatest","e","target","currentTarget","propertyName","onTransitionEndLatest","element","current","addEventListener","removeEventListener","isOpen","isRight","drawerTranslateX","drawerAnimatedStyle","transition","transform","contentTranslateX","contentAnimatedStyle","drawerElement","ref","styles","drawer","position","zIndex","width","right","left","mainContent","content","onPress","accessibilityLabel","Provider","container","create","flex","flexDirection","top","bottom","maxWidth","backgroundColor"],"sourceRoot":"../../../src","sources":["views/Drawer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -51,20 +51,25 @@ export function Drawer({
|
|
|
51
51
|
}) {
|
|
52
52
|
const windowDimensions = useWindowDimensions();
|
|
53
53
|
const layout = customLayout ?? windowDimensions;
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
});
|
|
54
|
+
const {
|
|
55
|
+
width: customWidth,
|
|
56
|
+
maxWidth: customMaxWidth
|
|
57
|
+
} = StyleSheet.flatten(drawerStyle) || {};
|
|
58
58
|
const isOpen = drawerType === 'permanent' ? true : open;
|
|
59
59
|
const isRight = drawerPosition === 'right';
|
|
60
|
-
const getDrawerTranslationX = React.useCallback(open => {
|
|
60
|
+
const getDrawerTranslationX = React.useCallback((open, containerWidth) => {
|
|
61
61
|
'worklet';
|
|
62
62
|
|
|
63
|
+
const drawerWidth = getDrawerWidthNative({
|
|
64
|
+
containerWidth,
|
|
65
|
+
customWidth,
|
|
66
|
+
customMaxWidth
|
|
67
|
+
});
|
|
63
68
|
if (drawerPosition === 'left') {
|
|
64
69
|
return open ? 0 : -drawerWidth;
|
|
65
70
|
}
|
|
66
71
|
return open ? 0 : drawerWidth;
|
|
67
|
-
}, [
|
|
72
|
+
}, [customMaxWidth, customWidth, drawerPosition]);
|
|
68
73
|
const hideStatusBar = React.useCallback(hide => {
|
|
69
74
|
if (hideStatusBarOnOpen) {
|
|
70
75
|
StatusBar.setHidden(hide, statusBarAnimation);
|
|
@@ -113,13 +118,24 @@ export function Drawer({
|
|
|
113
118
|
left: 0,
|
|
114
119
|
width: isOpen ? undefined : swipeEdgeWidth
|
|
115
120
|
}, [isRight, isOpen, swipeEdgeWidth]);
|
|
121
|
+
const layoutWidth = useSharedValue(layout.width);
|
|
122
|
+
const translationX = useSharedValue(getDrawerTranslationX(open, layout.width));
|
|
123
|
+
const updateLayout = useLatestCallback(width => {
|
|
124
|
+
layoutWidth.value = width;
|
|
125
|
+
translationX.value = getDrawerTranslationX(open, width);
|
|
126
|
+
});
|
|
127
|
+
React.useLayoutEffect(() => {
|
|
128
|
+
updateLayout(layout.width);
|
|
129
|
+
}, [layout.width, updateLayout]);
|
|
116
130
|
const touchStartX = useSharedValue(0);
|
|
117
131
|
const touchX = useSharedValue(0);
|
|
118
|
-
const translationX = useSharedValue(getDrawerTranslationX(open));
|
|
119
132
|
const gestureState = useSharedValue(GestureState.UNDETERMINED);
|
|
120
133
|
const onOpenLatest = useLatestCallback(onOpen);
|
|
121
134
|
const onCloseLatest = useLatestCallback(onClose);
|
|
122
135
|
const onAnimationStart = useLatestCallback(open => {
|
|
136
|
+
if (drawerType !== 'permanent') {
|
|
137
|
+
hideKeyboard();
|
|
138
|
+
}
|
|
123
139
|
onTransitionStart?.(!open);
|
|
124
140
|
});
|
|
125
141
|
const onAnimationEnd = useLatestCallback((open, finished) => {
|
|
@@ -131,7 +147,7 @@ export function Drawer({
|
|
|
131
147
|
const toggleDrawer = React.useCallback((open, velocity) => {
|
|
132
148
|
'worklet';
|
|
133
149
|
|
|
134
|
-
const translateX = getDrawerTranslationX(open);
|
|
150
|
+
const translateX = getDrawerTranslationX(open, layoutWidth.value);
|
|
135
151
|
if (velocity === undefined) {
|
|
136
152
|
runOnJS(onAnimationStart)(open);
|
|
137
153
|
}
|
|
@@ -150,8 +166,12 @@ export function Drawer({
|
|
|
150
166
|
} else {
|
|
151
167
|
runOnJS(onCloseLatest)();
|
|
152
168
|
}
|
|
153
|
-
}, [getDrawerTranslationX, onAnimationEnd, onAnimationStart, onCloseLatest, onOpenLatest, touchStartX, touchX, translationX]);
|
|
154
|
-
const hasDrawerWidth =
|
|
169
|
+
}, [layoutWidth, getDrawerTranslationX, onAnimationEnd, onAnimationStart, onCloseLatest, onOpenLatest, touchStartX, touchX, translationX]);
|
|
170
|
+
const hasDrawerWidth = getDrawerWidthNative({
|
|
171
|
+
containerWidth: layout.width,
|
|
172
|
+
customWidth,
|
|
173
|
+
customMaxWidth
|
|
174
|
+
}) > 0;
|
|
155
175
|
const previousHasDrawerWidthRef = React.useRef(hasDrawerWidth);
|
|
156
176
|
const isHidden = useSharedValue(!isOpen && !hasDrawerWidth);
|
|
157
177
|
React.useLayoutEffect(() => {
|
|
@@ -159,13 +179,13 @@ export function Drawer({
|
|
|
159
179
|
// Update translationX without animation after measurement
|
|
160
180
|
// This avoids flash of animation on initial render with async layout
|
|
161
181
|
// We only want to animate it when something changes after measurement
|
|
162
|
-
translationX.value = getDrawerTranslationX(open);
|
|
182
|
+
translationX.value = getDrawerTranslationX(open, layout.width);
|
|
163
183
|
// Unhide the drawer only after we set the correct translationX
|
|
164
184
|
// Otherwise the drawer might briefly flash in the wrong position
|
|
165
185
|
isHidden.value = false;
|
|
166
186
|
}
|
|
167
187
|
previousHasDrawerWidthRef.current = hasDrawerWidth;
|
|
168
|
-
}, [getDrawerTranslationX, hasDrawerWidth, isHidden, open, translationX]);
|
|
188
|
+
}, [getDrawerTranslationX, hasDrawerWidth, isHidden, layout.width, open, translationX]);
|
|
169
189
|
React.useLayoutEffect(() => toggleDrawer(open), [open, toggleDrawer]);
|
|
170
190
|
const startX = useSharedValue(0);
|
|
171
191
|
const pan = React.useMemo(() => {
|
|
@@ -206,6 +226,12 @@ export function Drawer({
|
|
|
206
226
|
return panGesture;
|
|
207
227
|
}, [configureGestureHandler, drawerPosition, drawerType, gestureState, hitSlop, onGestureBegin, onGestureAbort, onGestureFinish, open, startX, swipeEnabled, swipeMinDistance, swipeMinVelocity, toggleDrawer, touchStartX, touchX, translationX]);
|
|
208
228
|
const translateX = useDerivedValue(() => {
|
|
229
|
+
const drawerWidth = getDrawerWidthNative({
|
|
230
|
+
containerWidth: layoutWidth.value,
|
|
231
|
+
customWidth,
|
|
232
|
+
customMaxWidth
|
|
233
|
+
});
|
|
234
|
+
|
|
209
235
|
// Comment stolen from react-native-gesture-handler/DrawerLayout
|
|
210
236
|
//
|
|
211
237
|
// While closing the drawer when user starts gesture outside of its area (in greyed
|
|
@@ -231,13 +257,19 @@ export function Drawer({
|
|
|
231
257
|
// drawer be pulled back as soon as you start the pan.
|
|
232
258
|
//
|
|
233
259
|
// This is used only when drawerType is "front"
|
|
234
|
-
const touchDistance = drawerType === 'front' && gestureState.value === GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth :
|
|
260
|
+
const touchDistance = drawerType === 'front' && gestureState.value === GestureState.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : layoutWidth.value - drawerWidth - touchStartX.value, 0, layoutWidth.value) : 0;
|
|
235
261
|
const translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
|
|
236
262
|
return translateX;
|
|
237
263
|
});
|
|
238
264
|
const drawerAnimatedStyle = useAnimatedStyle(() => {
|
|
239
|
-
const
|
|
265
|
+
const drawerWidth = getDrawerWidthNative({
|
|
266
|
+
containerWidth: layoutWidth.value,
|
|
267
|
+
customWidth,
|
|
268
|
+
customMaxWidth
|
|
269
|
+
});
|
|
270
|
+
const distanceFromEdge = Math.max(layoutWidth.value - drawerWidth, 0);
|
|
240
271
|
return {
|
|
272
|
+
width: drawerWidth,
|
|
241
273
|
// FIXME: Reanimated skips committing to the shadow tree if no layout props are animated
|
|
242
274
|
// This results in pressables not getting their correct position and can't be pressed
|
|
243
275
|
// So we animate the zIndex to force the commit
|
|
@@ -254,8 +286,13 @@ export function Drawer({
|
|
|
254
286
|
(drawerType === 'back' ? 0 : translateX.value) + (direction === 'rtl' ? drawerPosition === 'left' ? -distanceFromEdge : 0 : drawerPosition === 'left' ? 0 : distanceFromEdge)
|
|
255
287
|
}]
|
|
256
288
|
};
|
|
257
|
-
}
|
|
289
|
+
});
|
|
258
290
|
const contentAnimatedStyle = useAnimatedStyle(() => {
|
|
291
|
+
const drawerWidth = getDrawerWidthNative({
|
|
292
|
+
containerWidth: layoutWidth.value,
|
|
293
|
+
customWidth,
|
|
294
|
+
customMaxWidth
|
|
295
|
+
});
|
|
259
296
|
return {
|
|
260
297
|
// FIXME: Force Reanimated to commit to the shadow tree
|
|
261
298
|
zIndex: translateX.value === 0 ? 0 : drawerType === 'back' ? 2 : 1,
|
|
@@ -268,9 +305,10 @@ export function Drawer({
|
|
|
268
305
|
drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
|
|
269
306
|
}]
|
|
270
307
|
};
|
|
271
|
-
}
|
|
308
|
+
});
|
|
272
309
|
const progress = useDerivedValue(() => {
|
|
273
|
-
|
|
310
|
+
const containerWidth = layoutWidth.value;
|
|
311
|
+
return drawerType === 'permanent' ? 1 : interpolate(translateX.value, [getDrawerTranslationX(false, containerWidth), getDrawerTranslationX(true, containerWidth)], [0, 1]);
|
|
274
312
|
});
|
|
275
313
|
const contentAnimatedProps = useAnimatedProps(() => {
|
|
276
314
|
const hidden = drawerType !== 'permanent' && progress.value >= 1 - PROGRESS_EPSILON;
|
|
@@ -283,7 +321,7 @@ export function Drawer({
|
|
|
283
321
|
return {
|
|
284
322
|
accessibilityElementsHidden: hidden
|
|
285
323
|
};
|
|
286
|
-
}
|
|
324
|
+
});
|
|
287
325
|
const drawerContentAnimatedProps = useAnimatedProps(() => {
|
|
288
326
|
const hidden = drawerType !== 'permanent' && progress.value < 1 - PROGRESS_EPSILON;
|
|
289
327
|
if (Platform.OS === 'android') {
|
|
@@ -295,7 +333,7 @@ export function Drawer({
|
|
|
295
333
|
return {
|
|
296
334
|
accessibilityElementsHidden: hidden
|
|
297
335
|
};
|
|
298
|
-
}
|
|
336
|
+
});
|
|
299
337
|
return /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
300
338
|
style: [styles.container, style],
|
|
301
339
|
children: /*#__PURE__*/_jsx(DrawerProgressContext.Provider, {
|
|
@@ -325,7 +363,6 @@ export function Drawer({
|
|
|
325
363
|
animatedProps: drawerContentAnimatedProps,
|
|
326
364
|
removeClippedSubviews: Platform.OS !== 'ios',
|
|
327
365
|
style: [styles.drawer, {
|
|
328
|
-
width: drawerWidth,
|
|
329
366
|
position: drawerType === 'permanent' ? 'relative' : 'absolute'
|
|
330
367
|
}, drawerAnimatedStyle, drawerStyle],
|
|
331
368
|
children: renderDrawerContent()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","I18nManager","Keyboard","Platform","StatusBar","StyleSheet","useWindowDimensions","Animated","interpolate","ReduceMotion","runOnJS","useAnimatedProps","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","useLatestCallback","DrawerGestureContext","DrawerProgressContext","getDrawerWidthNative","Gesture","GestureDetector","GestureHandlerRootView","GestureState","InteractionManager","Overlay","jsx","_jsx","jsxs","_jsxs","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","PROGRESS_EPSILON","minmax","value","start","end","Math","min","max","Drawer","layout","customLayout","direction","getConstants","isRTL","drawerPosition","drawerStyle","drawerType","configureGestureHandler","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","onGestureStart","onGestureCancel","onGestureEnd","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","OS","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","style","windowDimensions","drawerWidth","isOpen","isRight","getDrawerTranslationX","useCallback","hideStatusBar","hide","setHidden","useLayoutEffect","interactionHandleRef","useRef","undefined","startInteraction","current","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","useMemo","right","width","left","touchStartX","touchX","translationX","gestureState","UNDETERMINED","onOpenLatest","onCloseLatest","onAnimationStart","onAnimationEnd","finished","toggleDrawer","velocity","translateX","stiffness","damping","mass","overshootClamping","reduceMotion","Never","hasDrawerWidth","previousHasDrawerWidthRef","isHidden","startX","pan","panGesture","Pan","onBegin","event","state","x","onStart","onChange","onEnd","success","nextOpen","abs","velocityX","activeOffsetX","failOffsetY","enabled","touchDistance","ACTIVE","drawerAnimatedStyle","distanceFromEdge","zIndex","display","transform","contentAnimatedStyle","progress","contentAnimatedProps","hidden","importantForAccessibility","accessibilityElementsHidden","drawerContentAnimatedProps","styles","container","Provider","gesture","View","main","flexDirection","content","animatedProps","onPress","accessibilityLabel","removeClippedSubviews","drawer","position","create","flex","top","bottom","maxWidth","backgroundColor","select","web","default","overflow"],"sourceRoot":"../../../src","sources":["views/Drawer.native.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","I18nManager","Keyboard","Platform","StatusBar","StyleSheet","useWindowDimensions","Animated","interpolate","ReduceMotion","runOnJS","useAnimatedProps","useAnimatedStyle","useDerivedValue","useSharedValue","withSpring","useLatestCallback","DrawerGestureContext","DrawerProgressContext","getDrawerWidthNative","Gesture","GestureDetector","GestureHandlerRootView","GestureState","InteractionManager","Overlay","jsx","_jsx","jsxs","_jsxs","SWIPE_EDGE_WIDTH","SWIPE_MIN_OFFSET","SWIPE_MIN_DISTANCE","SWIPE_MIN_VELOCITY","PROGRESS_EPSILON","minmax","value","start","end","Math","min","max","Drawer","layout","customLayout","direction","getConstants","isRTL","drawerPosition","drawerStyle","drawerType","configureGestureHandler","hideStatusBarOnOpen","keyboardDismissMode","onClose","onOpen","onGestureStart","onGestureCancel","onGestureEnd","onTransitionStart","onTransitionEnd","open","overlayStyle","overlayAccessibilityLabel","statusBarAnimation","swipeEnabled","OS","swipeEdgeWidth","swipeMinDistance","swipeMinVelocity","renderDrawerContent","children","style","windowDimensions","width","customWidth","maxWidth","customMaxWidth","flatten","isOpen","isRight","getDrawerTranslationX","useCallback","containerWidth","drawerWidth","hideStatusBar","hide","setHidden","useLayoutEffect","interactionHandleRef","useRef","undefined","startInteraction","current","createInteractionHandle","endInteraction","clearInteractionHandle","hideKeyboard","dismiss","onGestureBegin","onGestureFinish","onGestureAbort","hitSlop","useMemo","right","left","layoutWidth","translationX","updateLayout","touchStartX","touchX","gestureState","UNDETERMINED","onOpenLatest","onCloseLatest","onAnimationStart","onAnimationEnd","finished","toggleDrawer","velocity","translateX","stiffness","damping","mass","overshootClamping","reduceMotion","Never","hasDrawerWidth","previousHasDrawerWidthRef","isHidden","startX","pan","panGesture","Pan","onBegin","event","state","x","onStart","onChange","onEnd","success","nextOpen","abs","velocityX","activeOffsetX","failOffsetY","enabled","touchDistance","ACTIVE","drawerAnimatedStyle","distanceFromEdge","zIndex","display","transform","contentAnimatedStyle","progress","contentAnimatedProps","hidden","importantForAccessibility","accessibilityElementsHidden","drawerContentAnimatedProps","styles","container","Provider","gesture","View","main","flexDirection","content","animatedProps","onPress","accessibilityLabel","removeClippedSubviews","drawer","position","create","flex","top","bottom","backgroundColor","select","web","default","overflow"],"sourceRoot":"../../../src","sources":["views/Drawer.native.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,WAAW,EACXC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,UAAU,EACVC,mBAAmB,QAEd,cAAc;AACrB,OAAOC,QAAQ,IACbC,WAAW,EACXC,YAAY,EACZC,OAAO,EACPC,gBAAgB,EAChBC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAChC,OAAOC,iBAAiB,MAAM,qBAAqB;AAGnD,SAASC,oBAAoB,QAAQ,kCAA+B;AACpE,SAASC,qBAAqB,QAAQ,mCAAgC;AACtE,SAASC,oBAAoB,QAAQ,4BAAyB;AAC9D,SACEC,OAAO,EACPC,eAAe,EACfC,sBAAsB,EACtBC,YAAY,QACP,kBAAkB;AACzB,SAASC,kBAAkB,QAAQ,sBAAsB;AACzD,SAASC,OAAO,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpC,MAAMC,gBAAgB,GAAG,EAAE;AAC3B,MAAMC,gBAAgB,GAAG,CAAC;AAC1B,MAAMC,kBAAkB,GAAG,EAAE;AAC7B,MAAMC,kBAAkB,GAAG,GAAG;AAC9B,MAAMC,gBAAgB,GAAG,IAAI;AAE7B,MAAMC,MAAM,GAAGA,CAACC,KAAa,EAAEC,KAAa,EAAEC,GAAW,KAAK;EAC5D,SAAS;;EAET,OAAOC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACL,KAAK,EAAEC,KAAK,CAAC,EAAEC,GAAG,CAAC;AAC9C,CAAC;AAED,OAAO,SAASI,MAAMA,CAAC;EACrBC,MAAM,EAAEC,YAAY;EACpBC,SAAS,GAAG5C,WAAW,CAAC6C,YAAY,CAAC,CAAC,CAACC,KAAK,GAAG,KAAK,GAAG,KAAK;EAC5DC,cAAc,GAAGH,SAAS,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM;EACvDI,WAAW;EACXC,UAAU,GAAG,OAAO;EACpBC,uBAAuB;EACvBC,mBAAmB,GAAG,KAAK;EAC3BC,mBAAmB,GAAG,SAAS;EAC/BC,OAAO;EACPC,MAAM;EACNC,cAAc;EACdC,eAAe;EACfC,YAAY;EACZC,iBAAiB;EACjBC,eAAe;EACfC,IAAI;EACJC,YAAY;EACZC,yBAAyB;EACzBC,kBAAkB,GAAG,OAAO;EAC5BC,YAAY,GAAG9D,QAAQ,CAAC+D,EAAE,KAAK,KAAK,IAClC/D,QAAQ,CAAC+D,EAAE,KAAK,SAAS,IACzB/D,QAAQ,CAAC+D,EAAE,KAAK,OAAO;EACzBC,cAAc,GAAGrC,gBAAgB;EACjCsC,gBAAgB,GAAGpC,kBAAkB;EACrCqC,gBAAgB,GAAGpC,kBAAkB;EACrCqC,mBAAmB;EACnBC,QAAQ;EACRC;AACW,CAAC,EAAE;EACd,MAAMC,gBAAgB,GAAGnE,mBAAmB,CAAC,CAAC;EAE9C,MAAMqC,MAAM,GAAGC,YAAY,IAAI6B,gBAAgB;EAE/C,MAAM;IAAEC,KAAK,EAAEC,WAAW;IAAEC,QAAQ,EAAEC;EAAe,CAAC,GACpDxE,UAAU,CAACyE,OAAO,CAAC7B,WAAW,CAAC,IAAI,CAAC,CAAC;EAEvC,MAAM8B,MAAM,GAAG7B,UAAU,KAAK,WAAW,GAAG,IAAI,GAAGW,IAAI;EACvD,MAAMmB,OAAO,GAAGhC,cAAc,KAAK,OAAO;EAE1C,MAAMiC,qBAAqB,GAAGjF,KAAK,CAACkF,WAAW,CAC7C,CAACrB,IAAa,EAAEsB,cAAsB,KAAK;IACzC,SAAS;;IAET,MAAMC,WAAW,GAAGjE,oBAAoB,CAAC;MACvCgE,cAAc;MACdR,WAAW;MACXE;IACF,CAAC,CAAC;IAEF,IAAI7B,cAAc,KAAK,MAAM,EAAE;MAC7B,OAAOa,IAAI,GAAG,CAAC,GAAG,CAACuB,WAAW;IAChC;IAEA,OAAOvB,IAAI,GAAG,CAAC,GAAGuB,WAAW;EAC/B,CAAC,EACD,CAACP,cAAc,EAAEF,WAAW,EAAE3B,cAAc,CAC9C,CAAC;EAED,MAAMqC,aAAa,GAAGrF,KAAK,CAACkF,WAAW,CACpCI,IAAa,IAAK;IACjB,IAAIlC,mBAAmB,EAAE;MACvBhD,SAAS,CAACmF,SAAS,CAACD,IAAI,EAAEtB,kBAAkB,CAAC;IAC/C;EACF,CAAC,EACD,CAACZ,mBAAmB,EAAEY,kBAAkB,CAC1C,CAAC;EAEDhE,KAAK,CAACwF,eAAe,CAAC,MAAM;IAC1BH,aAAa,CAACN,MAAM,CAAC;IAErB,OAAO,MAAMM,aAAa,CAAC,KAAK,CAAC;EACnC,CAAC,EAAE,CAACN,MAAM,EAAE3B,mBAAmB,EAAEY,kBAAkB,EAAEqB,aAAa,CAAC,CAAC;EAEpE,MAAMI,oBAAoB,GAAGzF,KAAK,CAAC0F,MAAM,CAAqBC,SAAS,CAAC;EAExE,MAAMC,gBAAgB,GAAG5E,iBAAiB,CAAC,MAAM;IAC/CyE,oBAAoB,CAACI,OAAO,GAC1BrE,kBAAkB,EAAEsE,uBAAuB,CAAC,CAAC;EACjD,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAG/E,iBAAiB,CAAC,MAAM;IAC7C,IAAIyE,oBAAoB,CAACI,OAAO,IAAI,IAAI,EAAE;MACxCrE,kBAAkB,EAAEwE,sBAAsB,CAACP,oBAAoB,CAACI,OAAO,CAAC;MACxEJ,oBAAoB,CAACI,OAAO,GAAGF,SAAS;IAC1C;EACF,CAAC,CAAC;EAEF,MAAMM,YAAY,GAAGjF,iBAAiB,CAAC,MAAM;IAC3C,IAAIqC,mBAAmB,KAAK,SAAS,EAAE;MACrCnD,QAAQ,CAACgG,OAAO,CAAC,CAAC;IACpB;EACF,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAGnF,iBAAiB,CAAC,MAAM;IAC7CwC,cAAc,GAAG,CAAC;IAClBoC,gBAAgB,CAAC,CAAC;IAClBK,YAAY,CAAC,CAAC;IACdZ,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC,CAAC;EAEF,MAAMe,eAAe,GAAGpF,iBAAiB,CAAC,MAAM;IAC9C0C,YAAY,GAAG,CAAC;IAChBqC,cAAc,CAAC,CAAC;EAClB,CAAC,CAAC;EAEF,MAAMM,cAAc,GAAGrF,iBAAiB,CAAC,MAAM;IAC7CyC,eAAe,GAAG,CAAC;IACnBsC,cAAc,CAAC,CAAC;EAClB,CAAC,CAAC;EAEF,MAAMO,OAAO,GAAGtG,KAAK,CAACuG,OAAO,CAC3B,MACEvB,OAAO;EACH;EACA;EACA;IAAEwB,KAAK,EAAE,CAAC;IAAE9B,KAAK,EAAEK,MAAM,GAAGY,SAAS,GAAGxB;EAAe,CAAC,GACxD;IAAEsC,IAAI,EAAE,CAAC;IAAE/B,KAAK,EAAEK,MAAM,GAAGY,SAAS,GAAGxB;EAAe,CAAC,EAC7D,CAACa,OAAO,EAAED,MAAM,EAAEZ,cAAc,CAClC,CAAC;EAED,MAAMuC,WAAW,GAAG5F,cAAc,CAAC6B,MAAM,CAAC+B,KAAK,CAAC;EAChD,MAAMiC,YAAY,GAAG7F,cAAc,CACjCmE,qBAAqB,CAACpB,IAAI,EAAElB,MAAM,CAAC+B,KAAK,CAC1C,CAAC;EAED,MAAMkC,YAAY,GAAG5F,iBAAiB,CAAE0D,KAAa,IAAK;IACxDgC,WAAW,CAACtE,KAAK,GAAGsC,KAAK;IACzBiC,YAAY,CAACvE,KAAK,GAAG6C,qBAAqB,CAACpB,IAAI,EAAEa,KAAK,CAAC;EACzD,CAAC,CAAC;EAEF1E,KAAK,CAACwF,eAAe,CAAC,MAAM;IAC1BoB,YAAY,CAACjE,MAAM,CAAC+B,KAAK,CAAC;EAC5B,CAAC,EAAE,CAAC/B,MAAM,CAAC+B,KAAK,EAAEkC,YAAY,CAAC,CAAC;EAEhC,MAAMC,WAAW,GAAG/F,cAAc,CAAC,CAAC,CAAC;EACrC,MAAMgG,MAAM,GAAGhG,cAAc,CAAC,CAAC,CAAC;EAChC,MAAMiG,YAAY,GAAGjG,cAAc,CAAeS,YAAY,CAACyF,YAAY,CAAC;EAE5E,MAAMC,YAAY,GAAGjG,iBAAiB,CAACuC,MAAM,CAAC;EAC9C,MAAM2D,aAAa,GAAGlG,iBAAiB,CAACsC,OAAO,CAAC;EAEhD,MAAM6D,gBAAgB,GAAGnG,iBAAiB,CAAE6C,IAAa,IAAK;IAC5D,IAAIX,UAAU,KAAK,WAAW,EAAE;MAC9B+C,YAAY,CAAC,CAAC;IAChB;IAEAtC,iBAAiB,GAAG,CAACE,IAAI,CAAC;EAC5B,CAAC,CAAC;EAEF,MAAMuD,cAAc,GAAGpG,iBAAiB,CACtC,CAAC6C,IAAa,EAAEwD,QAAkB,KAAK;IACrC,IAAI,CAACA,QAAQ,EAAE;MACb;IACF;IAEAzD,eAAe,GAAG,CAACC,IAAI,CAAC;EAC1B,CACF,CAAC;EAED,MAAMyD,YAAY,GAAGtH,KAAK,CAACkF,WAAW,CACpC,CAACrB,IAAa,EAAE0D,QAAiB,KAAK;IACpC,SAAS;;IAET,MAAMC,UAAU,GAAGvC,qBAAqB,CAACpB,IAAI,EAAE6C,WAAW,CAACtE,KAAK,CAAC;IAEjE,IAAImF,QAAQ,KAAK5B,SAAS,EAAE;MAC1BjF,OAAO,CAACyG,gBAAgB,CAAC,CAACtD,IAAI,CAAC;IACjC;IAEAgD,WAAW,CAACzE,KAAK,GAAG,CAAC;IACrB0E,MAAM,CAAC1E,KAAK,GAAG,CAAC;IAChBuE,YAAY,CAACvE,KAAK,GAAGrB,UAAU,CAC7ByG,UAAU,EACV;MACED,QAAQ;MACRE,SAAS,EAAE,IAAI;MACfC,OAAO,EAAE,GAAG;MACZC,IAAI,EAAE,CAAC;MACPC,iBAAiB,EAAE,IAAI;MACvBC,YAAY,EAAEpH,YAAY,CAACqH;IAC7B,CAAC,EACAT,QAAQ,IAAK3G,OAAO,CAAC0G,cAAc,CAAC,CAACvD,IAAI,EAAEwD,QAAQ,CACtD,CAAC;IAED,IAAIxD,IAAI,EAAE;MACRnD,OAAO,CAACuG,YAAY,CAAC,CAAC,CAAC;IACzB,CAAC,MAAM;MACLvG,OAAO,CAACwG,aAAa,CAAC,CAAC,CAAC;IAC1B;EACF,CAAC,EACD,CACER,WAAW,EACXzB,qBAAqB,EACrBmC,cAAc,EACdD,gBAAgB,EAChBD,aAAa,EACbD,YAAY,EACZJ,WAAW,EACXC,MAAM,EACNH,YAAY,CAEhB,CAAC;EAED,MAAMoB,cAAc,GAClB5G,oBAAoB,CAAC;IACnBgE,cAAc,EAAExC,MAAM,CAAC+B,KAAK;IAC5BC,WAAW;IACXE;EACF,CAAC,CAAC,GAAG,CAAC;EAER,MAAMmD,yBAAyB,GAAGhI,KAAK,CAAC0F,MAAM,CAACqC,cAAc,CAAC;EAC9D,MAAME,QAAQ,GAAGnH,cAAc,CAAC,CAACiE,MAAM,IAAI,CAACgD,cAAc,CAAC;EAE3D/H,KAAK,CAACwF,eAAe,CAAC,MAAM;IAC1B,IACEuC,cAAc,KAAKC,yBAAyB,CAACnC,OAAO,IACpDoC,QAAQ,CAAC7F,KAAK,EACd;MACA;MACA;MACA;MACAuE,YAAY,CAACvE,KAAK,GAAG6C,qBAAqB,CAACpB,IAAI,EAAElB,MAAM,CAAC+B,KAAK,CAAC;MAC9D;MACA;MACAuD,QAAQ,CAAC7F,KAAK,GAAG,KAAK;IACxB;IAEA4F,yBAAyB,CAACnC,OAAO,GAAGkC,cAAc;EACpD,CAAC,EAAE,CACD9C,qBAAqB,EACrB8C,cAAc,EACdE,QAAQ,EACRtF,MAAM,CAAC+B,KAAK,EACZb,IAAI,EACJ8C,YAAY,CACb,CAAC;EAEF3G,KAAK,CAACwF,eAAe,CAAC,MAAM8B,YAAY,CAACzD,IAAI,CAAC,EAAE,CAACA,IAAI,EAAEyD,YAAY,CAAC,CAAC;EAErE,MAAMY,MAAM,GAAGpH,cAAc,CAAC,CAAC,CAAC;EAEhC,MAAMqH,GAAG,GAAGnI,KAAK,CAACuG,OAAO,CAAC,MAAM;IAC9B,IAAI6B,UAAU,GAAGhH,OAAO,EAAEiH,GAAG,CAAC,CAAC,CAC5BC,OAAO,CAAEC,KAAK,IAAK;MAClB,SAAS;;MAETL,MAAM,CAAC9F,KAAK,GAAGuE,YAAY,CAACvE,KAAK;MACjC2E,YAAY,CAAC3E,KAAK,GAAGmG,KAAK,CAACC,KAAK;MAChC3B,WAAW,CAACzE,KAAK,GAAGmG,KAAK,CAACE,CAAC;IAC7B,CAAC,CAAC,CACDC,OAAO,CAAC,MAAM;MACb,SAAS;;MAEThI,OAAO,CAACyF,cAAc,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CACDwC,QAAQ,CAAEJ,KAAK,IAAK;MACnB,SAAS;;MAETzB,MAAM,CAAC1E,KAAK,GAAGmG,KAAK,CAACE,CAAC;MACtB9B,YAAY,CAACvE,KAAK,GAAG8F,MAAM,CAAC9F,KAAK,GAAGmG,KAAK,CAAC5B,YAAY;MACtDI,YAAY,CAAC3E,KAAK,GAAGmG,KAAK,CAACC,KAAK;IAClC,CAAC,CAAC,CACDI,KAAK,CAAC,CAACL,KAAK,EAAEM,OAAO,KAAK;MACzB,SAAS;;MAET9B,YAAY,CAAC3E,KAAK,GAAGmG,KAAK,CAACC,KAAK;MAEhC,IAAI,CAACK,OAAO,EAAE;QACZnI,OAAO,CAAC2F,cAAc,CAAC,CAAC,CAAC;MAC3B;MAEA,MAAMyC,QAAQ,GACXvG,IAAI,CAACwG,GAAG,CAACR,KAAK,CAAC5B,YAAY,CAAC,GAAG5E,gBAAgB,IAC9CQ,IAAI,CAACwG,GAAG,CAACR,KAAK,CAACS,SAAS,CAAC,GAAG3E,gBAAgB,IAC9C9B,IAAI,CAACwG,GAAG,CAACR,KAAK,CAAC5B,YAAY,CAAC,GAAGvC,gBAAgB,GAC3CpB,cAAc,KAAK,MAAM;MACvB;MACA,CAACuF,KAAK,CAACS,SAAS,KAAK,CAAC,GAAGT,KAAK,CAAC5B,YAAY,GAAG4B,KAAK,CAACS,SAAS,IAC7D,CAAC;MACD;MACA,CAACT,KAAK,CAACS,SAAS,KAAK,CAAC,GAAGT,KAAK,CAAC5B,YAAY,GAAG4B,KAAK,CAACS,SAAS,IAC7D,CAAC,GACHnF,IAAI;MAEVyD,YAAY,CAACwB,QAAQ,EAAEP,KAAK,CAACS,SAAS,CAAC;MACvCtI,OAAO,CAAC0F,eAAe,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CACD6C,aAAa,CAAC,CAAC,CAAClH,gBAAgB,EAAEA,gBAAgB,CAAC,CAAC,CACpDmH,WAAW,CAAC,CAAC,CAACnH,gBAAgB,EAAEA,gBAAgB,CAAC,CAAC,CAClDuE,OAAO,CAACA,OAAO,CAAC,CAChB6C,OAAO,CAACjG,UAAU,KAAK,WAAW,IAAIe,YAAY,CAAC;IAEtD,IAAImE,UAAU,IAAIjF,uBAAuB,EAAE;MACzCiF,UAAU,GAAGjF,uBAAuB,CAACiF,UAAU,CAAC;IAClD;IAEA,OAAOA,UAAU;EACnB,CAAC,EAAE,CACDjF,uBAAuB,EACvBH,cAAc,EACdE,UAAU,EACV6D,YAAY,EACZT,OAAO,EACPH,cAAc,EACdE,cAAc,EACdD,eAAe,EACfvC,IAAI,EACJqE,MAAM,EACNjE,YAAY,EACZG,gBAAgB,EAChBC,gBAAgB,EAChBiD,YAAY,EACZT,WAAW,EACXC,MAAM,EACNH,YAAY,CACb,CAAC;EAEF,MAAMa,UAAU,GAAG3G,eAAe,CAAC,MAAM;IACvC,MAAMuE,WAAW,GAAGjE,oBAAoB,CAAC;MACvCgE,cAAc,EAAEuB,WAAW,CAACtE,KAAK;MACjCuC,WAAW;MACXE;IACF,CAAC,CAAC;;IAEF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMuE,aAAa,GACjBlG,UAAU,KAAK,OAAO,IAAI6D,YAAY,CAAC3E,KAAK,KAAKb,YAAY,CAAC8H,MAAM,GAChElH,MAAM,CACJa,cAAc,KAAK,MAAM,GACrB6D,WAAW,CAACzE,KAAK,GAAGgD,WAAW,GAC/BsB,WAAW,CAACtE,KAAK,GAAGgD,WAAW,GAAGyB,WAAW,CAACzE,KAAK,EACvD,CAAC,EACDsE,WAAW,CAACtE,KACd,CAAC,GACD,CAAC;IAEP,MAAMoF,UAAU,GACdxE,cAAc,KAAK,MAAM,GACrBb,MAAM,CAACwE,YAAY,CAACvE,KAAK,GAAGgH,aAAa,EAAE,CAAChE,WAAW,EAAE,CAAC,CAAC,GAC3DjD,MAAM,CAACwE,YAAY,CAACvE,KAAK,GAAGgH,aAAa,EAAE,CAAC,EAAEhE,WAAW,CAAC;IAEhE,OAAOoC,UAAU;EACnB,CAAC,CAAC;EAEF,MAAM8B,mBAAmB,GAAG1I,gBAAgB,CAAC,MAAM;IACjD,MAAMwE,WAAW,GAAGjE,oBAAoB,CAAC;MACvCgE,cAAc,EAAEuB,WAAW,CAACtE,KAAK;MACjCuC,WAAW;MACXE;IACF,CAAC,CAAC;IAEF,MAAM0E,gBAAgB,GAAGhH,IAAI,CAACE,GAAG,CAACiE,WAAW,CAACtE,KAAK,GAAGgD,WAAW,EAAE,CAAC,CAAC;IAErE,OAAO;MACLV,KAAK,EAAEU,WAAW;MAClB;MACA;MACA;MACA;MACA;MACAoE,MAAM,EACJtG,UAAU,KAAK,MAAM,GACjBsE,UAAU,CAACpF,KAAK,KAAK,CAAC,GACpB,CAAC,CAAC,GACF,CAAC,GACHoF,UAAU,CAACpF,KAAK,KAAK,CAAC,GACpB,CAAC,GACD,CAAC;MACTqH,OAAO,EAAExB,QAAQ,CAAC7F,KAAK,GAAG,MAAM,GAAG,MAAM;MACzCsH,SAAS,EACPxG,UAAU,KAAK,WAAW;MACtB;MACA;MACA,EAAE,GACF,CACE;QACEsE,UAAU;QACR;QACA,CAACtE,UAAU,KAAK,MAAM,GAAG,CAAC,GAAGsE,UAAU,CAACpF,KAAK,KAC5CS,SAAS,KAAK,KAAK,GAChBG,cAAc,KAAK,MAAM,GACvB,CAACuG,gBAAgB,GACjB,CAAC,GACHvG,cAAc,KAAK,MAAM,GACvB,CAAC,GACDuG,gBAAgB;MAC1B,CAAC;IAEX,CAAC;EACH,CAAC,CAAC;EAEF,MAAMI,oBAAoB,GAAG/I,gBAAgB,CAAC,MAAM;IAClD,MAAMwE,WAAW,GAAGjE,oBAAoB,CAAC;MACvCgE,cAAc,EAAEuB,WAAW,CAACtE,KAAK;MACjCuC,WAAW;MACXE;IACF,CAAC,CAAC;IAEF,OAAO;MACL;MACA2E,MAAM,EAAEhC,UAAU,CAACpF,KAAK,KAAK,CAAC,GAAG,CAAC,GAAGc,UAAU,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;MAClEwG,SAAS,EACPxG,UAAU,KAAK,WAAW;MACtB;MACA;MACA,EAAE,GACF,CACE;QACEsE,UAAU;QACR;QACAtE,UAAU,KAAK,OAAO,GAClB,CAAC,GACDsE,UAAU,CAACpF,KAAK,GAChBgD,WAAW,IAAIpC,cAAc,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;MACzD,CAAC;IAEX,CAAC;EACH,CAAC,CAAC;EAEF,MAAM4G,QAAQ,GAAG/I,eAAe,CAAC,MAAM;IACrC,MAAMsE,cAAc,GAAGuB,WAAW,CAACtE,KAAK;IAExC,OAAOc,UAAU,KAAK,WAAW,GAC7B,CAAC,GACD1C,WAAW,CACTgH,UAAU,CAACpF,KAAK,EAChB,CACE6C,qBAAqB,CAAC,KAAK,EAAEE,cAAc,CAAC,EAC5CF,qBAAqB,CAAC,IAAI,EAAEE,cAAc,CAAC,CAC5C,EACD,CAAC,CAAC,EAAE,CAAC,CACP,CAAC;EACP,CAAC,CAAC;EAEF,MAAM0E,oBAAoB,GAAGlJ,gBAAgB,CAAY,MAAM;IAC7D,MAAMmJ,MAAM,GACV5G,UAAU,KAAK,WAAW,IAAI0G,QAAQ,CAACxH,KAAK,IAAI,CAAC,GAAGF,gBAAgB;IAEtE,IAAI/B,QAAQ,CAAC+D,EAAE,KAAK,SAAS,EAAE;MAC7B,MAAM6F,yBAAiE,GACrED,MAAM,GAAG,qBAAqB,GAAG,MAAM;MAEzC,OAAO;QAAEC;MAA0B,CAAC;IACtC;IAEA,OAAO;MAAEC,2BAA2B,EAAEF;IAAO,CAAC;EAChD,CAAC,CAAC;EAEF,MAAMG,0BAA0B,GAAGtJ,gBAAgB,CAAY,MAAM;IACnE,MAAMmJ,MAAM,GACV5G,UAAU,KAAK,WAAW,IAAI0G,QAAQ,CAACxH,KAAK,GAAG,CAAC,GAAGF,gBAAgB;IAErE,IAAI/B,QAAQ,CAAC+D,EAAE,KAAK,SAAS,EAAE;MAC7B,MAAM6F,yBAAiE,GACrED,MAAM,GAAG,qBAAqB,GAAG,MAAM;MAEzC,OAAO;QAAEC;MAA0B,CAAC;IACtC;IAEA,OAAO;MAAEC,2BAA2B,EAAEF;IAAO,CAAC;EAChD,CAAC,CAAC;EAEF,oBACEnI,IAAA,CAACL,sBAAsB;IAACkD,KAAK,EAAE,CAAC0F,MAAM,CAACC,SAAS,EAAE3F,KAAK,CAAE;IAAAD,QAAA,eACvD5C,IAAA,CAACT,qBAAqB,CAACkJ,QAAQ;MAAChI,KAAK,EAAEwH,QAAS;MAAArF,QAAA,eAC9C5C,IAAA,CAACV,oBAAoB,CAACmJ,QAAQ;QAAChI,KAAK,EAAE+F,GAAI;QAAA5D,QAAA,eACxC5C,IAAA,CAACN,eAAe;UAACgJ,OAAO,EAAElC,GAAI;UAAA5D,QAAA,eAE5B1C,KAAA,CAACtB,QAAQ,CAAC+J,IAAI;YACZ9F,KAAK,EAAE,CACL0F,MAAM,CAACK,IAAI,EACX;cACEC,aAAa,EACXtH,UAAU,KAAK,WAAW,GACrB8B,OAAO,IAAInC,SAAS,KAAK,KAAK,IAC9B,CAACmC,OAAO,IAAInC,SAAS,KAAK,KAAM,GAC/B,KAAK,GACL,aAAa,GACf;YACR,CAAC,CACD;YAAA0B,QAAA,gBAEF1C,KAAA,CAACtB,QAAQ,CAAC+J,IAAI;cAAC9F,KAAK,EAAE,CAAC0F,MAAM,CAACO,OAAO,EAAEd,oBAAoB,CAAE;cAAApF,QAAA,gBAC3D5C,IAAA,CAACpB,QAAQ,CAAC+J,IAAI;gBACZI,aAAa,EAAEb,oBAAqB;gBACpCrF,KAAK,EAAE0F,MAAM,CAACO,OAAQ;gBAAAlG,QAAA,EAErBA;cAAQ,CACI,CAAC,EACfrB,UAAU,KAAK,WAAW,gBACzBvB,IAAA,CAACF,OAAO;gBACNoC,IAAI,EAAEA,IAAK;gBACX+F,QAAQ,EAAEA,QAAS;gBACnBe,OAAO,EAAEA,CAAA,KAAMrD,YAAY,CAAC,KAAK,CAAE;gBACnC9C,KAAK,EAAEV,YAAa;gBACpB8G,kBAAkB,EAAE7G;cAA0B,CAC/C,CAAC,GACA,IAAI;YAAA,CACK,CAAC,eAChBpC,IAAA,CAACpB,QAAQ,CAAC+J,IAAI;cACZI,aAAa,EAAET,0BAA2B;cAC1CY,qBAAqB,EAAE1K,QAAQ,CAAC+D,EAAE,KAAK,KAAM;cAC7CM,KAAK,EAAE,CACL0F,MAAM,CAACY,MAAM,EACb;gBACEC,QAAQ,EACN7H,UAAU,KAAK,WAAW,GAAG,UAAU,GAAG;cAC9C,CAAC,EACDoG,mBAAmB,EACnBrG,WAAW,CACX;cAAAsB,QAAA,EAEDD,mBAAmB,CAAC;YAAC,CACT,CAAC;UAAA,CACH;QAAC,CACD;MAAC,CACW;IAAC,CACF;EAAC,CACX,CAAC;AAE7B;AAEA,MAAM4F,MAAM,GAAG7J,UAAU,CAAC2K,MAAM,CAAC;EAC/Bb,SAAS,EAAE;IACTc,IAAI,EAAE;EACR,CAAC;EACDH,MAAM,EAAE;IACNI,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE,CAAC;IACTvG,QAAQ,EAAE,MAAM;IAChBwG,eAAe,EAAE;EACnB,CAAC;EACDX,OAAO,EAAE;IACPQ,IAAI,EAAE;EACR,CAAC;EACDV,IAAI,EAAE;IACJU,IAAI,EAAE,CAAC;IACP,GAAG9K,QAAQ,CAACkL,MAAM,CAAC;MACjB;MACA;MACAC,GAAG,EAAE,IAAI;MACTC,OAAO,EAAE;QAAEC,QAAQ,EAAE;MAAS;IAChC,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Fragment","_Fragment","jsx","_jsx","GestureDetector","gesture","_0","userSelect","_1","children","GestureHandlerRootView","Gesture","undefined","GestureState"],"sourceRoot":"../../../src","sources":["views/GestureHandler.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;;AAGnC;AACA;AACA;AAAA,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAOA,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,OAAO,EAAEC,EAAE;EACXC,UAAU,EAAEC,EAAE;EACdC;AACoB,CAAC,KAAK;EAC1B,oBAAON,IAAA,CAAAF,SAAA;IAAAQ,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;AAED,OAAO,MAAMC,
|
|
1
|
+
{"version":3,"names":["React","View","Fragment","_Fragment","jsx","_jsx","GestureDetector","gesture","_0","userSelect","_1","children","GestureHandlerRootView","Gesture","undefined","GestureState"],"sourceRoot":"../../../src","sources":["views/GestureHandler.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;;AAGnC;AACA;AACA;AAAA,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAOA,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,OAAO,EAAEC,EAAE;EACXC,UAAU,EAAEC,EAAE;EACdC;AACoB,CAAC,KAAK;EAC1B,oBAAON,IAAA,CAAAF,SAAA;IAAAQ,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB,CAAC;AAED,OAAO,MAAMC,sBAAmC,GAAGX,IAAI;AAEvD,OAAO,MAAMY,OAEA,GAAGC,SAAS;AAMzB,WAAkBC,YAAY,0BAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAZA,YAAY,CAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as ReactNative from 'react-native';
|
|
5
5
|
let InteractionManager;
|
|
6
6
|
try {
|
|
7
|
+
// @ts-expect-error `InteractionManager` is removed from the types in newer React Native versions
|
|
7
8
|
InteractionManager = ReactNative.InteractionManager;
|
|
8
9
|
} catch (e) {
|
|
9
10
|
// On newer React Native versions, accessing InteractionManager throws an error
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ReactNative","InteractionManager","e"],"sourceRoot":"../../../src","sources":["views/InteractionManager.tsx"],"mappings":";;AAAA;AACA,OAAO,KAAKA,WAAW,MAAM,cAAc;AAO3C,IAAIC,kBAAsD;AAE1D,IAAI;
|
|
1
|
+
{"version":3,"names":["ReactNative","InteractionManager","e"],"sourceRoot":"../../../src","sources":["views/InteractionManager.tsx"],"mappings":";;AAAA;AACA,OAAO,KAAKA,WAAW,MAAM,cAAc;AAO3C,IAAIC,kBAAsD;AAE1D,IAAI;EACF;EACAA,kBAAkB,GAAGD,WAAW,CAACC,kBAAkB;AACrD,CAAC,CAAC,OAAOC,CAAC,EAAE;EACV;EACA;AAAA;AAGF,SAASD,kBAAkB","ignoreList":[]}
|
|
@@ -15,14 +15,14 @@ export function Overlay({
|
|
|
15
15
|
return {
|
|
16
16
|
opacity: progress.value
|
|
17
17
|
};
|
|
18
|
-
}
|
|
18
|
+
});
|
|
19
19
|
const animatedProps = useAnimatedProps(() => {
|
|
20
20
|
const active = progress.value > PROGRESS_EPSILON;
|
|
21
21
|
return {
|
|
22
22
|
pointerEvents: active ? 'auto' : 'none',
|
|
23
23
|
'aria-hidden': !active
|
|
24
24
|
};
|
|
25
|
-
}
|
|
25
|
+
});
|
|
26
26
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
27
27
|
...rest,
|
|
28
28
|
style: [StyleSheet.absoluteFill, styles.overlay, animatedStyle, style],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Pressable","StyleSheet","Animated","useAnimatedProps","useAnimatedStyle","jsx","_jsx","PROGRESS_EPSILON","Overlay","progress","onPress","style","accessibilityLabel","rest","animatedStyle","opacity","value","animatedProps","active","pointerEvents","View","absoluteFill","styles","overlay","children","pressable","role","accessible","create","backgroundColor","flex"],"sourceRoot":"../../../src","sources":["views/Overlay.native.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,UAAU,QAAQ,cAAc;AACpD,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,QACX,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIjC,MAAMC,gBAAgB,GAAG,IAAI;AAE7B,OAAO,SAASC,OAAOA,CAAC;EACtBC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,kBAAkB,GAAG,cAAc;EACnC,GAAGC;AACS,CAAC,EAAE;EACf,MAAMC,aAAa,GAAGV,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACLW,OAAO,EAAEN,QAAQ,CAACO;IACpB,CAAC;EACH,CAAC,
|
|
1
|
+
{"version":3,"names":["Pressable","StyleSheet","Animated","useAnimatedProps","useAnimatedStyle","jsx","_jsx","PROGRESS_EPSILON","Overlay","progress","onPress","style","accessibilityLabel","rest","animatedStyle","opacity","value","animatedProps","active","pointerEvents","View","absoluteFill","styles","overlay","children","pressable","role","accessible","create","backgroundColor","flex"],"sourceRoot":"../../../src","sources":["views/Overlay.native.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,UAAU,QAAQ,cAAc;AACpD,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,gBAAgB,QACX,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIjC,MAAMC,gBAAgB,GAAG,IAAI;AAE7B,OAAO,SAASC,OAAOA,CAAC;EACtBC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,kBAAkB,GAAG,cAAc;EACnC,GAAGC;AACS,CAAC,EAAE;EACf,MAAMC,aAAa,GAAGV,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACLW,OAAO,EAAEN,QAAQ,CAACO;IACpB,CAAC;EACH,CAAC,CAAC;EAEF,MAAMC,aAAa,GAAGd,gBAAgB,CAAC,MAAM;IAC3C,MAAMe,MAAM,GAAGT,QAAQ,CAACO,KAAK,GAAGT,gBAAgB;IAEhD,OAAO;MACLY,aAAa,EAAED,MAAM,GAAG,MAAM,GAAG,MAAM;MACvC,aAAa,EAAE,CAACA;IAClB,CAAC;EACH,CAAC,CAAC;EAEF,oBACEZ,IAAA,CAACJ,QAAQ,CAACkB,IAAI;IAAA,GACRP,IAAI;IACRF,KAAK,EAAE,CAACV,UAAU,CAACoB,YAAY,EAAEC,MAAM,CAACC,OAAO,EAAET,aAAa,EAAEH,KAAK,CAAE;IACvEM,aAAa,EAAEA,aAAc;IAAAO,QAAA,eAE7BlB,IAAA,CAACN,SAAS;MACRU,OAAO,EAAEA,OAAQ;MACjBC,KAAK,EAAEW,MAAM,CAACG,SAAU;MACxBC,IAAI,EAAC,QAAQ;MACb,cAAYd,kBAAmB;MAC/Be,UAAU;IAAA,CACX;EAAC,CACW,CAAC;AAEpB;AAEA,MAAML,MAAM,GAAGrB,UAAU,CAAC2B,MAAM,CAAC;EAC/BL,OAAO,EAAE;IACPM,eAAe,EAAE;EACnB,CAAC;EACDJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPX,aAAa,EAAE;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { StyleProp, View, ViewStyle } from 'react-native';
|
|
3
|
-
import type { PanGesture } from 'react-native-gesture-handler';
|
|
4
3
|
import type { SharedValue } from 'react-native-reanimated';
|
|
4
|
+
import type { PanGesture } from './views/GestureHandler';
|
|
5
5
|
export type Layout = {
|
|
6
6
|
width: number;
|
|
7
7
|
height: number;
|
|
@@ -86,7 +86,7 @@ export type DrawerProps = {
|
|
|
86
86
|
*/
|
|
87
87
|
overlayAccessibilityLabel?: string;
|
|
88
88
|
/**
|
|
89
|
-
* Whether the keyboard should be dismissed when the
|
|
89
|
+
* Whether the keyboard should be dismissed when the drawer starts opening or closing.
|
|
90
90
|
* Defaults to `'on-drag'`. Set to `'none'` to disable keyboard handling.
|
|
91
91
|
*/
|
|
92
92
|
keyboardDismissMode?: 'none' | 'on-drag';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,mBAAmB,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IAE3C;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAE1B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAElC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAEtD;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEnC;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAE/C;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,UAAU,CAAC;IAE9D;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,GAAG;IAC7D,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
2
|
+
import type { PanGesture } from '../views/GestureHandler';
|
|
3
|
+
export declare const DrawerGestureContext: React.Context<PanGesture | undefined>;
|
|
3
4
|
//# sourceMappingURL=DrawerGestureContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerGestureContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/DrawerGestureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DrawerGestureContext.d.ts","sourceRoot":"","sources":["../../../../src/utils/DrawerGestureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,SAAS,CACf,CAAC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
-
export declare function getDrawerWidthNative({
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
drawerStyle?: StyleProp<ViewStyle>;
|
|
1
|
+
import { type DimensionValue, type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
+
export declare function getDrawerWidthNative({ containerWidth, customWidth, customMaxWidth, }: {
|
|
3
|
+
containerWidth: number;
|
|
4
|
+
customWidth: DimensionValue | undefined | null;
|
|
5
|
+
customMaxWidth: DimensionValue | undefined | null;
|
|
8
6
|
}): number;
|
|
9
7
|
export declare function getDrawerWidthWeb({ drawerStyle, }: {
|
|
10
8
|
drawerStyle?: StyleProp<ViewStyle>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDrawerWidth.d.ts","sourceRoot":"","sources":["../../../../src/utils/getDrawerWidth.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"getDrawerWidth.d.ts","sourceRoot":"","sources":["../../../../src/utils/getDrawerWidth.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAYtB,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,WAAW,EACX,cAAc,GACf,EAAE;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/C,cAAc,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC;CACnD,UAkCA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,GACZ,EAAE;IACD,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACpC,GAAG,MAAM,CAYT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAM5C,wBAAgB,MAAM,CAAC,EACrB,SAAiB,EACjB,cAAuD,EACvD,WAAW,EACX,UAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAM5C,wBAAgB,MAAM,CAAC,EACrB,SAAiB,EACjB,cAAuD,EACvD,WAAW,EACX,UAAoB,EACpB,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,EAAE,WAAW,qBAgIb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.native.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAyB5C,wBAAgB,MAAM,CAAC,EACrB,MAAM,EAAE,YAAY,EACpB,SAA4D,EAC5D,cAAuD,EACvD,WAAW,EACX,UAAoB,EACpB,uBAAuB,EACvB,mBAA2B,EAC3B,mBAA+B,EAC/B,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,kBAA4B,EAC5B,YAEyB,EACzB,cAAiC,EACjC,gBAAqC,EACrC,gBAAqC,EACrC,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"Drawer.native.d.ts","sourceRoot":"","sources":["../../../../src/views/Drawer.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAU,CAAC;AAyB5C,wBAAgB,MAAM,CAAC,EACrB,MAAM,EAAE,YAAY,EACpB,SAA4D,EAC5D,cAAuD,EACvD,WAAW,EACX,UAAoB,EACpB,uBAAuB,EACvB,mBAA2B,EAC3B,mBAA+B,EAC/B,OAAO,EACP,MAAM,EACN,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,yBAAyB,EACzB,kBAA4B,EAC5B,YAEyB,EACzB,cAAiC,EACjC,gBAAqC,EACrC,gBAAqC,EACrC,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,EAAE,WAAW,qBAogBb"}
|
|
@@ -9,6 +9,7 @@ type GestureDetectorProps = {
|
|
|
9
9
|
export declare const GestureDetector: ({ gesture: _0, userSelect: _1, children, }: GestureDetectorProps) => React.JSX.Element;
|
|
10
10
|
export declare const GestureHandlerRootView: typeof View;
|
|
11
11
|
export declare const Gesture: typeof import('react-native-gesture-handler').Gesture | undefined;
|
|
12
|
+
export type PanGesture = ReturnType<typeof import('react-native-gesture-handler').Gesture.Pan>;
|
|
12
13
|
export declare const enum GestureState {
|
|
13
14
|
UNDETERMINED = 0,
|
|
14
15
|
FAILED = 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GestureHandler.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAKhE,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,4CAI7B,oBAAoB,sBAEtB,CAAC;AAEF,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"GestureHandler.d.ts","sourceRoot":"","sources":["../../../../src/views/GestureHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAKhE,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,4CAI7B,oBAAoB,sBAEtB,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAAO,IAAW,CAAC;AAExD,eAAO,MAAM,OAAO,EAChB,cAAc,8BAA8B,EAAE,OAAO,GACrD,SAAqB,CAAC;AAE1B,MAAM,MAAM,UAAU,GAAG,UAAU,CACjC,cAAc,8BAA8B,EAAE,OAAO,CAAC,GAAG,CAC1D,CAAC;AAEF,0BAAkB,YAAY;IAC5B,YAAY,IAAI;IAChB,MAAM,IAAI;IACV,KAAK,IAAI;IACT,SAAS,IAAI;IACb,MAAM,IAAI;IACV,GAAG,IAAI;CACR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../../../src/views/InteractionManager.tsx"],"names":[],"mappings":"AAGA,KAAK,sBAAsB,GAAG;IAC5B,uBAAuB,IAAI,MAAM,CAAC;IAClC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C,CAAC;AAEF,QAAA,IAAI,kBAAkB,EAAE,sBAAsB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../../../src/views/InteractionManager.tsx"],"names":[],"mappings":"AAGA,KAAK,sBAAsB,GAAG;IAC5B,uBAAuB,IAAI,MAAM,CAAC;IAClC,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C,CAAC;AAEF,QAAA,IAAI,kBAAkB,EAAE,sBAAsB,GAAG,SAAS,CAAC;AAU3D,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-drawer-layout",
|
|
3
3
|
"description": "Drawer component for React Native",
|
|
4
|
-
"version": "4.2.
|
|
4
|
+
"version": "4.2.13",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -42,22 +42,18 @@
|
|
|
42
42
|
"clean": "del lib"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"color": "^4.2.3",
|
|
46
45
|
"use-latest-callback": "^0.2.4"
|
|
47
46
|
},
|
|
48
47
|
"devDependencies": {
|
|
49
48
|
"@babel/core": "^7.29.0",
|
|
50
|
-
"@
|
|
51
|
-
"@react
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"react": "
|
|
57
|
-
"react-native": "0.
|
|
58
|
-
"react-native-builder-bob": "^0.42.1",
|
|
59
|
-
"react-native-reanimated": "4.3.1",
|
|
60
|
-
"react-native-worklets": "0.8.3",
|
|
49
|
+
"@react-native/metro-config": "0.88.0",
|
|
50
|
+
"@types/react": "~19.3.0",
|
|
51
|
+
"del-cli": "^8.0.1",
|
|
52
|
+
"react": "19.3.0",
|
|
53
|
+
"react-native": "0.88.1",
|
|
54
|
+
"react-native-builder-bob": "^0.44.1",
|
|
55
|
+
"react-native-reanimated": "4.7.1",
|
|
56
|
+
"react-native-worklets": "0.13.1",
|
|
61
57
|
"typescript": "~6.0.3"
|
|
62
58
|
},
|
|
63
59
|
"peerDependencies": {
|
|
@@ -84,5 +80,5 @@
|
|
|
84
80
|
]
|
|
85
81
|
]
|
|
86
82
|
},
|
|
87
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "77fad70cd6d9ed492d7ce30177efa923e95294cb"
|
|
88
84
|
}
|
package/src/types.tsx
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { StyleProp, View, ViewStyle } from 'react-native';
|
|
3
|
-
import type { PanGesture } from 'react-native-gesture-handler';
|
|
4
3
|
import type { SharedValue } from 'react-native-reanimated';
|
|
5
4
|
|
|
5
|
+
import type { PanGesture } from './views/GestureHandler';
|
|
6
|
+
|
|
6
7
|
export type Layout = { width: number; height: number };
|
|
7
8
|
|
|
8
9
|
export type DrawerProps = {
|
|
@@ -98,7 +99,7 @@ export type DrawerProps = {
|
|
|
98
99
|
overlayAccessibilityLabel?: string;
|
|
99
100
|
|
|
100
101
|
/**
|
|
101
|
-
* Whether the keyboard should be dismissed when the
|
|
102
|
+
* Whether the keyboard should be dismissed when the drawer starts opening or closing.
|
|
102
103
|
* Defaults to `'on-drag'`. Set to `'none'` to disable keyboard handling.
|
|
103
104
|
*/
|
|
104
105
|
keyboardDismissMode?: 'none' | 'on-drag';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { PanGesture } from 'react-native-gesture-handler';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
import type { PanGesture } from '../views/GestureHandler';
|
|
4
|
+
|
|
5
|
+
export const DrawerGestureContext: React.Context<PanGesture | undefined> =
|
|
6
|
+
React.createContext<PanGesture | undefined>(undefined);
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type DimensionValue,
|
|
3
|
+
type StyleProp,
|
|
4
|
+
StyleSheet,
|
|
5
|
+
type ViewStyle,
|
|
6
|
+
} from 'react-native';
|
|
2
7
|
|
|
3
8
|
const APPROX_APP_BAR_HEIGHT = 56;
|
|
4
9
|
const DEFAULT_DRAWER_WIDTH = 360;
|
|
@@ -11,31 +16,47 @@ const DEFAULT_DRAWER_WIDTH = 360;
|
|
|
11
16
|
const DRAWER_DEFAULT_WIDTH_WEB = `min(calc(100% - ${APPROX_APP_BAR_HEIGHT}px), ${DEFAULT_DRAWER_WIDTH}px)`;
|
|
12
17
|
|
|
13
18
|
export function getDrawerWidthNative({
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
containerWidth,
|
|
20
|
+
customWidth,
|
|
21
|
+
customMaxWidth,
|
|
16
22
|
}: {
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
containerWidth: number;
|
|
24
|
+
customWidth: DimensionValue | undefined | null;
|
|
25
|
+
customMaxWidth: DimensionValue | undefined | null;
|
|
19
26
|
}) {
|
|
27
|
+
'worklet';
|
|
28
|
+
|
|
20
29
|
const defaultWidth = Math.max(
|
|
21
|
-
|
|
22
|
-
?
|
|
30
|
+
containerWidth - APPROX_APP_BAR_HEIGHT <= DEFAULT_DRAWER_WIDTH
|
|
31
|
+
? containerWidth - APPROX_APP_BAR_HEIGHT
|
|
23
32
|
: DEFAULT_DRAWER_WIDTH,
|
|
24
33
|
0
|
|
25
34
|
);
|
|
26
35
|
|
|
27
|
-
|
|
36
|
+
let width = customWidth ?? defaultWidth;
|
|
37
|
+
let maxWidth = customMaxWidth ?? containerWidth;
|
|
28
38
|
|
|
29
39
|
if (typeof width === 'string' && width.endsWith('%')) {
|
|
30
40
|
// Try to calculate width if a percentage is given
|
|
31
41
|
const percentage = Number(width.replace(/%$/, ''));
|
|
32
42
|
|
|
33
43
|
if (Number.isFinite(percentage)) {
|
|
34
|
-
|
|
44
|
+
width = containerWidth * (percentage / 100);
|
|
35
45
|
}
|
|
36
46
|
}
|
|
37
47
|
|
|
38
|
-
|
|
48
|
+
if (typeof maxWidth === 'string' && maxWidth.endsWith('%')) {
|
|
49
|
+
const percentage = Number(maxWidth.replace(/%$/, ''));
|
|
50
|
+
|
|
51
|
+
if (Number.isFinite(percentage)) {
|
|
52
|
+
maxWidth = containerWidth * (percentage / 100);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return Math.min(
|
|
57
|
+
typeof width === 'number' ? width : defaultWidth,
|
|
58
|
+
typeof maxWidth === 'number' ? maxWidth : containerWidth
|
|
59
|
+
);
|
|
39
60
|
}
|
|
40
61
|
|
|
41
62
|
export function getDrawerWidthWeb({
|
|
@@ -78,22 +78,30 @@ export function Drawer({
|
|
|
78
78
|
const windowDimensions = useWindowDimensions();
|
|
79
79
|
|
|
80
80
|
const layout = customLayout ?? windowDimensions;
|
|
81
|
-
|
|
81
|
+
|
|
82
|
+
const { width: customWidth, maxWidth: customMaxWidth } =
|
|
83
|
+
StyleSheet.flatten(drawerStyle) || {};
|
|
82
84
|
|
|
83
85
|
const isOpen = drawerType === 'permanent' ? true : open;
|
|
84
86
|
const isRight = drawerPosition === 'right';
|
|
85
87
|
|
|
86
88
|
const getDrawerTranslationX = React.useCallback(
|
|
87
|
-
(open: boolean) => {
|
|
89
|
+
(open: boolean, containerWidth: number) => {
|
|
88
90
|
'worklet';
|
|
89
91
|
|
|
92
|
+
const drawerWidth = getDrawerWidthNative({
|
|
93
|
+
containerWidth,
|
|
94
|
+
customWidth,
|
|
95
|
+
customMaxWidth,
|
|
96
|
+
});
|
|
97
|
+
|
|
90
98
|
if (drawerPosition === 'left') {
|
|
91
99
|
return open ? 0 : -drawerWidth;
|
|
92
100
|
}
|
|
93
101
|
|
|
94
102
|
return open ? 0 : drawerWidth;
|
|
95
103
|
},
|
|
96
|
-
[
|
|
104
|
+
[customMaxWidth, customWidth, drawerPosition]
|
|
97
105
|
);
|
|
98
106
|
|
|
99
107
|
const hideStatusBar = React.useCallback(
|
|
@@ -158,15 +166,32 @@ export function Drawer({
|
|
|
158
166
|
[isRight, isOpen, swipeEdgeWidth]
|
|
159
167
|
);
|
|
160
168
|
|
|
169
|
+
const layoutWidth = useSharedValue(layout.width);
|
|
170
|
+
const translationX = useSharedValue(
|
|
171
|
+
getDrawerTranslationX(open, layout.width)
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
const updateLayout = useLatestCallback((width: number) => {
|
|
175
|
+
layoutWidth.value = width;
|
|
176
|
+
translationX.value = getDrawerTranslationX(open, width);
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
React.useLayoutEffect(() => {
|
|
180
|
+
updateLayout(layout.width);
|
|
181
|
+
}, [layout.width, updateLayout]);
|
|
182
|
+
|
|
161
183
|
const touchStartX = useSharedValue(0);
|
|
162
184
|
const touchX = useSharedValue(0);
|
|
163
|
-
const translationX = useSharedValue(getDrawerTranslationX(open));
|
|
164
185
|
const gestureState = useSharedValue<GestureState>(GestureState.UNDETERMINED);
|
|
165
186
|
|
|
166
187
|
const onOpenLatest = useLatestCallback(onOpen);
|
|
167
188
|
const onCloseLatest = useLatestCallback(onClose);
|
|
168
189
|
|
|
169
190
|
const onAnimationStart = useLatestCallback((open: boolean) => {
|
|
191
|
+
if (drawerType !== 'permanent') {
|
|
192
|
+
hideKeyboard();
|
|
193
|
+
}
|
|
194
|
+
|
|
170
195
|
onTransitionStart?.(!open);
|
|
171
196
|
});
|
|
172
197
|
|
|
@@ -184,7 +209,7 @@ export function Drawer({
|
|
|
184
209
|
(open: boolean, velocity?: number) => {
|
|
185
210
|
'worklet';
|
|
186
211
|
|
|
187
|
-
const translateX = getDrawerTranslationX(open);
|
|
212
|
+
const translateX = getDrawerTranslationX(open, layoutWidth.value);
|
|
188
213
|
|
|
189
214
|
if (velocity === undefined) {
|
|
190
215
|
runOnJS(onAnimationStart)(open);
|
|
@@ -212,6 +237,7 @@ export function Drawer({
|
|
|
212
237
|
}
|
|
213
238
|
},
|
|
214
239
|
[
|
|
240
|
+
layoutWidth,
|
|
215
241
|
getDrawerTranslationX,
|
|
216
242
|
onAnimationEnd,
|
|
217
243
|
onAnimationStart,
|
|
@@ -223,7 +249,12 @@ export function Drawer({
|
|
|
223
249
|
]
|
|
224
250
|
);
|
|
225
251
|
|
|
226
|
-
const hasDrawerWidth =
|
|
252
|
+
const hasDrawerWidth =
|
|
253
|
+
getDrawerWidthNative({
|
|
254
|
+
containerWidth: layout.width,
|
|
255
|
+
customWidth,
|
|
256
|
+
customMaxWidth,
|
|
257
|
+
}) > 0;
|
|
227
258
|
|
|
228
259
|
const previousHasDrawerWidthRef = React.useRef(hasDrawerWidth);
|
|
229
260
|
const isHidden = useSharedValue(!isOpen && !hasDrawerWidth);
|
|
@@ -236,14 +267,21 @@ export function Drawer({
|
|
|
236
267
|
// Update translationX without animation after measurement
|
|
237
268
|
// This avoids flash of animation on initial render with async layout
|
|
238
269
|
// We only want to animate it when something changes after measurement
|
|
239
|
-
translationX.value = getDrawerTranslationX(open);
|
|
270
|
+
translationX.value = getDrawerTranslationX(open, layout.width);
|
|
240
271
|
// Unhide the drawer only after we set the correct translationX
|
|
241
272
|
// Otherwise the drawer might briefly flash in the wrong position
|
|
242
273
|
isHidden.value = false;
|
|
243
274
|
}
|
|
244
275
|
|
|
245
276
|
previousHasDrawerWidthRef.current = hasDrawerWidth;
|
|
246
|
-
}, [
|
|
277
|
+
}, [
|
|
278
|
+
getDrawerTranslationX,
|
|
279
|
+
hasDrawerWidth,
|
|
280
|
+
isHidden,
|
|
281
|
+
layout.width,
|
|
282
|
+
open,
|
|
283
|
+
translationX,
|
|
284
|
+
]);
|
|
247
285
|
|
|
248
286
|
React.useLayoutEffect(() => toggleDrawer(open), [open, toggleDrawer]);
|
|
249
287
|
|
|
@@ -326,6 +364,12 @@ export function Drawer({
|
|
|
326
364
|
]);
|
|
327
365
|
|
|
328
366
|
const translateX = useDerivedValue(() => {
|
|
367
|
+
const drawerWidth = getDrawerWidthNative({
|
|
368
|
+
containerWidth: layoutWidth.value,
|
|
369
|
+
customWidth,
|
|
370
|
+
customMaxWidth,
|
|
371
|
+
});
|
|
372
|
+
|
|
329
373
|
// Comment stolen from react-native-gesture-handler/DrawerLayout
|
|
330
374
|
//
|
|
331
375
|
// While closing the drawer when user starts gesture outside of its area (in greyed
|
|
@@ -356,9 +400,9 @@ export function Drawer({
|
|
|
356
400
|
? minmax(
|
|
357
401
|
drawerPosition === 'left'
|
|
358
402
|
? touchStartX.value - drawerWidth
|
|
359
|
-
:
|
|
403
|
+
: layoutWidth.value - drawerWidth - touchStartX.value,
|
|
360
404
|
0,
|
|
361
|
-
|
|
405
|
+
layoutWidth.value
|
|
362
406
|
)
|
|
363
407
|
: 0;
|
|
364
408
|
|
|
@@ -371,9 +415,16 @@ export function Drawer({
|
|
|
371
415
|
});
|
|
372
416
|
|
|
373
417
|
const drawerAnimatedStyle = useAnimatedStyle(() => {
|
|
374
|
-
const
|
|
418
|
+
const drawerWidth = getDrawerWidthNative({
|
|
419
|
+
containerWidth: layoutWidth.value,
|
|
420
|
+
customWidth,
|
|
421
|
+
customMaxWidth,
|
|
422
|
+
});
|
|
423
|
+
|
|
424
|
+
const distanceFromEdge = Math.max(layoutWidth.value - drawerWidth, 0);
|
|
375
425
|
|
|
376
426
|
return {
|
|
427
|
+
width: drawerWidth,
|
|
377
428
|
// FIXME: Reanimated skips committing to the shadow tree if no layout props are animated
|
|
378
429
|
// This results in pressables not getting their correct position and can't be pressed
|
|
379
430
|
// So we animate the zIndex to force the commit
|
|
@@ -408,17 +459,15 @@ export function Drawer({
|
|
|
408
459
|
},
|
|
409
460
|
],
|
|
410
461
|
};
|
|
411
|
-
}
|
|
412
|
-
direction,
|
|
413
|
-
drawerPosition,
|
|
414
|
-
drawerType,
|
|
415
|
-
drawerWidth,
|
|
416
|
-
isHidden,
|
|
417
|
-
layout.width,
|
|
418
|
-
translateX,
|
|
419
|
-
]);
|
|
462
|
+
});
|
|
420
463
|
|
|
421
464
|
const contentAnimatedStyle = useAnimatedStyle(() => {
|
|
465
|
+
const drawerWidth = getDrawerWidthNative({
|
|
466
|
+
containerWidth: layoutWidth.value,
|
|
467
|
+
customWidth,
|
|
468
|
+
customMaxWidth,
|
|
469
|
+
});
|
|
470
|
+
|
|
422
471
|
return {
|
|
423
472
|
// FIXME: Force Reanimated to commit to the shadow tree
|
|
424
473
|
zIndex: translateX.value === 0 ? 0 : drawerType === 'back' ? 2 : 1,
|
|
@@ -438,14 +487,19 @@ export function Drawer({
|
|
|
438
487
|
},
|
|
439
488
|
],
|
|
440
489
|
};
|
|
441
|
-
}
|
|
490
|
+
});
|
|
442
491
|
|
|
443
492
|
const progress = useDerivedValue(() => {
|
|
493
|
+
const containerWidth = layoutWidth.value;
|
|
494
|
+
|
|
444
495
|
return drawerType === 'permanent'
|
|
445
496
|
? 1
|
|
446
497
|
: interpolate(
|
|
447
498
|
translateX.value,
|
|
448
|
-
[
|
|
499
|
+
[
|
|
500
|
+
getDrawerTranslationX(false, containerWidth),
|
|
501
|
+
getDrawerTranslationX(true, containerWidth),
|
|
502
|
+
],
|
|
449
503
|
[0, 1]
|
|
450
504
|
);
|
|
451
505
|
});
|
|
@@ -462,7 +516,7 @@ export function Drawer({
|
|
|
462
516
|
}
|
|
463
517
|
|
|
464
518
|
return { accessibilityElementsHidden: hidden };
|
|
465
|
-
}
|
|
519
|
+
});
|
|
466
520
|
|
|
467
521
|
const drawerContentAnimatedProps = useAnimatedProps<ViewProps>(() => {
|
|
468
522
|
const hidden =
|
|
@@ -476,7 +530,7 @@ export function Drawer({
|
|
|
476
530
|
}
|
|
477
531
|
|
|
478
532
|
return { accessibilityElementsHidden: hidden };
|
|
479
|
-
}
|
|
533
|
+
});
|
|
480
534
|
|
|
481
535
|
return (
|
|
482
536
|
<GestureHandlerRootView style={[styles.container, style]}>
|
|
@@ -521,7 +575,6 @@ export function Drawer({
|
|
|
521
575
|
style={[
|
|
522
576
|
styles.drawer,
|
|
523
577
|
{
|
|
524
|
-
width: drawerWidth,
|
|
525
578
|
position:
|
|
526
579
|
drawerType === 'permanent' ? 'relative' : 'absolute',
|
|
527
580
|
},
|
package/src/views/Drawer.tsx
CHANGED
|
@@ -33,7 +33,7 @@ export function Drawer({
|
|
|
33
33
|
progress.value = open ? 1 : 0;
|
|
34
34
|
}, [open, progress]);
|
|
35
35
|
|
|
36
|
-
const drawerRef = React.useRef<View
|
|
36
|
+
const drawerRef = React.useRef<React.ComponentRef<typeof View>>(null);
|
|
37
37
|
|
|
38
38
|
const onTransitionStartLatest = useLatestCallback((e: TransitionEvent) => {
|
|
39
39
|
if (e.target === e.currentTarget && e.propertyName === 'transform') {
|
|
@@ -105,7 +105,6 @@ export function Drawer({
|
|
|
105
105
|
},
|
|
106
106
|
// FIXME: width contains `px` on web
|
|
107
107
|
{ width: drawerWidth } as ViewStyle,
|
|
108
|
-
// @ts-expect-error offset contains `calc` for web
|
|
109
108
|
drawerType !== 'permanent'
|
|
110
109
|
? // Position drawer off-screen by default in closed state
|
|
111
110
|
// And add a translation only when drawer is open
|
|
@@ -19,12 +19,16 @@ export const GestureDetector = ({
|
|
|
19
19
|
return <>{children}</>;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
export const GestureHandlerRootView = View;
|
|
22
|
+
export const GestureHandlerRootView: typeof View = View;
|
|
23
23
|
|
|
24
24
|
export const Gesture:
|
|
25
25
|
| typeof import('react-native-gesture-handler').Gesture
|
|
26
26
|
| undefined = undefined;
|
|
27
27
|
|
|
28
|
+
export type PanGesture = ReturnType<
|
|
29
|
+
typeof import('react-native-gesture-handler').Gesture.Pan
|
|
30
|
+
>;
|
|
31
|
+
|
|
28
32
|
export const enum GestureState {
|
|
29
33
|
UNDETERMINED = 0,
|
|
30
34
|
FAILED = 1,
|
|
@@ -9,6 +9,7 @@ type InteractionManagerType = {
|
|
|
9
9
|
let InteractionManager: InteractionManagerType | undefined;
|
|
10
10
|
|
|
11
11
|
try {
|
|
12
|
+
// @ts-expect-error `InteractionManager` is removed from the types in newer React Native versions
|
|
12
13
|
InteractionManager = ReactNative.InteractionManager;
|
|
13
14
|
} catch (e) {
|
|
14
15
|
// On newer React Native versions, accessing InteractionManager throws an error
|
|
@@ -19,7 +19,7 @@ export function Overlay({
|
|
|
19
19
|
return {
|
|
20
20
|
opacity: progress.value,
|
|
21
21
|
};
|
|
22
|
-
}
|
|
22
|
+
});
|
|
23
23
|
|
|
24
24
|
const animatedProps = useAnimatedProps(() => {
|
|
25
25
|
const active = progress.value > PROGRESS_EPSILON;
|
|
@@ -28,7 +28,7 @@ export function Overlay({
|
|
|
28
28
|
pointerEvents: active ? 'auto' : 'none',
|
|
29
29
|
'aria-hidden': !active,
|
|
30
30
|
} as const;
|
|
31
|
-
}
|
|
31
|
+
});
|
|
32
32
|
|
|
33
33
|
return (
|
|
34
34
|
<Animated.View
|