@react-navigation/native 7.1.5 → 7.1.7
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 +3 -0
- package/lib/module/NavigationContainer.js.map +1 -1
- package/lib/module/ServerContainer.js +0 -1
- package/lib/module/ServerContainer.js.map +1 -1
- package/lib/module/createMemoryHistory.js +9 -8
- package/lib/module/createMemoryHistory.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.map +1 -1
- package/lib/module/useLinkProps.js +1 -1
- package/lib/module/useLinkProps.js.map +1 -1
- package/lib/module/useLinking.js +1 -1
- package/lib/module/useLinking.js.map +1 -1
- package/lib/module/useLinking.native.js.map +1 -1
- package/lib/typescript/src/NavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/ServerContainer.d.ts.map +1 -1
- package/lib/typescript/src/__stubs__/createStackNavigator.d.ts.map +1 -1
- package/lib/typescript/src/__stubs__/window.d.ts +1 -1
- package/lib/typescript/src/createMemoryHistory.d.ts.map +1 -1
- package/lib/typescript/src/useBackButton.d.ts +1 -1
- package/lib/typescript/src/useBackButton.d.ts.map +1 -1
- package/lib/typescript/src/useBackButton.native.d.ts +1 -1
- package/lib/typescript/src/useBackButton.native.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/useLinkProps.d.ts +1 -1
- package/lib/typescript/src/useLinking.d.ts +1 -1
- 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/package.json +17 -15
- package/src/NavigationContainer.tsx +2 -0
- package/src/ServerContainer.tsx +0 -1
- package/src/createMemoryHistory.tsx +11 -8
- package/src/useBackButton.native.tsx +1 -1
- package/src/useBackButton.tsx +1 -1
- package/src/useDocumentTitle.tsx +1 -1
- package/src/useLinkProps.tsx +1 -1
- package/src/useLinking.native.tsx +1 -1
- package/src/useLinking.tsx +2 -2
- package/lib/commonjs/Link.js +0 -68
- package/lib/commonjs/Link.js.map +0 -1
- package/lib/commonjs/LinkingContext.js +0 -17
- package/lib/commonjs/LinkingContext.js.map +0 -1
- package/lib/commonjs/LocaleDirContext.js +0 -12
- package/lib/commonjs/LocaleDirContext.js.map +0 -1
- package/lib/commonjs/NavigationContainer.js +0 -143
- package/lib/commonjs/NavigationContainer.js.map +0 -1
- package/lib/commonjs/ServerContainer.js +0 -62
- package/lib/commonjs/ServerContainer.js.map +0 -1
- package/lib/commonjs/ServerContext.js +0 -11
- package/lib/commonjs/ServerContext.js.map +0 -1
- package/lib/commonjs/UnhandledLinkingContext.js +0 -20
- package/lib/commonjs/UnhandledLinkingContext.js.map +0 -1
- package/lib/commonjs/__stubs__/createStackNavigator.js +0 -22
- package/lib/commonjs/__stubs__/createStackNavigator.js.map +0 -1
- package/lib/commonjs/__stubs__/window.js +0 -79
- package/lib/commonjs/__stubs__/window.js.map +0 -1
- package/lib/commonjs/createMemoryHistory.js +0 -219
- package/lib/commonjs/createMemoryHistory.js.map +0 -1
- package/lib/commonjs/createStaticNavigation.js +0 -60
- package/lib/commonjs/createStaticNavigation.js.map +0 -1
- package/lib/commonjs/extractPathFromURL.js +0 -24
- package/lib/commonjs/extractPathFromURL.js.map +0 -1
- package/lib/commonjs/index.js +0 -144
- package/lib/commonjs/index.js.map +0 -1
- package/lib/commonjs/package.json +0 -1
- package/lib/commonjs/theming/DarkTheme.js +0 -20
- package/lib/commonjs/theming/DarkTheme.js.map +0 -1
- package/lib/commonjs/theming/DefaultTheme.js +0 -20
- package/lib/commonjs/theming/DefaultTheme.js.map +0 -1
- package/lib/commonjs/theming/fonts.js +0 -65
- package/lib/commonjs/theming/fonts.js.map +0 -1
- package/lib/commonjs/types.js +0 -6
- package/lib/commonjs/types.js.map +0 -1
- package/lib/commonjs/useBackButton.js +0 -11
- package/lib/commonjs/useBackButton.js.map +0 -1
- package/lib/commonjs/useBackButton.native.js +0 -27
- package/lib/commonjs/useBackButton.native.js.map +0 -1
- package/lib/commonjs/useDocumentTitle.js +0 -32
- package/lib/commonjs/useDocumentTitle.js.map +0 -1
- package/lib/commonjs/useDocumentTitle.native.js +0 -10
- package/lib/commonjs/useDocumentTitle.native.js.map +0 -1
- package/lib/commonjs/useLinkBuilder.js +0 -91
- package/lib/commonjs/useLinkBuilder.js.map +0 -1
- package/lib/commonjs/useLinkProps.js +0 -99
- package/lib/commonjs/useLinkProps.js.map +0 -1
- package/lib/commonjs/useLinkTo.js +0 -31
- package/lib/commonjs/useLinkTo.js.map +0 -1
- package/lib/commonjs/useLinking.js +0 -329
- package/lib/commonjs/useLinking.js.map +0 -1
- package/lib/commonjs/useLinking.native.js +0 -158
- package/lib/commonjs/useLinking.native.js.map +0 -1
- package/lib/commonjs/useLocale.js +0 -23
- package/lib/commonjs/useLocale.js.map +0 -1
- package/lib/commonjs/useRoutePath.js +0 -35
- package/lib/commonjs/useRoutePath.js.map +0 -1
- package/lib/commonjs/useScrollToTop.js +0 -97
- package/lib/commonjs/useScrollToTop.js.map +0 -1
- package/lib/commonjs/useThenable.js +0 -42
- package/lib/commonjs/useThenable.js.map +0 -1
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useBackButton = useBackButton;
|
|
7
|
-
var React = _interopRequireWildcard(require("react"));
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
-
function useBackButton(ref) {
|
|
12
|
-
React.useEffect(() => {
|
|
13
|
-
const subscription = _reactNative.BackHandler.addEventListener('hardwareBackPress', () => {
|
|
14
|
-
const navigation = ref.current;
|
|
15
|
-
if (navigation == null) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
if (navigation.canGoBack()) {
|
|
19
|
-
navigation.goBack();
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
return false;
|
|
23
|
-
});
|
|
24
|
-
return () => subscription.remove();
|
|
25
|
-
}, [ref]);
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=useBackButton.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useBackButton","ref","useEffect","subscription","BackHandler","addEventListener","navigation","current","canGoBack","goBack","remove"],"sourceRoot":"../../src","sources":["useBackButton.native.tsx"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAA2C,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEpC,SAASW,aAAaA,CAC3BC,GAA2D,EAC3D;EACAzB,KAAK,CAAC0B,SAAS,CAAC,MAAM;IACpB,MAAMC,YAAY,GAAGC,wBAAW,CAACC,gBAAgB,CAC/C,mBAAmB,EACnB,MAAM;MACJ,MAAMC,UAAU,GAAGL,GAAG,CAACM,OAAO;MAE9B,IAAID,UAAU,IAAI,IAAI,EAAE;QACtB,OAAO,KAAK;MACd;MAEA,IAAIA,UAAU,CAACE,SAAS,CAAC,CAAC,EAAE;QAC1BF,UAAU,CAACG,MAAM,CAAC,CAAC;QAEnB,OAAO,IAAI;MACb;MAEA,OAAO,KAAK;IACd,CACF,CAAC;IAED,OAAO,MAAMN,YAAY,CAACO,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAACT,GAAG,CAAC,CAAC;AACX","ignoreList":[]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useDocumentTitle = useDocumentTitle;
|
|
7
|
-
var React = _interopRequireWildcard(require("react"));
|
|
8
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
9
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
-
/**
|
|
11
|
-
* Set the document title for the active screen
|
|
12
|
-
*/
|
|
13
|
-
function useDocumentTitle(ref, {
|
|
14
|
-
enabled = true,
|
|
15
|
-
formatter = (options, route) => options?.title ?? route?.name
|
|
16
|
-
} = {}) {
|
|
17
|
-
React.useEffect(() => {
|
|
18
|
-
if (!enabled) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const navigation = ref.current;
|
|
22
|
-
if (navigation) {
|
|
23
|
-
const title = formatter(navigation.getCurrentOptions(), navigation.getCurrentRoute());
|
|
24
|
-
document.title = title;
|
|
25
|
-
}
|
|
26
|
-
return navigation?.addListener('options', e => {
|
|
27
|
-
const title = formatter(e.data.options, navigation?.getCurrentRoute());
|
|
28
|
-
document.title = title;
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=useDocumentTitle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useDocumentTitle","ref","enabled","formatter","options","route","title","name","useEffect","navigation","current","getCurrentOptions","getCurrentRoute","document","addListener","data"],"sourceRoot":"../../src","sources":["useDocumentTitle.tsx"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAI/B;AACA;AACA;AACO,SAASW,gBAAgBA,CAC9BC,GAA2D,EAC3D;EACEC,OAAO,GAAG,IAAI;EACdC,SAAS,GAAGA,CAACC,OAAO,EAAEC,KAAK,KAAKD,OAAO,EAAEE,KAAK,IAAID,KAAK,EAAEE;AACrC,CAAC,GAAG,CAAC,CAAC,EAC5B;EACA9B,KAAK,CAAC+B,SAAS,CAAC,MAAM;IACpB,IAAI,CAACN,OAAO,EAAE;MACZ;IACF;IAEA,MAAMO,UAAU,GAAGR,GAAG,CAACS,OAAO;IAE9B,IAAID,UAAU,EAAE;MACd,MAAMH,KAAK,GAAGH,SAAS,CACrBM,UAAU,CAACE,iBAAiB,CAAC,CAAC,EAC9BF,UAAU,CAACG,eAAe,CAAC,CAC7B,CAAC;MAEDC,QAAQ,CAACP,KAAK,GAAGA,KAAK;IACxB;IAEA,OAAOG,UAAU,EAAEK,WAAW,CAAC,SAAS,EAAGjC,CAAC,IAAK;MAC/C,MAAMyB,KAAK,GAAGH,SAAS,CAACtB,CAAC,CAACkC,IAAI,CAACX,OAAO,EAAEK,UAAU,EAAEG,eAAe,CAAC,CAAC,CAAC;MAEtEC,QAAQ,CAACP,KAAK,GAAGA,KAAK;IACxB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useDocumentTitle"],"sourceRoot":"../../src","sources":["useDocumentTitle.native.tsx"],"mappings":";;;;;;AAAO,SAASA,gBAAgBA,CAAA,EAAG;EACjC;AAAA","ignoreList":[]}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useLinkBuilder = useLinkBuilder;
|
|
7
|
-
var _core = require("@react-navigation/core");
|
|
8
|
-
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _LinkingContext = require("./LinkingContext.js");
|
|
10
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
-
/**
|
|
13
|
-
* Helpers to build href or action based on the linking options.
|
|
14
|
-
*
|
|
15
|
-
* @returns `buildHref` to build an `href` for screen and `buildAction` to build an action from an `href`.
|
|
16
|
-
*/
|
|
17
|
-
function useLinkBuilder() {
|
|
18
|
-
const navigation = React.useContext(_core.NavigationHelpersContext);
|
|
19
|
-
const route = React.useContext(_core.NavigationRouteContext);
|
|
20
|
-
const {
|
|
21
|
-
options
|
|
22
|
-
} = React.useContext(_LinkingContext.LinkingContext);
|
|
23
|
-
const focusedRouteState = (0, _core.useStateForPath)();
|
|
24
|
-
const getPathFromStateHelper = options?.getPathFromState ?? _core.getPathFromState;
|
|
25
|
-
const getStateFromPathHelper = options?.getStateFromPath ?? _core.getStateFromPath;
|
|
26
|
-
const getActionFromStateHelper = options?.getActionFromState ?? _core.getActionFromState;
|
|
27
|
-
const buildHref = React.useCallback((name, params) => {
|
|
28
|
-
if (options?.enabled === false) {
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// Check that we're inside:
|
|
33
|
-
// - navigator's context
|
|
34
|
-
// - route context of the navigator (could be a screen, tab, etc.)
|
|
35
|
-
// - route matches the state for path (from the screen's context)
|
|
36
|
-
// This ensures that we're inside a screen
|
|
37
|
-
const isScreen = navigation && route?.key && focusedRouteState ? route.key === (0, _core.findFocusedRoute)(focusedRouteState)?.key && navigation.getState().routes.some(r => r.key === route.key) : false;
|
|
38
|
-
const stateForRoute = {
|
|
39
|
-
routes: [{
|
|
40
|
-
name,
|
|
41
|
-
params
|
|
42
|
-
}]
|
|
43
|
-
};
|
|
44
|
-
const constructState = state => {
|
|
45
|
-
if (state) {
|
|
46
|
-
const route = state.routes[0];
|
|
47
|
-
|
|
48
|
-
// If we're inside a screen and at the innermost route
|
|
49
|
-
// We need to replace the state with the provided one
|
|
50
|
-
// This assumes that we're navigating to a sibling route
|
|
51
|
-
if (isScreen && !route.state) {
|
|
52
|
-
return stateForRoute;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Otherwise, dive into the nested state of the route
|
|
56
|
-
return {
|
|
57
|
-
routes: [{
|
|
58
|
-
...route,
|
|
59
|
-
state: constructState(route.state)
|
|
60
|
-
}]
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// Once there is no more nested state, we're at the innermost route
|
|
65
|
-
// We can add a state based on provided parameters
|
|
66
|
-
// This assumes that we're navigating to a child of this route
|
|
67
|
-
// In this case, the helper is used in a navigator for its routes
|
|
68
|
-
return stateForRoute;
|
|
69
|
-
};
|
|
70
|
-
const state = constructState(focusedRouteState);
|
|
71
|
-
const path = getPathFromStateHelper(state, options?.config);
|
|
72
|
-
return path;
|
|
73
|
-
}, [options?.enabled, options?.config, route?.key, navigation, focusedRouteState, getPathFromStateHelper]);
|
|
74
|
-
const buildAction = React.useCallback(href => {
|
|
75
|
-
if (!href.startsWith('/')) {
|
|
76
|
-
throw new Error(`The href must start with '/' (${href}).`);
|
|
77
|
-
}
|
|
78
|
-
const state = getStateFromPathHelper(href, options?.config);
|
|
79
|
-
if (state) {
|
|
80
|
-
const action = getActionFromStateHelper(state, options?.config);
|
|
81
|
-
return action ?? _core.CommonActions.reset(state);
|
|
82
|
-
} else {
|
|
83
|
-
throw new Error('Failed to parse the href to a navigation state.');
|
|
84
|
-
}
|
|
85
|
-
}, [options?.config, getStateFromPathHelper, getActionFromStateHelper]);
|
|
86
|
-
return {
|
|
87
|
-
buildHref,
|
|
88
|
-
buildAction
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=useLinkBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","React","_interopRequireWildcard","_LinkingContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useLinkBuilder","navigation","useContext","NavigationHelpersContext","route","NavigationRouteContext","options","LinkingContext","focusedRouteState","useStateForPath","getPathFromStateHelper","getPathFromState","getStateFromPathHelper","getStateFromPath","getActionFromStateHelper","getActionFromState","buildHref","useCallback","name","params","enabled","undefined","isScreen","key","findFocusedRoute","getState","routes","some","stateForRoute","constructState","state","path","config","buildAction","href","startsWith","Error","action","CommonActions","reset"],"sourceRoot":"../../src","sources":["useLinkBuilder.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useLinkProps = useLinkProps;
|
|
7
|
-
var _core = require("@react-navigation/core");
|
|
8
|
-
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _reactNative = require("react-native");
|
|
10
|
-
var _LinkingContext = require("./LinkingContext.js");
|
|
11
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
-
const getStateFromParams = params => {
|
|
14
|
-
if (params?.state) {
|
|
15
|
-
return params.state;
|
|
16
|
-
}
|
|
17
|
-
if (params?.screen) {
|
|
18
|
-
return {
|
|
19
|
-
routes: [{
|
|
20
|
-
name: params.screen,
|
|
21
|
-
params: params.params,
|
|
22
|
-
// @ts-expect-error this is fine 🔥
|
|
23
|
-
state: params.screen ? getStateFromParams(params.params) : undefined
|
|
24
|
-
}]
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
return undefined;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Hook to get props for an anchor tag so it can work with in page navigation.
|
|
32
|
-
*
|
|
33
|
-
* @param props.screen Name of the screen to navigate to (e.g. `'Feeds'`).
|
|
34
|
-
* @param props.params Params to pass to the screen to navigate to (e.g. `{ sort: 'hot' }`).
|
|
35
|
-
* @param props.href Optional absolute path to use for the href (e.g. `/feeds/hot`).
|
|
36
|
-
* @param props.action Optional action to use for in-page navigation. By default, the path is parsed to an action based on linking config.
|
|
37
|
-
*/
|
|
38
|
-
function useLinkProps({
|
|
39
|
-
screen,
|
|
40
|
-
params,
|
|
41
|
-
href,
|
|
42
|
-
action
|
|
43
|
-
}) {
|
|
44
|
-
const root = React.useContext(_core.NavigationContainerRefContext);
|
|
45
|
-
const navigation = React.useContext(_core.NavigationHelpersContext);
|
|
46
|
-
const {
|
|
47
|
-
options
|
|
48
|
-
} = React.useContext(_LinkingContext.LinkingContext);
|
|
49
|
-
const onPress = e => {
|
|
50
|
-
let shouldHandle = false;
|
|
51
|
-
if (_reactNative.Platform.OS !== 'web' || !e) {
|
|
52
|
-
e?.preventDefault?.();
|
|
53
|
-
shouldHandle = true;
|
|
54
|
-
} else {
|
|
55
|
-
// ignore clicks with modifier keys
|
|
56
|
-
const hasModifierKey = 'metaKey' in e && e.metaKey || 'altKey' in e && e.altKey || 'ctrlKey' in e && e.ctrlKey || 'shiftKey' in e && e.shiftKey;
|
|
57
|
-
|
|
58
|
-
// only handle left clicks
|
|
59
|
-
const isLeftClick = 'button' in e ? e.button == null || e.button === 0 : true;
|
|
60
|
-
|
|
61
|
-
// let browser handle "target=_blank" etc.
|
|
62
|
-
const isSelfTarget = e.currentTarget && 'target' in e.currentTarget ? [undefined, null, '', 'self'].includes(e.currentTarget.target) : true;
|
|
63
|
-
if (!hasModifierKey && isLeftClick && isSelfTarget) {
|
|
64
|
-
e.preventDefault?.();
|
|
65
|
-
shouldHandle = true;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (shouldHandle) {
|
|
69
|
-
if (action) {
|
|
70
|
-
if (navigation) {
|
|
71
|
-
navigation.dispatch(action);
|
|
72
|
-
} else if (root) {
|
|
73
|
-
root.dispatch(action);
|
|
74
|
-
} else {
|
|
75
|
-
throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
|
|
76
|
-
}
|
|
77
|
-
} else {
|
|
78
|
-
// @ts-expect-error This is already type-checked by the prop types
|
|
79
|
-
navigation?.navigate(screen, params);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
const getPathFromStateHelper = options?.getPathFromState ?? _core.getPathFromState;
|
|
84
|
-
return {
|
|
85
|
-
href: href ?? (_reactNative.Platform.OS === 'web' && screen != null ? getPathFromStateHelper({
|
|
86
|
-
routes: [{
|
|
87
|
-
// @ts-expect-error this is fine 🔥
|
|
88
|
-
name: screen,
|
|
89
|
-
// @ts-expect-error this is fine 🔥
|
|
90
|
-
params: params,
|
|
91
|
-
// @ts-expect-error this is fine 🔥
|
|
92
|
-
state: getStateFromParams(params)
|
|
93
|
-
}]
|
|
94
|
-
}, options?.config) : undefined),
|
|
95
|
-
accessibilityRole: 'link',
|
|
96
|
-
onPress
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=useLinkProps.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","React","_interopRequireWildcard","_reactNative","_LinkingContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getStateFromParams","params","state","screen","routes","name","undefined","useLinkProps","href","action","root","useContext","NavigationContainerRefContext","navigation","NavigationHelpersContext","options","LinkingContext","onPress","shouldHandle","Platform","OS","preventDefault","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","isLeftClick","button","isSelfTarget","currentTarget","includes","target","dispatch","Error","navigate","getPathFromStateHelper","getPathFromState","config","accessibilityRole"],"sourceRoot":"../../src","sources":["useLinkProps.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useLinkTo = useLinkTo;
|
|
7
|
-
var _core = require("@react-navigation/core");
|
|
8
|
-
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _useLinkBuilder = require("./useLinkBuilder.js");
|
|
10
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
-
/**
|
|
13
|
-
* Helper to navigate to a screen using a href based on the linking options.
|
|
14
|
-
*
|
|
15
|
-
* @returns function that receives the href to navigate to.
|
|
16
|
-
*/
|
|
17
|
-
function useLinkTo() {
|
|
18
|
-
const navigation = React.useContext(_core.NavigationContainerRefContext);
|
|
19
|
-
const {
|
|
20
|
-
buildAction
|
|
21
|
-
} = (0, _useLinkBuilder.useLinkBuilder)();
|
|
22
|
-
const linkTo = React.useCallback(href => {
|
|
23
|
-
if (navigation === undefined) {
|
|
24
|
-
throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
|
|
25
|
-
}
|
|
26
|
-
const action = buildAction(href);
|
|
27
|
-
navigation.dispatch(action);
|
|
28
|
-
}, [buildAction, navigation]);
|
|
29
|
-
return linkTo;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=useLinkTo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","React","_interopRequireWildcard","_useLinkBuilder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useLinkTo","navigation","useContext","NavigationContainerRefContext","buildAction","useLinkBuilder","linkTo","useCallback","href","undefined","Error","action","dispatch"],"sourceRoot":"../../src","sources":["useLinkTo.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AAAkD,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAElD;AACA;AACA;AACA;AACA;AACO,SAASW,SAASA,CAAA,EAAG;EAC1B,MAAMC,UAAU,GAAGxB,KAAK,CAACyB,UAAU,CAACC,mCAA6B,CAAC;EAClE,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,8BAAc,EAAC,CAAC;EAExC,MAAMC,MAAM,GAAG7B,KAAK,CAAC8B,WAAW,CAC7BC,IAAY,IAAK;IAChB,IAAIP,UAAU,KAAKQ,SAAS,EAAE;MAC5B,MAAM,IAAIC,KAAK,CACb,kFACF,CAAC;IACH;IAEA,MAAMC,MAAM,GAAGP,WAAW,CAACI,IAAI,CAAC;IAEhCP,UAAU,CAACW,QAAQ,CAACD,MAAM,CAAC;EAC7B,CAAC,EACD,CAACP,WAAW,EAAEH,UAAU,CAC1B,CAAC;EAED,OAAOK,MAAM;AACf","ignoreList":[]}
|