@react-navigation/native 7.2.5 → 7.3.0
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/NavigationContainer.js +9 -44
- package/lib/module/NavigationContainer.js.map +1 -1
- package/lib/module/UnhandledLinkingContext.js +9 -7
- package/lib/module/UnhandledLinkingContext.js.map +1 -1
- package/lib/module/createStandardNavigationFactories.js +97 -0
- package/lib/module/createStandardNavigationFactories.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/useLinking.js +2 -7
- package/lib/module/useLinking.js.map +1 -1
- package/lib/module/useLinking.native.js +14 -14
- package/lib/module/useLinking.native.js.map +1 -1
- package/lib/module/useMemoArray.js +25 -0
- package/lib/module/useMemoArray.js.map +1 -0
- package/lib/typescript/src/Link.d.ts +1 -1
- package/lib/typescript/src/Link.d.ts.map +1 -1
- package/lib/typescript/src/LinkingContext.d.ts +1 -1
- package/lib/typescript/src/LinkingContext.d.ts.map +1 -1
- package/lib/typescript/src/LocaleDirContext.d.ts +1 -1
- package/lib/typescript/src/LocaleDirContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationContainer.d.ts +1 -1
- package/lib/typescript/src/NavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/ServerContainer.d.ts +2 -2
- package/lib/typescript/src/ServerContainer.d.ts.map +1 -1
- package/lib/typescript/src/UnhandledLinkingContext.d.ts +6 -0
- package/lib/typescript/src/UnhandledLinkingContext.d.ts.map +1 -1
- package/lib/typescript/src/createStandardNavigationFactories.d.ts +47 -0
- package/lib/typescript/src/createStandardNavigationFactories.d.ts.map +1 -0
- package/lib/typescript/src/createStaticNavigation.d.ts +2 -2
- package/lib/typescript/src/createStaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +17 -16
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/useDocumentTitle.d.ts +1 -1
- package/lib/typescript/src/useDocumentTitle.d.ts.map +1 -1
- package/lib/typescript/src/useLinkBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useLinking.d.ts +2 -2
- package/lib/typescript/src/useLinking.d.ts.map +1 -1
- package/lib/typescript/src/useLinking.native.d.ts +2 -2
- package/lib/typescript/src/useLinking.native.d.ts.map +1 -1
- package/lib/typescript/src/useLocale.d.ts +1 -1
- package/lib/typescript/src/useMemoArray.d.ts +2 -0
- package/lib/typescript/src/useMemoArray.d.ts.map +1 -0
- package/package.json +5 -4
- package/src/NavigationContainer.tsx +15 -62
- package/src/UnhandledLinkingContext.tsx +8 -9
- package/src/createStandardNavigationFactories.tsx +294 -0
- package/src/index.tsx +5 -0
- package/src/useLinking.native.tsx +30 -29
- package/src/useLinking.tsx +2 -14
- package/src/useMemoArray.tsx +41 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type DefaultRouterOptions, type EventMapBase, type NavigationAction, type NavigationProp, type NavigatorTypeBagBase, type ParamListBase, type RouterFactory, type StaticConfig, type StaticParamList, type StaticScreenFactory, type TypedNavigator } from '@react-navigation/core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import type { createStandardNavigator } from 'standard-navigation';
|
|
4
|
+
type StandardEventMap<EventMap extends EventMapBase> = {
|
|
5
|
+
[EventName in keyof EventMap]: {
|
|
6
|
+
data: EventMap[EventName] extends {
|
|
7
|
+
data?: infer Data;
|
|
8
|
+
} ? Data extends object | undefined ? Data : object | undefined : undefined;
|
|
9
|
+
canPreventDefault: EventMap[EventName] extends {
|
|
10
|
+
canPreventDefault: true;
|
|
11
|
+
} ? true : false;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
type ActionHelpersOf<T> = T extends Record<string, (...args: never[]) => unknown> ? T : {};
|
|
15
|
+
type StandardNavigationTypeBagFor<TypeBag extends StandardNavigationTypeBagBase, ParamList extends ParamListBase, NavigatorID extends string | undefined = string | undefined> = TypeBag & {
|
|
16
|
+
ParamList: ParamList;
|
|
17
|
+
NavigatorID: NavigatorID;
|
|
18
|
+
};
|
|
19
|
+
type StandardNavigation<TypeBag extends StandardNavigationTypeBagBase> = StandardNavigationTypeBagFor<TypeBag, ParamListBase>['NavigationList'][keyof StandardNavigationTypeBagFor<TypeBag, ParamListBase>['NavigationList']];
|
|
20
|
+
type StandardNavigationPropsMapper<TypeBag extends StandardNavigationTypeBagBase, NavigatorProps extends object> = (props: {
|
|
21
|
+
state: StandardNavigationTypeBagFor<TypeBag, ParamListBase>['State'];
|
|
22
|
+
navigation: StandardNavigation<TypeBag>;
|
|
23
|
+
}) => Partial<NavigatorProps>;
|
|
24
|
+
type StandardNavigationDefaultBag<TypeBag extends StandardNavigationTypeBagBase> = StandardNavigationTypeBagFor<TypeBag, ParamListBase, string | undefined>;
|
|
25
|
+
type StandardNavigationFactories<TypeBag extends StandardNavigationTypeBagBase> = {
|
|
26
|
+
createNavigator: StandardNavigationCreateNavigator<TypeBag>;
|
|
27
|
+
createScreen: StaticScreenFactory<StandardNavigationDefaultBag<TypeBag>>;
|
|
28
|
+
};
|
|
29
|
+
export type StandardNavigationCreateNavigator<TypeBag extends StandardNavigationTypeBagBase> = {
|
|
30
|
+
<const ParamList extends ParamListBase, const NavigatorID extends string | undefined = string | undefined>(): TypedNavigator<StandardNavigationTypeBagFor<TypeBag, ParamList, NavigatorID>, undefined>;
|
|
31
|
+
<const Config extends StaticConfig<StandardNavigationDefaultBag<TypeBag>>>(config: Config & StaticConfig<StandardNavigationDefaultBag<TypeBag>>): TypedNavigator<StandardNavigationTypeBagFor<TypeBag, StaticParamList<{
|
|
32
|
+
config: Config;
|
|
33
|
+
}> & ParamListBase, string | undefined>, Config>;
|
|
34
|
+
};
|
|
35
|
+
export interface StandardNavigationTypeBagBase extends NavigatorTypeBagBase {
|
|
36
|
+
ActionHelpers: {};
|
|
37
|
+
ScreenOptions: {};
|
|
38
|
+
EventMap: EventMapBase;
|
|
39
|
+
RouterOptions: DefaultRouterOptions;
|
|
40
|
+
NavigationList: {
|
|
41
|
+
[RouteName in keyof this['ParamList']]: NavigationProp<this['ParamList'], RouteName, this['NavigatorID'], this['State'], this['ScreenOptions'], this['EventMap']> & ActionHelpersOf<this['ActionHelpers']>;
|
|
42
|
+
};
|
|
43
|
+
Navigator: React.ComponentType<{}>;
|
|
44
|
+
}
|
|
45
|
+
export declare function createStandardNavigationFactories<TypeBag extends StandardNavigationTypeBagBase, NavigatorProps extends object = {}>(navigator: ReturnType<typeof createStandardNavigator<TypeBag['ScreenOptions'], StandardEventMap<TypeBag['EventMap']>, NavigatorProps>>, router: RouterFactory<StandardNavigationTypeBagFor<TypeBag, ParamListBase>['State'], NavigationAction, TypeBag['RouterOptions']>, mapper?: StandardNavigationPropsMapper<TypeBag, NavigatorProps>): StandardNavigationFactories<TypeBag>;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=createStandardNavigationFactories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStandardNavigationFactories.d.ts","sourceRoot":"","sources":["../../../src/createStandardNavigationFactories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type NavigationContainerRef, type ParamListBase, type StaticNavigation } from '@react-navigation/core';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { NavigationContainer } from './NavigationContainer';
|
|
4
|
-
import type { LinkingOptions } from './types';
|
|
3
|
+
import { NavigationContainer } from './NavigationContainer.js';
|
|
4
|
+
import type { LinkingOptions } from './types.js';
|
|
5
5
|
type Props = Omit<React.ComponentProps<typeof NavigationContainer>, 'linking' | 'children'> & {
|
|
6
6
|
/**
|
|
7
7
|
* Options for deep linking.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createStaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/createStaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"createStaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/createStaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAE9C,KAAK,KAAK,GAAG,IAAI,CACf,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,EAChD,SAAS,GAAG,UAAU,CACvB,GAAG;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG;QACpE;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;QAChC;;WAEG;QACH,MAAM,CAAC,EAAE,IAAI,CACX,WAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,EACpD,SAAS,CACV,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,oHA8D3E"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
1
|
+
export { createStandardNavigationFactories, type StandardNavigationCreateNavigator, type StandardNavigationTypeBagBase, } from './createStandardNavigationFactories.js';
|
|
2
|
+
export { createStaticNavigation } from './createStaticNavigation.js';
|
|
3
|
+
export { Link } from './Link.js';
|
|
4
|
+
export { LinkingContext } from './LinkingContext.js';
|
|
5
|
+
export { LocaleDirContext } from './LocaleDirContext.js';
|
|
6
|
+
export { NavigationContainer } from './NavigationContainer.js';
|
|
7
|
+
export { ServerContainer } from './ServerContainer.js';
|
|
8
|
+
export { DarkTheme } from './theming/DarkTheme.js';
|
|
9
|
+
export { DefaultTheme } from './theming/DefaultTheme.js';
|
|
10
|
+
export * from './types.js';
|
|
11
|
+
export { UnhandledLinkingContext as UNSTABLE_UnhandledLinkingContext } from './UnhandledLinkingContext.js';
|
|
12
|
+
export { useLinkBuilder } from './useLinkBuilder.js';
|
|
13
|
+
export { type LinkProps, useLinkProps } from './useLinkProps.js';
|
|
14
|
+
export { useLinkTo } from './useLinkTo.js';
|
|
15
|
+
export { useLocale } from './useLocale.js';
|
|
16
|
+
export { useRoutePath } from './useRoutePath.js';
|
|
17
|
+
export { useScrollToTop } from './useScrollToTop.js';
|
|
17
18
|
export * from '@react-navigation/core';
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,KAAK,iCAAiC,EACtC,KAAK,6BAA6B,GACnC,MAAM,wCAAqC,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA0B,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAQ,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAAwB,CAAC;AACtD,cAAc,YAAS,CAAC;AACxB,OAAO,EAAE,uBAAuB,IAAI,gCAAgC,EAAE,MAAM,8BAA2B,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,SAAS,EAAE,YAAY,EAAE,MAAM,mBAAgB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NavigationContainerRef, ParamListBase } from '@react-navigation/core';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import type { DocumentTitleOptions } from './types';
|
|
3
|
+
import type { DocumentTitleOptions } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Set the document title for the active screen
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentTitle.d.ts","sourceRoot":"","sources":["../../../src/useDocumentTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useDocumentTitle.d.ts","sourceRoot":"","sources":["../../../src/useDocumentTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAS,CAAC;AAEpD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,SAA6D,GAC9D,GAAE,oBAAyB,QAwB7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLinkBuilder.d.ts","sourceRoot":"","sources":["../../../src/useLinkBuilder.tsx"],"names":[],"mappings":"AAkBA;;GAEG;AACH,wBAAgB,YAAY,WAWjB,MAAM,WAAW,MAAM,wBAmEjC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,eAQhB,MAAM;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useLinkBuilder.d.ts","sourceRoot":"","sources":["../../../src/useLinkBuilder.tsx"],"names":[],"mappings":"AAkBA;;GAEG;AACH,wBAAgB,YAAY,WAWjB,MAAM,WAAW,MAAM,wBAmEjC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,eAQhB,MAAM;;;;;;;;;;;;;;;;;;;;;;;cA7FP,CAAC;YAAsB,CAAC;aAAuB,CAAC;WAEnD,CAAC;;;;;;;;cAIwB,CAAC;aAE/B,CAAF;;;;;;;cAOe,CAAA;;;;;;;cAKgD,CAAC;;;;;;;;cAIxD,CAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFJ,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc;sBA1GnB,MAAM,WAAW,MAAM;wBAgFvB,MAAM;;;;;;;;;;;;;;;;;;;;;;;kBA7FP,CAAC;gBAAsB,CAAC;iBAAuB,CAAC;eAEnD,CAAC;;;;;;;;kBAIwB,CAAC;iBAE/B,CAAF;;;;;;;kBAOe,CAAA;;;;;;;kBAKgD,CAAC;;;;;;;;kBAIxD,CAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGJ"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { getStateFromPath as getStateFromPathDefault, type NavigationContainerRef, type ParamListBase } from '@react-navigation/core';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import type { LinkingOptions } from './types';
|
|
3
|
+
import type { LinkingOptions } from './types.js';
|
|
4
4
|
type ResultState = ReturnType<typeof getStateFromPathDefault>;
|
|
5
5
|
/**
|
|
6
6
|
* Run async function in series as it's called.
|
|
7
7
|
*/
|
|
8
8
|
export declare const series: (cb: () => Promise<void>) => () => void;
|
|
9
9
|
type Options = LinkingOptions<ParamListBase>;
|
|
10
|
-
export declare function useLinking(ref: React.RefObject<NavigationContainerRef<ParamListBase> | null>, { enabled, config, getStateFromPath, getPathFromState, getActionFromState, }: Options
|
|
10
|
+
export declare function useLinking(ref: React.RefObject<NavigationContainerRef<ParamListBase> | null>, { enabled, config, getStateFromPath, getPathFromState, getActionFromState, }: Options): {
|
|
11
11
|
getInitialState: () => PromiseLike<ResultState | undefined>;
|
|
12
12
|
};
|
|
13
13
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,IAAI,uBAAuB,EAC3C,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,gBAAgB,IAAI,uBAAuB,EAC3C,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAE9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAuE9D;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,eAO7C,CAAC;AAIF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAE7C,wBAAgB,UAAU,CACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO;2BAsGW,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;EA6R1D"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type NavigationContainerRef, type ParamListBase } from '@react-navigation/core';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import type { LinkingOptions } from './types';
|
|
3
|
+
import type { LinkingOptions } from './types.js';
|
|
4
4
|
type Options = LinkingOptions<ParamListBase>;
|
|
5
|
-
export declare function useLinking(ref: React.RefObject<NavigationContainerRef<ParamListBase> | null>, { enabled, prefixes, filter, config, getInitialURL, subscribe, getStateFromPath, getActionFromState, }: Options
|
|
5
|
+
export declare function useLinking(ref: React.RefObject<NavigationContainerRef<ParamListBase> | null>, { enabled, prefixes, filter, config, getInitialURL, subscribe, getStateFromPath, getActionFromState, }: Options): {
|
|
6
6
|
getInitialState: () => PromiseLike<(Partial<Omit<Readonly<{
|
|
7
7
|
key: string;
|
|
8
8
|
index: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLinking.native.d.ts","sourceRoot":"","sources":["../../../src/useLinking.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useLinking.native.d.ts","sourceRoot":"","sources":["../../../src/useLinking.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAI9C,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAI7C,wBAAgB,UAAU,CACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,QAAQ,EACR,MAAM,EACN,MAAM,EACN,aAQI,EACJ,SAmBC,EACD,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;EAsKX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMemoArray.d.ts","sourceRoot":"","sources":["../../../src/useMemoArray.tsx"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,CAAC,EAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC,EAAE,GAC7C,CAAC,EAAE,CAoCL"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/native",
|
|
3
3
|
"description": "React Native integration for React Navigation",
|
|
4
|
-
"version": "7.
|
|
4
|
+
"version": "7.3.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
7
7
|
"react-navigation",
|
|
@@ -42,10 +42,11 @@
|
|
|
42
42
|
"clean": "del lib"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@react-navigation/core": "^7.
|
|
45
|
+
"@react-navigation/core": "^7.19.0",
|
|
46
46
|
"escape-string-regexp": "^4.0.0",
|
|
47
47
|
"fast-deep-equal": "^3.1.3",
|
|
48
48
|
"nanoid": "^3.3.11",
|
|
49
|
+
"standard-navigation": "^0.0.7",
|
|
49
50
|
"use-latest-callback": "^0.2.4"
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|
|
@@ -57,7 +58,7 @@
|
|
|
57
58
|
"react": "19.1.0",
|
|
58
59
|
"react-dom": "19.1.0",
|
|
59
60
|
"react-native": "0.81.5",
|
|
60
|
-
"react-native-builder-bob": "^0.
|
|
61
|
+
"react-native-builder-bob": "^0.42.1",
|
|
61
62
|
"react-test-renderer": "19.1.0",
|
|
62
63
|
"typescript": "^5.9.2"
|
|
63
64
|
},
|
|
@@ -83,5 +84,5 @@
|
|
|
83
84
|
]
|
|
84
85
|
]
|
|
85
86
|
},
|
|
86
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "dd325d641ccae08a61fd25710270abb85865482f"
|
|
87
88
|
}
|
|
@@ -5,14 +5,12 @@ import {
|
|
|
5
5
|
getStateFromPath,
|
|
6
6
|
type NavigationContainerProps,
|
|
7
7
|
type NavigationContainerRef,
|
|
8
|
-
type NavigationState,
|
|
9
8
|
type ParamListBase,
|
|
10
9
|
ThemeProvider,
|
|
11
10
|
validatePathConfig,
|
|
12
11
|
} from '@react-navigation/core';
|
|
13
12
|
import * as React from 'react';
|
|
14
13
|
import { I18nManager } from 'react-native';
|
|
15
|
-
import useLatestCallback from 'use-latest-callback';
|
|
16
14
|
|
|
17
15
|
import { LinkingContext } from './LinkingContext';
|
|
18
16
|
import { LocaleDirContext } from './LocaleDirContext';
|
|
@@ -22,7 +20,6 @@ import type {
|
|
|
22
20
|
LinkingOptions,
|
|
23
21
|
LocaleDirection,
|
|
24
22
|
} from './types';
|
|
25
|
-
import { UnhandledLinkingContext } from './UnhandledLinkingContext';
|
|
26
23
|
import { useBackButton } from './useBackButton';
|
|
27
24
|
import { useDocumentTitle } from './useDocumentTitle';
|
|
28
25
|
import { useLinking } from './useLinking';
|
|
@@ -77,8 +74,6 @@ function NavigationContainerInner(
|
|
|
77
74
|
linking,
|
|
78
75
|
fallback = null,
|
|
79
76
|
documentTitle,
|
|
80
|
-
onReady,
|
|
81
|
-
onStateChange,
|
|
82
77
|
...rest
|
|
83
78
|
}: Props<ParamListBase>,
|
|
84
79
|
ref?: React.Ref<NavigationContainerRef<ParamListBase> | null>
|
|
@@ -95,52 +90,14 @@ function NavigationContainerInner(
|
|
|
95
90
|
useBackButton(refContainer);
|
|
96
91
|
useDocumentTitle(refContainer, documentTitle);
|
|
97
92
|
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
refContainer,
|
|
104
|
-
{
|
|
105
|
-
enabled: isLinkingEnabled,
|
|
106
|
-
prefixes: [],
|
|
107
|
-
...linking,
|
|
108
|
-
},
|
|
109
|
-
setLastUnhandledLink
|
|
110
|
-
);
|
|
93
|
+
const { getInitialState } = useLinking(refContainer, {
|
|
94
|
+
enabled: isLinkingEnabled,
|
|
95
|
+
prefixes: [],
|
|
96
|
+
...linking,
|
|
97
|
+
});
|
|
111
98
|
|
|
112
99
|
const linkingContext = React.useMemo(() => ({ options: linking }), [linking]);
|
|
113
100
|
|
|
114
|
-
const unhandledLinkingContext = React.useMemo(
|
|
115
|
-
() => ({ lastUnhandledLink, setLastUnhandledLink }),
|
|
116
|
-
[lastUnhandledLink, setLastUnhandledLink]
|
|
117
|
-
);
|
|
118
|
-
|
|
119
|
-
const onReadyForLinkingHandling = useLatestCallback(() => {
|
|
120
|
-
// If the screen path matches lastUnhandledLink, we do not track it
|
|
121
|
-
const path = refContainer.current?.getCurrentRoute()?.path;
|
|
122
|
-
setLastUnhandledLink((previousLastUnhandledLink) => {
|
|
123
|
-
if (previousLastUnhandledLink === path) {
|
|
124
|
-
return undefined;
|
|
125
|
-
}
|
|
126
|
-
return previousLastUnhandledLink;
|
|
127
|
-
});
|
|
128
|
-
onReady?.();
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
const onStateChangeForLinkingHandling = useLatestCallback(
|
|
132
|
-
(state: Readonly<NavigationState> | undefined) => {
|
|
133
|
-
// If the screen path matches lastUnhandledLink, we do not track it
|
|
134
|
-
const path = refContainer.current?.getCurrentRoute()?.path;
|
|
135
|
-
setLastUnhandledLink((previousLastUnhandledLink) => {
|
|
136
|
-
if (previousLastUnhandledLink === path) {
|
|
137
|
-
return undefined;
|
|
138
|
-
}
|
|
139
|
-
return previousLastUnhandledLink;
|
|
140
|
-
});
|
|
141
|
-
onStateChange?.(state);
|
|
142
|
-
}
|
|
143
|
-
);
|
|
144
101
|
// Add additional linking related info to the ref
|
|
145
102
|
// This will be used by the devtools
|
|
146
103
|
React.useEffect(() => {
|
|
@@ -180,20 +137,16 @@ function NavigationContainerInner(
|
|
|
180
137
|
|
|
181
138
|
return (
|
|
182
139
|
<LocaleDirContext.Provider value={direction}>
|
|
183
|
-
<
|
|
184
|
-
<
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
ref={refContainer}
|
|
194
|
-
/>
|
|
195
|
-
</LinkingContext.Provider>
|
|
196
|
-
</UnhandledLinkingContext.Provider>
|
|
140
|
+
<LinkingContext.Provider value={linkingContext}>
|
|
141
|
+
<BaseNavigationContainer
|
|
142
|
+
{...rest}
|
|
143
|
+
theme={theme}
|
|
144
|
+
initialState={
|
|
145
|
+
rest.initialState == null ? initialState : rest.initialState
|
|
146
|
+
}
|
|
147
|
+
ref={refContainer}
|
|
148
|
+
/>
|
|
149
|
+
</LinkingContext.Provider>
|
|
197
150
|
</LocaleDirContext.Provider>
|
|
198
151
|
);
|
|
199
152
|
}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
/**
|
|
4
|
+
* This is unused, and currently does nothing.
|
|
5
|
+
* But left as an export to avoid breaking consumers who might be using it.
|
|
6
|
+
*
|
|
7
|
+
* @deprecated
|
|
8
|
+
*/
|
|
6
9
|
export const UnhandledLinkingContext = React.createContext<{
|
|
7
10
|
lastUnhandledLink: string | undefined;
|
|
8
11
|
setLastUnhandledLink: (lastUnhandledUrl: string | undefined) => void;
|
|
9
12
|
}>({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
get setLastUnhandledLink(): any {
|
|
14
|
-
throw new Error(MISSING_CONTEXT_ERROR);
|
|
15
|
-
},
|
|
13
|
+
lastUnhandledLink: undefined,
|
|
14
|
+
setLastUnhandledLink: () => {},
|
|
16
15
|
});
|
|
17
16
|
|
|
18
17
|
UnhandledLinkingContext.displayName = 'UnhandledLinkingContext';
|