@react-navigation/native 7.0.0-alpha.4 → 7.0.0-alpha.6
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/commonjs/Link.js +13 -5
- package/lib/commonjs/Link.js.map +1 -1
- package/lib/commonjs/LinkingContext.js +7 -5
- package/lib/commonjs/LinkingContext.js.map +1 -1
- package/lib/commonjs/LocaleDirContext.js +3 -4
- package/lib/commonjs/LocaleDirContext.js.map +1 -1
- package/lib/commonjs/NavigationContainer.js +48 -14
- package/lib/commonjs/NavigationContainer.js.map +1 -1
- package/lib/commonjs/ServerContainer.js +3 -4
- package/lib/commonjs/ServerContainer.js.map +1 -1
- package/lib/commonjs/ServerContext.js +3 -4
- package/lib/commonjs/ServerContext.js.map +1 -1
- package/lib/commonjs/UnhandledLinkingContext.js +20 -0
- package/lib/commonjs/UnhandledLinkingContext.js.map +1 -0
- package/lib/commonjs/__stubs__/createStackNavigator.js +19 -0
- package/lib/commonjs/__stubs__/createStackNavigator.js.map +1 -0
- package/lib/commonjs/__stubs__/window.js +79 -0
- package/lib/commonjs/__stubs__/window.js.map +1 -0
- package/lib/commonjs/createMemoryHistory.js +4 -7
- package/lib/commonjs/createMemoryHistory.js.map +1 -1
- package/lib/commonjs/createStaticNavigation.js +2 -2
- package/lib/commonjs/createStaticNavigation.js.map +1 -1
- package/lib/commonjs/extractPathFromURL.js +1 -2
- package/lib/commonjs/extractPathFromURL.js.map +1 -1
- package/lib/commonjs/index.js +9 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/theming/DarkTheme.js +1 -2
- package/lib/commonjs/theming/DarkTheme.js.map +1 -1
- package/lib/commonjs/theming/DefaultTheme.js +1 -2
- package/lib/commonjs/theming/DefaultTheme.js.map +1 -1
- package/lib/commonjs/theming/ThemeContext.js +3 -4
- package/lib/commonjs/theming/ThemeContext.js.map +1 -1
- package/lib/commonjs/theming/ThemeProvider.js +2 -2
- package/lib/commonjs/theming/ThemeProvider.js.map +1 -1
- package/lib/commonjs/theming/fonts.js +1 -2
- package/lib/commonjs/theming/fonts.js.map +1 -1
- package/lib/commonjs/theming/useTheme.js +2 -2
- package/lib/commonjs/theming/useTheme.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useBackButton.js.map +1 -1
- package/lib/commonjs/useBackButton.native.js +2 -2
- package/lib/commonjs/useBackButton.native.js.map +1 -1
- package/lib/commonjs/useDocumentTitle.js +5 -5
- package/lib/commonjs/useDocumentTitle.js.map +1 -1
- package/lib/commonjs/useDocumentTitle.native.js.map +1 -1
- package/lib/commonjs/useLinkProps.js +20 -23
- package/lib/commonjs/useLinkProps.js.map +1 -1
- package/lib/commonjs/useLinkTools.js +6 -6
- package/lib/commonjs/useLinkTools.js.map +1 -1
- package/lib/commonjs/useLinking.js +26 -13
- package/lib/commonjs/useLinking.js.map +1 -1
- package/lib/commonjs/useLinking.native.js +30 -23
- package/lib/commonjs/useLinking.native.js.map +1 -1
- package/lib/commonjs/useLocale.js +2 -2
- package/lib/commonjs/useLocale.js.map +1 -1
- package/lib/commonjs/useScrollToTop.js +4 -4
- package/lib/commonjs/useScrollToTop.js.map +1 -1
- package/lib/commonjs/useThenable.js +3 -2
- package/lib/commonjs/useThenable.js.map +1 -1
- package/lib/commonjs/useUnhandledLinking.js +74 -0
- package/lib/commonjs/useUnhandledLinking.js.map +1 -0
- package/lib/module/Link.js +11 -3
- package/lib/module/Link.js.map +1 -1
- package/lib/module/LinkingContext.js +4 -1
- package/lib/module/LinkingContext.js.map +1 -1
- package/lib/module/LocaleDirContext.js.map +1 -1
- package/lib/module/NavigationContainer.js +44 -10
- package/lib/module/NavigationContainer.js.map +1 -1
- package/lib/module/ServerContainer.js.map +1 -1
- package/lib/module/ServerContext.js.map +1 -1
- package/lib/module/UnhandledLinkingContext.js +12 -0
- package/lib/module/UnhandledLinkingContext.js.map +1 -0
- package/lib/module/__stubs__/createStackNavigator.js +11 -0
- package/lib/module/__stubs__/createStackNavigator.js.map +1 -0
- package/lib/module/__stubs__/window.js +73 -0
- package/lib/module/__stubs__/window.js.map +1 -0
- package/lib/module/createMemoryHistory.js +4 -7
- package/lib/module/createMemoryHistory.js.map +1 -1
- package/lib/module/createStaticNavigation.js.map +1 -1
- package/lib/module/extractPathFromURL.js +1 -2
- package/lib/module/extractPathFromURL.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/theming/DarkTheme.js.map +1 -1
- package/lib/module/theming/DefaultTheme.js.map +1 -1
- package/lib/module/theming/ThemeContext.js.map +1 -1
- package/lib/module/theming/ThemeProvider.js.map +1 -1
- package/lib/module/theming/fonts.js.map +1 -1
- package/lib/module/theming/useTheme.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/useBackButton.js.map +1 -1
- package/lib/module/useBackButton.native.js.map +1 -1
- package/lib/module/useDocumentTitle.js +3 -3
- package/lib/module/useDocumentTitle.js.map +1 -1
- package/lib/module/useDocumentTitle.native.js.map +1 -1
- package/lib/module/useLinkProps.js +18 -21
- package/lib/module/useLinkProps.js.map +1 -1
- package/lib/module/useLinkTools.js +4 -4
- package/lib/module/useLinkTools.js.map +1 -1
- package/lib/module/useLinking.js +24 -11
- package/lib/module/useLinking.js.map +1 -1
- package/lib/module/useLinking.native.js +28 -21
- package/lib/module/useLinking.native.js.map +1 -1
- package/lib/module/useLocale.js.map +1 -1
- package/lib/module/useScrollToTop.js +2 -2
- package/lib/module/useScrollToTop.js.map +1 -1
- package/lib/module/useThenable.js +1 -0
- package/lib/module/useThenable.js.map +1 -1
- package/lib/module/useUnhandledLinking.js +67 -0
- package/lib/module/useUnhandledLinking.js.map +1 -0
- package/lib/typescript/src/Link.d.ts +3 -3
- package/lib/typescript/src/Link.d.ts.map +1 -1
- package/lib/typescript/src/LinkingContext.d.ts +2 -2
- package/lib/typescript/src/LinkingContext.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 +1 -1
- 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 -0
- package/lib/typescript/src/{__mocks__ → __stubs__}/createStackNavigator.d.ts +5 -4
- package/lib/typescript/src/__stubs__/createStackNavigator.d.ts.map +1 -0
- package/lib/typescript/src/{__mocks__ → __stubs__}/window.d.ts +1 -1
- package/lib/typescript/src/{__mocks__ → __stubs__}/window.d.ts.map +1 -1
- 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 +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeProvider.d.ts +1 -1
- package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -1
- package/lib/typescript/src/useLinkProps.d.ts +2 -2
- package/lib/typescript/src/useLinkProps.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/useThenable.d.ts.map +1 -1
- package/lib/typescript/src/useUnhandledLinking.d.ts +7 -0
- package/lib/typescript/src/useUnhandledLinking.d.ts.map +1 -0
- package/package.json +12 -12
- package/src/Link.tsx +11 -2
- package/src/LinkingContext.tsx +8 -3
- package/src/NavigationContainer.tsx +68 -20
- package/src/ServerContainer.tsx +1 -1
- package/src/UnhandledLinkingContext.tsx +18 -0
- package/src/{__mocks__ → __stubs__}/window.tsx +7 -5
- package/src/createStaticNavigation.tsx +2 -2
- package/src/index.tsx +1 -0
- package/src/useLinkProps.tsx +20 -19
- package/src/useLinkTools.tsx +3 -3
- package/src/useLinking.native.tsx +26 -20
- package/src/useLinking.tsx +33 -12
- package/src/useScrollToTop.tsx +4 -4
- package/src/useThenable.tsx +1 -0
- package/src/useUnhandledLinking.tsx +90 -0
- package/lib/typescript/src/__mocks__/createStackNavigator.d.ts.map +0 -1
- /package/src/{__mocks__ → __stubs__}/createStackNavigator.tsx +0 -0
|
@@ -27,7 +27,7 @@ export function useLinkTools() {
|
|
|
27
27
|
const {
|
|
28
28
|
options
|
|
29
29
|
} = linking;
|
|
30
|
-
if (
|
|
30
|
+
if (options?.enabled === false) {
|
|
31
31
|
return undefined;
|
|
32
32
|
}
|
|
33
33
|
const state = navigation ? getRootStateForNavigate(navigation, {
|
|
@@ -46,7 +46,7 @@ export function useLinkTools() {
|
|
|
46
46
|
params
|
|
47
47
|
}]
|
|
48
48
|
};
|
|
49
|
-
const path = options
|
|
49
|
+
const path = options?.getPathFromState ? options.getPathFromState(state, options?.config) : getPathFromState(state, options?.config);
|
|
50
50
|
return path;
|
|
51
51
|
}, [linking, navigation]);
|
|
52
52
|
const buildAction = React.useCallback(href => {
|
|
@@ -56,9 +56,9 @@ export function useLinkTools() {
|
|
|
56
56
|
const {
|
|
57
57
|
options
|
|
58
58
|
} = linking;
|
|
59
|
-
const state = options
|
|
59
|
+
const state = options?.getStateFromPath ? options.getStateFromPath(href, options.config) : getStateFromPath(href, options?.config);
|
|
60
60
|
if (state) {
|
|
61
|
-
const action = getActionFromState(state, options
|
|
61
|
+
const action = getActionFromState(state, options?.config);
|
|
62
62
|
return action ?? CommonActions.reset(state);
|
|
63
63
|
} else {
|
|
64
64
|
throw new Error('Failed to parse the path to a navigation state.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CommonActions","getActionFromState","getPathFromState","getStateFromPath","NavigationHelpersContext","React","LinkingContext","getRootStateForNavigate","navigation","state","parent","getParent","parentState","getState","index","routes","useLinkTools","useContext","linking","buildHref","useCallback","name","params","options","enabled","undefined","path","config","buildAction","href","startsWith","Error","action","reset"],"sourceRoot":"../../src","sources":["useLinkTools.tsx"],"mappings":"AAAA,SACEA,aAAa,EACbC,kBAAkB,EAClBC,gBAAgB,EAChBC,gBAAgB,EAEhBC,wBAAwB,QAGnB,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,cAAc,QAAQ,kBAAkB;AAWjD,MAAMC,uBAAuB,
|
|
1
|
+
{"version":3,"names":["CommonActions","getActionFromState","getPathFromState","getStateFromPath","NavigationHelpersContext","React","LinkingContext","getRootStateForNavigate","navigation","state","parent","getParent","parentState","getState","index","routes","useLinkTools","useContext","linking","buildHref","useCallback","name","params","options","enabled","undefined","path","config","buildAction","href","startsWith","Error","action","reset"],"sourceRoot":"../../src","sources":["useLinkTools.tsx"],"mappings":"AAAA,SACEA,aAAa,EACbC,kBAAkB,EAClBC,gBAAgB,EAChBC,gBAAgB,EAEhBC,wBAAwB,QAGnB,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,cAAc,QAAQ,kBAAkB;AAWjD,MAAMC,uBAAuB,GAAGA,CAC9BC,UAA4B,EAC5BC,KAAmB,KACF;EACjB,MAAMC,MAAM,GAAGF,UAAU,CAACG,SAAS,CAAC,CAAC;EAErC,IAAID,MAAM,EAAE;IACV,MAAME,WAAW,GAAGF,MAAM,CAACG,QAAQ,CAAC,CAAC;IAErC,OAAON,uBAAuB,CAACG,MAAM,EAAE;MACrCI,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CACN;QACE,GAAGH,WAAW,CAACG,MAAM,CAACH,WAAW,CAACE,KAAK,CAAC;QACxCL,KAAK,EAAEA;MACT,CAAC;IAEL,CAAC,CAAC;EACJ;EAEA,OAAOA,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,SAASO,YAAYA,CAAA,EAAG;EAC7B,MAAMR,UAAU,GAAGH,KAAK,CAACY,UAAU,CAACb,wBAAwB,CAAC;EAC7D,MAAMc,OAAO,GAAGb,KAAK,CAACY,UAAU,CAACX,cAAc,CAAC;EAEhD,MAAMa,SAAS,GAAGd,KAAK,CAACe,WAAW,CACjC,CAACC,IAAY,EAAEC,MAAe,KAAK;IACjC,MAAM;MAAEC;IAAQ,CAAC,GAAGL,OAAO;IAE3B,IAAIK,OAAO,EAAEC,OAAO,KAAK,KAAK,EAAE;MAC9B,OAAOC,SAAS;IAClB;IAEA,MAAMhB,KAAK,GAAGD,UAAU,GACpBD,uBAAuB,CAACC,UAAU,EAAE;MAClCM,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;QAAEM,IAAI;QAAEC;MAAO,CAAC;IAC3B,CAAC,CAAC;IACF;IACA;IACA;MACER,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;QAAEM,IAAI;QAAEC;MAAO,CAAC;IAC3B,CAAC;IAEL,MAAMI,IAAI,GAAGH,OAAO,EAAErB,gBAAgB,GAClCqB,OAAO,CAACrB,gBAAgB,CAACO,KAAK,EAAEc,OAAO,EAAEI,MAAM,CAAC,GAChDzB,gBAAgB,CAACO,KAAK,EAAEc,OAAO,EAAEI,MAAM,CAAC;IAE5C,OAAOD,IAAI;EACb,CAAC,EACD,CAACR,OAAO,EAAEV,UAAU,CACtB,CAAC;EAED,MAAMoB,WAAW,GAAGvB,KAAK,CAACe,WAAW,CAClCS,IAAY,IAAK;IAChB,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;MACzB,MAAM,IAAIC,KAAK,CAAE,iCAAgCF,IAAK,IAAG,CAAC;IAC5D;IAEA,MAAM;MAAEN;IAAQ,CAAC,GAAGL,OAAO;IAE3B,MAAMT,KAAK,GAAGc,OAAO,EAAEpB,gBAAgB,GACnCoB,OAAO,CAACpB,gBAAgB,CAAC0B,IAAI,EAAEN,OAAO,CAACI,MAAM,CAAC,GAC9CxB,gBAAgB,CAAC0B,IAAI,EAAEN,OAAO,EAAEI,MAAM,CAAC;IAE3C,IAAIlB,KAAK,EAAE;MACT,MAAMuB,MAAM,GAAG/B,kBAAkB,CAACQ,KAAK,EAAEc,OAAO,EAAEI,MAAM,CAAC;MAEzD,OAAOK,MAAM,IAAIhC,aAAa,CAACiC,KAAK,CAACxB,KAAK,CAAC;IAC7C,CAAC,MAAM;MACL,MAAM,IAAIsB,KAAK,CAAC,iDAAiD,CAAC;IACpE;EACF,CAAC,EACD,CAACb,OAAO,CACV,CAAC;EAED,OAAO;IACLC,SAAS;IACTS;EACF,CAAC;AACH"}
|
package/lib/module/useLinking.js
CHANGED
|
@@ -37,12 +37,13 @@ const findMatchingState = (a, b) => {
|
|
|
37
37
|
export const series = cb => {
|
|
38
38
|
let queue = Promise.resolve();
|
|
39
39
|
const callback = () => {
|
|
40
|
+
// eslint-disable-next-line promise/no-callback-in-promise
|
|
40
41
|
queue = queue.then(cb);
|
|
41
42
|
};
|
|
42
43
|
return callback;
|
|
43
44
|
};
|
|
44
|
-
|
|
45
|
-
export function useLinking(ref, _ref) {
|
|
45
|
+
const linkingHandlers = [];
|
|
46
|
+
export function useLinking(ref, _ref, onUnhandledLinking) {
|
|
46
47
|
let {
|
|
47
48
|
enabled = true,
|
|
48
49
|
config,
|
|
@@ -89,15 +90,25 @@ export function useLinking(ref, _ref) {
|
|
|
89
90
|
getPathFromStateRef.current = getPathFromState;
|
|
90
91
|
getActionFromStateRef.current = getActionFromState;
|
|
91
92
|
});
|
|
93
|
+
const validateRoutesNotExistInRootState = React.useCallback(state => {
|
|
94
|
+
const navigation = ref.current;
|
|
95
|
+
const rootState = navigation?.getRootState();
|
|
96
|
+
// Make sure that the routes in the state exist in the root navigator
|
|
97
|
+
// Otherwise there's an error in the linking configuration
|
|
98
|
+
return state?.routes.some(r => !rootState?.routeNames.includes(r.name));
|
|
99
|
+
}, [ref]);
|
|
92
100
|
const server = React.useContext(ServerContext);
|
|
93
101
|
const getInitialState = React.useCallback(() => {
|
|
94
102
|
let value;
|
|
95
103
|
if (enabledRef.current) {
|
|
96
|
-
const location =
|
|
104
|
+
const location = server?.location ?? (typeof window !== 'undefined' ? window.location : undefined);
|
|
97
105
|
const path = location ? location.pathname + location.search : undefined;
|
|
98
106
|
if (path) {
|
|
99
107
|
value = getStateFromPathRef.current(path, configRef.current);
|
|
100
108
|
}
|
|
109
|
+
|
|
110
|
+
// If the link were handled, it gets cleared in NavigationContainer
|
|
111
|
+
onUnhandledLinking(path);
|
|
101
112
|
}
|
|
102
113
|
const thenable = {
|
|
103
114
|
then(onfulfilled) {
|
|
@@ -120,6 +131,9 @@ export function useLinking(ref, _ref) {
|
|
|
120
131
|
if (!navigation || !enabled) {
|
|
121
132
|
return;
|
|
122
133
|
}
|
|
134
|
+
const {
|
|
135
|
+
location
|
|
136
|
+
} = window;
|
|
123
137
|
const path = location.pathname + location.search;
|
|
124
138
|
const index = history.index;
|
|
125
139
|
const previousIndex = previousIndexRef.current ?? 0;
|
|
@@ -130,7 +144,7 @@ export function useLinking(ref, _ref) {
|
|
|
130
144
|
// If it does we'll reset to that state object
|
|
131
145
|
// Otherwise, we'll handle it like a regular deep link
|
|
132
146
|
const record = history.get(index);
|
|
133
|
-
if (
|
|
147
|
+
if (record?.path === path && record?.state) {
|
|
134
148
|
navigation.resetRoot(record.state);
|
|
135
149
|
return;
|
|
136
150
|
}
|
|
@@ -139,11 +153,11 @@ export function useLinking(ref, _ref) {
|
|
|
139
153
|
// We should only dispatch an action when going forward
|
|
140
154
|
// Otherwise the action will likely add items to history, which would mess things up
|
|
141
155
|
if (state) {
|
|
156
|
+
// If the link were handled, it gets cleared in NavigationContainer
|
|
157
|
+
onUnhandledLinking(path);
|
|
142
158
|
// Make sure that the routes in the state exist in the root navigator
|
|
143
159
|
// Otherwise there's an error in the linking configuration
|
|
144
|
-
|
|
145
|
-
if (state.routes.some(r => !(rootState !== null && rootState !== void 0 && rootState.routeNames.includes(r.name)))) {
|
|
146
|
-
console.warn("The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.");
|
|
160
|
+
if (validateRoutesNotExistInRootState(state)) {
|
|
147
161
|
return;
|
|
148
162
|
}
|
|
149
163
|
if (index > previousIndex) {
|
|
@@ -167,16 +181,15 @@ export function useLinking(ref, _ref) {
|
|
|
167
181
|
navigation.resetRoot(state);
|
|
168
182
|
}
|
|
169
183
|
});
|
|
170
|
-
}, [enabled, history, ref]);
|
|
184
|
+
}, [enabled, history, onUnhandledLinking, ref, validateRoutesNotExistInRootState]);
|
|
171
185
|
React.useEffect(() => {
|
|
172
|
-
var _ref$current;
|
|
173
186
|
if (!enabled) {
|
|
174
187
|
return;
|
|
175
188
|
}
|
|
176
189
|
const getPathForRoute = (route, state) => {
|
|
177
190
|
// If the `route` object contains a `path`, use that path as long as `route.name` and `params` still match
|
|
178
191
|
// This makes sure that we preserve the original URL for wildcard routes
|
|
179
|
-
if (route
|
|
192
|
+
if (route?.path) {
|
|
180
193
|
const stateForPath = getStateFromPathRef.current(route.path, configRef.current);
|
|
181
194
|
if (stateForPath) {
|
|
182
195
|
const focusedRoute = findFocusedRoute(stateForPath);
|
|
@@ -284,7 +297,7 @@ export function useLinking(ref, _ref) {
|
|
|
284
297
|
// We debounce onStateChange coz we don't want multiple state changes to be handled at one time
|
|
285
298
|
// This could happen since `history.go(n)` is asynchronous
|
|
286
299
|
// If `pushState` or `replaceState` were called before `history.go(n)` completes, it'll mess stuff up
|
|
287
|
-
return
|
|
300
|
+
return ref.current?.addListener('state', series(onStateChange));
|
|
288
301
|
}, [enabled, history, ref]);
|
|
289
302
|
return {
|
|
290
303
|
getInitialState
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","enabled","config","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","server","useContext","getInitialState","useCallback","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","navigation","previousIndex","record","get","resetRoot","rootState","getRootState","some","r","routeNames","includes","name","warn","action","dispatch","e","message","getPathForRoute","route","stateForPath","focusedRoute","params","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","_ref","onUnhandledLinking","enabled","config","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","r","routeNames","includes","name","server","useContext","getInitialState","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","record","get","resetRoot","action","dispatch","e","warn","message","getPathForRoute","route","stateForPath","focusedRoute","params","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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"}
|
|
@@ -2,19 +2,19 @@ import { getActionFromState as getActionFromStateDefault, getStateFromPath as ge
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { Linking, Platform } from 'react-native';
|
|
4
4
|
import { extractPathFromURL } from './extractPathFromURL';
|
|
5
|
-
|
|
6
|
-
export function useLinking(ref, _ref) {
|
|
5
|
+
const linkingHandlers = [];
|
|
6
|
+
export function useLinking(ref, _ref, onUnhandledLinking) {
|
|
7
7
|
let {
|
|
8
8
|
enabled = true,
|
|
9
9
|
prefixes,
|
|
10
10
|
filter,
|
|
11
11
|
config,
|
|
12
|
-
getInitialURL = () => Promise.race([Linking.getInitialURL(), new Promise(resolve =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
getInitialURL = () => Promise.race([Linking.getInitialURL(), new Promise(resolve => {
|
|
13
|
+
// Timeout in 150ms if `getInitialState` doesn't resolve
|
|
14
|
+
// Workaround for https://github.com/facebook/react-native/issues/25675
|
|
15
|
+
setTimeout(resolve, 150);
|
|
16
|
+
})]),
|
|
16
17
|
subscribe = listener => {
|
|
17
|
-
var _Linking$removeEventL;
|
|
18
18
|
const callback = _ref2 => {
|
|
19
19
|
let {
|
|
20
20
|
url
|
|
@@ -25,13 +25,13 @@ export function useLinking(ref, _ref) {
|
|
|
25
25
|
|
|
26
26
|
// Storing this in a local variable stops Jest from complaining about import after teardown
|
|
27
27
|
// @ts-expect-error: removeEventListener is not present in newer RN versions
|
|
28
|
-
const removeEventListener =
|
|
28
|
+
const removeEventListener = Linking.removeEventListener?.bind(Linking);
|
|
29
29
|
return () => {
|
|
30
30
|
// https://github.com/facebook/react-native/commit/6d1aca806cee86ad76de771ed3a1cc62982ebcd7
|
|
31
|
-
if (subscription
|
|
31
|
+
if (subscription?.remove) {
|
|
32
32
|
subscription.remove();
|
|
33
33
|
} else {
|
|
34
|
-
removeEventListener
|
|
34
|
+
removeEventListener?.('url', callback);
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
},
|
|
@@ -91,11 +91,19 @@ export function useLinking(ref, _ref) {
|
|
|
91
91
|
let state;
|
|
92
92
|
if (enabledRef.current) {
|
|
93
93
|
const url = getInitialURLRef.current();
|
|
94
|
-
if (url != null
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
if (url != null) {
|
|
95
|
+
if (typeof url !== 'string') {
|
|
96
|
+
return url.then(url => {
|
|
97
|
+
const state = getStateFromURL(url);
|
|
98
|
+
if (typeof url === 'string') {
|
|
99
|
+
// If the link were handled, it gets cleared in NavigationContainer
|
|
100
|
+
onUnhandledLinking(extractPathFromURL(prefixes, url));
|
|
101
|
+
}
|
|
102
|
+
return state;
|
|
103
|
+
});
|
|
104
|
+
} else {
|
|
105
|
+
onUnhandledLinking(extractPathFromURL(prefixes, url));
|
|
106
|
+
}
|
|
99
107
|
}
|
|
100
108
|
state = getStateFromURL(url);
|
|
101
109
|
}
|
|
@@ -108,7 +116,7 @@ export function useLinking(ref, _ref) {
|
|
|
108
116
|
}
|
|
109
117
|
};
|
|
110
118
|
return thenable;
|
|
111
|
-
}, [getStateFromURL]);
|
|
119
|
+
}, [getStateFromURL, onUnhandledLinking, prefixes]);
|
|
112
120
|
React.useEffect(() => {
|
|
113
121
|
const listener = url => {
|
|
114
122
|
if (!enabled) {
|
|
@@ -117,11 +125,10 @@ export function useLinking(ref, _ref) {
|
|
|
117
125
|
const navigation = ref.current;
|
|
118
126
|
const state = navigation ? getStateFromURL(url) : undefined;
|
|
119
127
|
if (navigation && state) {
|
|
120
|
-
//
|
|
121
|
-
|
|
128
|
+
// If the link were handled, it gets cleared in NavigationContainer
|
|
129
|
+
onUnhandledLinking(extractPathFromURL(prefixes, url));
|
|
122
130
|
const rootState = navigation.getRootState();
|
|
123
|
-
if (state.routes.some(r => !
|
|
124
|
-
console.warn("The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.");
|
|
131
|
+
if (state.routes.some(r => !rootState?.routeNames.includes(r.name))) {
|
|
125
132
|
return;
|
|
126
133
|
}
|
|
127
134
|
const action = getActionFromStateRef.current(state, configRef.current);
|
|
@@ -139,7 +146,7 @@ export function useLinking(ref, _ref) {
|
|
|
139
146
|
}
|
|
140
147
|
};
|
|
141
148
|
return subscribe(listener);
|
|
142
|
-
}, [enabled, getStateFromURL, ref, subscribe]);
|
|
149
|
+
}, [enabled, getStateFromURL, onUnhandledLinking, prefixes, ref, subscribe]);
|
|
143
150
|
return {
|
|
144
151
|
getInitialState
|
|
145
152
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getActionFromState","getActionFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","React","Linking","Platform","extractPathFromURL","linkingHandlers","useLinking","ref","enabled","prefixes","filter","config","getInitialURL","Promise","race","resolve","setTimeout","subscribe","listener","callback","url","subscription","addEventListener","removeEventListener","bind","remove","independent","useEffect","process","env","NODE_ENV","undefined","length","console","error","OS","join","trim","handler","Symbol","push","index","indexOf","splice","enabledRef","useRef","prefixesRef","filterRef","configRef","getInitialURLRef","getStateFromPathRef","getActionFromStateRef","current","getStateFromURL","useCallback","path","getInitialState","state","then","thenable","onfulfilled","catch","navigation","rootState","getRootState","routes","some","r","routeNames","includes","name","
|
|
1
|
+
{"version":3,"names":["getActionFromState","getActionFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","React","Linking","Platform","extractPathFromURL","linkingHandlers","useLinking","ref","_ref","onUnhandledLinking","enabled","prefixes","filter","config","getInitialURL","Promise","race","resolve","setTimeout","subscribe","listener","callback","_ref2","url","subscription","addEventListener","removeEventListener","bind","remove","independent","useEffect","process","env","NODE_ENV","undefined","length","console","error","OS","join","trim","handler","Symbol","push","index","indexOf","splice","enabledRef","useRef","prefixesRef","filterRef","configRef","getInitialURLRef","getStateFromPathRef","getActionFromStateRef","current","getStateFromURL","useCallback","path","getInitialState","state","then","thenable","onfulfilled","catch","navigation","rootState","getRootState","routes","some","r","routeNames","includes","name","action","dispatch","e","warn","message","resetRoot"],"sourceRoot":"../../src","sources":["useLinking.native.tsx"],"mappings":"AAAA,SACEA,kBAAkB,IAAIC,yBAAyB,EAC/CC,gBAAgB,IAAIC,uBAAuB,EAG3CC,4BAA4B,QACvB,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,OAAO,EAAEC,QAAQ,QAAQ,cAAc;AAEhD,SAASC,kBAAkB,QAAQ,sBAAsB;AAOzD,MAAMC,eAAyB,GAAG,EAAE;AAEpC,OAAO,SAASC,UAAUA,CACxBC,GAA2D,EAAAC,IAAA,EAsC3DC,kBAAqE,EACrE;EAAA,IAtCA;IACEC,OAAO,GAAG,IAAI;IACdC,QAAQ;IACRC,MAAM;IACNC,MAAM;IACNC,aAAa,GAAGA,CAAA,KACdC,OAAO,CAACC,IAAI,CAAC,CACXd,OAAO,CAACY,aAAa,CAAC,CAAC,EACvB,IAAIC,OAAO,CAAaE,OAAO,IAAK;MAClC;MACA;MACAC,UAAU,CAACD,OAAO,EAAE,GAAG,CAAC;IAC1B,CAAC,CAAC,CACH,CAAC;IACJE,SAAS,GAAIC,QAAQ,IAAK;MACxB,MAAMC,QAAQ,GAAGC,KAAA;QAAA,IAAC;UAAEC;QAAqB,CAAC,GAAAD,KAAA;QAAA,OAAKF,QAAQ,CAACG,GAAG,CAAC;MAAA;MAE5D,MAAMC,YAAY,GAAGtB,OAAO,CAACuB,gBAAgB,CAAC,KAAK,EAAEJ,QAAQ,CAEhD;;MAEb;MACA;MACA,MAAMK,mBAAmB,GAAGxB,OAAO,CAACwB,mBAAmB,EAAEC,IAAI,CAACzB,OAAO,CAAC;MAEtE,OAAO,MAAM;QACX;QACA,IAAIsB,YAAY,EAAEI,MAAM,EAAE;UACxBJ,YAAY,CAACI,MAAM,CAAC,CAAC;QACvB,CAAC,MAAM;UACLF,mBAAmB,GAAG,KAAK,EAAEL,QAAQ,CAAC;QACxC;MACF,CAAC;IACH,CAAC;IACDvB,gBAAgB,GAAGC,uBAAuB;IAC1CH,kBAAkB,GAAGC;EACd,CAAC,GAAAW,IAAA;EAGV,MAAMqB,WAAW,GAAG7B,4BAA4B,CAAC,CAAC;EAElDC,KAAK,CAAC6B,SAAS,CAAC,MAAM;IACpB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC,OAAOC,SAAS;IAClB;IAEA,IAAIL,WAAW,EAAE;MACf,OAAOK,SAAS;IAClB;IAEA,IAAIxB,OAAO,KAAK,KAAK,IAAIL,eAAe,CAAC8B,MAAM,EAAE;MAC/CC,OAAO,CAACC,KAAK,CACX,CACE,6KAA6K,EAC7K,uFAAuF,EACvF,4DAA4D,EAC5DlC,QAAQ,CAACmC,EAAE,KAAK,SAAS,GACrB,sJAAsJ,GACtJ,EAAE,CACP,CACEC,IAAI,CAAC,IAAI,CAAC,CACVC,IAAI,CAAC,CACV,CAAC;IACH;IAEA,MAAMC,OAAO,GAAGC,MAAM,CAAC,CAAC;IAExB,IAAIhC,OAAO,KAAK,KAAK,EAAE;MACrBL,eAAe,CAACsC,IAAI,CAACF,OAAO,CAAC;IAC/B;IAEA,OAAO,MAAM;MACX,MAAMG,KAAK,GAAGvC,eAAe,CAACwC,OAAO,CAACJ,OAAO,CAAC;MAE9C,IAAIG,KAAK,GAAG,CAAC,CAAC,EAAE;QACdvC,eAAe,CAACyC,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EAAE,CAAClC,OAAO,EAAEmB,WAAW,CAAC,CAAC;;EAE1B;EACA;EACA;EACA,MAAMkB,UAAU,GAAG9C,KAAK,CAAC+C,MAAM,CAACtC,OAAO,CAAC;EACxC,MAAMuC,WAAW,GAAGhD,KAAK,CAAC+C,MAAM,CAACrC,QAAQ,CAAC;EAC1C,MAAMuC,SAAS,GAAGjD,KAAK,CAAC+C,MAAM,CAACpC,MAAM,CAAC;EACtC,MAAMuC,SAAS,GAAGlD,KAAK,CAAC+C,MAAM,CAACnC,MAAM,CAAC;EACtC,MAAMuC,gBAAgB,GAAGnD,KAAK,CAAC+C,MAAM,CAAClC,aAAa,CAAC;EACpD,MAAMuC,mBAAmB,GAAGpD,KAAK,CAAC+C,MAAM,CAAClD,gBAAgB,CAAC;EAC1D,MAAMwD,qBAAqB,GAAGrD,KAAK,CAAC+C,MAAM,CAACpD,kBAAkB,CAAC;EAE9DK,KAAK,CAAC6B,SAAS,CAAC,MAAM;IACpBiB,UAAU,CAACQ,OAAO,GAAG7C,OAAO;IAC5BuC,WAAW,CAACM,OAAO,GAAG5C,QAAQ;IAC9BuC,SAAS,CAACK,OAAO,GAAG3C,MAAM;IAC1BuC,SAAS,CAACI,OAAO,GAAG1C,MAAM;IAC1BuC,gBAAgB,CAACG,OAAO,GAAGzC,aAAa;IACxCuC,mBAAmB,CAACE,OAAO,GAAGzD,gBAAgB;IAC9CwD,qBAAqB,CAACC,OAAO,GAAG3D,kBAAkB;EACpD,CAAC,CAAC;EAEF,MAAM4D,eAAe,GAAGvD,KAAK,CAACwD,WAAW,CACtClC,GAA8B,IAAK;IAClC,IAAI,CAACA,GAAG,IAAK2B,SAAS,CAACK,OAAO,IAAI,CAACL,SAAS,CAACK,OAAO,CAAChC,GAAG,CAAE,EAAE;MAC1D,OAAOW,SAAS;IAClB;IAEA,MAAMwB,IAAI,GAAGtD,kBAAkB,CAAC6C,WAAW,CAACM,OAAO,EAAEhC,GAAG,CAAC;IAEzD,OAAOmC,IAAI,KAAKxB,SAAS,GACrBmB,mBAAmB,CAACE,OAAO,CAACG,IAAI,EAAEP,SAAS,CAACI,OAAO,CAAC,GACpDrB,SAAS;EACf,CAAC,EACD,EACF,CAAC;EAED,MAAMyB,eAAe,GAAG1D,KAAK,CAACwD,WAAW,CAAC,MAAM;IAC9C,IAAIG,KAA8B;IAElC,IAAIb,UAAU,CAACQ,OAAO,EAAE;MACtB,MAAMhC,GAAG,GAAG6B,gBAAgB,CAACG,OAAO,CAAC,CAAC;MAEtC,IAAIhC,GAAG,IAAI,IAAI,EAAE;QACf,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;UAC3B,OAAOA,GAAG,CAACsC,IAAI,CAAEtC,GAAG,IAAK;YACvB,MAAMqC,KAAK,GAAGJ,eAAe,CAACjC,GAAG,CAAC;YAElC,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;cAC3B;cACAd,kBAAkB,CAACL,kBAAkB,CAACO,QAAQ,EAAEY,GAAG,CAAC,CAAC;YACvD;YAEA,OAAOqC,KAAK;UACd,CAAC,CAAC;QACJ,CAAC,MAAM;UACLnD,kBAAkB,CAACL,kBAAkB,CAACO,QAAQ,EAAEY,GAAG,CAAC,CAAC;QACvD;MACF;MAEAqC,KAAK,GAAGJ,eAAe,CAACjC,GAAG,CAAC;IAC9B;IAEA,MAAMuC,QAAQ,GAAG;MACfD,IAAIA,CAACE,WAAsD,EAAE;QAC3D,OAAOhD,OAAO,CAACE,OAAO,CAAC8C,WAAW,GAAGA,WAAW,CAACH,KAAK,CAAC,GAAGA,KAAK,CAAC;MAClE,CAAC;MACDI,KAAKA,CAAA,EAAG;QACN,OAAOF,QAAQ;MACjB;IACF,CAAC;IAED,OAAOA,QAAQ;EACjB,CAAC,EAAE,CAACN,eAAe,EAAE/C,kBAAkB,EAAEE,QAAQ,CAAC,CAAC;EAEnDV,KAAK,CAAC6B,SAAS,CAAC,MAAM;IACpB,MAAMV,QAAQ,GAAIG,GAAW,IAAK;MAChC,IAAI,CAACb,OAAO,EAAE;QACZ;MACF;MAEA,MAAMuD,UAAU,GAAG1D,GAAG,CAACgD,OAAO;MAC9B,MAAMK,KAAK,GAAGK,UAAU,GAAGT,eAAe,CAACjC,GAAG,CAAC,GAAGW,SAAS;MAE3D,IAAI+B,UAAU,IAAIL,KAAK,EAAE;QACvB;QACAnD,kBAAkB,CAACL,kBAAkB,CAACO,QAAQ,EAAEY,GAAG,CAAC,CAAC;QACrD,MAAM2C,SAAS,GAAGD,UAAU,CAACE,YAAY,CAAC,CAAC;QAC3C,IAAIP,KAAK,CAACQ,MAAM,CAACC,IAAI,CAAEC,CAAC,IAAK,CAACJ,SAAS,EAAEK,UAAU,CAACC,QAAQ,CAACF,CAAC,CAACG,IAAI,CAAC,CAAC,EAAE;UACrE;QACF;QAEA,MAAMC,MAAM,GAAGpB,qBAAqB,CAACC,OAAO,CAACK,KAAK,EAAET,SAAS,CAACI,OAAO,CAAC;QAEtE,IAAImB,MAAM,KAAKxC,SAAS,EAAE;UACxB,IAAI;YACF+B,UAAU,CAACU,QAAQ,CAACD,MAAM,CAAC;UAC7B,CAAC,CAAC,OAAOE,CAAC,EAAE;YACV;YACA;YACAxC,OAAO,CAACyC,IAAI,CACT,qDAAoDtD,GAAI,MACvD,OAAOqD,CAAC,KAAK,QAAQ,IAAIA,CAAC,IAAI,IAAI,IAAI,SAAS,IAAIA,CAAC,GAChDA,CAAC,CAACE,OAAO,GACTF,CACL,EACH,CAAC;UACH;QACF,CAAC,MAAM;UACLX,UAAU,CAACc,SAAS,CAACnB,KAAK,CAAC;QAC7B;MACF;IACF,CAAC;IAED,OAAOzC,SAAS,CAACC,QAAQ,CAAC;EAC5B,CAAC,EAAE,CAACV,OAAO,EAAE8C,eAAe,EAAE/C,kBAAkB,EAAEE,QAAQ,EAAEJ,GAAG,EAAEY,SAAS,CAAC,CAAC;EAE5E,OAAO;IACLwC;EACF,CAAC;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","LocaleDirContext","useLocale","direction","useContext","undefined","Error"],"sourceRoot":"../../src","sources":["useLocale.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA,OAAO,SAASC,
|
|
1
|
+
{"version":3,"names":["React","LocaleDirContext","useLocale","direction","useContext","undefined","Error"],"sourceRoot":"../../src","sources":["useLocale.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMC,SAAS,GAAGH,KAAK,CAACI,UAAU,CAACH,gBAAgB,CAAC;EAEpD,IAAIE,SAAS,KAAKE,SAAS,EAAE;IAC3B,MAAM,IAAIC,KAAK,CACb,sFACF,CAAC;EACH;EAEA,OAAO;IAAEH;EAAU,CAAC;AACtB"}
|
|
@@ -25,7 +25,7 @@ export function useScrollToTop(ref) {
|
|
|
25
25
|
const navigation = useNavigation();
|
|
26
26
|
const route = useRoute();
|
|
27
27
|
React.useEffect(() => {
|
|
28
|
-
|
|
28
|
+
const tabNavigations = [];
|
|
29
29
|
let currentNavigation = navigation;
|
|
30
30
|
|
|
31
31
|
// If the screen is nested inside multiple tab navigators, we should scroll to top for any of them
|
|
@@ -43,7 +43,7 @@ export function useScrollToTop(ref) {
|
|
|
43
43
|
return tab.addListener(
|
|
44
44
|
// We don't wanna import tab types here to avoid extra deps
|
|
45
45
|
// in addition, there are multiple tab implementations
|
|
46
|
-
// @ts-expect-error
|
|
46
|
+
// @ts-expect-error the `tabPress` event is only available when navigation type is tab
|
|
47
47
|
'tabPress', e => {
|
|
48
48
|
// We should scroll to top only when the screen is focused
|
|
49
49
|
const isFocused = navigation.isFocused();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useNavigation","useRoute","React","getScrollableNode","ref","current","getScrollResponder","getNode","useScrollToTop","navigation","route","useEffect","tabNavigations","currentNavigation","getState","type","push","getParent","length","unsubscribers","map","tab","addListener","e","isFocused","isFirst","includes","routes","key","requestAnimationFrame","scrollable","defaultPrevented","scrollToTop","scrollTo","y","animated","scrollToOffset","offset","scrollResponderScrollTo","forEach","unsubscribe"],"sourceRoot":"../../src","sources":["useScrollToTop.tsx"],"mappings":"AAAA,SAGEA,aAAa,EACbC,QAAQ,QACH,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAgB9B,SAASC,
|
|
1
|
+
{"version":3,"names":["useNavigation","useRoute","React","getScrollableNode","ref","current","getScrollResponder","getNode","useScrollToTop","navigation","route","useEffect","tabNavigations","currentNavigation","getState","type","push","getParent","length","unsubscribers","map","tab","addListener","e","isFocused","isFirst","includes","routes","key","requestAnimationFrame","scrollable","defaultPrevented","scrollToTop","scrollTo","y","animated","scrollToOffset","offset","scrollResponderScrollTo","forEach","unsubscribe"],"sourceRoot":"../../src","sources":["useScrollToTop.tsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useThenable","create","promise","useState","initialState","undefined","then","result","state","setState","resolved","useEffect","cancelled","resolve"],"sourceRoot":"../../src","sources":["useThenable.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,
|
|
1
|
+
{"version":3,"names":["React","useThenable","create","promise","useState","initialState","undefined","then","result","state","setState","resolved","useEffect","cancelled","resolve"],"sourceRoot":"../../src","sources":["useThenable.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,WAAWA,CAAIC,MAA4B,EAAE;EAC3D,MAAM,CAACC,OAAO,CAAC,GAAGH,KAAK,CAACI,QAAQ,CAACF,MAAM,CAAC;EAExC,IAAIG,YAAsC,GAAG,CAAC,KAAK,EAAEC,SAAS,CAAC;;EAE/D;EACA;EACAH,OAAO,CAACI,IAAI,CAAEC,MAAM,IAAK;IACvBH,YAAY,GAAG,CAAC,IAAI,EAAEG,MAAM,CAAC;EAC/B,CAAC,CAAC;EAEF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGV,KAAK,CAACI,QAAQ,CAACC,YAAY,CAAC;EACtD,MAAM,CAACM,QAAQ,CAAC,GAAGF,KAAK;EAExBT,KAAK,CAACY,SAAS,CAAC,MAAM;IACpB,IAAIC,SAAS,GAAG,KAAK;IAErB,MAAMC,OAAO,GAAG,MAAAA,CAAA,KAAY;MAC1B,IAAIN,MAAM;MAEV,IAAI;QACFA,MAAM,GAAG,MAAML,OAAO;MACxB,CAAC,SAAS;QACR,IAAI,CAACU,SAAS,EAAE;UACdH,QAAQ,CAAC,CAAC,IAAI,EAAEF,MAAM,CAAC,CAAC;QAC1B;MACF;IACF,CAAC;IAED,IAAI,CAACG,QAAQ,EAAE;MACbG,OAAO,CAAC,CAAC;IACX;IAEA,OAAO,MAAM;MACXD,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACV,OAAO,EAAEQ,QAAQ,CAAC,CAAC;EAEvB,OAAOF,KAAK;AACd"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { getStateFromPath, NavigationContext } from '@react-navigation/core';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import useLatestCallback from 'use-latest-callback';
|
|
4
|
+
import { LinkingContext } from './LinkingContext';
|
|
5
|
+
import { UnhandledLinkingContext } from './UnhandledLinkingContext';
|
|
6
|
+
function extractNavigatorSpecificState(_, pathState, depth) {
|
|
7
|
+
let partialPathState = pathState;
|
|
8
|
+
let currentDepth = depth;
|
|
9
|
+
while (currentDepth) {
|
|
10
|
+
if (!partialPathState) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
partialPathState = partialPathState.routes[partialPathState.routes.length - 1].state;
|
|
14
|
+
currentDepth--;
|
|
15
|
+
}
|
|
16
|
+
return partialPathState;
|
|
17
|
+
}
|
|
18
|
+
export function useUnhandledLinking() {
|
|
19
|
+
const navigation = React.useContext(NavigationContext);
|
|
20
|
+
const linking = React.useContext(LinkingContext);
|
|
21
|
+
const {
|
|
22
|
+
setLastUnhandledLink,
|
|
23
|
+
lastUnhandledLink
|
|
24
|
+
} = React.useContext(UnhandledLinkingContext);
|
|
25
|
+
const {
|
|
26
|
+
options
|
|
27
|
+
} = linking;
|
|
28
|
+
const getStateForRouteNamesChange = currentState => {
|
|
29
|
+
if (lastUnhandledLink == null) {
|
|
30
|
+
// noop, nothing to handle
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// at web, the path is already extracted
|
|
35
|
+
const path = lastUnhandledLink;
|
|
36
|
+
if (!lastUnhandledLink) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// First, we parse the URL to get the desired state
|
|
41
|
+
const getStateFromPathHelper = options?.getStateFromPath ?? getStateFromPath;
|
|
42
|
+
const pathState = getStateFromPathHelper(path, options?.config);
|
|
43
|
+
if (!pathState) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
let depth = 0;
|
|
47
|
+
let parent = navigation;
|
|
48
|
+
while (parent) {
|
|
49
|
+
depth++;
|
|
50
|
+
parent = parent.getParent();
|
|
51
|
+
}
|
|
52
|
+
const state = extractNavigatorSpecificState(currentState, pathState, depth);
|
|
53
|
+
if (!state) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
return state;
|
|
57
|
+
};
|
|
58
|
+
const clearUnhandledLink = useLatestCallback(() => {
|
|
59
|
+
setLastUnhandledLink(undefined);
|
|
60
|
+
});
|
|
61
|
+
return {
|
|
62
|
+
lastUnhandledLink,
|
|
63
|
+
getStateForRouteNamesChange,
|
|
64
|
+
clearUnhandledLink
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=useUnhandledLinking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getStateFromPath","NavigationContext","React","useLatestCallback","LinkingContext","UnhandledLinkingContext","extractNavigatorSpecificState","_","pathState","depth","partialPathState","currentDepth","undefined","routes","length","state","useUnhandledLinking","navigation","useContext","linking","setLastUnhandledLink","lastUnhandledLink","options","getStateForRouteNamesChange","currentState","path","getStateFromPathHelper","config","parent","getParent","clearUnhandledLink"],"sourceRoot":"../../src","sources":["useUnhandledLinking.tsx"],"mappings":"AAAA,SACEA,gBAAgB,EAChBC,iBAAiB,QAGZ,wBAAwB;AAC/B,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,uBAAuB,QAAQ,2BAA2B;AAEnE,SAASC,6BAA6BA,CACpCC,CAAkB,EAClBC,SAAwC,EACxCC,KAAa,EACb;EACA,IAAIC,gBAA2D,GAAGF,SAAS;EAE3E,IAAIG,YAAY,GAAGF,KAAK;EACxB,OAAOE,YAAY,EAAE;IACnB,IAAI,CAACD,gBAAgB,EAAE;MACrB,OAAOE,SAAS;IAClB;IACAF,gBAAgB,GACdA,gBAAgB,CAACG,MAAM,CAACH,gBAAgB,CAACG,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC,CAACC,KAAK;IACnEJ,YAAY,EAAE;EAChB;EACA,OAAOD,gBAAgB;AACzB;AAEA,OAAO,SAASM,mBAAmBA,CAAA,EAAG;EACpC,MAAMC,UAAU,GAAGf,KAAK,CAACgB,UAAU,CAACjB,iBAAiB,CAAC;EACtD,MAAMkB,OAAO,GAAGjB,KAAK,CAACgB,UAAU,CAACd,cAAc,CAAC;EAChD,MAAM;IAAEgB,oBAAoB;IAAEC;EAAkB,CAAC,GAAGnB,KAAK,CAACgB,UAAU,CAClEb,uBACF,CAAC;EAED,MAAM;IAAEiB;EAAQ,CAAC,GAAGH,OAAO;EAE3B,MAAMI,2BAA2B,GAC/BC,YAA6B,IACiB;IAC9C,IAAIH,iBAAiB,IAAI,IAAI,EAAE;MAC7B;MACA;IACF;;IAEA;IACA,MAAMI,IAAI,GAAGJ,iBAAiB;IAC9B,IAAI,CAACA,iBAAiB,EAAE;MACtB;IACF;;IAEA;IACA,MAAMK,sBAAsB,GAC1BJ,OAAO,EAAEtB,gBAAgB,IAAIA,gBAAgB;IAE/C,MAAMQ,SAAS,GAAGkB,sBAAsB,CAACD,IAAI,EAAEH,OAAO,EAAEK,MAAM,CAAC;IAE/D,IAAI,CAACnB,SAAS,EAAE;MACd;IACF;IAEA,IAAIC,KAAK,GAAG,CAAC;IACb,IAAImB,MAAM,GAAGX,UAAU;IACvB,OAAOW,MAAM,EAAE;MACbnB,KAAK,EAAE;MACPmB,MAAM,GAAGA,MAAM,CAACC,SAAS,CAAC,CAAC;IAC7B;IAEA,MAAMd,KAAK,GAAGT,6BAA6B,CAACkB,YAAY,EAAEhB,SAAS,EAAEC,KAAK,CAAC;IAE3E,IAAI,CAACM,KAAK,EAAE;MACV;IACF;IAEA,OAAOA,KAAK;EACd,CAAC;EAED,MAAMe,kBAAkB,GAAG3B,iBAAiB,CAAC,MAAM;IACjDiB,oBAAoB,CAACR,SAAS,CAAC;EACjC,CAAC,CAAC;EAEF,OAAO;IACLS,iBAAiB;IACjBE,2BAA2B;IAC3BO;EACF,CAAC;AACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { GestureResponderEvent, Text, TextProps } from 'react-native';
|
|
3
|
-
import { Props as LinkProps } from './useLinkProps';
|
|
2
|
+
import { type GestureResponderEvent, Text, type TextProps } from 'react-native';
|
|
3
|
+
import { type Props as LinkProps } from './useLinkProps';
|
|
4
4
|
type Props<ParamList extends ReactNavigation.RootParamList> = LinkProps<ParamList> & Omit<TextProps, 'disabled'> & {
|
|
5
5
|
target?: string;
|
|
6
6
|
onPress?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent> | GestureResponderEvent) => void;
|
|
@@ -17,6 +17,6 @@ type Props<ParamList extends ReactNavigation.RootParamList> = LinkProps<ParamLis
|
|
|
17
17
|
* @param props.action Optional action to use for in-page navigation. By default, the path is parsed to an action based on linking config.
|
|
18
18
|
* @param props.children Child elements to render the content.
|
|
19
19
|
*/
|
|
20
|
-
export declare function Link<ParamList extends ReactNavigation.RootParamList>({ screen, params, action, href, ...rest }: Props<ParamList>): React.CElement<TextProps, Text>;
|
|
20
|
+
export declare function Link<ParamList extends ReactNavigation.RootParamList>({ screen, params, action, href, style, ...rest }: Props<ParamList>): React.CElement<TextProps, Text>;
|
|
21
21
|
export {};
|
|
22
22
|
//# sourceMappingURL=Link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,qBAAqB,EAE1B,IAAI,EACJ,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,KAAK,KAAK,IAAI,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AAEvE,KAAK,KAAK,CAAC,SAAS,SAAS,eAAe,CAAC,aAAa,IACxD,SAAS,CAAC,SAAS,CAAC,GAClB,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CACR,CAAC,EACG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAC/C,qBAAqB,KACtB,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEN;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,SAAS,SAAS,eAAe,CAAC,aAAa,EAAE,EACpE,MAAM,EACN,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,SAAS,CAAC,mCA2BlB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ParamListBase } from '@react-navigation/core';
|
|
2
|
+
import type { LinkingOptions } from '@react-navigation/native/src/types';
|
|
2
3
|
import * as React from 'react';
|
|
3
|
-
import type { LinkingOptions } from './types';
|
|
4
4
|
export declare const LinkingContext: React.Context<{
|
|
5
|
-
options
|
|
5
|
+
options?: LinkingOptions<ParamListBase> | undefined;
|
|
6
6
|
}>;
|
|
7
7
|
//# sourceMappingURL=LinkingContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkingContext.d.ts","sourceRoot":"","sources":["../../../src/LinkingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"LinkingContext.d.ts","sourceRoot":"","sources":["../../../src/LinkingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,eAAO,MAAM,cAAc;;EAMzB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NavigationContainerProps, NavigationContainerRef } from '@react-navigation/core';
|
|
1
|
+
import { type NavigationContainerProps, type NavigationContainerRef } from '@react-navigation/core';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import type { DocumentTitleOptions, LinkingOptions, LocaleDirection, Theme } from './types';
|
|
4
4
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/NavigationContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"NavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/NavigationContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAI5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,KAAK,EACN,MAAM,SAAS,CAAC;AAOjB,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,yBAAyB,EAAE,OAAO,CACpC,sBAAsB,CAAC,GAAG,CAAC,EAC3B;QAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAA;KAAE,CAC1C,CAAC;CACH;AAID,KAAK,KAAK,CAAC,SAAS,SAAS,EAAE,IAAI,wBAAwB,GAAG;IAC5D,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC,CAAC;AA+IF,eAAO,MAAM,mBAAmB;;;;eAjJnB,MAAM,SAAS;;;;MAuJvB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerContainer.d.ts","sourceRoot":"","sources":["../../../src/ServerContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAiB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ServerContainer.d.ts","sourceRoot":"","sources":["../../../src/ServerContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMlD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;cAVhB,MAAM,SAAS;4CAgDzB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const UnhandledLinkingContext: React.Context<{
|
|
3
|
+
lastUnhandledLink: string | undefined;
|
|
4
|
+
setLastUnhandledLink: (lastUnhandledUrl: string | undefined) => void;
|
|
5
|
+
}>;
|
|
6
|
+
//# sourceMappingURL=UnhandledLinkingContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnhandledLinkingContext.d.ts","sourceRoot":"","sources":["../../../src/UnhandledLinkingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,uBAAuB;uBACf,MAAM,GAAG,SAAS;6CACI,MAAM,GAAG,SAAS,KAAK,IAAI;EAQpE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
1
2
|
export declare const createStackNavigator: {
|
|
2
3
|
<ParamList extends import("@react-navigation/core").ParamListBase>(): import("@react-navigation/core").TypedNavigator<ParamList, Readonly<{
|
|
3
4
|
key: string;
|
|
@@ -15,8 +16,8 @@ export declare const createStackNavigator: {
|
|
|
15
16
|
})[];
|
|
16
17
|
type: string;
|
|
17
18
|
stale: false;
|
|
18
|
-
}>, {}, import("@react-navigation/core").EventMapBase, (props: any) => JSX.Element>;
|
|
19
|
-
<ParamList_1 extends import("@react-navigation/core").ParamListBase, Config extends import("
|
|
19
|
+
}>, {}, import("@react-navigation/core").EventMapBase, (props: any) => React.JSX.Element>;
|
|
20
|
+
<ParamList_1 extends import("@react-navigation/core").ParamListBase, Config extends import("@react-navigation/core/lib/typescript/src/StaticNavigation").StaticConfig<ParamList_1, Readonly<{
|
|
20
21
|
key: string;
|
|
21
22
|
index: number;
|
|
22
23
|
routeNames: string[];
|
|
@@ -32,7 +33,7 @@ export declare const createStackNavigator: {
|
|
|
32
33
|
})[];
|
|
33
34
|
type: string;
|
|
34
35
|
stale: false;
|
|
35
|
-
}>, {}, import("@react-navigation/core").EventMapBase, (props: any) => JSX.Element>>(config: Config): import("@react-navigation/core").TypedNavigator<ParamList_1, Readonly<{
|
|
36
|
+
}>, {}, import("@react-navigation/core").EventMapBase, (props: any) => React.JSX.Element>>(config: Config): import("@react-navigation/core").TypedNavigator<ParamList_1, Readonly<{
|
|
36
37
|
key: string;
|
|
37
38
|
index: number;
|
|
38
39
|
routeNames: string[];
|
|
@@ -48,7 +49,7 @@ export declare const createStackNavigator: {
|
|
|
48
49
|
})[];
|
|
49
50
|
type: string;
|
|
50
51
|
stale: false;
|
|
51
|
-
}>, {}, import("@react-navigation/core").EventMapBase, (props: any) => JSX.Element> & {
|
|
52
|
+
}>, {}, import("@react-navigation/core").EventMapBase, (props: any) => React.JSX.Element> & {
|
|
52
53
|
config: Config;
|
|
53
54
|
};
|
|
54
55
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStackNavigator.d.ts","sourceRoot":"","sources":["../../../../src/__stubs__/createStackNavigator.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW/B,CAAC"}
|