expo-template-default 55.1.0 → 55.1.1

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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "expo-template-default",
3
3
  "license": "0BSD",
4
4
  "main": "expo-router/entry",
5
- "version": "55.1.0",
5
+ "version": "55.1.1",
6
6
  "scripts": {
7
7
  "start": "expo start",
8
8
  "reset-project": "node ./scripts/reset-project.js",
@@ -16,18 +16,18 @@
16
16
  "@react-navigation/bottom-tabs": "^7.7.3",
17
17
  "@react-navigation/elements": "^2.8.1",
18
18
  "@react-navigation/native": "^7.1.28",
19
- "expo": "~55.0.0-preview.6",
19
+ "expo": "~55.0.0-preview.7",
20
20
  "expo-constants": "~55.0.2",
21
- "expo-font": "~55.0.2",
22
- "expo-glass-effect": "~55.0.2",
23
- "expo-image": "~55.0.2",
21
+ "expo-font": "~55.0.3",
22
+ "expo-glass-effect": "~55.0.3",
23
+ "expo-image": "~55.0.3",
24
24
  "expo-linking": "~55.0.3",
25
- "expo-router": "~55.0.0-beta.3",
26
- "expo-splash-screen": "~55.0.2",
25
+ "expo-router": "~55.0.0-beta.4",
26
+ "expo-splash-screen": "~55.0.3",
27
27
  "expo-status-bar": "~55.0.2",
28
- "expo-symbols": "~55.0.2",
29
- "expo-system-ui": "~55.0.2",
30
- "expo-web-browser": "~55.0.2",
28
+ "expo-symbols": "~55.0.3",
29
+ "expo-system-ui": "~55.0.3",
30
+ "expo-web-browser": "~55.0.3",
31
31
  "react": "19.2.0",
32
32
  "react-dom": "19.2.0",
33
33
  "react-native": "0.83.1",
@@ -1,4 +1,5 @@
1
1
  import { Image } from 'expo-image';
2
+ import { SymbolView } from 'expo-symbols';
2
3
  import React from 'react';
3
4
  import { Platform, Pressable, ScrollView, StyleSheet } from 'react-native';
4
5
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
@@ -7,7 +8,6 @@ import { ExternalLink } from '@/components/external-link';
7
8
  import { ThemedText } from '@/components/themed-text';
8
9
  import { ThemedView } from '@/components/themed-view';
9
10
  import { Collapsible } from '@/components/ui/collapsible';
10
- import { IconSymbol } from '@/components/ui/icon-symbol';
11
11
  import { WebBadge } from '@/components/web-badge';
12
12
  import { BottomTabInset, MaxContentWidth, Spacing } from '@/constants/theme';
13
13
  import { useTheme } from '@/hooks/use-theme';
@@ -49,7 +49,11 @@ export default function TabTwoScreen() {
49
49
  <Pressable style={({ pressed }) => pressed && styles.pressed}>
50
50
  <ThemedView type="backgroundElement" style={styles.linkButton}>
51
51
  <ThemedText type="link">Expo documentation</ThemedText>
52
- <IconSymbol color={theme.text} name="arrow.up.right.square" size={12} />
52
+ <SymbolView
53
+ tintColor={theme.text}
54
+ name={{ ios: 'arrow.up.right.square', android: 'link', web: 'link' }}
55
+ size={12}
56
+ />
53
57
  </ThemedView>
54
58
  </Pressable>
55
59
  </ExternalLink>
@@ -6,13 +6,13 @@ import {
6
6
  TabTriggerSlotProps,
7
7
  TabListProps,
8
8
  } from 'expo-router/ui';
9
+ import { SymbolView } from 'expo-symbols';
9
10
  import React from 'react';
10
11
  import { Pressable, useColorScheme, View, StyleSheet } from 'react-native';
11
12
 
12
13
  import { ExternalLink } from './external-link';
13
14
  import { ThemedText } from './themed-text';
14
15
  import { ThemedView } from './themed-view';
15
- import { IconSymbol } from './ui/icon-symbol';
16
16
 
17
17
  import { Colors, MaxContentWidth, Spacing } from '@/constants/theme';
18
18
 
@@ -64,7 +64,11 @@ export function CustomTabList(props: TabListProps) {
64
64
  <ExternalLink href="https://docs.expo.dev" asChild>
65
65
  <Pressable style={styles.externalPressable}>
66
66
  <ThemedText type="link">Doc</ThemedText>
67
- <IconSymbol color={colors.text} name="arrow.up.right.square" size={12} />
67
+ <SymbolView
68
+ tintColor={colors.text}
69
+ name={{ ios: 'arrow.up.right.square', web: 'link' }}
70
+ size={12}
71
+ />
68
72
  </Pressable>
69
73
  </ExternalLink>
70
74
  </ThemedView>
@@ -1,10 +1,10 @@
1
+ import { SymbolView } from 'expo-symbols';
1
2
  import { PropsWithChildren, useState } from 'react';
2
3
  import { Pressable, StyleSheet } from 'react-native';
3
4
  import Animated, { FadeIn } from 'react-native-reanimated';
4
5
 
5
6
  import { ThemedText } from '@/components/themed-text';
6
7
  import { ThemedView } from '@/components/themed-view';
7
- import { IconSymbol } from '@/components/ui/icon-symbol';
8
8
  import { Spacing } from '@/constants/theme';
9
9
  import { useTheme } from '@/hooks/use-theme';
10
10
 
@@ -18,11 +18,11 @@ export function Collapsible({ children, title }: PropsWithChildren & { title: st
18
18
  style={({ pressed }) => [styles.heading, pressed && styles.pressedHeading]}
19
19
  onPress={() => setIsOpen((value) => !value)}>
20
20
  <ThemedView type="backgroundElement" style={styles.button}>
21
- <IconSymbol
22
- name="chevron.right"
21
+ <SymbolView
22
+ name={{ ios: 'chevron.right', android: 'chevron_right', web: 'chevron_right' }}
23
23
  size={14}
24
24
  weight="bold"
25
- color={theme.text}
25
+ tintColor={theme.text}
26
26
  style={{ transform: [{ rotate: isOpen ? '-90deg' : '90deg' }] }}
27
27
  />
28
28
  </ThemedView>
@@ -1,32 +0,0 @@
1
- import { SymbolView, SymbolViewProps, SymbolWeight } from 'expo-symbols';
2
- import { StyleProp, ViewStyle } from 'react-native';
3
-
4
- export function IconSymbol({
5
- name,
6
- size = 24,
7
- color,
8
- style,
9
- weight = 'regular',
10
- }: {
11
- name: SymbolViewProps['name'];
12
- size?: number;
13
- color: string;
14
- style?: StyleProp<ViewStyle>;
15
- weight?: SymbolWeight;
16
- }) {
17
- return (
18
- <SymbolView
19
- weight={weight}
20
- tintColor={color}
21
- resizeMode="scaleAspectFit"
22
- name={name}
23
- style={[
24
- {
25
- width: size,
26
- height: size,
27
- },
28
- style,
29
- ]}
30
- />
31
- );
32
- }
@@ -1,42 +0,0 @@
1
- // Fallback for using MaterialIcons on Android and web.
2
-
3
- import MaterialIcons from '@expo/vector-icons/MaterialIcons';
4
- import { SymbolWeight, SymbolViewProps } from 'expo-symbols';
5
- import { ComponentProps } from 'react';
6
- import { OpaqueColorValue, type StyleProp, type TextStyle } from 'react-native';
7
-
8
- type IconMapping = Record<SymbolViewProps['name'], ComponentProps<typeof MaterialIcons>['name']>;
9
- type IconSymbolName = keyof typeof MAPPING;
10
-
11
- /**
12
- * Add your SF Symbols to Material Icons mappings here.
13
- * - see Material Icons in the [Icons Directory](https://icons.expo.fyi).
14
- * - see SF Symbols in the [SF Symbols](https://developer.apple.com/sf-symbols/) app.
15
- */
16
- const MAPPING = {
17
- 'house.fill': 'home',
18
- 'paperplane.fill': 'send',
19
- 'chevron.left.forwardslash.chevron.right': 'code',
20
- 'chevron.right': 'chevron-right',
21
- 'arrow.up.right.square': 'open-in-new',
22
- } as IconMapping;
23
-
24
- /**
25
- * An icon component that uses native SF Symbols on iOS, and Material Icons on Android and web.
26
- * This ensures a consistent look across platforms, and optimal resource usage.
27
- * Icon `name`s are based on SF Symbols and require manual mapping to Material Icons.
28
- */
29
- export function IconSymbol({
30
- name,
31
- size = 24,
32
- color,
33
- style,
34
- }: {
35
- name: IconSymbolName;
36
- size?: number;
37
- color: string | OpaqueColorValue;
38
- style?: StyleProp<TextStyle>;
39
- weight?: SymbolWeight;
40
- }) {
41
- return <MaterialIcons color={color} size={size} name={MAPPING[name]} style={style} />;
42
- }