@react-navigation/elements 3.0.0-alpha.8 → 3.0.0-alpha.9
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/Badge.js +1 -1
- package/lib/module/Badge.js.map +1 -1
- package/lib/module/Button.js +1 -1
- package/lib/module/Button.js.map +1 -1
- package/lib/module/Color.js +95 -0
- package/lib/module/Color.js.map +1 -1
- package/lib/module/Header/HeaderBackButton.js +35 -9
- package/lib/module/Header/HeaderBackButton.js.map +1 -1
- package/lib/module/PlatformColor.js +1 -0
- package/lib/module/PlatformColor.js.map +1 -1
- package/lib/module/PlatformColor.native.js +1 -1
- package/lib/module/PlatformColor.native.js.map +1 -1
- package/lib/typescript/src/Color.d.ts +4 -3
- package/lib/typescript/src/Color.d.ts.map +1 -1
- package/lib/typescript/src/Header/HeaderBackButton.d.ts +1 -1
- package/lib/typescript/src/Header/HeaderBackButton.d.ts.map +1 -1
- package/lib/typescript/src/PlatformColor.d.ts +1 -0
- package/lib/typescript/src/PlatformColor.d.ts.map +1 -1
- package/lib/typescript/src/PlatformColor.native.d.ts +1 -1
- package/lib/typescript/src/PlatformColor.native.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +25 -4
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/Badge.tsx +1 -1
- package/src/Button.tsx +1 -3
- package/src/Color.tsx +133 -3
- package/src/Header/HeaderBackButton.tsx +37 -7
- package/src/PlatformColor.native.tsx +1 -1
- package/src/PlatformColor.tsx +4 -0
- package/src/types.tsx +33 -2
package/lib/module/Badge.js
CHANGED
|
@@ -49,7 +49,7 @@ export function Badge({
|
|
|
49
49
|
backgroundColor = colors.notification,
|
|
50
50
|
...restStyle
|
|
51
51
|
} = StyleSheet.flatten(style) || {};
|
|
52
|
-
const textColor = Color(backgroundColor)
|
|
52
|
+
const textColor = Color.foreground(backgroundColor);
|
|
53
53
|
const borderRadius = size / 2;
|
|
54
54
|
const fontSize = Math.floor(size * 3 / 4);
|
|
55
55
|
return /*#__PURE__*/_jsx(Animated.Text, {
|
package/lib/module/Badge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useTheme","React","Animated","Platform","StyleSheet","Color","jsx","_jsx","useNativeDriver","OS","Badge","children","style","visible","size","rest","opacity","useState","Value","rendered","setRendered","colors","fonts","useEffect","timing","toValue","duration","start","finished","stopAnimation","backgroundColor","notification","restStyle","flatten","textColor","
|
|
1
|
+
{"version":3,"names":["useTheme","React","Animated","Platform","StyleSheet","Color","jsx","_jsx","useNativeDriver","OS","Badge","children","style","visible","size","rest","opacity","useState","Value","rendered","setRendered","colors","fonts","useEffect","timing","toValue","duration","start","finished","stopAnimation","backgroundColor","notification","restStyle","flatten","textColor","foreground","borderRadius","fontSize","Math","floor","Text","numberOfLines","transform","scale","interpolate","inputRange","outputRange","color","lineHeight","height","minWidth","borderCurve","regular","styles","container","create","alignSelf","textAlign","paddingHorizontal","overflow"],"sourceRoot":"../../src","sources":["Badge.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/Button.js
CHANGED
|
@@ -66,7 +66,7 @@ function ButtonBase({
|
|
|
66
66
|
break;
|
|
67
67
|
case 'filled':
|
|
68
68
|
backgroundColor = color;
|
|
69
|
-
textColor = Color
|
|
69
|
+
textColor = Color.foreground(backgroundColor);
|
|
70
70
|
break;
|
|
71
71
|
}
|
|
72
72
|
return /*#__PURE__*/_jsx(PlatformPressable, {
|
package/lib/module/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useLinkProps","useTheme","React","Platform","StyleSheet","Color","PlatformPressable","Text","jsx","_jsx","BUTTON_RADIUS","Button","props","ButtonLink","ButtonBase","screen","params","action","href","rest","variant","color","customColor","android_ripple","style","children","dark","colors","fonts","primary","backgroundColor","textColor","fade","string","
|
|
1
|
+
{"version":3,"names":["useLinkProps","useTheme","React","Platform","StyleSheet","Color","PlatformPressable","Text","jsx","_jsx","BUTTON_RADIUS","Button","props","ButtonLink","ButtonBase","screen","params","action","href","rest","variant","color","customColor","android_ripple","style","children","dark","colors","fonts","primary","backgroundColor","textColor","fade","string","foreground","radius","pressOpacity","OS","undefined","hoverEffect","styles","button","regular","text","create","paddingHorizontal","paddingVertical","borderRadius","borderCurve","fontSize","lineHeight","letterSpacing","textAlign"],"sourceRoot":"../../src","sources":["Button.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/Color.js
CHANGED
|
@@ -2,10 +2,105 @@
|
|
|
2
2
|
|
|
3
3
|
// eslint-disable-next-line no-restricted-imports
|
|
4
4
|
import OriginalColor from 'color';
|
|
5
|
+
import { Platform } from 'react-native';
|
|
6
|
+
import { DynamicColorIOS, PlatformColor } from './PlatformColor';
|
|
5
7
|
export function Color(value) {
|
|
6
8
|
if (typeof value === 'string' && !value.startsWith('var(')) {
|
|
7
9
|
return OriginalColor(value);
|
|
8
10
|
}
|
|
9
11
|
return undefined;
|
|
10
12
|
}
|
|
13
|
+
Color.foreground = color => {
|
|
14
|
+
const value = color;
|
|
15
|
+
if (typeof value === 'object' && value != null) {
|
|
16
|
+
// Special case for Android platform colors
|
|
17
|
+
// Available colors: https://developer.android.com/reference/android/R.color
|
|
18
|
+
if (Platform.OS === 'android' && PlatformColor && 'resource_paths' in value && Array.isArray(value.resource_paths) && typeof value.resource_paths[0] === 'string') {
|
|
19
|
+
const name = value.resource_paths[0].replace('@android:color/', '');
|
|
20
|
+
if (name in ANDROID_COLOR_MAP) {
|
|
21
|
+
return PlatformColor(`@android:color/${ANDROID_COLOR_MAP[name]}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Special case for iOS platform colors
|
|
26
|
+
if (Platform.OS === 'ios' && PlatformColor && 'semantic' in value && Array.isArray(value.semantic) && typeof value.semantic[0] === 'string') {
|
|
27
|
+
const name = value.semantic[0];
|
|
28
|
+
if (name in IOS_COLOR_MAP) {
|
|
29
|
+
const foreground = IOS_COLOR_MAP[name];
|
|
30
|
+
return foreground === 'white' || foreground === 'black' ? foreground : PlatformColor(foreground);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Special case for iOS dynamic colors
|
|
35
|
+
if (Platform.OS === 'ios' && DynamicColorIOS && 'dynamic' in value && typeof value.dynamic === 'object' && value.dynamic != null && 'light' in value.dynamic && typeof value.dynamic.light === 'string' && 'dark' in value.dynamic && typeof value.dynamic.dark === 'string') {
|
|
36
|
+
const lightForeground = Color.foreground(value.dynamic.light);
|
|
37
|
+
const darkForeground = Color.foreground(value.dynamic.dark);
|
|
38
|
+
if (lightForeground && darkForeground) {
|
|
39
|
+
return DynamicColorIOS({
|
|
40
|
+
light: lightForeground,
|
|
41
|
+
dark: darkForeground
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
} else if (typeof color === 'string' && !color.startsWith('var(')) {
|
|
46
|
+
const processed = OriginalColor(color);
|
|
47
|
+
if (processed.isLight()) {
|
|
48
|
+
return processed.darken(0.71).string();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return '#fff';
|
|
52
|
+
};
|
|
53
|
+
const ANDROID_COLOR_MAP = {
|
|
54
|
+
system_background_dark: 'system_on_background_dark',
|
|
55
|
+
system_background_light: 'system_on_background_light',
|
|
56
|
+
system_error_container_dark: 'system_on_error_container_dark',
|
|
57
|
+
system_error_container_light: 'system_on_error_container_light',
|
|
58
|
+
system_error_dark: 'system_on_error_dark',
|
|
59
|
+
system_error_light: 'system_on_error_light',
|
|
60
|
+
system_primary_container_dark: 'system_on_primary_container_dark',
|
|
61
|
+
system_primary_container_light: 'system_on_primary_container_light',
|
|
62
|
+
system_primary_dark: 'system_on_primary_dark',
|
|
63
|
+
system_primary_fixed: 'system_on_primary_fixed',
|
|
64
|
+
system_primary_light: 'system_on_primary_light',
|
|
65
|
+
system_secondary_container_dark: 'system_on_secondary_container_dark',
|
|
66
|
+
system_secondary_container_light: 'system_on_secondary_container_light',
|
|
67
|
+
system_secondary_dark: 'system_on_secondary_dark',
|
|
68
|
+
system_secondary_fixed: 'system_on_secondary_fixed',
|
|
69
|
+
system_secondary_light: 'system_on_secondary_light',
|
|
70
|
+
system_surface_dark: 'system_on_surface_dark',
|
|
71
|
+
system_surface_disabled: 'system_on_surface_disabled',
|
|
72
|
+
system_surface_light: 'system_on_surface_light',
|
|
73
|
+
system_surface_variant_dark: 'system_on_surface_variant_dark',
|
|
74
|
+
system_surface_variant_light: 'system_on_surface_variant_light'
|
|
75
|
+
};
|
|
76
|
+
const IOS_COLOR_MAP = {
|
|
77
|
+
systemBackground: 'label',
|
|
78
|
+
secondarySystemBackground: 'label',
|
|
79
|
+
tertiarySystemBackground: 'label',
|
|
80
|
+
systemGroupedBackground: 'label',
|
|
81
|
+
secondarySystemGroupedBackground: 'label',
|
|
82
|
+
tertiarySystemGroupedBackground: 'label',
|
|
83
|
+
systemFill: 'label',
|
|
84
|
+
secondarySystemFill: 'label',
|
|
85
|
+
tertiarySystemFill: 'label',
|
|
86
|
+
quaternarySystemFill: 'label',
|
|
87
|
+
systemRed: 'white',
|
|
88
|
+
systemGreen: 'white',
|
|
89
|
+
systemBlue: 'white',
|
|
90
|
+
systemIndigo: 'white',
|
|
91
|
+
systemPurple: 'white',
|
|
92
|
+
systemBrown: 'white',
|
|
93
|
+
systemOrange: 'black',
|
|
94
|
+
systemYellow: 'black',
|
|
95
|
+
systemMint: 'black',
|
|
96
|
+
systemTeal: 'black',
|
|
97
|
+
systemCyan: 'black',
|
|
98
|
+
systemPink: 'black',
|
|
99
|
+
systemGray: 'label',
|
|
100
|
+
systemGray2: 'label',
|
|
101
|
+
systemGray3: 'label',
|
|
102
|
+
systemGray4: 'label',
|
|
103
|
+
systemGray5: 'label',
|
|
104
|
+
systemGray6: 'label'
|
|
105
|
+
};
|
|
11
106
|
//# sourceMappingURL=Color.js.map
|
package/lib/module/Color.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OriginalColor","Color","value","startsWith","undefined"],"sourceRoot":"../../src","sources":["Color.tsx"],"mappings":";;AAAA;AACA,OAAOA,aAAa,MAAM,OAAO;
|
|
1
|
+
{"version":3,"names":["OriginalColor","Platform","DynamicColorIOS","PlatformColor","Color","value","startsWith","undefined","foreground","color","OS","Array","isArray","resource_paths","name","replace","ANDROID_COLOR_MAP","semantic","IOS_COLOR_MAP","dynamic","light","dark","lightForeground","darkForeground","processed","isLight","darken","string","system_background_dark","system_background_light","system_error_container_dark","system_error_container_light","system_error_dark","system_error_light","system_primary_container_dark","system_primary_container_light","system_primary_dark","system_primary_fixed","system_primary_light","system_secondary_container_dark","system_secondary_container_light","system_secondary_dark","system_secondary_fixed","system_secondary_light","system_surface_dark","system_surface_disabled","system_surface_light","system_surface_variant_dark","system_surface_variant_light","systemBackground","secondarySystemBackground","tertiarySystemBackground","systemGroupedBackground","secondarySystemGroupedBackground","tertiarySystemGroupedBackground","systemFill","secondarySystemFill","tertiarySystemFill","quaternarySystemFill","systemRed","systemGreen","systemBlue","systemIndigo","systemPurple","systemBrown","systemOrange","systemYellow","systemMint","systemTeal","systemCyan","systemPink","systemGray","systemGray2","systemGray3","systemGray4","systemGray5","systemGray6"],"sourceRoot":"../../src","sources":["Color.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useTheme } from '@react-navigation/native';
|
|
3
|
+
import { MaterialSymbol, SFSymbol, useTheme } from '@react-navigation/native';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { Animated, Platform, StyleSheet
|
|
6
6
|
// eslint-disable-next-line no-restricted-imports
|
|
7
7
|
, View } from 'react-native';
|
|
8
|
-
import
|
|
8
|
+
import backIconImage from '../assets/back-icon.png';
|
|
9
9
|
import { isLiquidGlassSupported } from '../LiquidGlassView';
|
|
10
10
|
import { BUTTON_SIZE, HeaderButton } from "./HeaderButton.js";
|
|
11
11
|
import { HeaderIcon } from "./HeaderIcon.js";
|
|
@@ -13,7 +13,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
export function HeaderBackButton({
|
|
14
14
|
disabled,
|
|
15
15
|
allowFontScaling,
|
|
16
|
-
|
|
16
|
+
backIcon,
|
|
17
17
|
label,
|
|
18
18
|
labelStyle,
|
|
19
19
|
displayMode = 'minimal',
|
|
@@ -33,14 +33,40 @@ export function HeaderBackButton({
|
|
|
33
33
|
} = useTheme();
|
|
34
34
|
const isMinimal = displayMode === 'minimal' || measuredMinimal;
|
|
35
35
|
const renderBackImage = () => {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
const color = tintColor ?? colors.text;
|
|
37
|
+
if (backIcon) {
|
|
38
|
+
if (typeof backIcon === 'function') {
|
|
39
|
+
return backIcon({
|
|
40
|
+
tintColor: color
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
switch (backIcon.type) {
|
|
44
|
+
case 'sfSymbol':
|
|
45
|
+
return /*#__PURE__*/_jsx(SFSymbol, {
|
|
46
|
+
name: backIcon.name,
|
|
47
|
+
color: color,
|
|
48
|
+
style: styles.icon
|
|
49
|
+
});
|
|
50
|
+
case 'materialSymbol':
|
|
51
|
+
return /*#__PURE__*/_jsx(MaterialSymbol, {
|
|
52
|
+
name: backIcon.name,
|
|
53
|
+
variant: backIcon.variant,
|
|
54
|
+
weight: backIcon.weight,
|
|
55
|
+
color: color,
|
|
56
|
+
size: ICON_WIDTH,
|
|
57
|
+
style: styles.icon
|
|
58
|
+
});
|
|
59
|
+
case 'image':
|
|
60
|
+
return /*#__PURE__*/_jsx(HeaderIcon, {
|
|
61
|
+
source: backIcon.source,
|
|
62
|
+
tintColor: color,
|
|
63
|
+
style: styles.icon
|
|
64
|
+
});
|
|
65
|
+
}
|
|
40
66
|
} else {
|
|
41
67
|
return /*#__PURE__*/_jsx(HeaderIcon, {
|
|
42
|
-
source:
|
|
43
|
-
tintColor:
|
|
68
|
+
source: backIconImage,
|
|
69
|
+
tintColor: color,
|
|
44
70
|
style: styles.icon
|
|
45
71
|
});
|
|
46
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useTheme","React","Animated","Platform","StyleSheet","View","
|
|
1
|
+
{"version":3,"names":["MaterialSymbol","SFSymbol","useTheme","React","Animated","Platform","StyleSheet","View","backIconImage","isLiquidGlassSupported","BUTTON_SIZE","HeaderButton","HeaderIcon","jsx","_jsx","jsxs","_jsxs","HeaderBackButton","disabled","allowFontScaling","backIcon","label","labelStyle","displayMode","onPress","pressColor","pressOpacity","tintColor","truncatedLabel","accessibilityLabel","testID","style","href","measuredMinimal","setMeasuredMinimal","useReducer","colors","isMinimal","renderBackImage","color","text","type","name","styles","icon","variant","weight","size","ICON_WIDTH","source","handlePress","requestAnimationFrame","container","containerMinimal","children","Fragment","HeaderBackLabel","onMeasureMinimal","fonts","wrapperWidth","setWrapperWidth","useState","labelWidth","setLabelWidth","truncatedLabelWidth","setTruncatedLabelWidth","wrapperRef","useRef","labelRef","truncatedLabelRef","useLayoutEffect","current","measure","_x","_y","width","availableSpace","potentialLabelText","hasMeasured","finalLabelText","commonStyle","regular","hiddenStyle","position","top","left","opacity","ref","onLayout","e","nativeEvent","layout","labelWrapper","Text","numberOfLines","accessible","OS","ICON_SPACING_START","ICON_LABEL_SPACING","LABEL_FONT_SIZE","LABEL_LETTER_SPACING","create","borderRadius","flexShrink","paddingHorizontal","minWidth","hairlineWidth","minHeight","aspectRatio","alignItems","justifyContent","fontSize","letterSpacing","flexDirection","flexGrow","flexBasis","marginStart","marginEnd"],"sourceRoot":"../../../src","sources":["Header/HeaderBackButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PlatformColor","undefined"],"sourceRoot":"../../src","sources":["PlatformColor.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,aAEA,GAAGC,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PlatformColor","undefined","DynamicColorIOS"],"sourceRoot":"../../src","sources":["PlatformColor.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,aAEA,GAAGC,SAAS;AAEzB,OAAO,MAAMC,eAEA,GAAGD,SAAS","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PlatformColor"],"sourceRoot":"../../src","sources":["PlatformColor.native.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["DynamicColorIOS","PlatformColor"],"sourceRoot":"../../src","sources":["PlatformColor.native.tsx"],"mappings":";;AAAA,SAASA,eAAe,EAAEC,aAAa,QAAQ,cAAc","ignoreList":[]}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ColorValue } from 'react-native';
|
|
2
2
|
type ColorType = {
|
|
3
|
-
isLight(): boolean;
|
|
4
|
-
isDark(): boolean;
|
|
5
3
|
alpha(amount: number): ColorType;
|
|
6
4
|
alpha(): number;
|
|
7
5
|
fade(amount: number): ColorType;
|
|
@@ -9,5 +7,8 @@ type ColorType = {
|
|
|
9
7
|
string(): string;
|
|
10
8
|
};
|
|
11
9
|
export declare function Color(value: ColorValue): ColorType | undefined;
|
|
10
|
+
export declare namespace Color {
|
|
11
|
+
var foreground: (color: ColorValue) => ColorValue;
|
|
12
|
+
}
|
|
12
13
|
export {};
|
|
13
14
|
//# sourceMappingURL=Color.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../src/Color.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../src/Color.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAY,MAAM,cAAc,CAAC;AAIzD,KAAK,SAAS,GAAG;IACf,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,IAAI,MAAM,CAAC;IAChB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,IAAI,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAM9D;yBANe,KAAK;4BAQM,UAAU,KAAG,UAAU"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { HeaderBackButtonProps } from '../types';
|
|
2
|
-
export declare function HeaderBackButton({ disabled, allowFontScaling,
|
|
2
|
+
export declare function HeaderBackButton({ disabled, allowFontScaling, backIcon, label, labelStyle, displayMode, onPress, pressColor, pressOpacity, tintColor, truncatedLabel, accessibilityLabel, testID, style, href, }: HeaderBackButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=HeaderBackButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderBackButton.d.ts","sourceRoot":"","sources":["../../../../src/Header/HeaderBackButton.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAIlB,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"HeaderBackButton.d.ts","sourceRoot":"","sources":["../../../../src/Header/HeaderBackButton.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAIlB,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,WAAuB,EACvB,OAAO,EACP,UAAU,EACV,YAAY,EACZ,SAAS,EACT,cAAuB,EACvB,kBAA6E,EAC7E,MAAM,EACN,KAAK,EACL,IAAI,GACL,EAAE,qBAAqB,2CAuFvB"}
|
|
@@ -4,4 +4,5 @@
|
|
|
4
4
|
* This is a workaround to avoid such errors.
|
|
5
5
|
*/
|
|
6
6
|
export declare const PlatformColor: typeof import('react-native').PlatformColor | undefined;
|
|
7
|
+
export declare const DynamicColorIOS: typeof import('react-native').DynamicColorIOS | undefined;
|
|
7
8
|
//# sourceMappingURL=PlatformColor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformColor.d.ts","sourceRoot":"","sources":["../../../src/PlatformColor.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa,EACtB,cAAc,cAAc,EAAE,aAAa,GAC3C,SAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"PlatformColor.d.ts","sourceRoot":"","sources":["../../../src/PlatformColor.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,aAAa,EACtB,cAAc,cAAc,EAAE,aAAa,GAC3C,SAAqB,CAAC;AAE1B,eAAO,MAAM,eAAe,EACxB,cAAc,cAAc,EAAE,eAAe,GAC7C,SAAqB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { PlatformColor } from 'react-native';
|
|
1
|
+
export { DynamicColorIOS, PlatformColor } from 'react-native';
|
|
2
2
|
//# sourceMappingURL=PlatformColor.native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformColor.native.d.ts","sourceRoot":"","sources":["../../../src/PlatformColor.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"PlatformColor.native.d.ts","sourceRoot":"","sources":["../../../src/PlatformColor.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MaterialSymbolProps, SFSymbolProps } from '@react-navigation/native';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import type { Animated, ColorValue, ImageSourcePropType, LayoutChangeEvent, StyleProp, TextInputProps, TextStyle, ViewStyle } from 'react-native';
|
|
2
4
|
import type { BlurEffectType } from './getBlurBackgroundColor';
|
|
3
5
|
export type HeaderBackButtonDisplayMode = 'default' | 'generic' | 'minimal';
|
|
4
6
|
export type Layout = {
|
|
@@ -302,13 +304,32 @@ export type HeaderButtonProps = {
|
|
|
302
304
|
*/
|
|
303
305
|
children: React.ReactNode;
|
|
304
306
|
};
|
|
307
|
+
export type HeaderBackIcon = {
|
|
308
|
+
type: 'image';
|
|
309
|
+
source: ImageSourcePropType;
|
|
310
|
+
} | {
|
|
311
|
+
type: 'sfSymbol';
|
|
312
|
+
name: SFSymbolProps['name'];
|
|
313
|
+
} | ({
|
|
314
|
+
type: 'materialSymbol';
|
|
315
|
+
} & Pick<MaterialSymbolProps, 'name' | 'variant' | 'weight'>);
|
|
305
316
|
export type HeaderBackButtonProps = Omit<HeaderButtonProps, 'children'> & {
|
|
306
317
|
/**
|
|
307
|
-
*
|
|
318
|
+
* Icon to display for the back button.
|
|
319
|
+
*
|
|
320
|
+
* Supported types:
|
|
321
|
+
* - image: custom image source
|
|
322
|
+
* - sfSymbol: SF Symbol icon (iOS only)
|
|
323
|
+
* - materialSymbol: material symbol icon (Android only)
|
|
324
|
+
* - React Node: function that returns a React Element
|
|
325
|
+
*
|
|
326
|
+
* Defaults to back icon image for the platform
|
|
327
|
+
* - A chevron on iOS
|
|
328
|
+
* - An arrow on Android
|
|
308
329
|
*/
|
|
309
|
-
|
|
330
|
+
backIcon?: HeaderBackIcon | ((props: {
|
|
310
331
|
tintColor: ColorValue;
|
|
311
|
-
}) => React.ReactNode;
|
|
332
|
+
}) => React.ReactNode);
|
|
312
333
|
/**
|
|
313
334
|
* Label text for the button. Usually the title of the previous screen.
|
|
314
335
|
* By default, this is only shown on iOS.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/elements",
|
|
3
3
|
"description": "UI Components for React Navigation",
|
|
4
|
-
"version": "3.0.0-alpha.
|
|
4
|
+
"version": "3.0.0-alpha.9",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
7
7
|
"react-navigation",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@callstack/liquid-glass": "^0.6.0",
|
|
56
56
|
"@jest/globals": "^30.0.0",
|
|
57
|
-
"@react-navigation/native": "^8.0.0-alpha.
|
|
57
|
+
"@react-navigation/native": "^8.0.0-alpha.9",
|
|
58
58
|
"@testing-library/react-native": "^13.2.1",
|
|
59
59
|
"@types/react": "~19.1.10",
|
|
60
60
|
"@types/use-sync-external-store": "^1.5.0",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"@callstack/liquid-glass": ">= 0.6.0",
|
|
71
|
-
"@react-navigation/native": "^8.0.0-alpha.
|
|
71
|
+
"@react-navigation/native": "^8.0.0-alpha.9",
|
|
72
72
|
"react": ">= 19.0.0",
|
|
73
73
|
"react-native": "*",
|
|
74
74
|
"react-native-safe-area-context": ">= 5.5.0",
|
|
@@ -92,5 +92,5 @@
|
|
|
92
92
|
]
|
|
93
93
|
]
|
|
94
94
|
},
|
|
95
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "50f082713bccec33aa2cab55481804707aa8af08"
|
|
96
96
|
}
|
package/src/Badge.tsx
CHANGED
|
@@ -73,7 +73,7 @@ export function Badge({
|
|
|
73
73
|
// @ts-expect-error: backgroundColor definitely exists
|
|
74
74
|
const { backgroundColor = colors.notification, ...restStyle } =
|
|
75
75
|
StyleSheet.flatten(style) || {};
|
|
76
|
-
const textColor = Color(backgroundColor)
|
|
76
|
+
const textColor = Color.foreground(backgroundColor);
|
|
77
77
|
|
|
78
78
|
const borderRadius = size / 2;
|
|
79
79
|
const fontSize = Math.floor((size * 3) / 4);
|
package/src/Button.tsx
CHANGED
package/src/Color.tsx
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// eslint-disable-next-line no-restricted-imports
|
|
2
2
|
import OriginalColor from 'color';
|
|
3
|
-
import type
|
|
3
|
+
import { type ColorValue, Platform } from 'react-native';
|
|
4
|
+
|
|
5
|
+
import { DynamicColorIOS, PlatformColor } from './PlatformColor';
|
|
4
6
|
|
|
5
7
|
type ColorType = {
|
|
6
|
-
isLight(): boolean;
|
|
7
|
-
isDark(): boolean;
|
|
8
8
|
alpha(amount: number): ColorType;
|
|
9
9
|
alpha(): number;
|
|
10
10
|
fade(amount: number): ColorType;
|
|
@@ -19,3 +19,133 @@ export function Color(value: ColorValue): ColorType | undefined {
|
|
|
19
19
|
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
|
+
|
|
23
|
+
Color.foreground = (color: ColorValue): ColorValue => {
|
|
24
|
+
const value = color as unknown;
|
|
25
|
+
|
|
26
|
+
if (typeof value === 'object' && value != null) {
|
|
27
|
+
// Special case for Android platform colors
|
|
28
|
+
// Available colors: https://developer.android.com/reference/android/R.color
|
|
29
|
+
if (
|
|
30
|
+
Platform.OS === 'android' &&
|
|
31
|
+
PlatformColor &&
|
|
32
|
+
'resource_paths' in value &&
|
|
33
|
+
Array.isArray(value.resource_paths) &&
|
|
34
|
+
typeof value.resource_paths[0] === 'string'
|
|
35
|
+
) {
|
|
36
|
+
const name = value.resource_paths[0].replace('@android:color/', '');
|
|
37
|
+
|
|
38
|
+
if (name in ANDROID_COLOR_MAP) {
|
|
39
|
+
return PlatformColor(`@android:color/${ANDROID_COLOR_MAP[name]}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Special case for iOS platform colors
|
|
44
|
+
if (
|
|
45
|
+
Platform.OS === 'ios' &&
|
|
46
|
+
PlatformColor &&
|
|
47
|
+
'semantic' in value &&
|
|
48
|
+
Array.isArray(value.semantic) &&
|
|
49
|
+
typeof value.semantic[0] === 'string'
|
|
50
|
+
) {
|
|
51
|
+
const name = value.semantic[0];
|
|
52
|
+
|
|
53
|
+
if (name in IOS_COLOR_MAP) {
|
|
54
|
+
const foreground = IOS_COLOR_MAP[name];
|
|
55
|
+
return foreground === 'white' || foreground === 'black'
|
|
56
|
+
? foreground
|
|
57
|
+
: PlatformColor(foreground);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Special case for iOS dynamic colors
|
|
62
|
+
if (
|
|
63
|
+
Platform.OS === 'ios' &&
|
|
64
|
+
DynamicColorIOS &&
|
|
65
|
+
'dynamic' in value &&
|
|
66
|
+
typeof value.dynamic === 'object' &&
|
|
67
|
+
value.dynamic != null &&
|
|
68
|
+
'light' in value.dynamic &&
|
|
69
|
+
typeof value.dynamic.light === 'string' &&
|
|
70
|
+
'dark' in value.dynamic &&
|
|
71
|
+
typeof value.dynamic.dark === 'string'
|
|
72
|
+
) {
|
|
73
|
+
const lightForeground = Color.foreground(value.dynamic.light);
|
|
74
|
+
const darkForeground = Color.foreground(value.dynamic.dark);
|
|
75
|
+
|
|
76
|
+
if (lightForeground && darkForeground) {
|
|
77
|
+
return DynamicColorIOS({
|
|
78
|
+
light: lightForeground,
|
|
79
|
+
dark: darkForeground,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} else if (typeof color === 'string' && !color.startsWith('var(')) {
|
|
84
|
+
const processed = OriginalColor(color);
|
|
85
|
+
|
|
86
|
+
if (processed.isLight()) {
|
|
87
|
+
return processed.darken(0.71).string();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return '#fff';
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const ANDROID_COLOR_MAP: Record<string, string> = {
|
|
95
|
+
system_background_dark: 'system_on_background_dark',
|
|
96
|
+
system_background_light: 'system_on_background_light',
|
|
97
|
+
system_error_container_dark: 'system_on_error_container_dark',
|
|
98
|
+
system_error_container_light: 'system_on_error_container_light',
|
|
99
|
+
system_error_dark: 'system_on_error_dark',
|
|
100
|
+
system_error_light: 'system_on_error_light',
|
|
101
|
+
system_primary_container_dark: 'system_on_primary_container_dark',
|
|
102
|
+
system_primary_container_light: 'system_on_primary_container_light',
|
|
103
|
+
system_primary_dark: 'system_on_primary_dark',
|
|
104
|
+
system_primary_fixed: 'system_on_primary_fixed',
|
|
105
|
+
system_primary_light: 'system_on_primary_light',
|
|
106
|
+
system_secondary_container_dark: 'system_on_secondary_container_dark',
|
|
107
|
+
system_secondary_container_light: 'system_on_secondary_container_light',
|
|
108
|
+
system_secondary_dark: 'system_on_secondary_dark',
|
|
109
|
+
system_secondary_fixed: 'system_on_secondary_fixed',
|
|
110
|
+
system_secondary_light: 'system_on_secondary_light',
|
|
111
|
+
system_surface_dark: 'system_on_surface_dark',
|
|
112
|
+
system_surface_disabled: 'system_on_surface_disabled',
|
|
113
|
+
system_surface_light: 'system_on_surface_light',
|
|
114
|
+
system_surface_variant_dark: 'system_on_surface_variant_dark',
|
|
115
|
+
system_surface_variant_light: 'system_on_surface_variant_light',
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const IOS_COLOR_MAP: Record<string, string> = {
|
|
119
|
+
systemBackground: 'label',
|
|
120
|
+
secondarySystemBackground: 'label',
|
|
121
|
+
tertiarySystemBackground: 'label',
|
|
122
|
+
systemGroupedBackground: 'label',
|
|
123
|
+
secondarySystemGroupedBackground: 'label',
|
|
124
|
+
tertiarySystemGroupedBackground: 'label',
|
|
125
|
+
|
|
126
|
+
systemFill: 'label',
|
|
127
|
+
secondarySystemFill: 'label',
|
|
128
|
+
tertiarySystemFill: 'label',
|
|
129
|
+
quaternarySystemFill: 'label',
|
|
130
|
+
|
|
131
|
+
systemRed: 'white',
|
|
132
|
+
systemGreen: 'white',
|
|
133
|
+
systemBlue: 'white',
|
|
134
|
+
systemIndigo: 'white',
|
|
135
|
+
systemPurple: 'white',
|
|
136
|
+
systemBrown: 'white',
|
|
137
|
+
|
|
138
|
+
systemOrange: 'black',
|
|
139
|
+
systemYellow: 'black',
|
|
140
|
+
systemMint: 'black',
|
|
141
|
+
systemTeal: 'black',
|
|
142
|
+
systemCyan: 'black',
|
|
143
|
+
systemPink: 'black',
|
|
144
|
+
|
|
145
|
+
systemGray: 'label',
|
|
146
|
+
systemGray2: 'label',
|
|
147
|
+
systemGray3: 'label',
|
|
148
|
+
systemGray4: 'label',
|
|
149
|
+
systemGray5: 'label',
|
|
150
|
+
systemGray6: 'label',
|
|
151
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useTheme } from '@react-navigation/native';
|
|
1
|
+
import { MaterialSymbol, SFSymbol, useTheme } from '@react-navigation/native';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import {
|
|
4
4
|
Animated,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
View,
|
|
13
13
|
} from 'react-native';
|
|
14
14
|
|
|
15
|
-
import
|
|
15
|
+
import backIconImage from '../assets/back-icon.png';
|
|
16
16
|
import { isLiquidGlassSupported } from '../LiquidGlassView';
|
|
17
17
|
import type {
|
|
18
18
|
HeaderBackButtonDisplayMode,
|
|
@@ -24,7 +24,7 @@ import { HeaderIcon } from './HeaderIcon';
|
|
|
24
24
|
export function HeaderBackButton({
|
|
25
25
|
disabled,
|
|
26
26
|
allowFontScaling,
|
|
27
|
-
|
|
27
|
+
backIcon,
|
|
28
28
|
label,
|
|
29
29
|
labelStyle,
|
|
30
30
|
displayMode = 'minimal',
|
|
@@ -48,13 +48,43 @@ export function HeaderBackButton({
|
|
|
48
48
|
const isMinimal = displayMode === 'minimal' || measuredMinimal;
|
|
49
49
|
|
|
50
50
|
const renderBackImage = () => {
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
const color = tintColor ?? colors.text;
|
|
52
|
+
|
|
53
|
+
if (backIcon) {
|
|
54
|
+
if (typeof backIcon === 'function') {
|
|
55
|
+
return backIcon({ tintColor: color });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
switch (backIcon.type) {
|
|
59
|
+
case 'sfSymbol':
|
|
60
|
+
return (
|
|
61
|
+
<SFSymbol name={backIcon.name} color={color} style={styles.icon} />
|
|
62
|
+
);
|
|
63
|
+
case 'materialSymbol':
|
|
64
|
+
return (
|
|
65
|
+
<MaterialSymbol
|
|
66
|
+
name={backIcon.name}
|
|
67
|
+
variant={backIcon.variant}
|
|
68
|
+
weight={backIcon.weight}
|
|
69
|
+
color={color}
|
|
70
|
+
size={ICON_WIDTH}
|
|
71
|
+
style={styles.icon}
|
|
72
|
+
/>
|
|
73
|
+
);
|
|
74
|
+
case 'image':
|
|
75
|
+
return (
|
|
76
|
+
<HeaderIcon
|
|
77
|
+
source={backIcon.source}
|
|
78
|
+
tintColor={color}
|
|
79
|
+
style={styles.icon}
|
|
80
|
+
/>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
53
83
|
} else {
|
|
54
84
|
return (
|
|
55
85
|
<HeaderIcon
|
|
56
|
-
source={
|
|
57
|
-
tintColor={
|
|
86
|
+
source={backIconImage}
|
|
87
|
+
tintColor={color}
|
|
58
88
|
style={styles.icon}
|
|
59
89
|
/>
|
|
60
90
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { PlatformColor } from 'react-native';
|
|
1
|
+
export { DynamicColorIOS, PlatformColor } from 'react-native';
|
package/src/PlatformColor.tsx
CHANGED
package/src/types.tsx
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
MaterialSymbolProps,
|
|
3
|
+
SFSymbolProps,
|
|
4
|
+
} from '@react-navigation/native';
|
|
5
|
+
import * as React from 'react';
|
|
1
6
|
import type {
|
|
2
7
|
Animated,
|
|
3
8
|
ColorValue,
|
|
9
|
+
ImageSourcePropType,
|
|
4
10
|
LayoutChangeEvent,
|
|
5
11
|
StyleProp,
|
|
6
12
|
TextInputProps,
|
|
@@ -325,11 +331,36 @@ export type HeaderButtonProps = {
|
|
|
325
331
|
children: React.ReactNode;
|
|
326
332
|
};
|
|
327
333
|
|
|
334
|
+
export type HeaderBackIcon =
|
|
335
|
+
| {
|
|
336
|
+
type: 'image';
|
|
337
|
+
source: ImageSourcePropType;
|
|
338
|
+
}
|
|
339
|
+
| {
|
|
340
|
+
type: 'sfSymbol';
|
|
341
|
+
name: SFSymbolProps['name'];
|
|
342
|
+
}
|
|
343
|
+
| ({
|
|
344
|
+
type: 'materialSymbol';
|
|
345
|
+
} & Pick<MaterialSymbolProps, 'name' | 'variant' | 'weight'>);
|
|
346
|
+
|
|
328
347
|
export type HeaderBackButtonProps = Omit<HeaderButtonProps, 'children'> & {
|
|
329
348
|
/**
|
|
330
|
-
*
|
|
349
|
+
* Icon to display for the back button.
|
|
350
|
+
*
|
|
351
|
+
* Supported types:
|
|
352
|
+
* - image: custom image source
|
|
353
|
+
* - sfSymbol: SF Symbol icon (iOS only)
|
|
354
|
+
* - materialSymbol: material symbol icon (Android only)
|
|
355
|
+
* - React Node: function that returns a React Element
|
|
356
|
+
*
|
|
357
|
+
* Defaults to back icon image for the platform
|
|
358
|
+
* - A chevron on iOS
|
|
359
|
+
* - An arrow on Android
|
|
331
360
|
*/
|
|
332
|
-
|
|
361
|
+
backIcon?:
|
|
362
|
+
| HeaderBackIcon
|
|
363
|
+
| ((props: { tintColor: ColorValue }) => React.ReactNode);
|
|
333
364
|
/**
|
|
334
365
|
* Label text for the button. Usually the title of the previous screen.
|
|
335
366
|
* By default, this is only shown on iOS.
|