react-native-tab-view 4.0.0-alpha.6 → 4.0.0-alpha.8
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/commonjs/PlatformPressable.js +22 -1
- package/lib/commonjs/PlatformPressable.js.map +1 -1
- package/lib/commonjs/TabBar.js +107 -91
- package/lib/commonjs/TabBar.js.map +1 -1
- package/lib/commonjs/TabBarIndicator.js +4 -11
- package/lib/commonjs/TabBarIndicator.js.map +1 -1
- package/lib/commonjs/TabBarItem.js +53 -72
- package/lib/commonjs/TabBarItem.js.map +1 -1
- package/lib/module/PlatformPressable.js +22 -1
- package/lib/module/PlatformPressable.js.map +1 -1
- package/lib/module/TabBar.js +107 -91
- package/lib/module/TabBar.js.map +1 -1
- package/lib/module/TabBarIndicator.js +5 -12
- package/lib/module/TabBarIndicator.js.map +1 -1
- package/lib/module/TabBarItem.js +53 -72
- package/lib/module/TabBarItem.js.map +1 -1
- package/lib/typescript/src/PlatformPressable.d.ts +3 -2
- package/lib/typescript/src/PlatformPressable.d.ts.map +1 -1
- package/lib/typescript/src/TabBar.d.ts +4 -15
- package/lib/typescript/src/TabBar.d.ts.map +1 -1
- package/lib/typescript/src/TabBarIndicator.d.ts.map +1 -1
- package/lib/typescript/src/TabBarItem.d.ts +2 -17
- package/lib/typescript/src/TabBarItem.d.ts.map +1 -1
- package/lib/typescript/src/TabView.d.ts +3 -3
- package/lib/typescript/src/TabView.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +26 -1
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/PlatformPressable.tsx +31 -2
- package/src/TabBar.tsx +158 -160
- package/src/TabBarIndicator.tsx +3 -10
- package/src/TabBarItem.tsx +82 -106
- package/src/TabView.tsx +1 -1
- package/src/index.tsx +6 -1
- package/src/types.tsx +26 -1
|
@@ -15,6 +15,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
15
15
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
16
|
const DEFAULT_ACTIVE_COLOR = 'rgba(255, 255, 255, 1)';
|
|
17
17
|
const DEFAULT_INACTIVE_COLOR = 'rgba(255, 255, 255, 0.7)';
|
|
18
|
+
const ICON_SIZE = 24;
|
|
18
19
|
const getActiveOpacity = (position, routesLength, tabIndex) => {
|
|
19
20
|
if (routesLength > 1) {
|
|
20
21
|
const inputRange = Array.from({
|
|
@@ -45,13 +46,12 @@ const TabBarItemInternal = _ref => {
|
|
|
45
46
|
let {
|
|
46
47
|
accessibilityLabel,
|
|
47
48
|
accessible,
|
|
48
|
-
label:
|
|
49
|
+
label: customlabel,
|
|
49
50
|
testID,
|
|
50
51
|
onLongPress,
|
|
51
52
|
onPress,
|
|
52
53
|
isFocused,
|
|
53
54
|
position,
|
|
54
|
-
route,
|
|
55
55
|
style,
|
|
56
56
|
inactiveColor: inactiveColorCustom,
|
|
57
57
|
activeColor: activeColorCustom,
|
|
@@ -60,83 +60,70 @@ const TabBarItemInternal = _ref => {
|
|
|
60
60
|
index: tabIndex,
|
|
61
61
|
pressColor,
|
|
62
62
|
pressOpacity,
|
|
63
|
-
renderBadge,
|
|
64
|
-
renderIcon,
|
|
65
63
|
defaultTabWidth,
|
|
64
|
+
icon: customIcon,
|
|
65
|
+
badge: customBadge,
|
|
66
|
+
href,
|
|
67
|
+
labelText,
|
|
66
68
|
routesLength,
|
|
67
|
-
renderLabel: renderLabelCustom,
|
|
68
69
|
android_ripple = {
|
|
69
70
|
borderless: true
|
|
70
|
-
}
|
|
71
|
+
},
|
|
72
|
+
labelAllowFontScaling,
|
|
73
|
+
route
|
|
71
74
|
} = _ref;
|
|
72
75
|
const labelColorFromStyle = _reactNative.StyleSheet.flatten(labelStyle || {}).color;
|
|
73
76
|
const activeColor = activeColorCustom !== undefined ? activeColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_ACTIVE_COLOR;
|
|
74
77
|
const inactiveColor = inactiveColorCustom !== undefined ? inactiveColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_INACTIVE_COLOR;
|
|
75
78
|
const activeOpacity = getActiveOpacity(position, routesLength, tabIndex);
|
|
76
79
|
const inactiveOpacity = getInactiveOpacity(position, routesLength, tabIndex);
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
focused: true,
|
|
83
|
-
color: activeColor
|
|
84
|
-
});
|
|
85
|
-
const inactiveIcon = renderIcon({
|
|
86
|
-
route,
|
|
80
|
+
const icon = React.useMemo(() => {
|
|
81
|
+
if (!customIcon) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
const inactiveIcon = customIcon({
|
|
87
85
|
focused: false,
|
|
88
|
-
color: inactiveColor
|
|
86
|
+
color: inactiveColor,
|
|
87
|
+
size: ICON_SIZE,
|
|
88
|
+
route
|
|
89
89
|
});
|
|
90
|
-
|
|
91
|
-
icon = /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
92
|
-
style: styles.icon
|
|
93
|
-
}, /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
94
|
-
style: {
|
|
95
|
-
opacity: inactiveOpacity
|
|
96
|
-
}
|
|
97
|
-
}, inactiveIcon), /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
98
|
-
style: [_reactNative.StyleSheet.absoluteFill, {
|
|
99
|
-
opacity: activeOpacity
|
|
100
|
-
}]
|
|
101
|
-
}, activeIcon));
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
const renderLabel = renderLabelCustom ? renderLabelCustom : labelProps => /*#__PURE__*/React.createElement(_TabBarItemLabel.TabBarItemLabel, _extends({}, labelProps, {
|
|
105
|
-
icon: icon,
|
|
106
|
-
label: labelText,
|
|
107
|
-
labelStyle: labelStyle
|
|
108
|
-
}));
|
|
109
|
-
if (renderLabel) {
|
|
110
|
-
const activeLabel = renderLabel({
|
|
111
|
-
route,
|
|
90
|
+
const activeIcon = customIcon({
|
|
112
91
|
focused: true,
|
|
113
|
-
color: activeColor
|
|
92
|
+
color: activeColor,
|
|
93
|
+
size: ICON_SIZE,
|
|
94
|
+
route
|
|
114
95
|
});
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
color: inactiveColor
|
|
119
|
-
});
|
|
120
|
-
label = /*#__PURE__*/React.createElement(_reactNative.View, null, /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
96
|
+
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
97
|
+
style: styles.icon
|
|
98
|
+
}, /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
121
99
|
style: {
|
|
122
100
|
opacity: inactiveOpacity
|
|
123
101
|
}
|
|
124
|
-
},
|
|
102
|
+
}, inactiveIcon), /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
125
103
|
style: [_reactNative.StyleSheet.absoluteFill, {
|
|
126
104
|
opacity: activeOpacity
|
|
127
105
|
}]
|
|
128
|
-
},
|
|
129
|
-
}
|
|
106
|
+
}, activeIcon));
|
|
107
|
+
}, [activeColor, activeOpacity, customIcon, inactiveColor, inactiveOpacity, route]);
|
|
108
|
+
const renderLabel = React.useCallback(focused => customlabel ? customlabel({
|
|
109
|
+
focused,
|
|
110
|
+
color: focused ? activeColor : inactiveColor,
|
|
111
|
+
style: labelStyle,
|
|
112
|
+
label: labelText,
|
|
113
|
+
allowFontScaling: labelAllowFontScaling,
|
|
114
|
+
route
|
|
115
|
+
}) : /*#__PURE__*/React.createElement(_TabBarItemLabel.TabBarItemLabel, {
|
|
116
|
+
color: focused ? activeColor : inactiveColor,
|
|
117
|
+
icon: icon,
|
|
118
|
+
label: labelText,
|
|
119
|
+
labelStyle: labelStyle
|
|
120
|
+
}), [customlabel, activeColor, labelStyle, labelText, labelAllowFontScaling, route, inactiveColor, icon]);
|
|
130
121
|
const tabStyle = _reactNative.StyleSheet.flatten(style);
|
|
131
122
|
const isWidthSet = tabStyle?.width !== undefined;
|
|
132
123
|
const tabContainerStyle = isWidthSet ? null : {
|
|
133
124
|
width: defaultTabWidth
|
|
134
125
|
};
|
|
135
|
-
const scene = {
|
|
136
|
-
route
|
|
137
|
-
};
|
|
138
126
|
accessibilityLabel = typeof accessibilityLabel !== 'undefined' ? accessibilityLabel : labelText;
|
|
139
|
-
const badge = renderBadge ? renderBadge(scene) : null;
|
|
140
127
|
return /*#__PURE__*/React.createElement(_PlatformPressable.PlatformPressable, {
|
|
141
128
|
android_ripple: android_ripple,
|
|
142
129
|
testID: testID,
|
|
@@ -152,13 +139,22 @@ const TabBarItemInternal = _ref => {
|
|
|
152
139
|
onLayout: onLayout,
|
|
153
140
|
onPress: onPress,
|
|
154
141
|
onLongPress: onLongPress,
|
|
142
|
+
href: href,
|
|
155
143
|
style: [styles.pressable, tabContainerStyle]
|
|
156
144
|
}, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
157
145
|
pointerEvents: "none",
|
|
158
146
|
style: [styles.item, tabStyle]
|
|
159
|
-
}, icon,
|
|
147
|
+
}, icon, /*#__PURE__*/React.createElement(_reactNative.View, null, /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
148
|
+
style: {
|
|
149
|
+
opacity: inactiveOpacity
|
|
150
|
+
}
|
|
151
|
+
}, renderLabel(false)), /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
152
|
+
style: [_reactNative.StyleSheet.absoluteFill, {
|
|
153
|
+
opacity: activeOpacity
|
|
154
|
+
}]
|
|
155
|
+
}, renderLabel(true))), customBadge != null ? /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
160
156
|
style: styles.badge
|
|
161
|
-
},
|
|
157
|
+
}, customBadge()) : null));
|
|
162
158
|
};
|
|
163
159
|
const MemoizedTabBarItemInternal = /*#__PURE__*/React.memo(TabBarItemInternal);
|
|
164
160
|
function TabBarItem(props) {
|
|
@@ -168,23 +164,12 @@ function TabBarItem(props) {
|
|
|
168
164
|
onLayout,
|
|
169
165
|
navigationState,
|
|
170
166
|
route,
|
|
171
|
-
getAccessibilityLabel,
|
|
172
|
-
getLabelText,
|
|
173
|
-
getTestID,
|
|
174
|
-
getAccessible,
|
|
175
167
|
...rest
|
|
176
168
|
} = props;
|
|
177
169
|
const onPressLatest = (0, _useLatestCallback.default)(onPress);
|
|
178
170
|
const onLongPressLatest = (0, _useLatestCallback.default)(onLongPress);
|
|
179
171
|
const onLayoutLatest = (0, _useLatestCallback.default)(onLayout ? onLayout : () => {});
|
|
180
172
|
const tabIndex = navigationState.routes.indexOf(route);
|
|
181
|
-
const scene = {
|
|
182
|
-
route
|
|
183
|
-
};
|
|
184
|
-
const accessibilityLabel = getAccessibilityLabel(scene);
|
|
185
|
-
const label = getLabelText(scene);
|
|
186
|
-
const testID = getTestID(scene);
|
|
187
|
-
const accessible = getAccessible(scene);
|
|
188
173
|
return /*#__PURE__*/React.createElement(MemoizedTabBarItemInternal, _extends({}, rest, {
|
|
189
174
|
onPress: onPressLatest,
|
|
190
175
|
onLayout: onLayoutLatest,
|
|
@@ -192,11 +177,7 @@ function TabBarItem(props) {
|
|
|
192
177
|
isFocused: navigationState.index === tabIndex,
|
|
193
178
|
route: route,
|
|
194
179
|
index: tabIndex,
|
|
195
|
-
routesLength: navigationState.routes.length
|
|
196
|
-
accessibilityLabel: accessibilityLabel,
|
|
197
|
-
label: label,
|
|
198
|
-
testID: testID,
|
|
199
|
-
accessible: accessible
|
|
180
|
+
routesLength: navigationState.routes.length
|
|
200
181
|
}));
|
|
201
182
|
}
|
|
202
183
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -213,7 +194,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
213
194
|
badge: {
|
|
214
195
|
position: 'absolute',
|
|
215
196
|
top: 0,
|
|
216
|
-
|
|
197
|
+
end: 0
|
|
217
198
|
},
|
|
218
199
|
pressable: {
|
|
219
200
|
// The label is not pressable on Windows
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_useLatestCallback","_interopRequireDefault","_PlatformPressable","_TabBarItemLabel","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","DEFAULT_ACTIVE_COLOR","DEFAULT_INACTIVE_COLOR","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","_","interpolate","outputRange","map","getInactiveOpacity","TabBarItemInternal","_ref","accessibilityLabel","accessible","label","
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_useLatestCallback","_interopRequireDefault","_PlatformPressable","_TabBarItemLabel","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","DEFAULT_ACTIVE_COLOR","DEFAULT_INACTIVE_COLOR","ICON_SIZE","getActiveOpacity","position","routesLength","tabIndex","inputRange","Array","from","_","interpolate","outputRange","map","getInactiveOpacity","TabBarItemInternal","_ref","accessibilityLabel","accessible","label","customlabel","testID","onLongPress","onPress","isFocused","style","inactiveColor","inactiveColorCustom","activeColor","activeColorCustom","labelStyle","onLayout","index","pressColor","pressOpacity","defaultTabWidth","icon","customIcon","badge","customBadge","href","labelText","android_ripple","borderless","labelAllowFontScaling","route","labelColorFromStyle","StyleSheet","flatten","color","undefined","activeOpacity","inactiveOpacity","useMemo","inactiveIcon","focused","size","activeIcon","createElement","View","styles","Animated","opacity","absoluteFill","renderLabel","useCallback","allowFontScaling","TabBarItemLabel","tabStyle","isWidthSet","width","tabContainerStyle","PlatformPressable","accessibilityRole","accessibilityState","selected","unstable_pressDelay","pressable","pointerEvents","item","MemoizedTabBarItemInternal","memo","TabBarItem","props","navigationState","rest","onPressLatest","useLatestCallback","onLongPressLatest","onLayoutLatest","routes","indexOf","create","margin","flex","alignItems","justifyContent","padding","minHeight","top","end","backgroundColor"],"sourceRoot":"../../src","sources":["TabBarItem.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAAoD,SAAAG,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAoBpD,MAAMK,oBAAoB,GAAG,wBAAwB;AACrD,MAAMC,sBAAsB,GAAG,0BAA0B;AACzD,MAAMC,SAAS,GAAG,EAAE;AAEpB,MAAMC,gBAAgB,GAAGA,CACvBC,QAAgD,EAChDC,YAAoB,EACpBC,QAAgB,KACb;EACH,IAAID,YAAY,GAAG,CAAC,EAAE;IACpB,MAAME,UAAU,GAAGC,KAAK,CAACC,IAAI,CAAC;MAAEb,MAAM,EAAES;IAAa,CAAC,EAAE,CAACK,CAAC,EAAErB,CAAC,KAAKA,CAAC,CAAC;IAEpE,OAAOe,QAAQ,CAACO,WAAW,CAAC;MAC1BJ,UAAU;MACVK,WAAW,EAAEL,UAAU,CAACM,GAAG,CAAExB,CAAC,IAAMA,CAAC,KAAKiB,QAAQ,GAAG,CAAC,GAAG,CAAE;IAC7D,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,OAAO,CAAC;EACV;AACF,CAAC;AAED,MAAMQ,kBAAkB,GAAGA,CACzBV,QAAgD,EAChDC,YAAoB,EACpBC,QAAgB,KACb;EACH,IAAID,YAAY,GAAG,CAAC,EAAE;IACpB,MAAME,UAAU,GAAGC,KAAK,CAACC,IAAI,CAAC;MAAEb,MAAM,EAAES;IAAa,CAAC,EAAE,CAACK,CAAC,EAAErB,CAAC,KAAKA,CAAC,CAAC;IAEpE,OAAOe,QAAQ,CAACO,WAAW,CAAC;MAC1BJ,UAAU;MACVK,WAAW,EAAEL,UAAU,CAACM,GAAG,CAAExB,CAAS,IAAMA,CAAC,KAAKiB,QAAQ,GAAG,CAAC,GAAG,CAAE;IACrE,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,OAAO,CAAC;EACV;AACF,CAAC;AAgBD,MAAMS,kBAAkB,GAAGC,IAAA,IA0BO;EAAA,IA1BW;IAC3CC,kBAAkB;IAClBC,UAAU;IACVC,KAAK,EAAEC,WAAW;IAClBC,MAAM;IACNC,WAAW;IACXC,OAAO;IACPC,SAAS;IACTpB,QAAQ;IACRqB,KAAK;IACLC,aAAa,EAAEC,mBAAmB;IAClCC,WAAW,EAAEC,iBAAiB;IAC9BC,UAAU;IACVC,QAAQ;IACRC,KAAK,EAAE1B,QAAQ;IACf2B,UAAU;IACVC,YAAY;IACZC,eAAe;IACfC,IAAI,EAAEC,UAAU;IAChBC,KAAK,EAAEC,WAAW;IAClBC,IAAI;IACJC,SAAS;IACTpC,YAAY;IACZqC,cAAc,GAAG;MAAEC,UAAU,EAAE;IAAK,CAAC;IACrCC,qBAAqB;IACrBC;EAC0B,CAAC,GAAA7B,IAAA;EAC3B,MAAM8B,mBAAmB,GAAGC,uBAAU,CAACC,OAAO,CAAClB,UAAU,IAAI,CAAC,CAAC,CAAC,CAACmB,KAAK;EAEtE,MAAMrB,WAAW,GACfC,iBAAiB,KAAKqB,SAAS,GAC3BrB,iBAAiB,GACjB,OAAOiB,mBAAmB,KAAK,QAAQ,GACrCA,mBAAmB,GACnB9C,oBAAoB;EAC5B,MAAM0B,aAAa,GACjBC,mBAAmB,KAAKuB,SAAS,GAC7BvB,mBAAmB,GACnB,OAAOmB,mBAAmB,KAAK,QAAQ,GACrCA,mBAAmB,GACnB7C,sBAAsB;EAE9B,MAAMkD,aAAa,GAAGhD,gBAAgB,CAACC,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,CAAC;EACxE,MAAM8C,eAAe,GAAGtC,kBAAkB,CAACV,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,CAAC;EAE5E,MAAM8B,IAAI,GAAG3E,KAAK,CAAC4F,OAAO,CAAC,MAAM;IAC/B,IAAI,CAAChB,UAAU,EAAE;MACf,OAAO,IAAI;IACb;IAEA,MAAMiB,YAAY,GAAGjB,UAAU,CAAC;MAC9BkB,OAAO,EAAE,KAAK;MACdN,KAAK,EAAEvB,aAAa;MACpB8B,IAAI,EAAEtD,SAAS;MACf2C;IACF,CAAC,CAAC;IAEF,MAAMY,UAAU,GAAGpB,UAAU,CAAC;MAC5BkB,OAAO,EAAE,IAAI;MACbN,KAAK,EAAErB,WAAW;MAClB4B,IAAI,EAAEtD,SAAS;MACf2C;IACF,CAAC,CAAC;IAEF,oBACEpF,KAAA,CAAAiG,aAAA,CAAC9F,YAAA,CAAA+F,IAAI;MAAClC,KAAK,EAAEmC,MAAM,CAACxB;IAAK,gBACvB3E,KAAA,CAAAiG,aAAA,CAAC9F,YAAA,CAAAiG,QAAQ,CAACF,IAAI;MAAClC,KAAK,EAAE;QAAEqC,OAAO,EAAEV;MAAgB;IAAE,GAChDE,YACY,CAAC,eAChB7F,KAAA,CAAAiG,aAAA,CAAC9F,YAAA,CAAAiG,QAAQ,CAACF,IAAI;MACZlC,KAAK,EAAE,CAACsB,uBAAU,CAACgB,YAAY,EAAE;QAAED,OAAO,EAAEX;MAAc,CAAC;IAAE,GAE5DM,UACY,CACX,CAAC;EAEX,CAAC,EAAE,CACD7B,WAAW,EACXuB,aAAa,EACbd,UAAU,EACVX,aAAa,EACb0B,eAAe,EACfP,KAAK,CACN,CAAC;EAEF,MAAMmB,WAAW,GAAGvG,KAAK,CAACwG,WAAW,CAClCV,OAAgB,IACfnC,WAAW,GACTA,WAAW,CAAC;IACVmC,OAAO;IACPN,KAAK,EAAEM,OAAO,GAAG3B,WAAW,GAAGF,aAAa;IAC5CD,KAAK,EAAEK,UAAU;IACjBX,KAAK,EAAEsB,SAAS;IAChByB,gBAAgB,EAAEtB,qBAAqB;IACvCC;EACF,CAAC,CAAC,gBAEFpF,KAAA,CAAAiG,aAAA,CAAC1F,gBAAA,CAAAmG,eAAe;IACdlB,KAAK,EAAEM,OAAO,GAAG3B,WAAW,GAAGF,aAAc;IAC7CU,IAAI,EAAEA,IAAK;IACXjB,KAAK,EAAEsB,SAAU;IACjBX,UAAU,EAAEA;EAAW,CACxB,CACF,EACH,CACEV,WAAW,EACXQ,WAAW,EACXE,UAAU,EACVW,SAAS,EACTG,qBAAqB,EACrBC,KAAK,EACLnB,aAAa,EACbU,IAAI,CAER,CAAC;EAED,MAAMgC,QAAQ,GAAGrB,uBAAU,CAACC,OAAO,CAACvB,KAAK,CAAC;EAC1C,MAAM4C,UAAU,GAAGD,QAAQ,EAAEE,KAAK,KAAKpB,SAAS;EAEhD,MAAMqB,iBAAmC,GAAGF,UAAU,GAClD,IAAI,GACJ;IAAEC,KAAK,EAAEnC;EAAgB,CAAC;EAE9BlB,kBAAkB,GAChB,OAAOA,kBAAkB,KAAK,WAAW,GAAGA,kBAAkB,GAAGwB,SAAS;EAE5E,oBACEhF,KAAA,CAAAiG,aAAA,CAAC3F,kBAAA,CAAAyG,iBAAiB;IAChB9B,cAAc,EAAEA,cAAe;IAC/BrB,MAAM,EAAEA,MAAO;IACfH,UAAU,EAAEA,UAAW;IACvBD,kBAAkB,EAAEA,kBAAmB;IACvCwD,iBAAiB,EAAC,KAAK;IACvBC,kBAAkB,EAAE;MAAEC,QAAQ,EAAEnD;IAAU,CAAE;IAC5CS,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3B0C,mBAAmB,EAAE,CAAE;IACvB7C,QAAQ,EAAEA,QAAS;IACnBR,OAAO,EAAEA,OAAQ;IACjBD,WAAW,EAAEA,WAAY;IACzBkB,IAAI,EAAEA,IAAK;IACXf,KAAK,EAAE,CAACmC,MAAM,CAACiB,SAAS,EAAEN,iBAAiB;EAAE,gBAE7C9G,KAAA,CAAAiG,aAAA,CAAC9F,YAAA,CAAA+F,IAAI;IAACmB,aAAa,EAAC,MAAM;IAACrD,KAAK,EAAE,CAACmC,MAAM,CAACmB,IAAI,EAAEX,QAAQ;EAAE,GACvDhC,IAAI,eACL3E,KAAA,CAAAiG,aAAA,CAAC9F,YAAA,CAAA+F,IAAI,qBACHlG,KAAA,CAAAiG,aAAA,CAAC9F,YAAA,CAAAiG,QAAQ,CAACF,IAAI;IAAClC,KAAK,EAAE;MAAEqC,OAAO,EAAEV;IAAgB;EAAE,GAChDY,WAAW,CAAC,KAAK,CACL,CAAC,eAChBvG,KAAA,CAAAiG,aAAA,CAAC9F,YAAA,CAAAiG,QAAQ,CAACF,IAAI;IACZlC,KAAK,EAAE,CAACsB,uBAAU,CAACgB,YAAY,EAAE;MAAED,OAAO,EAAEX;IAAc,CAAC;EAAE,GAE5Da,WAAW,CAAC,IAAI,CACJ,CACX,CAAC,EACNzB,WAAW,IAAI,IAAI,gBAClB9E,KAAA,CAAAiG,aAAA,CAAC9F,YAAA,CAAA+F,IAAI;IAAClC,KAAK,EAAEmC,MAAM,CAACtB;EAAM,GAAEC,WAAW,CAAC,CAAQ,CAAC,GAC/C,IACA,CACW,CAAC;AAExB,CAAC;AAED,MAAMyC,0BAA0B,gBAAGvH,KAAK,CAACwH,IAAI,CAC3ClE,kBACF,CAA8B;AAEvB,SAASmE,UAAUA,CAAkBC,KAAe,EAAE;EAC3D,MAAM;IAAE5D,OAAO;IAAED,WAAW;IAAES,QAAQ;IAAEqD,eAAe;IAAEvC,KAAK;IAAE,GAAGwC;EAAK,CAAC,GACvEF,KAAK;EAEP,MAAMG,aAAa,GAAG,IAAAC,0BAAiB,EAAChE,OAAO,CAAC;EAChD,MAAMiE,iBAAiB,GAAG,IAAAD,0BAAiB,EAACjE,WAAW,CAAC;EACxD,MAAMmE,cAAc,GAAG,IAAAF,0BAAiB,EAACxD,QAAQ,GAAGA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC;EAExE,MAAMzB,QAAQ,GAAG8E,eAAe,CAACM,MAAM,CAACC,OAAO,CAAC9C,KAAK,CAAC;EAEtD,oBACEpF,KAAA,CAAAiG,aAAA,CAACsB,0BAA0B,EAAAzF,QAAA,KACrB8F,IAAI;IACR9D,OAAO,EAAE+D,aAAc;IACvBvD,QAAQ,EAAE0D,cAAe;IACzBnE,WAAW,EAAEkE,iBAAkB;IAC/BhE,SAAS,EAAE4D,eAAe,CAACpD,KAAK,KAAK1B,QAAS;IAC9CuC,KAAK,EAAEA,KAAM;IACbb,KAAK,EAAE1B,QAAS;IAChBD,YAAY,EAAE+E,eAAe,CAACM,MAAM,CAAC9F;EAAO,EAC7C,CAAC;AAEN;AAEA,MAAMgE,MAAM,GAAGb,uBAAU,CAAC6C,MAAM,CAAC;EAC/BxD,IAAI,EAAE;IACJyD,MAAM,EAAE;EACV,CAAC;EACDd,IAAI,EAAE;IACJe,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,OAAO,EAAE,EAAE;IACXC,SAAS,EAAE;EACb,CAAC;EACD5D,KAAK,EAAE;IACLlC,QAAQ,EAAE,UAAU;IACpB+F,GAAG,EAAE,CAAC;IACNC,GAAG,EAAE;EACP,CAAC;EACDvB,SAAS,EAAE;IACT;IACA;IACAwB,eAAe,EAAE;EACnB;AACF,CAAC,CAAC"}
|
|
@@ -13,12 +13,32 @@ const ANDROID_SUPPORTS_RIPPLE = Platform.OS === 'android' && Platform.Version >=
|
|
|
13
13
|
*/
|
|
14
14
|
export function PlatformPressable(_ref) {
|
|
15
15
|
let {
|
|
16
|
+
disabled,
|
|
16
17
|
android_ripple,
|
|
17
18
|
pressColor = 'rgba(0, 0, 0, .32)',
|
|
18
19
|
pressOpacity,
|
|
19
20
|
style,
|
|
21
|
+
onPress,
|
|
20
22
|
...rest
|
|
21
23
|
} = _ref;
|
|
24
|
+
const handlePress = e => {
|
|
25
|
+
// @ts-expect-error: these properties exist on web, but not in React Native
|
|
26
|
+
const hasModifierKey = e.metaKey || e.altKey || e.ctrlKey || e.shiftKey; // ignore clicks with modifier keys
|
|
27
|
+
// @ts-expect-error: these properties exist on web, but not in React Native
|
|
28
|
+
const isLeftClick = e.button == null || e.button === 0; // only handle left clicks
|
|
29
|
+
const isSelfTarget = [undefined, null, '', 'self'].includes(
|
|
30
|
+
// @ts-expect-error: these properties exist on web, but not in React Native
|
|
31
|
+
e.currentTarget?.target); // let browser handle "target=_blank" etc.
|
|
32
|
+
|
|
33
|
+
if (Platform.OS === 'web' && rest.href != null) {
|
|
34
|
+
if (!hasModifierKey && isLeftClick && isSelfTarget) {
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
onPress?.(e);
|
|
37
|
+
}
|
|
38
|
+
} else {
|
|
39
|
+
onPress?.(e);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
22
42
|
return /*#__PURE__*/React.createElement(Pressable, _extends({
|
|
23
43
|
android_ripple: ANDROID_SUPPORTS_RIPPLE ? {
|
|
24
44
|
color: pressColor,
|
|
@@ -33,7 +53,8 @@ export function PlatformPressable(_ref) {
|
|
|
33
53
|
}, typeof style === 'function' ? style({
|
|
34
54
|
pressed
|
|
35
55
|
}) : style];
|
|
36
|
-
}
|
|
56
|
+
},
|
|
57
|
+
onPress: disabled ? undefined : handlePress
|
|
37
58
|
}, rest));
|
|
38
59
|
}
|
|
39
60
|
//# sourceMappingURL=PlatformPressable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","Pressable","ANDROID_VERSION_LOLLIPOP","ANDROID_SUPPORTS_RIPPLE","OS","Version","PlatformPressable","_ref","android_ripple","pressColor","pressOpacity","style","rest","
|
|
1
|
+
{"version":3,"names":["React","Platform","Pressable","ANDROID_VERSION_LOLLIPOP","ANDROID_SUPPORTS_RIPPLE","OS","Version","PlatformPressable","_ref","disabled","android_ripple","pressColor","pressOpacity","style","onPress","rest","handlePress","e","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","isLeftClick","button","isSelfTarget","undefined","includes","currentTarget","target","href","preventDefault","createElement","_extends","color","_ref2","pressed","opacity"],"sourceRoot":"../../src","sources":["PlatformPressable.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAEEC,QAAQ,EACRC,SAAS,QAEJ,cAAc;AASrB,MAAMC,wBAAwB,GAAG,EAAE;AACnC,MAAMC,uBAAuB,GAC3BH,QAAQ,CAACI,EAAE,KAAK,SAAS,IAAIJ,QAAQ,CAACK,OAAO,IAAIH,wBAAwB;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,iBAAiBA,CAAAC,IAAA,EAQvB;EAAA,IARwB;IAChCC,QAAQ;IACRC,cAAc;IACdC,UAAU,GAAG,oBAAoB;IACjCC,YAAY;IACZC,KAAK;IACLC,OAAO;IACP,GAAGC;EACE,CAAC,GAAAP,IAAA;EACN,MAAMQ,WAAW,GAAIC,CAAwB,IAAK;IAChD;IACA,MAAMC,cAAc,GAAGD,CAAC,CAACE,OAAO,IAAIF,CAAC,CAACG,MAAM,IAAIH,CAAC,CAACI,OAAO,IAAIJ,CAAC,CAACK,QAAQ,CAAC,CAAC;IACzE;IACA,MAAMC,WAAW,GAAGN,CAAC,CAACO,MAAM,IAAI,IAAI,IAAIP,CAAC,CAACO,MAAM,KAAK,CAAC,CAAC,CAAC;IACxD,MAAMC,YAAY,GAAG,CAACC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAACC,QAAQ;IACzD;IACAV,CAAC,CAACW,aAAa,EAAEC,MACnB,CAAC,CAAC,CAAC;;IAEH,IAAI5B,QAAQ,CAACI,EAAE,KAAK,KAAK,IAAIU,IAAI,CAACe,IAAI,IAAI,IAAI,EAAE;MAC9C,IAAI,CAACZ,cAAc,IAAIK,WAAW,IAAIE,YAAY,EAAE;QAClDR,CAAC,CAACc,cAAc,CAAC,CAAC;QAClBjB,OAAO,GAAGG,CAAC,CAAC;MACd;IACF,CAAC,MAAM;MACLH,OAAO,GAAGG,CAAC,CAAC;IACd;EACF,CAAC;EAED,oBACEjB,KAAA,CAAAgC,aAAA,CAAC9B,SAAS,EAAA+B,QAAA;IACRvB,cAAc,EACZN,uBAAuB,GACnB;MAAE8B,KAAK,EAAEvB,UAAU;MAAE,GAAGD;IAAe,CAAC,GACxCgB,SACL;IACDb,KAAK,EAAEsB,KAAA;MAAA,IAAC;QAAEC;MAAQ,CAAC,GAAAD,KAAA;MAAA,OAAK,CACtB;QAAEE,OAAO,EAAED,OAAO,IAAI,CAAChC,uBAAuB,GAAGQ,YAAY,GAAG;MAAE,CAAC,EACnE,OAAOC,KAAK,KAAK,UAAU,GAAGA,KAAK,CAAC;QAAEuB;MAAQ,CAAC,CAAC,GAAGvB,KAAK,CACzD;IAAA,CAAC;IACFC,OAAO,EAAEL,QAAQ,GAAGiB,SAAS,GAAGV;EAAY,GACxCD,IAAI,CACT,CAAC;AAEN"}
|