@react-navigation/elements 3.0.0-alpha.42 → 3.0.0-alpha.44

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.
@@ -116,7 +116,10 @@ function ButtonBase({
116
116
  }) : renderIcon(icon, textColor, ICON_SIZE);
117
117
  return /*#__PURE__*/_jsx(PlatformPressable, {
118
118
  ...rest,
119
- disabled: disabled || loading,
119
+ "aria-disabled":
120
+ // Keep the button focusable while loading
121
+ disabled || loading || undefined,
122
+ disabled: disabled,
120
123
  android_ripple: {
121
124
  foreground: true,
122
125
  color: rippleColor,
@@ -1 +1 @@
1
- {"version":3,"names":["useLinkProps","useTheme","React","ActivityIndicator","Platform","StyleSheet","View","Color","PlatformIcon","PlatformPressable","Text","jsx","_jsx","jsxs","_jsxs","BUTTON_RADIUS","ICON_SIZE","Button","props","ButtonLink","ButtonBase","in","parent","screen","params","action","href","onPress","rest","isPending","startTransition","useTransition","isPendingDeferred","useDeferredValue","loading","e","variant","color","customColor","icon","android_ripple","disabled","style","children","dark","colors","fonts","primary","backgroundColor","textColor","fade","string","foreground","rippleColor","iconNode","size","renderIcon","pressOpacity","OS","undefined","hoverEffect","styles","button","content","regular","text","iconValue","isValidElement","create","paddingHorizontal","paddingVertical","borderRadius","borderCurve","overflow","flexDirection","alignItems","justifyContent","gap","marginLeft","fontSize","lineHeight","letterSpacing","textAlign"],"sourceRoot":"../../src","sources":["Button.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useLinkProps","useTheme","React","ActivityIndicator","Platform","StyleSheet","View","Color","PlatformIcon","PlatformPressable","Text","jsx","_jsx","jsxs","_jsxs","BUTTON_RADIUS","ICON_SIZE","Button","props","ButtonLink","ButtonBase","in","parent","screen","params","action","href","onPress","rest","isPending","startTransition","useTransition","isPendingDeferred","useDeferredValue","loading","e","variant","color","customColor","icon","android_ripple","disabled","style","children","dark","colors","fonts","primary","backgroundColor","textColor","fade","string","foreground","rippleColor","iconNode","size","renderIcon","undefined","pressOpacity","OS","hoverEffect","styles","button","content","regular","text","iconValue","isValidElement","create","paddingHorizontal","paddingVertical","borderRadius","borderCurve","overflow","flexDirection","alignItems","justifyContent","gap","marginLeft","fontSize","lineHeight","letterSpacing","textAlign"],"sourceRoot":"../../src","sources":["Button.tsx"],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,7 @@ export function PlatformPressable({
30
30
  dark
31
31
  } = useTheme();
32
32
  const [opacity] = React.useState(() => new Animated.Value(1));
33
+ const interactive = !disabled && !rest['aria-disabled'];
33
34
  const animateTo = (toValue, duration) => {
34
35
  if (ANDROID_SUPPORTS_RIPPLE) {
35
36
  return;
@@ -83,13 +84,13 @@ export function PlatformPressable({
83
84
  // So we use a `useEffect` for the listeners instead of the ref callback
84
85
  React.useEffect(() => {
85
86
  const element = elementRef.current;
86
- if (rest.href == null || element == null || !disabled) {
87
+ if (rest.href == null || element == null || interactive) {
87
88
  return;
88
89
  }
89
90
 
90
- // On web, a disabled button prevents our onPress from being called
91
+ // On web, a non-interactive button prevents our onPress from being called
91
92
  // But the link is still clickable, and will perform a full page navigation
92
- // So we manually prevent the default behavior of the link when disabled
93
+ // So we manually prevent the default behavior of the link in that case
93
94
  // The `href` is still set so regular link semantics are preserved
94
95
  const preventNavigation = event => {
95
96
  event.preventDefault();
@@ -101,7 +102,7 @@ export function PlatformPressable({
101
102
  element.removeEventListener('click', preventNavigation, true);
102
103
  element.removeEventListener('auxclick', preventNavigation, true);
103
104
  };
104
- }, [disabled, rest.href]);
105
+ }, [interactive, rest.href]);
105
106
  let focusable;
106
107
  if (disabled) {
107
108
  focusable = false;
@@ -116,22 +117,22 @@ export function PlatformPressable({
116
117
  disabled: disabled,
117
118
  focusable: focusable,
118
119
  role: Platform.OS === 'web' && rest.href != null ? 'link' : 'button',
119
- onPress: disabled ? undefined : handlePress,
120
- onPressIn: disabled ? undefined : handlePressIn,
121
- onPressOut: disabled ? undefined : handlePressOut,
122
- android_ripple: ANDROID_SUPPORTS_RIPPLE && !disabled ? {
120
+ onPress: interactive ? handlePress : undefined,
121
+ onPressIn: interactive ? handlePressIn : undefined,
122
+ onPressOut: interactive ? handlePressOut : undefined,
123
+ android_ripple: ANDROID_SUPPORTS_RIPPLE && interactive ? {
123
124
  color: pressColor !== undefined ? pressColor : dark ? 'rgba(255, 255, 255, .32)' : 'rgba(0, 0, 0, .32)',
124
125
  ...android_ripple
125
126
  } : undefined,
126
127
  style: [{
127
- cursor: (Platform.OS === 'web' || Platform.OS === 'ios') && !disabled ?
128
+ cursor: (Platform.OS === 'web' || Platform.OS === 'ios') && interactive ?
128
129
  // Pointer cursor on web
129
130
  // Hover effect on iPad and visionOS
130
131
  'pointer' : 'auto',
131
- opacity: !ANDROID_SUPPORTS_RIPPLE && !disabled ? opacity : 1
132
+ opacity: !ANDROID_SUPPORTS_RIPPLE && interactive ? opacity : 1
132
133
  }, style],
133
134
  ...rest,
134
- children: [!disabled ? /*#__PURE__*/_jsx(HoverEffect, {
135
+ children: [interactive ? /*#__PURE__*/_jsx(HoverEffect, {
135
136
  ...hoverEffect
136
137
  }) : null, children]
137
138
  });
@@ -1 +1 @@
1
- {"version":3,"names":["IsFocusedContext","useTheme","React","Animated","Easing","Platform","Pressable","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AnimatedPressable","createAnimatedComponent","ANDROID_VERSION_LOLLIPOP","ANDROID_SUPPORTS_RIPPLE","OS","Version","useNativeDriver","PlatformPressable","disabled","onPress","onPressIn","onPressOut","android_ripple","pressColor","pressOpacity","hoverEffect","style","children","ref","rest","dark","opacity","useState","Value","animateTo","toValue","duration","timing","easing","inOut","quad","start","handlePress","e","href","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","isLeftClick","button","isSelfTarget","currentTarget","undefined","includes","target","preventDefault","handlePressIn","handlePressOut","elementRef","useRef","handleRef","useCallback","node","current","HTMLElement","useEffect","element","preventNavigation","event","stopPropagation","addEventListener","removeEventListener","focusable","isTV","use","accessible","role","color","cursor","HoverEffect","css","String","raw","CLASS_NAME","CSS_TEXT","hoverOpacity","activeOpacity","precedence","className"],"sourceRoot":"../../src","sources":["PlatformPressable.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["IsFocusedContext","useTheme","React","Animated","Easing","Platform","Pressable","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","AnimatedPressable","createAnimatedComponent","ANDROID_VERSION_LOLLIPOP","ANDROID_SUPPORTS_RIPPLE","OS","Version","useNativeDriver","PlatformPressable","disabled","onPress","onPressIn","onPressOut","android_ripple","pressColor","pressOpacity","hoverEffect","style","children","ref","rest","dark","opacity","useState","Value","interactive","animateTo","toValue","duration","timing","easing","inOut","quad","start","handlePress","e","href","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","isLeftClick","button","isSelfTarget","currentTarget","undefined","includes","target","preventDefault","handlePressIn","handlePressOut","elementRef","useRef","handleRef","useCallback","node","current","HTMLElement","useEffect","element","preventNavigation","event","stopPropagation","addEventListener","removeEventListener","focusable","isTV","use","accessible","role","color","cursor","HoverEffect","css","String","raw","CLASS_NAME","CSS_TEXT","hoverOpacity","activeOpacity","precedence","className"],"sourceRoot":"../../src","sources":["PlatformPressable.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformPressable.d.ts","sourceRoot":"","sources":["../../../src/PlatformPressable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,KAAK,UAAU,EAEf,KAAK,qBAAqB,EAG1B,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG;IAC9D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACrE,OAAO,CAAC,EACJ,CAAC,CACC,CAAC,EACG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAC/C,qBAAqB,KACtB,IAAI,CAAC,GACV,SAAS,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3E,CAAC;AAEF,QAAA,MAAM,iBAAiB,gIAA8C,CAAC;AAQtE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACd,UAAU,EACV,YAAkB,EAClB,WAAW,EACX,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,IAAI,EACR,EAAE,KAAK,qBA6JP"}
1
+ {"version":3,"file":"PlatformPressable.d.ts","sourceRoot":"","sources":["../../../src/PlatformPressable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,KAAK,UAAU,EAEf,KAAK,qBAAqB,EAG1B,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC,GAAG;IAC9D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACrE,OAAO,CAAC,EACJ,CAAC,CACC,CAAC,EACG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAC/C,qBAAqB,KACtB,IAAI,CAAC,GACV,SAAS,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3E,CAAC;AAEF,QAAA,MAAM,iBAAiB,gIAA8C,CAAC;AAQtE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACd,UAAU,EACV,YAAkB,EAClB,WAAW,EACX,KAAK,EACL,QAAQ,EACR,GAAG,EACH,GAAG,IAAI,EACR,EAAE,KAAK,qBA+JP"}
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.42",
4
+ "version": "3.0.0-alpha.44",
5
5
  "keywords": [
6
6
  "react-native",
7
7
  "react-navigation",
@@ -48,14 +48,17 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "sf-symbols-typescript": "^2.2.0",
51
- "use-latest-callback": "^0.3.4",
51
+ "use-latest-callback": "^0.3.5",
52
52
  "use-sync-external-store": "^1.6.0"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@callstack/liquid-glass": "^0.8.0",
56
- "@jest/globals": "^29.7.0",
57
- "@react-navigation/native": "^8.0.0-alpha.38",
56
+ "@jest/globals": "^30.4.1",
57
+ "@react-navigation/native": "^8.0.0-alpha.40",
58
+ "@testing-library/jest-dom": "^7.0.0",
59
+ "@testing-library/react": "^16.3.2",
58
60
  "@testing-library/react-native": "^14.0.0",
61
+ "@testing-library/user-event": "^14.6.1",
59
62
  "@types/react": "~19.2.17",
60
63
  "@types/use-sync-external-store": "^1.5.0",
61
64
  "del-cli": "^7.0.0",
@@ -64,12 +67,13 @@
64
67
  "react-native-builder-bob": "^0.43.0",
65
68
  "react-native-safe-area-context": "~5.7.0",
66
69
  "react-native-screens": "^4.26.2",
70
+ "react-native-web": "~0.21.2",
67
71
  "test-renderer": "1.2.0",
68
72
  "typescript": "^6.0.3"
69
73
  },
70
74
  "peerDependencies": {
71
75
  "@callstack/liquid-glass": ">= 0.6.0",
72
- "@react-navigation/native": "^8.0.0-alpha.38",
76
+ "@react-navigation/native": "^8.0.0-alpha.40",
73
77
  "react": ">= 19.2.0",
74
78
  "react-native": "*",
75
79
  "react-native-safe-area-context": ">= 5.5.0",
@@ -93,5 +97,5 @@
93
97
  ]
94
98
  ]
95
99
  },
96
- "gitHead": "d938a69ca569f473bb4b7a0df742e303dff2e1e5"
100
+ "gitHead": "f8dd4e8fa7b0c7ec159f9f58ab31660aca8f1bf6"
97
101
  }
package/src/Button.tsx CHANGED
@@ -204,7 +204,11 @@ function ButtonBase({
204
204
  return (
205
205
  <PlatformPressable
206
206
  {...rest}
207
- disabled={disabled || loading}
207
+ aria-disabled={
208
+ // Keep the button focusable while loading
209
+ disabled || loading || undefined
210
+ }
211
+ disabled={disabled}
208
212
  android_ripple={{
209
213
  foreground: true,
210
214
  color: rippleColor,
@@ -63,6 +63,8 @@ export function PlatformPressable({
63
63
  const { dark } = useTheme();
64
64
  const [opacity] = React.useState(() => new Animated.Value(1));
65
65
 
66
+ const interactive = !disabled && !rest['aria-disabled'];
67
+
66
68
  const animateTo = (toValue: number, duration: number) => {
67
69
  if (ANDROID_SUPPORTS_RIPPLE) {
68
70
  return;
@@ -143,13 +145,13 @@ export function PlatformPressable({
143
145
  React.useEffect(() => {
144
146
  const element = elementRef.current;
145
147
 
146
- if (rest.href == null || element == null || !disabled) {
148
+ if (rest.href == null || element == null || interactive) {
147
149
  return;
148
150
  }
149
151
 
150
- // On web, a disabled button prevents our onPress from being called
152
+ // On web, a non-interactive button prevents our onPress from being called
151
153
  // But the link is still clickable, and will perform a full page navigation
152
- // So we manually prevent the default behavior of the link when disabled
154
+ // So we manually prevent the default behavior of the link in that case
153
155
  // The `href` is still set so regular link semantics are preserved
154
156
  const preventNavigation = (event: Event) => {
155
157
  event.preventDefault();
@@ -163,7 +165,7 @@ export function PlatformPressable({
163
165
  element.removeEventListener('click', preventNavigation, true);
164
166
  element.removeEventListener('auxclick', preventNavigation, true);
165
167
  };
166
- }, [disabled, rest.href]);
168
+ }, [interactive, rest.href]);
167
169
 
168
170
  let focusable: boolean | undefined;
169
171
 
@@ -182,11 +184,11 @@ export function PlatformPressable({
182
184
  disabled={disabled}
183
185
  focusable={focusable}
184
186
  role={Platform.OS === 'web' && rest.href != null ? 'link' : 'button'}
185
- onPress={disabled ? undefined : handlePress}
186
- onPressIn={disabled ? undefined : handlePressIn}
187
- onPressOut={disabled ? undefined : handlePressOut}
187
+ onPress={interactive ? handlePress : undefined}
188
+ onPressIn={interactive ? handlePressIn : undefined}
189
+ onPressOut={interactive ? handlePressOut : undefined}
188
190
  android_ripple={
189
- ANDROID_SUPPORTS_RIPPLE && !disabled
191
+ ANDROID_SUPPORTS_RIPPLE && interactive
190
192
  ? {
191
193
  color:
192
194
  pressColor !== undefined
@@ -201,18 +203,18 @@ export function PlatformPressable({
201
203
  style={[
202
204
  {
203
205
  cursor:
204
- (Platform.OS === 'web' || Platform.OS === 'ios') && !disabled
206
+ (Platform.OS === 'web' || Platform.OS === 'ios') && interactive
205
207
  ? // Pointer cursor on web
206
208
  // Hover effect on iPad and visionOS
207
209
  'pointer'
208
210
  : 'auto',
209
- opacity: !ANDROID_SUPPORTS_RIPPLE && !disabled ? opacity : 1,
211
+ opacity: !ANDROID_SUPPORTS_RIPPLE && interactive ? opacity : 1,
210
212
  },
211
213
  style,
212
214
  ]}
213
215
  {...rest}
214
216
  >
215
- {!disabled ? <HoverEffect {...hoverEffect} /> : null}
217
+ {interactive ? <HoverEffect {...hoverEffect} /> : null}
216
218
  {children}
217
219
  </AnimatedPressable>
218
220
  );