@react-navigation/elements 3.0.0-alpha.18 → 3.0.0-alpha.19

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.
@@ -25,6 +25,7 @@ function ButtonLink({
25
25
  params,
26
26
  action,
27
27
  href,
28
+ onPress,
28
29
  ...rest
29
30
  }) {
30
31
  // @ts-expect-error: This is already type-checked by the prop types
@@ -36,7 +37,13 @@ function ButtonLink({
36
37
  });
37
38
  return /*#__PURE__*/_jsx(ButtonBase, {
38
39
  ...rest,
39
- ...props
40
+ ...props,
41
+ onPress: e => {
42
+ onPress?.(e);
43
+ if (!e.defaultPrevented) {
44
+ props.onPress?.(e);
45
+ }
46
+ }
40
47
  });
41
48
  }
42
49
  function ButtonBase({
@@ -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","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":[]}
1
+ {"version":3,"names":["useLinkProps","useTheme","React","Platform","StyleSheet","Color","PlatformPressable","Text","jsx","_jsx","BUTTON_RADIUS","Button","props","ButtonLink","ButtonBase","screen","params","action","href","onPress","rest","e","defaultPrevented","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":[]}
@@ -7,7 +7,7 @@ type ButtonBaseProps = Omit<PlatformPressableProps, 'children'> & {
7
7
  color?: ColorValue | undefined;
8
8
  children: string | string[];
9
9
  };
10
- type ButtonLinkProps<ParamList extends {} = RootParamList, RouteName extends keyof ParamList = keyof ParamList> = LinkProps<ParamList, RouteName> & Omit<ButtonBaseProps, 'onPress'>;
10
+ type ButtonLinkProps<ParamList extends {} = RootParamList, RouteName extends keyof ParamList = keyof ParamList> = LinkProps<ParamList, RouteName> & ButtonBaseProps;
11
11
  export declare function Button<ParamList extends {} = RootParamList, RouteName extends keyof ParamList = keyof ParamList>(props: ButtonLinkProps<ParamList, RouteName>): React.JSX.Element;
12
12
  export declare function Button(props: ButtonBaseProps): React.JSX.Element;
13
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAGnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,cAAc,CAAC;AAGrE,OAAO,EAEL,KAAK,KAAK,IAAI,sBAAsB,EACrC,MAAM,qBAAqB,CAAC;AAG7B,KAAK,eAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,GAAG;IAChE,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,eAAe,CAClB,SAAS,SAAS,EAAE,GAAG,aAAa,EACpC,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAIvE,wBAAgB,MAAM,CACpB,SAAS,SAAS,EAAE,GAAG,aAAa,EACpC,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,EACnD,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AAEnE,wBAAgB,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,aAAa,EAGnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,cAAc,CAAC;AAGrE,OAAO,EAEL,KAAK,KAAK,IAAI,sBAAsB,EACrC,MAAM,qBAAqB,CAAC;AAG7B,KAAK,eAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,GAAG;IAChE,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,eAAe,CAClB,SAAS,SAAS,EAAE,GAAG,aAAa,EACpC,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,IACjD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC;AAItD,wBAAgB,MAAM,CACpB,SAAS,SAAS,EAAE,GAAG,aAAa,EACpC,SAAS,SAAS,MAAM,SAAS,GAAG,MAAM,SAAS,EACnD,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AAEnE,wBAAgB,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC"}
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.18",
4
+ "version": "3.0.0-alpha.19",
5
5
  "keywords": [
6
6
  "react-native",
7
7
  "react-navigation",
@@ -93,5 +93,5 @@
93
93
  ]
94
94
  ]
95
95
  },
96
- "gitHead": "2e3c1f2571a3fdfcb47245e963633cd34a42ccff"
96
+ "gitHead": "71f3b00d579a18e8a67d96722862deddc876a3f7"
97
97
  }
package/src/Button.tsx CHANGED
@@ -23,7 +23,7 @@ type ButtonBaseProps = Omit<PlatformPressableProps, 'children'> & {
23
23
  type ButtonLinkProps<
24
24
  ParamList extends {} = RootParamList,
25
25
  RouteName extends keyof ParamList = keyof ParamList,
26
- > = LinkProps<ParamList, RouteName> & Omit<ButtonBaseProps, 'onPress'>;
26
+ > = LinkProps<ParamList, RouteName> & ButtonBaseProps;
27
27
 
28
28
  const BUTTON_RADIUS = 40;
29
29
 
@@ -54,12 +54,25 @@ function ButtonLink<
54
54
  params,
55
55
  action,
56
56
  href,
57
+ onPress,
57
58
  ...rest
58
59
  }: ButtonLinkProps<ParamList, RouteName>) {
59
60
  // @ts-expect-error: This is already type-checked by the prop types
60
61
  const props = useLinkProps({ screen, params, action, href });
61
62
 
62
- return <ButtonBase {...rest} {...props} />;
63
+ return (
64
+ <ButtonBase
65
+ {...rest}
66
+ {...props}
67
+ onPress={(e) => {
68
+ onPress?.(e);
69
+
70
+ if (!e.defaultPrevented) {
71
+ props.onPress?.(e);
72
+ }
73
+ }}
74
+ />
75
+ );
63
76
  }
64
77
 
65
78
  function ButtonBase({