@react-navigation/drawer 8.0.0-alpha.16 → 8.0.0-alpha.18
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/useDrawerStatus.js +1 -1
- package/lib/module/utils/useDrawerStatus.js.map +1 -1
- package/lib/module/views/DrawerContentScrollView.js +1 -1
- package/lib/module/views/DrawerContentScrollView.js.map +1 -1
- package/lib/module/views/DrawerItem.js +50 -8
- package/lib/module/views/DrawerItem.js.map +1 -1
- package/lib/module/views/DrawerItemList.js +3 -1
- package/lib/module/views/DrawerItemList.js.map +1 -1
- package/lib/module/views/DrawerToggleButton.js.map +1 -1
- package/lib/typescript/src/types.d.ts +8 -4
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/views/DrawerItem.d.ts +4 -3
- package/lib/typescript/src/views/DrawerItem.d.ts.map +1 -1
- package/lib/typescript/src/views/DrawerItemList.d.ts.map +1 -1
- package/lib/typescript/src/views/DrawerToggleButton.d.ts +3 -2
- package/lib/typescript/src/views/DrawerToggleButton.d.ts.map +1 -1
- package/package.json +9 -8
- package/src/types.tsx +14 -7
- package/src/utils/useDrawerStatus.tsx +1 -1
- package/src/views/DrawerContentScrollView.tsx +1 -1
- package/src/views/DrawerItem.tsx +64 -5
- package/src/views/DrawerItemList.tsx +2 -0
- package/src/views/DrawerToggleButton.tsx +4 -3
|
@@ -8,7 +8,7 @@ import { DrawerStatusContext } from "./DrawerStatusContext.js";
|
|
|
8
8
|
* Returns 'open' if the drawer is open, 'closed' if the drawer is closed.
|
|
9
9
|
*/
|
|
10
10
|
export function useDrawerStatus() {
|
|
11
|
-
const drawerStatus = React.
|
|
11
|
+
const drawerStatus = React.use(DrawerStatusContext);
|
|
12
12
|
if (drawerStatus === undefined) {
|
|
13
13
|
throw new Error("Couldn't find a drawer. Is your component inside a drawer navigator?");
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","DrawerStatusContext","useDrawerStatus","drawerStatus","
|
|
1
|
+
{"version":3,"names":["React","DrawerStatusContext","useDrawerStatus","drawerStatus","use","undefined","Error"],"sourceRoot":"../../../src","sources":["utils/useDrawerStatus.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,0BAAuB;;AAE3D;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAA,EAAiB;EAC9C,MAAMC,YAAY,GAAGH,KAAK,CAACI,GAAG,CAACH,mBAAmB,CAAC;EAEnD,IAAIE,YAAY,KAAKE,SAAS,EAAE;IAC9B,MAAM,IAAIC,KAAK,CACb,sEACF,CAAC;EACH;EAEA,OAAOH,YAAY;AACrB","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ function DrawerContentScrollViewInner({
|
|
|
13
13
|
children,
|
|
14
14
|
...rest
|
|
15
15
|
}, ref) {
|
|
16
|
-
const drawerPosition = React.
|
|
16
|
+
const drawerPosition = React.use(DrawerPositionContext);
|
|
17
17
|
const insets = useSafeAreaInsets();
|
|
18
18
|
const {
|
|
19
19
|
direction
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["UNSTABLE_CornerInset","useLocale","React","ScrollView","StyleSheet","useSafeAreaInsets","DrawerPositionContext","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SPACING","DrawerContentScrollViewInner","contentContainerStyle","style","children","rest","ref","drawerPosition","
|
|
1
|
+
{"version":3,"names":["UNSTABLE_CornerInset","useLocale","React","ScrollView","StyleSheet","useSafeAreaInsets","DrawerPositionContext","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SPACING","DrawerContentScrollViewInner","contentContainerStyle","style","children","rest","ref","drawerPosition","use","insets","direction","isRight","paddingBottom","bottom","paddingStart","left","paddingEnd","right","styles","container","edge","minHeight","top","marginBottom","DrawerContentScrollView","forwardRef","create","flex"],"sourceRoot":"../../../src","sources":["views/DrawerContentScrollView.tsx"],"mappings":";;AAAA,SAASA,oBAAoB,EAAEC,SAAS,QAAQ,0BAA0B;AAC1E,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAwBC,UAAU,QAAQ,cAAc;AAC3E,SAASC,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,qBAAqB,QAAQ,mCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAMvE,MAAMC,OAAO,GAAG,EAAE;AAElB,SAASC,4BAA4BA,CACnC;EAAEC,qBAAqB;EAAEC,KAAK;EAAEC,QAAQ;EAAE,GAAGC;AAAY,CAAC,EAC1DC,GAA2B,EAC3B;EACA,MAAMC,cAAc,GAAGlB,KAAK,CAACmB,GAAG,CAACf,qBAAqB,CAAC;EACvD,MAAMgB,MAAM,GAAGjB,iBAAiB,CAAC,CAAC;EAClC,MAAM;IAAEkB;EAAU,CAAC,GAAGtB,SAAS,CAAC,CAAC;EAEjC,MAAMuB,OAAO,GACXD,SAAS,KAAK,KAAK,GACfH,cAAc,KAAK,MAAM,GACzBA,cAAc,KAAK,OAAO;EAEhC,oBACEZ,IAAA,CAAAI,SAAA;IAAAK,QAAA,eACEP,KAAA,CAACP,UAAU;MAAA,GACLe,IAAI;MACRC,GAAG,EAAEA,GAAI;MACTJ,qBAAqB,EAAE,CACrB;QACEU,aAAa,EAAEZ,OAAO,GAAGS,MAAM,CAACI,MAAM;QACtCC,YAAY,EAAEd,OAAO,IAAI,CAACW,OAAO,GAAGF,MAAM,CAACM,IAAI,GAAG,CAAC,CAAC;QACpDC,UAAU,EAAEhB,OAAO,IAAIW,OAAO,GAAGF,MAAM,CAACQ,KAAK,GAAG,CAAC;MACnD,CAAC,EACDf,qBAAqB,CACrB;MACFC,KAAK,EAAE,CAACe,MAAM,CAACC,SAAS,EAAEhB,KAAK,CAAE;MAAAC,QAAA,gBAEjCT,IAAA,CAACR,oBAAoB;QACnBuB,SAAS,EAAC,UAAU;QACpBU,IAAI,EAAC,KAAK;QACVjB,KAAK,EAAE;UACL;UACAkB,SAAS,EAAEZ,MAAM,CAACa,GAAG;UACrBC,YAAY,EAAEvB;QAChB;MAAE,CACH,CAAC,EACDI,QAAQ;IAAA,CACC;EAAC,CACb,CAAC;AAEP;AAEA,OAAO,MAAMoB,uBAAuB,gBAAGnC,KAAK,CAACoC,UAAU,CACrDxB,4BACF,CAAC;AAED,MAAMiB,MAAM,GAAG3B,UAAU,CAACmC,MAAM,CAAC;EAC/BP,SAAS,EAAE;IACTQ,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import { PlatformPressable, Text } from '@react-navigation/elements';
|
|
4
4
|
import { Color } from '@react-navigation/elements/internal';
|
|
5
|
-
import { useTheme } from '@react-navigation/native';
|
|
6
|
-
import
|
|
7
|
-
import { Platform, StyleSheet, View } from 'react-native';
|
|
5
|
+
import { MaterialSymbol, SFSymbol, useTheme } from '@react-navigation/native';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import { Image, Platform, StyleSheet, View } from 'react-native';
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
/**
|
|
10
10
|
* A component used to show an action item with an icon and a label in a navigation drawer.
|
|
@@ -38,11 +38,53 @@ export function DrawerItem(props) {
|
|
|
38
38
|
} = StyleSheet.flatten(style || {});
|
|
39
39
|
const color = focused ? activeTintColor : inactiveTintColor ?? Color(colors.text)?.alpha(0.68).string() ?? 'rgba(0, 0, 0, 0.68)';
|
|
40
40
|
const backgroundColor = focused ? activeBackgroundColor ?? Color(activeTintColor)?.alpha(0.12).string() ?? 'rgba(0, 0, 0, 0.06)' : inactiveBackgroundColor;
|
|
41
|
-
const iconNode =
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
const iconNode = React.useMemo(() => {
|
|
42
|
+
if (!icon) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const size = 24;
|
|
46
|
+
const iconValue = typeof icon === 'function' ? icon({
|
|
47
|
+
size,
|
|
48
|
+
focused,
|
|
49
|
+
color
|
|
50
|
+
}) : icon;
|
|
51
|
+
if (/*#__PURE__*/React.isValidElement(iconValue)) {
|
|
52
|
+
return iconValue;
|
|
53
|
+
}
|
|
54
|
+
if (typeof iconValue === 'object' && iconValue != null && 'type' in iconValue) {
|
|
55
|
+
switch (iconValue.type) {
|
|
56
|
+
case 'image':
|
|
57
|
+
return /*#__PURE__*/_jsx(Image, {
|
|
58
|
+
source: iconValue.source,
|
|
59
|
+
style: {
|
|
60
|
+
width: size,
|
|
61
|
+
height: size,
|
|
62
|
+
tintColor: iconValue.tinted === false ? undefined : color
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
case 'sfSymbol':
|
|
66
|
+
return /*#__PURE__*/_jsx(SFSymbol, {
|
|
67
|
+
name: iconValue.name,
|
|
68
|
+
size: size,
|
|
69
|
+
color: color
|
|
70
|
+
});
|
|
71
|
+
case 'materialSymbol':
|
|
72
|
+
return /*#__PURE__*/_jsx(MaterialSymbol, {
|
|
73
|
+
name: iconValue.name,
|
|
74
|
+
variant: iconValue.variant,
|
|
75
|
+
weight: iconValue.weight,
|
|
76
|
+
size: size,
|
|
77
|
+
color: color
|
|
78
|
+
});
|
|
79
|
+
default:
|
|
80
|
+
{
|
|
81
|
+
const _exhaustiveCheck = iconValue;
|
|
82
|
+
return _exhaustiveCheck;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
}, [icon, focused, color]);
|
|
46
88
|
return /*#__PURE__*/_jsx(View, {
|
|
47
89
|
collapsable: false,
|
|
48
90
|
...rest,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PlatformPressable","Text","Color","useTheme","React","Platform","StyleSheet","View","jsx","_jsx","jsxs","_jsxs","DrawerItem","props","colors","fonts","href","icon","label","labelStyle","focused","allowFontScaling","activeTintColor","primary","inactiveTintColor","activeBackgroundColor","inactiveBackgroundColor","style","onPress","pressColor","pressOpacity","testID","accessibilityLabel","rest","borderRadius","flatten","color","text","alpha","string","backgroundColor","iconNode","size","collapsable","styles","container","children","role","hoverEffect","
|
|
1
|
+
{"version":3,"names":["PlatformPressable","Text","Color","MaterialSymbol","SFSymbol","useTheme","React","Image","Platform","StyleSheet","View","jsx","_jsx","jsxs","_jsxs","DrawerItem","props","colors","fonts","href","icon","label","labelStyle","focused","allowFontScaling","activeTintColor","primary","inactiveTintColor","activeBackgroundColor","inactiveBackgroundColor","style","onPress","pressColor","pressOpacity","testID","accessibilityLabel","rest","borderRadius","flatten","color","text","alpha","string","backgroundColor","iconNode","useMemo","size","iconValue","isValidElement","type","source","width","height","tintColor","tinted","undefined","name","variant","weight","_exhaustiveCheck","collapsable","styles","container","children","role","hoverEffect","wrapper","marginStart","numberOfLines","labelText","medium","create","borderCurve","select","android","overflow","default","flexDirection","alignItems","paddingVertical","paddingStart","paddingEnd","marginEnd","marginVertical","flex","lineHeight","textAlignVertical"],"sourceRoot":"../../../src","sources":["views/DrawerItem.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -45,6 +45,7 @@ export function DrawerItemList({
|
|
|
45
45
|
drawerIcon,
|
|
46
46
|
drawerLabelStyle,
|
|
47
47
|
drawerItemStyle,
|
|
48
|
+
drawerItemTestID,
|
|
48
49
|
drawerAllowFontScaling
|
|
49
50
|
} = descriptors[route.key].options;
|
|
50
51
|
return /*#__PURE__*/_jsx(DrawerItem, {
|
|
@@ -60,7 +61,8 @@ export function DrawerItemList({
|
|
|
60
61
|
allowFontScaling: drawerAllowFontScaling,
|
|
61
62
|
labelStyle: drawerLabelStyle,
|
|
62
63
|
style: drawerItemStyle,
|
|
63
|
-
onPress: onPress
|
|
64
|
+
onPress: onPress,
|
|
65
|
+
testID: drawerItemTestID
|
|
64
66
|
}, route.key);
|
|
65
67
|
});
|
|
66
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CommonActions","DrawerActions","useLinkBuilder","React","DrawerItem","jsx","_jsx","DrawerItemList","state","navigation","descriptors","buildHref","focusedRoute","routes","index","focusedDescriptor","key","focusedOptions","options","drawerActiveTintColor","drawerInactiveTintColor","drawerActiveBackgroundColor","drawerInactiveBackgroundColor","map","route","i","focused","onPress","event","emit","type","target","canPreventDefault","defaultPrevented","dispatch","closeDrawer","navigate","title","drawerLabel","drawerIcon","drawerLabelStyle","drawerItemStyle","drawerAllowFontScaling","href","name","params","label","undefined","icon","activeTintColor","inactiveTintColor","activeBackgroundColor","inactiveBackgroundColor","allowFontScaling","labelStyle","style"],"sourceRoot":"../../../src","sources":["views/DrawerItemList.tsx"],"mappings":";;AAAA,SACEA,aAAa,EACbC,aAAa,EAGbC,cAAc,QACT,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAG9B,SAASC,UAAU,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ1C;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAmB,CAAC,EAAE;EACxE,MAAM;IAAEC;EAAU,CAAC,GAAGT,cAAc,CAAC,CAAC;EAEtC,MAAMU,YAAY,GAAGJ,KAAK,CAACK,MAAM,CAACL,KAAK,CAACM,KAAK,CAAC;EAC9C,MAAMC,iBAAiB,GAAGL,WAAW,CAACE,YAAY,CAACI,GAAG,CAAC;EACvD,MAAMC,cAAc,GAAGF,iBAAiB,CAACG,OAAO;EAEhD,MAAM;IACJC,qBAAqB;IACrBC,uBAAuB;IACvBC,2BAA2B;IAC3BC;EACF,CAAC,GAAGL,cAAc;EAElB,OAAOT,KAAK,CAACK,MAAM,CAACU,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;IACpC,MAAMC,OAAO,GAAGD,CAAC,KAAKjB,KAAK,CAACM,KAAK;IAEjC,MAAMa,OAAO,GAAGA,CAAA,KAAM;MACpB,MAAMC,KAAK,GAAGnB,UAAU,CAACoB,IAAI,CAAC;QAC5BC,IAAI,EAAE,iBAAiB;QACvBC,MAAM,EAAEP,KAAK,CAACR,GAAG;QACjBgB,iBAAiB,EAAE;MACrB,CAAC,CAAC;MAEF,IAAI,CAACJ,KAAK,CAACK,gBAAgB,EAAE;QAC3BxB,UAAU,CAACyB,QAAQ,CAAC;UAClB,IAAIR,OAAO,GACPzB,aAAa,CAACkC,WAAW,CAAC,CAAC,GAC3BnC,aAAa,CAACoC,QAAQ,CAACZ,KAAK,CAAC,CAAC;UAClCO,MAAM,EAAEvB,KAAK,CAACQ;QAChB,CAAC,CAAC;MACJ;IACF,CAAC;IAED,MAAM;MACJqB,KAAK;MACLC,WAAW;MACXC,UAAU;MACVC,gBAAgB;MAChBC,eAAe;MACfC;IACF,CAAC,
|
|
1
|
+
{"version":3,"names":["CommonActions","DrawerActions","useLinkBuilder","React","DrawerItem","jsx","_jsx","DrawerItemList","state","navigation","descriptors","buildHref","focusedRoute","routes","index","focusedDescriptor","key","focusedOptions","options","drawerActiveTintColor","drawerInactiveTintColor","drawerActiveBackgroundColor","drawerInactiveBackgroundColor","map","route","i","focused","onPress","event","emit","type","target","canPreventDefault","defaultPrevented","dispatch","closeDrawer","navigate","title","drawerLabel","drawerIcon","drawerLabelStyle","drawerItemStyle","drawerItemTestID","drawerAllowFontScaling","href","name","params","label","undefined","icon","activeTintColor","inactiveTintColor","activeBackgroundColor","inactiveBackgroundColor","allowFontScaling","labelStyle","style","testID"],"sourceRoot":"../../../src","sources":["views/DrawerItemList.tsx"],"mappings":";;AAAA,SACEA,aAAa,EACbC,aAAa,EAGbC,cAAc,QACT,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAG9B,SAASC,UAAU,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ1C;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAmB,CAAC,EAAE;EACxE,MAAM;IAAEC;EAAU,CAAC,GAAGT,cAAc,CAAC,CAAC;EAEtC,MAAMU,YAAY,GAAGJ,KAAK,CAACK,MAAM,CAACL,KAAK,CAACM,KAAK,CAAC;EAC9C,MAAMC,iBAAiB,GAAGL,WAAW,CAACE,YAAY,CAACI,GAAG,CAAC;EACvD,MAAMC,cAAc,GAAGF,iBAAiB,CAACG,OAAO;EAEhD,MAAM;IACJC,qBAAqB;IACrBC,uBAAuB;IACvBC,2BAA2B;IAC3BC;EACF,CAAC,GAAGL,cAAc;EAElB,OAAOT,KAAK,CAACK,MAAM,CAACU,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;IACpC,MAAMC,OAAO,GAAGD,CAAC,KAAKjB,KAAK,CAACM,KAAK;IAEjC,MAAMa,OAAO,GAAGA,CAAA,KAAM;MACpB,MAAMC,KAAK,GAAGnB,UAAU,CAACoB,IAAI,CAAC;QAC5BC,IAAI,EAAE,iBAAiB;QACvBC,MAAM,EAAEP,KAAK,CAACR,GAAG;QACjBgB,iBAAiB,EAAE;MACrB,CAAC,CAAC;MAEF,IAAI,CAACJ,KAAK,CAACK,gBAAgB,EAAE;QAC3BxB,UAAU,CAACyB,QAAQ,CAAC;UAClB,IAAIR,OAAO,GACPzB,aAAa,CAACkC,WAAW,CAAC,CAAC,GAC3BnC,aAAa,CAACoC,QAAQ,CAACZ,KAAK,CAAC,CAAC;UAClCO,MAAM,EAAEvB,KAAK,CAACQ;QAChB,CAAC,CAAC;MACJ;IACF,CAAC;IAED,MAAM;MACJqB,KAAK;MACLC,WAAW;MACXC,UAAU;MACVC,gBAAgB;MAChBC,eAAe;MACfC,gBAAgB;MAChBC;IACF,CAAC,GAAGjC,WAAW,CAACc,KAAK,CAACR,GAAG,CAAC,CAACE,OAAO;IAElC,oBACEZ,IAAA,CAACF,UAAU;MAEToB,KAAK,EAAEA,KAAM;MACboB,IAAI,EAAEjC,SAAS,CAACa,KAAK,CAACqB,IAAI,EAAErB,KAAK,CAACsB,MAAM,CAAE;MAC1CC,KAAK,EACHT,WAAW,KAAKU,SAAS,GACrBV,WAAW,GACXD,KAAK,KAAKW,SAAS,GACjBX,KAAK,GACLb,KAAK,CAACqB,IACb;MACDI,IAAI,EAAEV,UAAW;MACjBb,OAAO,EAAEA,OAAQ;MACjBwB,eAAe,EAAE/B,qBAAsB;MACvCgC,iBAAiB,EAAE/B,uBAAwB;MAC3CgC,qBAAqB,EAAE/B,2BAA4B;MACnDgC,uBAAuB,EAAE/B,6BAA8B;MACvDgC,gBAAgB,EAAEX,sBAAuB;MACzCY,UAAU,EAAEf,gBAAiB;MAC7BgB,KAAK,EAAEf,eAAgB;MACvBd,OAAO,EAAEA,OAAQ;MACjB8B,MAAM,EAAEf;IAAiB,GApBpBlB,KAAK,CAACR,GAqBZ,CAAC;EAEN,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HeaderButton","DrawerActions","MaterialSymbol","SFSymbol","useNavigation","React","Image","Platform","StyleSheet","toggleDrawerIcon","jsx","_jsx","DrawerToggleButton","icon","tintColor","accessibilityLabel","rest","navigation","drawerIcon","select","ios","type","name","android","default","source","onPress","dispatch","toggleDrawer","children","size","ICON_SIZE","color","style","styles","variant","weight","resizeMode","fadeDuration","create","height","width","marginVertical","marginHorizontal"],"sourceRoot":"../../../src","sources":["views/DrawerToggleButton.tsx"],"mappings":";;AAAA,SAASA,YAAY,
|
|
1
|
+
{"version":3,"names":["HeaderButton","DrawerActions","MaterialSymbol","SFSymbol","useNavigation","React","Image","Platform","StyleSheet","toggleDrawerIcon","jsx","_jsx","DrawerToggleButton","icon","tintColor","accessibilityLabel","rest","navigation","drawerIcon","select","ios","type","name","android","default","source","onPress","dispatch","toggleDrawer","children","size","ICON_SIZE","color","style","styles","variant","weight","resizeMode","fadeDuration","create","height","width","marginVertical","marginHorizontal"],"sourceRoot":"../../../src","sources":["views/DrawerToggleButton.tsx"],"mappings":";;AAAA,SAASA,YAAY,QAAmB,4BAA4B;AACpE,SACEC,aAAa,EACbC,cAAc,EACdC,QAAQ,EACRC,aAAa,QACR,0BAA0B;AACjC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAA0BC,KAAK,EAAEC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AAE3E,OAAOC,gBAAgB,MAAM,iCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAc/D,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,IAAI;EACJC,SAAS;EACTC,kBAAkB,GAAG,sBAAsB;EAC3C,GAAGC;AACE,CAAC,EAAE;EACR,MAAMC,UAAU,GAAGb,aAAa,CAAC,CAAC;EAElC,MAAMc,UAAU,GACdL,IAAI,IACJN,QAAQ,CAACY,MAAM,CAAO;IACpBC,GAAG,EAAE;MACHC,IAAI,EAAE,UAAU;MAChBC,IAAI,EAAE;IACR,CAAC;IACDC,OAAO,EAAE;MACPF,IAAI,EAAE,gBAAgB;MACtBC,IAAI,EAAE;IACR,CAAC;IACDE,OAAO,EAAE;MACPH,IAAI,EAAE,OAAO;MACbI,MAAM,EAAEhB;IACV;EACF,CAAC,CAAC;EAEJ,oBACEE,IAAA,CAACX,YAAY;IAAA,GACPgB,IAAI;IACRD,kBAAkB,EAAEA,kBAAmB;IACvCW,OAAO,EAAEA,CAAA,KAAMT,UAAU,CAACU,QAAQ,CAAC1B,aAAa,CAAC2B,YAAY,CAAC,CAAC,CAAE;IAAAC,QAAA,EAEhE,OAAOX,UAAU,KAAK,UAAU,GAC/BA,UAAU,CAAC;MAAEJ;IAAU,CAAC,CAAC,GACvBI,UAAU,CAACG,IAAI,KAAK,UAAU,gBAChCV,IAAA,CAACR,QAAQ;MACPmB,IAAI,EAAEJ,UAAU,CAACI,IAAK;MACtBQ,IAAI,EAAEC,SAAU;MAChBC,KAAK,EAAElB,SAAU;MACjBmB,KAAK,EAAEC,MAAM,CAACrB;IAAK,CACpB,CAAC,GACAK,UAAU,CAACG,IAAI,KAAK,gBAAgB,gBACtCV,IAAA,CAACT,cAAc;MACboB,IAAI,EAAEJ,UAAU,CAACI,IAAK;MACtBa,OAAO,EAAEjB,UAAU,CAACiB,OAAQ;MAC5BC,MAAM,EAAElB,UAAU,CAACkB,MAAO;MAC1BN,IAAI,EAAEC,SAAU;MAChBC,KAAK,EAAElB,SAAU;MACjBmB,KAAK,EAAEC,MAAM,CAACrB;IAAK,CACpB,CAAC,gBAEFF,IAAA,CAACL,KAAK;MACJ+B,UAAU,EAAC,SAAS;MACpBZ,MAAM,EAAEP,UAAU,CAACO,MAAO;MAC1Ba,YAAY,EAAE,CAAE;MAChBxB,SAAS,EAAEA,SAAU;MACrBmB,KAAK,EAAEC,MAAM,CAACrB;IAAK,CACpB;EACF,CACW,CAAC;AAEnB;AAEA,MAAMkB,SAAS,GAAG,EAAE;AAEpB,MAAMG,MAAM,GAAG1B,UAAU,CAAC+B,MAAM,CAAC;EAC/B1B,IAAI,EAAE;IACJ2B,MAAM,EAAET,SAAS;IACjBU,KAAK,EAAEV,SAAS;IAChBW,cAAc,EAAE,CAAC;IACjBC,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HeaderOptions } from '@react-navigation/elements';
|
|
1
|
+
import type { HeaderOptions, Icon } from '@react-navigation/elements';
|
|
2
2
|
import type { Screen } from '@react-navigation/elements/internal';
|
|
3
3
|
import type { DefaultNavigatorOptions, Descriptor, DrawerActionHelpers, DrawerNavigationState, DrawerRouterOptions, NavigationHelpers, NavigationProp, ParamListBase, Route, RouteProp, Theme } from '@react-navigation/native';
|
|
4
4
|
import type { ColorValue, StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
@@ -48,13 +48,13 @@ export type DrawerNavigationOptions = HeaderOptions & {
|
|
|
48
48
|
focused: boolean;
|
|
49
49
|
}) => React.ReactNode);
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Icon to display for the drawer item.
|
|
52
52
|
*/
|
|
53
|
-
drawerIcon?: (props: {
|
|
53
|
+
drawerIcon?: Icon | ((props: {
|
|
54
54
|
color: ColorValue;
|
|
55
55
|
size: number;
|
|
56
56
|
focused: boolean;
|
|
57
|
-
}) => React.ReactNode;
|
|
57
|
+
}) => Icon | React.ReactNode);
|
|
58
58
|
/**
|
|
59
59
|
* Color for the icon and label in the active item in the drawer.
|
|
60
60
|
*/
|
|
@@ -79,6 +79,10 @@ export type DrawerNavigationOptions = HeaderOptions & {
|
|
|
79
79
|
* Style object for the single item, which can contain an icon and/or a label.
|
|
80
80
|
*/
|
|
81
81
|
drawerItemStyle?: StyleProp<ViewStyle>;
|
|
82
|
+
/**
|
|
83
|
+
* ID to locate this drawer item in tests.
|
|
84
|
+
*/
|
|
85
|
+
drawerItemTestID?: string;
|
|
82
86
|
/**
|
|
83
87
|
* Style object to apply to the `Text` inside content section which renders a label.
|
|
84
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { type Icon } from '@react-navigation/elements';
|
|
1
2
|
import { type Route } from '@react-navigation/native';
|
|
2
|
-
import
|
|
3
|
+
import React from 'react';
|
|
3
4
|
import { type ColorValue, type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
|
|
4
5
|
type Props = {
|
|
5
6
|
/**
|
|
@@ -20,11 +21,11 @@ type Props = {
|
|
|
20
21
|
/**
|
|
21
22
|
* Icon to display for the `DrawerItem`.
|
|
22
23
|
*/
|
|
23
|
-
icon?: ((props: {
|
|
24
|
+
icon?: Icon | ((props: {
|
|
24
25
|
focused: boolean;
|
|
25
26
|
size: number;
|
|
26
27
|
color: ColorValue;
|
|
27
|
-
}) => React.ReactNode) | undefined;
|
|
28
|
+
}) => Icon | React.ReactNode) | undefined;
|
|
28
29
|
/**
|
|
29
30
|
* Whether to highlight the drawer item as active.
|
|
30
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerItem.d.ts","sourceRoot":"","sources":["../../../../src/views/DrawerItem.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrawerItem.d.ts","sourceRoot":"","sources":["../../../../src/views/DrawerItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAA2B,MAAM,4BAA4B,CAAC;AAEhF,OAAO,EAEL,KAAK,KAAK,EAGX,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,KAAK,UAAU,EAGf,KAAK,SAAS,EAEd,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,KAAK,KAAK,GAAG;IACX;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;OAEG;IACH,KAAK,EACD,MAAM,GACN,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1E;;OAEG;IACH,IAAI,CAAC,EACD,IAAI,GACJ,CAAC,CAAC,KAAK,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,UAAU,CAAC;KACnB,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAC7B,SAAS,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,eAAe,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACzC;;OAEG;IACH,iBAAiB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC3C;;OAEG;IACH,qBAAqB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/C;;OAEG;IACH,uBAAuB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACjD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACzC;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEvC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,2CA8HtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerItemList.d.ts","sourceRoot":"","sources":["../../../../src/views/DrawerItemList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG7E,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC5C,UAAU,EAAE,uBAAuB,CAAC;IACpC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"DrawerItemList.d.ts","sourceRoot":"","sources":["../../../../src/views/DrawerItemList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAG7E,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC5C,UAAU,EAAE,uBAAuB,CAAC;IACpC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,KAAK,GAqE7C,KAAK,CAAC,YAAY,CAC5C"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Icon } from '@react-navigation/elements';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { type ColorValue } from 'react-native';
|
|
4
4
|
type Props = {
|
|
5
|
-
icon?:
|
|
5
|
+
icon?: Icon | ((props: {
|
|
6
6
|
tintColor: ColorValue | undefined;
|
|
7
7
|
}) => React.ReactNode) | undefined;
|
|
8
8
|
accessibilityLabel?: string | undefined;
|
|
9
9
|
pressColor?: ColorValue | undefined;
|
|
10
10
|
pressOpacity?: number | undefined;
|
|
11
11
|
tintColor?: ColorValue | undefined;
|
|
12
|
+
testID?: string | undefined;
|
|
12
13
|
};
|
|
13
14
|
export declare function DrawerToggleButton({ icon, tintColor, accessibilityLabel, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
|
|
14
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerToggleButton.d.ts","sourceRoot":"","sources":["../../../../src/views/DrawerToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,
|
|
1
|
+
{"version":3,"file":"DrawerToggleButton.d.ts","sourceRoot":"","sources":["../../../../src/views/DrawerToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAOrE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,UAAU,EAA+B,MAAM,cAAc,CAAC;AAI5E,KAAK,KAAK,GAAG;IACX,IAAI,CAAC,EACD,IAAI,GACJ,CAAC,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC,GACnE,SAAS,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,kBAA2C,EAC3C,GAAG,IAAI,EACR,EAAE,KAAK,2CAuDP"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/drawer",
|
|
3
3
|
"description": "Integration for the drawer component from react-native-drawer-layout",
|
|
4
|
-
"version": "8.0.0-alpha.
|
|
4
|
+
"version": "8.0.0-alpha.18",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native-component",
|
|
7
7
|
"react-component",
|
|
@@ -46,14 +46,14 @@
|
|
|
46
46
|
"clean": "del lib"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@react-navigation/elements": "^3.0.0-alpha.
|
|
49
|
+
"@react-navigation/elements": "^3.0.0-alpha.16",
|
|
50
50
|
"color": "^4.2.3",
|
|
51
|
-
"react-native-drawer-layout": "^5.0.0-alpha.
|
|
51
|
+
"react-native-drawer-layout": "^5.0.0-alpha.4",
|
|
52
52
|
"use-latest-callback": "^0.3.2"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@jest/globals": "^30.0.0",
|
|
56
|
-
"@react-navigation/native": "^8.0.0-alpha.
|
|
56
|
+
"@react-navigation/native": "^8.0.0-alpha.15",
|
|
57
57
|
"@testing-library/react-native": "^13.3.3",
|
|
58
58
|
"@types/react": "~19.2.2",
|
|
59
59
|
"del-cli": "^6.0.0",
|
|
@@ -69,13 +69,14 @@
|
|
|
69
69
|
"typescript": "^5.9.2"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
-
"@react-navigation/native": "^8.0.0-alpha.
|
|
73
|
-
"react": ">= 19.
|
|
72
|
+
"@react-navigation/native": "^8.0.0-alpha.15",
|
|
73
|
+
"react": ">= 19.2.0",
|
|
74
74
|
"react-native": "*",
|
|
75
75
|
"react-native-gesture-handler": ">= 2.0.0",
|
|
76
76
|
"react-native-reanimated": ">= 4.0.0",
|
|
77
77
|
"react-native-safe-area-context": ">= 5.5.0",
|
|
78
|
-
"react-native-screens": ">= 4.
|
|
78
|
+
"react-native-screens": ">= 4.24.0",
|
|
79
|
+
"react-native-worklets": ">= 0.4.0"
|
|
79
80
|
},
|
|
80
81
|
"react-native-builder-bob": {
|
|
81
82
|
"source": "src",
|
|
@@ -95,5 +96,5 @@
|
|
|
95
96
|
]
|
|
96
97
|
]
|
|
97
98
|
},
|
|
98
|
-
"gitHead": "
|
|
99
|
+
"gitHead": "f450135c06439cf9a8eb68fc45de594810d6a001"
|
|
99
100
|
}
|
package/src/types.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HeaderOptions } from '@react-navigation/elements';
|
|
1
|
+
import type { HeaderOptions, Icon } from '@react-navigation/elements';
|
|
2
2
|
import type { Screen } from '@react-navigation/elements/internal';
|
|
3
3
|
import type {
|
|
4
4
|
DefaultNavigatorOptions,
|
|
@@ -65,13 +65,15 @@ export type DrawerNavigationOptions = HeaderOptions & {
|
|
|
65
65
|
| ((props: { color: ColorValue; focused: boolean }) => React.ReactNode);
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
68
|
+
* Icon to display for the drawer item.
|
|
69
69
|
*/
|
|
70
|
-
drawerIcon?:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
drawerIcon?:
|
|
71
|
+
| Icon
|
|
72
|
+
| ((props: {
|
|
73
|
+
color: ColorValue;
|
|
74
|
+
size: number;
|
|
75
|
+
focused: boolean;
|
|
76
|
+
}) => Icon | React.ReactNode);
|
|
75
77
|
|
|
76
78
|
/**
|
|
77
79
|
* Color for the icon and label in the active item in the drawer.
|
|
@@ -103,6 +105,11 @@ export type DrawerNavigationOptions = HeaderOptions & {
|
|
|
103
105
|
*/
|
|
104
106
|
drawerItemStyle?: StyleProp<ViewStyle>;
|
|
105
107
|
|
|
108
|
+
/**
|
|
109
|
+
* ID to locate this drawer item in tests.
|
|
110
|
+
*/
|
|
111
|
+
drawerItemTestID?: string;
|
|
112
|
+
|
|
106
113
|
/**
|
|
107
114
|
* Style object to apply to the `Text` inside content section which renders a label.
|
|
108
115
|
*/
|
|
@@ -8,7 +8,7 @@ import { DrawerStatusContext } from './DrawerStatusContext';
|
|
|
8
8
|
* Returns 'open' if the drawer is open, 'closed' if the drawer is closed.
|
|
9
9
|
*/
|
|
10
10
|
export function useDrawerStatus(): DrawerStatus {
|
|
11
|
-
const drawerStatus = React.
|
|
11
|
+
const drawerStatus = React.use(DrawerStatusContext);
|
|
12
12
|
|
|
13
13
|
if (drawerStatus === undefined) {
|
|
14
14
|
throw new Error(
|
|
@@ -15,7 +15,7 @@ function DrawerContentScrollViewInner(
|
|
|
15
15
|
{ contentContainerStyle, style, children, ...rest }: Props,
|
|
16
16
|
ref?: React.Ref<ScrollView>
|
|
17
17
|
) {
|
|
18
|
-
const drawerPosition = React.
|
|
18
|
+
const drawerPosition = React.use(DrawerPositionContext);
|
|
19
19
|
const insets = useSafeAreaInsets();
|
|
20
20
|
const { direction } = useLocale();
|
|
21
21
|
|
package/src/views/DrawerItem.tsx
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { PlatformPressable, Text } from '@react-navigation/elements';
|
|
1
|
+
import { type Icon, PlatformPressable, Text } from '@react-navigation/elements';
|
|
2
2
|
import { Color } from '@react-navigation/elements/internal';
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
MaterialSymbol,
|
|
5
|
+
type Route,
|
|
6
|
+
SFSymbol,
|
|
7
|
+
useTheme,
|
|
8
|
+
} from '@react-navigation/native';
|
|
9
|
+
import React from 'react';
|
|
5
10
|
import {
|
|
6
11
|
type ColorValue,
|
|
12
|
+
Image,
|
|
7
13
|
Platform,
|
|
8
14
|
type StyleProp,
|
|
9
15
|
StyleSheet,
|
|
@@ -31,11 +37,12 @@ type Props = {
|
|
|
31
37
|
* Icon to display for the `DrawerItem`.
|
|
32
38
|
*/
|
|
33
39
|
icon?:
|
|
40
|
+
| Icon
|
|
34
41
|
| ((props: {
|
|
35
42
|
focused: boolean;
|
|
36
43
|
size: number;
|
|
37
44
|
color: ColorValue;
|
|
38
|
-
}) => React.ReactNode)
|
|
45
|
+
}) => Icon | React.ReactNode)
|
|
39
46
|
| undefined;
|
|
40
47
|
/**
|
|
41
48
|
* Whether to highlight the drawer item as active.
|
|
@@ -136,7 +143,59 @@ export function DrawerItem(props: Props) {
|
|
|
136
143
|
'rgba(0, 0, 0, 0.06)')
|
|
137
144
|
: inactiveBackgroundColor;
|
|
138
145
|
|
|
139
|
-
const iconNode =
|
|
146
|
+
const iconNode = React.useMemo(() => {
|
|
147
|
+
if (!icon) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
const size = 24;
|
|
152
|
+
|
|
153
|
+
const iconValue =
|
|
154
|
+
typeof icon === 'function' ? icon({ size, focused, color }) : icon;
|
|
155
|
+
|
|
156
|
+
if (React.isValidElement(iconValue)) {
|
|
157
|
+
return iconValue;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (
|
|
161
|
+
typeof iconValue === 'object' &&
|
|
162
|
+
iconValue != null &&
|
|
163
|
+
'type' in iconValue
|
|
164
|
+
) {
|
|
165
|
+
switch (iconValue.type) {
|
|
166
|
+
case 'image':
|
|
167
|
+
return (
|
|
168
|
+
<Image
|
|
169
|
+
source={iconValue.source}
|
|
170
|
+
style={{
|
|
171
|
+
width: size,
|
|
172
|
+
height: size,
|
|
173
|
+
tintColor: iconValue.tinted === false ? undefined : color,
|
|
174
|
+
}}
|
|
175
|
+
/>
|
|
176
|
+
);
|
|
177
|
+
case 'sfSymbol':
|
|
178
|
+
return <SFSymbol name={iconValue.name} size={size} color={color} />;
|
|
179
|
+
case 'materialSymbol':
|
|
180
|
+
return (
|
|
181
|
+
<MaterialSymbol
|
|
182
|
+
name={iconValue.name}
|
|
183
|
+
variant={iconValue.variant}
|
|
184
|
+
weight={iconValue.weight}
|
|
185
|
+
size={size}
|
|
186
|
+
color={color}
|
|
187
|
+
/>
|
|
188
|
+
);
|
|
189
|
+
default: {
|
|
190
|
+
const _exhaustiveCheck: never = iconValue;
|
|
191
|
+
|
|
192
|
+
return _exhaustiveCheck;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
return null;
|
|
198
|
+
}, [icon, focused, color]);
|
|
140
199
|
|
|
141
200
|
return (
|
|
142
201
|
<View
|
|
@@ -59,6 +59,7 @@ export function DrawerItemList({ state, navigation, descriptors }: Props) {
|
|
|
59
59
|
drawerIcon,
|
|
60
60
|
drawerLabelStyle,
|
|
61
61
|
drawerItemStyle,
|
|
62
|
+
drawerItemTestID,
|
|
62
63
|
drawerAllowFontScaling,
|
|
63
64
|
} = descriptors[route.key].options;
|
|
64
65
|
|
|
@@ -84,6 +85,7 @@ export function DrawerItemList({ state, navigation, descriptors }: Props) {
|
|
|
84
85
|
labelStyle={drawerLabelStyle}
|
|
85
86
|
style={drawerItemStyle}
|
|
86
87
|
onPress={onPress}
|
|
88
|
+
testID={drawerItemTestID}
|
|
87
89
|
/>
|
|
88
90
|
);
|
|
89
91
|
}) as React.ReactNode as React.ReactElement;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HeaderButton, type
|
|
1
|
+
import { HeaderButton, type Icon } from '@react-navigation/elements';
|
|
2
2
|
import {
|
|
3
3
|
DrawerActions,
|
|
4
4
|
MaterialSymbol,
|
|
@@ -12,13 +12,14 @@ import toggleDrawerIcon from './assets/toggle-drawer-icon.png';
|
|
|
12
12
|
|
|
13
13
|
type Props = {
|
|
14
14
|
icon?:
|
|
15
|
-
|
|
|
15
|
+
| Icon
|
|
16
16
|
| ((props: { tintColor: ColorValue | undefined }) => React.ReactNode)
|
|
17
17
|
| undefined;
|
|
18
18
|
accessibilityLabel?: string | undefined;
|
|
19
19
|
pressColor?: ColorValue | undefined;
|
|
20
20
|
pressOpacity?: number | undefined;
|
|
21
21
|
tintColor?: ColorValue | undefined;
|
|
22
|
+
testID?: string | undefined;
|
|
22
23
|
};
|
|
23
24
|
|
|
24
25
|
export function DrawerToggleButton({
|
|
@@ -31,7 +32,7 @@ export function DrawerToggleButton({
|
|
|
31
32
|
|
|
32
33
|
const drawerIcon =
|
|
33
34
|
icon ??
|
|
34
|
-
Platform.select<
|
|
35
|
+
Platform.select<Icon>({
|
|
35
36
|
ios: {
|
|
36
37
|
type: 'sfSymbol',
|
|
37
38
|
name: 'line.3.horizontal',
|