react-router-native 0.0.0-experimental-b1ff171f → 0.0.0-experimental-12346

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.
@@ -1,6 +1,7 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) React Training 2016-2019
3
+ Copyright (c) React Training 2015-2019
4
+ Copyright (c) Remix Software 2020-2021
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # React Router Native
2
2
 
3
3
  The `react-router-native` package contains bindings for using [React
4
- Router](https://github.com/ReactTraining/react-router) in [React
5
- Native](https://facebook.github.io/react-native/) applications. Please see [the
6
- main README](https://github.com/ReactTraining/react-router/README.md) for more
7
- information on how to get started with React Router.
4
+ Router](https://github.com/remix-run/react-router) in [React
5
+ Native](https://facebook.github.io/react-native/) applications.
6
+ Please see [the Getting Started guide](https://github.com/remix-run/react-router/blob/main/docs/getting-started/tutorial.md) for more information on how to get started with React Router.
package/index.d.ts ADDED
@@ -0,0 +1,76 @@
1
+ import * as React from "react";
2
+ import { GestureResponderEvent, TouchableHighlightProps } from "react-native";
3
+ import { MemoryRouter, MemoryRouterProps, Navigate, NavigateOptions, Outlet, Route, Router, Routes, createRoutesFromChildren, generatePath, matchRoutes, matchPath, createPath, parsePath, resolvePath, renderMatches, useHref, useInRouterContext, useLocation, useMatch, useNavigate, useNavigationType, useOutlet, useParams, useResolvedPath, useRoutes, useOutletContext } from "react-router";
4
+ import type { To } from "react-router";
5
+ import URLSearchParams from "@ungap/url-search-params";
6
+ export { MemoryRouter, Navigate, Outlet, Route, Router, Routes, createRoutesFromChildren, generatePath, matchRoutes, matchPath, createPath, parsePath, resolvePath, renderMatches, useHref, useInRouterContext, useLocation, useMatch, useNavigate, useNavigationType, useOutlet, useParams, useResolvedPath, useRoutes, useOutletContext, };
7
+ export { NavigationType } from "react-router";
8
+ export type { Hash, IndexRouteProps, LayoutRouteProps, Location, MemoryRouterProps, NavigateFunction, NavigateOptions, NavigateProps, Navigator, OutletProps, Params, Path, PathMatch, PathRouteProps, RouteMatch, RouteObject, RouteProps, RouterProps, RoutesProps, Pathname, Search, To, } from "react-router";
9
+ /** @internal */
10
+ export { UNSAFE_NavigationContext, UNSAFE_LocationContext, UNSAFE_RouteContext, } from "react-router";
11
+ export interface NativeRouterProps extends MemoryRouterProps {
12
+ }
13
+ /**
14
+ * A <Router> that runs on React Native.
15
+ */
16
+ export declare function NativeRouter(props: NativeRouterProps): JSX.Element;
17
+ export interface LinkProps extends TouchableHighlightProps {
18
+ children?: React.ReactNode;
19
+ onPress?: (event: GestureResponderEvent) => void;
20
+ replace?: boolean;
21
+ state?: any;
22
+ to: To;
23
+ }
24
+ /**
25
+ * A <TouchableHighlight> that navigates to a different URL when touched.
26
+ */
27
+ export declare function Link({ onPress, replace, state, to, ...rest }: LinkProps): JSX.Element;
28
+ /**
29
+ * Handles the press behavior for router `<Link>` components. This is useful if
30
+ * you need to create custom `<Link>` components with the same press behavior we
31
+ * use in our exported `<Link>`.
32
+ */
33
+ export declare function useLinkPressHandler(to: To, { replace, state, }?: {
34
+ replace?: boolean;
35
+ state?: any;
36
+ }): (event: GestureResponderEvent) => void;
37
+ /**
38
+ * Enables support for the hardware back button on Android.
39
+ */
40
+ export declare function useHardwareBackButton(): void;
41
+ export { useHardwareBackButton as useAndroidBackButton };
42
+ /**
43
+ * Enables deep linking, both on the initial app launch and for
44
+ * subsequent incoming links.
45
+ */
46
+ export declare function useDeepLinking(): void;
47
+ /**
48
+ * A convenient wrapper for accessing individual query parameters via the
49
+ * URLSearchParams interface.
50
+ */
51
+ export declare function useSearchParams(defaultInit?: URLSearchParamsInit): [URLSearchParams, SetURLSearchParams];
52
+ declare type SetURLSearchParams = (nextInit?: URLSearchParamsInit | undefined, navigateOpts?: NavigateOptions | undefined) => void;
53
+ export declare type ParamKeyValuePair = [string, string];
54
+ export declare type URLSearchParamsInit = string | ParamKeyValuePair[] | Record<string, string | string[]> | URLSearchParams;
55
+ /**
56
+ * Creates a URLSearchParams object using the given initializer.
57
+ *
58
+ * This is identical to `new URLSearchParams(init)` except it also
59
+ * supports arrays as values in the object form of the initializer
60
+ * instead of just strings. This is convenient when you need multiple
61
+ * values for a given key, but don't want to use an array initializer.
62
+ *
63
+ * For example, instead of:
64
+ *
65
+ * let searchParams = new URLSearchParams([
66
+ * ['sort', 'name'],
67
+ * ['sort', 'price']
68
+ * ]);
69
+ *
70
+ * you can do:
71
+ *
72
+ * let searchParams = createSearchParams({
73
+ * sort: ['name', 'price']
74
+ * });
75
+ */
76
+ export declare function createSearchParams(init?: URLSearchParamsInit): URLSearchParams;
package/index.js CHANGED
@@ -1,13 +1,112 @@
1
- import URLSearchParams from'@ungap/url-search-params';import{MemoryRouter,useNavigate,useBlocker,useLocation}from'react-router';import{TouchableHighlight,BackHandler,Linking,Alert}from'react-native';import PropTypes from'prop-types';import{createElement,useEffect,useCallback,useRef,useMemo}from'react';export{MemoryRouter,Navigate,Outlet,Route,Router,Routes,createRoutesFromArray,createRoutesFromChildren,generatePath,matchPath,matchRoutes,resolveLocation,useBlocker,useHref,useInRouterContext,useLocation,useLocationPending,useMatch,useNavigate,useOutlet,useParams,useResolvedLocation,useRoutes}from'react-router';function g(){g=Object.assign||function(a){for(var c=1;c<arguments.length;c++){var b=arguments[c],d;for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d])}return a};return g.apply(this,arguments)}
2
- function h(a,c){if(null==a)return{};if(null==a)var b={};else{b={};var d=Object.keys(a),e;for(e=0;e<d.length;e++){var f=d[e];0<=c.indexOf(f)||(b[f]=a[f])}}if(Object.getOwnPropertySymbols)for(e=Object.getOwnPropertySymbols(a),f=0;f<e.length;f++)d=e[f],0<=c.indexOf(d)||Object.prototype.propertyIsEnumerable.call(a,d)&&(b[d]=a[d]);return b}
3
- function k(a,c){if(a){if("string"===typeof a)return l(a,c);var b=Object.prototype.toString.call(a).slice(8,-1);"Object"===b&&a.constructor&&(b=a.constructor.name);if("Map"===b||"Set"===b)return Array.from(b);if("Arguments"===b||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b))return l(a,c)}}function l(a,c){if(null==c||c>a.length)c=a.length;for(var b=0,d=Array(c);b<c;b++)d[b]=a[b];return d}
4
- function m(a){var c=0;if("undefined"===typeof Symbol||null==a[Symbol.iterator]){if(Array.isArray(a)||(a=k(a)))return function(){return c>=a.length?{done:!0}:{done:!1,value:a[c++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}c=a[Symbol.iterator]();return c.next.bind(c)}function n(a){return createElement(MemoryRouter,g({},a))}
5
- "production"!==process.env.NODE_ENV&&(n.displayName="NativeRouter",n.propTypes=MemoryRouter.propTypes);function p(a){var c=a.onPress,b=a.replace,d=void 0===b?!1:b,e=a.state,f=a.to;a=h(a,["onPress","replace","state","to"]);var v=useNavigate();return createElement(TouchableHighlight,g({},a,{onPress:function(a){c&&c(a);a.defaultPrevented||v(f,{replace:d,state:e})}}))}
6
- "production"!==process.env.NODE_ENV&&(p.displayName="Link",p.propTypes={onPress:PropTypes.func,replace:PropTypes.bool,state:PropTypes.object,to:PropTypes.oneOfType([PropTypes.string,PropTypes.object])});function r(a){t(a.message,a.when);return null}"production"!==process.env.NODE_ENV&&(r.displayName="Prompt",r.propTypes={message:PropTypes.string,when:PropTypes.bool});
7
- function t(a){var c=1<arguments.length&&void 0!==arguments[1]?arguments[1]:!0,b=useCallback(function(b){Alert.alert("Confirm",a,[{text:"Cancel",onPress:function(){}},{text:"OK",onPress:function(){b.retry()}}])},[a]);useBlocker(b,c)}
8
- function u(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"";return new URLSearchParams("string"===typeof a||Array.isArray(a)||a instanceof URLSearchParams?a:Object.keys(a).reduce(function(c,b){var d=a[b];return c.concat(Array.isArray(d)?d.map(function(a){return[b,a]}):[[b,d]])},[]))}
9
-
10
- function useHardwareBackButton(){useEffect(function(){function a(){}BackHandler.addEventListener("hardwareBackPress",a);return function(){BackHandler.removeEventListener("hardwareBackPress",a)}},[])};
11
- function useDeepLinking(){var a=useNavigate();useEffect(function(){var c=!0;Linking.getInitialURL().then(function(b){c&&b&&a(b.replace(/^.*?:\/\//,""))});return function(){c=!1}},[a]);useEffect(function(){function c(b){a(b.url.replace(/^.*?:\/\//,""))}Linking.addEventListener("url",c);return function(){Linking.removeEventListener("url",c)}},[a])};
12
- function useSearchParams(a){var c=useRef(u(a)),b=useLocation();a=useMemo(function(){function a(a){d.has(a)||c.current.getAll(a).forEach(function(b){d.append(a,b)})}for(var d=u(b.search),e=m(c.current.keys()),q;!(q=e()).done;)a(q.value);return d},[b.search]);var d=useNavigate(),e=useCallback(function(a,b){d("?"+u(a),b)},[d]);return[a,e]};export{p as Link,n as NativeRouter,r as Prompt,u as createSearchParams,useHardwareBackButton,useDeepLinking,t as usePrompt,useSearchParams}
1
+ /**
2
+ * React Router Native v0.0.0-experimental-12346
3
+ *
4
+ * Copyright (c) Remix Software Inc.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE.md file in the root directory of this source tree.
8
+ *
9
+ * @license MIT
10
+ */
11
+ import { createElement, useEffect, useRef, useMemo, useCallback } from 'react';
12
+ import { TouchableHighlight, BackHandler, Linking } from 'react-native';
13
+ import { MemoryRouter, useNavigate, useLocation } from 'react-router';
14
+ export { MemoryRouter, Navigate, NavigationType, Outlet, Route, Router, Routes, UNSAFE_LocationContext, UNSAFE_NavigationContext, UNSAFE_RouteContext, createPath, createRoutesFromChildren, generatePath, matchPath, matchRoutes, parsePath, renderMatches, resolvePath, useHref, useInRouterContext, useLocation, useMatch, useNavigate, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes } from 'react-router';
15
+ import URLSearchParams from '@ungap/url-search-params';
16
+
17
+ function _extends() {
18
+ _extends = Object.assign || function (target) {
19
+ for (var i = 1; i < arguments.length; i++) {
20
+ var source = arguments[i];
21
+
22
+ for (var key in source) {
23
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
24
+ target[key] = source[key];
25
+ }
26
+ }
27
+ }
28
+
29
+ return target;
30
+ };
31
+
32
+ return _extends.apply(this, arguments);
33
+ }
34
+
35
+ function _objectWithoutPropertiesLoose(source, excluded) {
36
+ if (source == null) return {};
37
+ var target = {};
38
+ var sourceKeys = Object.keys(source);
39
+ var key, i;
40
+
41
+ for (i = 0; i < sourceKeys.length; i++) {
42
+ key = sourceKeys[i];
43
+ if (excluded.indexOf(key) >= 0) continue;
44
+ target[key] = source[key];
45
+ }
46
+
47
+ return target;
48
+ }
49
+
50
+ function _objectWithoutProperties(source, excluded) {
51
+ if (source == null) return {};
52
+
53
+ var target = _objectWithoutPropertiesLoose(source, excluded);
54
+
55
+ var key, i;
56
+
57
+ if (Object.getOwnPropertySymbols) {
58
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
59
+
60
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
61
+ key = sourceSymbolKeys[i];
62
+ if (excluded.indexOf(key) >= 0) continue;
63
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
64
+ target[key] = source[key];
65
+ }
66
+ }
67
+
68
+ return target;
69
+ }
70
+
71
+ function _unsupportedIterableToArray(o, minLen) {
72
+ if (!o) return;
73
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
74
+ var n = Object.prototype.toString.call(o).slice(8, -1);
75
+ if (n === "Object" && o.constructor) n = o.constructor.name;
76
+ if (n === "Map" || n === "Set") return Array.from(o);
77
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
78
+ }
79
+
80
+ function _arrayLikeToArray(arr, len) {
81
+ if (len == null || len > arr.length) len = arr.length;
82
+
83
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
84
+
85
+ return arr2;
86
+ }
87
+
88
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
89
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
90
+ if (it) return (it = it.call(o)).next.bind(it);
91
+
92
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
93
+ if (it) o = it;
94
+ var i = 0;
95
+ return function () {
96
+ if (i >= o.length) return {
97
+ done: true
98
+ };
99
+ return {
100
+ done: false,
101
+ value: o[i++]
102
+ };
103
+ };
104
+ }
105
+
106
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
107
+ }
108
+
109
+ var _excluded=["onPress","replace","state","to"];var _jsxFileName="/home/runner/work/react-router/react-router/packages/react-router-native/index.tsx";function NativeRouter(props){return createElement(MemoryRouter,_extends({},props,{__source:{fileName:_jsxFileName,lineNumber:131,columnNumber:10}}));}function Link(_ref){var onPress=_ref.onPress,_ref$replace=_ref.replace,replace=_ref$replace===void 0?false:_ref$replace,state=_ref.state,to=_ref.to,rest=_objectWithoutProperties(_ref,_excluded);var internalOnPress=useLinkPressHandler(to,{replace:replace,state:state});function handlePress(event){if(onPress)onPress(event);if(!event.defaultPrevented){internalOnPress(event);}}return createElement(TouchableHighlight,_extends({},rest,{onPress:handlePress,__source:{fileName:_jsxFileName,lineNumber:160,columnNumber:10}}));}var HardwareBackPressEventType="hardwareBackPress";var URLEventType="url";function useLinkPressHandler(to){var _ref2=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},replace=_ref2.replace,state=_ref2.state;var navigate=useNavigate();return function handlePress(){navigate(to,{replace:replace,state:state});};}function useHardwareBackButton(){useEffect(function(){function handleHardwardBackPress(){return undefined;}BackHandler.addEventListener(HardwareBackPressEventType,handleHardwardBackPress);return function(){BackHandler.removeEventListener(HardwareBackPressEventType,handleHardwardBackPress);};},[]);}function useDeepLinking(){var navigate=useNavigate();useEffect(function(){var current=true;Linking.getInitialURL().then(function(url){if(current){if(url)navigate(trimScheme(url));}});return function(){current=false;};},[navigate]);useEffect(function(){function handleURLChange(event){navigate(trimScheme(event.url));}Linking.addEventListener(URLEventType,handleURLChange);return function(){Linking.removeEventListener(URLEventType,handleURLChange);};},[navigate]);}function trimScheme(url){return url.replace(/^.*?:\/\//,"");}function useSearchParams(defaultInit){var defaultSearchParamsRef=useRef(createSearchParams(defaultInit));var location=useLocation();var searchParams=useMemo(function(){var searchParams=createSearchParams(location.search);var _loop=function _loop(key){if(!searchParams.has(key)){defaultSearchParamsRef.current.getAll(key).forEach(function(value){searchParams.append(key,value);});}};for(var _iterator=_createForOfIteratorHelperLoose(defaultSearchParamsRef.current.keys()),_step;!(_step=_iterator()).done;){var key=_step.value;_loop(key);}return searchParams;},[location.search]);var navigate=useNavigate();var setSearchParams=useCallback(function(nextInit,navigateOpts){navigate("?"+createSearchParams(nextInit),navigateOpts);},[navigate]);return [searchParams,setSearchParams];}function createSearchParams(){var init=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"";return new URLSearchParams(typeof init==="string"||Array.isArray(init)||init instanceof URLSearchParams?init:Object.keys(init).reduce(function(memo,key){var value=init[key];return memo.concat(Array.isArray(value)?value.map(function(v){return [key,v];}):[[key,value]]);},[]));}
110
+
111
+ export { Link, NativeRouter, createSearchParams, useHardwareBackButton as useAndroidBackButton, useDeepLinking, useHardwareBackButton, useLinkPressHandler, useSearchParams };
13
112
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../.tsc-output/react-router-native/index.js"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { \n// modules\nAlert, BackHandler, Linking, TouchableHighlight } from 'react-native';\nimport { \n// components\nMemoryRouter, Navigate, Outlet, Route, Router, Routes, \n// hooks\nuseBlocker, useHref, useInRouterContext, useLocation, useLocationPending, useMatch, useNavigate, useOutlet, useParams, useResolvedLocation, useRoutes, \n// utils\ncreateRoutesFromArray, createRoutesFromChildren, generatePath, matchRoutes, matchPath, resolveLocation } from 'react-router';\nimport URLSearchParams from '@ungap/url-search-params';\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n// Note: Keep in sync with react-router exports!\nexport { \n// components\nMemoryRouter, Navigate, Outlet, Route, Router, Routes, \n// hooks\nuseBlocker, useHref, useInRouterContext, useLocation, useLocationPending, useMatch, useNavigate, useOutlet, useParams, useResolvedLocation, useRoutes, \n// utils\ncreateRoutesFromArray, createRoutesFromChildren, generatePath, matchRoutes, matchPath, resolveLocation };\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n/**\n * A <Router> that runs on React Native.\n */\nexport function NativeRouter(props) {\n return React.createElement(MemoryRouter, Object.assign({}, props));\n}\nif (__DEV__) {\n NativeRouter.displayName = 'NativeRouter';\n NativeRouter.propTypes = MemoryRouter.propTypes;\n}\n/**\n * A <TouchableHighlight> that navigates to a different URL when touched.\n */\nexport function Link({ onPress, replace = false, state, to, ...rest }) {\n let navigate = useNavigate();\n function handlePress(event) {\n if (onPress)\n onPress(event);\n if (!event.defaultPrevented) {\n navigate(to, { replace, state });\n }\n }\n return React.createElement(TouchableHighlight, Object.assign({}, rest, { onPress: handlePress }));\n}\nif (__DEV__) {\n Link.displayName = 'Link';\n Link.propTypes = {\n onPress: PropTypes.func,\n replace: PropTypes.bool,\n state: PropTypes.object,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n}\n/**\n * A declarative interface for showing an Alert dialog with the given\n * message when the user tries to navigate away from the current screen.\n *\n * This also serves as a reference implementation for anyone who wants\n * to create their own custom prompt component.\n */\nexport function Prompt({ message, when }) {\n usePrompt(message, when);\n return null;\n}\nif (__DEV__) {\n Prompt.displayName = 'Prompt';\n Prompt.propTypes = {\n message: PropTypes.string,\n when: PropTypes.bool\n };\n}\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\nconst HardwareBackPressEventType = 'hardwareBackPress';\nconst URLEventType = 'url';\n/**\n * Enables support for the hardware back button on Android.\n */\nexport function useHardwareBackButton() {\n React.useEffect(() => {\n function handleHardwardBackPress() {\n return undefined;\n // TODO: The implementation will be something like this\n // if (history.index === 0) {\n // return false; // home screen\n // } else {\n // history.back();\n // return true;\n // }\n }\n BackHandler.addEventListener(HardwareBackPressEventType, handleHardwardBackPress);\n return () => {\n BackHandler.removeEventListener(HardwareBackPressEventType, handleHardwardBackPress);\n };\n }, []);\n}\nexport { useHardwareBackButton as useAndroidBackButton };\n/**\n * Enables deep linking, both on the initial app launch and for\n * subsequent incoming links.\n */\nexport function useDeepLinking() {\n let navigate = useNavigate();\n // Get the initial URL\n React.useEffect(() => {\n let current = true;\n Linking.getInitialURL().then(url => {\n if (current) {\n if (url)\n navigate(trimScheme(url));\n }\n });\n return () => {\n current = false;\n };\n }, [navigate]);\n // Listen for URL changes\n React.useEffect(() => {\n function handleURLChange(event) {\n navigate(trimScheme(event.url));\n }\n Linking.addEventListener(URLEventType, handleURLChange);\n return () => {\n Linking.removeEventListener(URLEventType, handleURLChange);\n };\n }, [navigate]);\n}\nfunction trimScheme(url) {\n return url.replace(/^.*?:\\/\\//, '');\n}\n/**\n * Prompts the user with an Alert before they leave the current screen.\n */\nexport function usePrompt(message, when = true) {\n let blocker = React.useCallback(tx => {\n Alert.alert('Confirm', message, [\n { text: 'Cancel', onPress() { } },\n {\n text: 'OK',\n onPress() {\n tx.retry();\n }\n }\n ]);\n }, [message]);\n useBlocker(blocker, when);\n}\n/**\n * A convenient wrapper for accessing individual query parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit) {\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n }\n return searchParams;\n }, [location.search]);\n let navigate = useNavigate();\n let setSearchParams = React.useCallback((nextInit, navigateOpts) => {\n navigate('?' + createSearchParams(nextInit), navigateOpts);\n }, [navigate]);\n return [searchParams, setSearchParams];\n}\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(init = '') {\n return new URLSearchParams(typeof init === 'string' ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n }, []));\n}\n"],"names":["NativeRouter","props","React","MemoryRouter","_extends","Link","onPress","replace","state","to","rest","navigate","useNavigate","TouchableHighlight","handlePress","event","PropTypes","Prompt","usePrompt","message","when","blocker","tx","Alert","text","useBlocker","createSearchParams","init","URLSearchParams","Array","Object","memo","key","value","v","handleHardwardBackPress","BackHandler","HardwareBackPressEventType","current","Linking","url","handleURLChange","URLEventType","defaultInit","defaultSearchParamsRef","location","useLocation","searchParams","setSearchParams","nextInit","navigateOpts"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../packages/react-router-native/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport {\n BackHandler,\n GestureResponderEvent,\n Linking,\n TouchableHighlight,\n TouchableHighlightProps,\n} from \"react-native\";\nimport {\n MemoryRouter,\n MemoryRouterProps,\n Navigate,\n NavigateOptions,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nimport URLSearchParams from \"@ungap/url-search-params\";\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n};\n\nexport { NavigationType } from \"react-router\";\nexport type {\n Hash,\n IndexRouteProps,\n LayoutRouteProps,\n Location,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n Path,\n PathMatch,\n PathRouteProps,\n RouteMatch,\n RouteObject,\n RouteProps,\n RouterProps,\n RoutesProps,\n Pathname,\n Search,\n To,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface NativeRouterProps extends MemoryRouterProps {}\n\n/**\n * A <Router> that runs on React Native.\n */\nexport function NativeRouter(props: NativeRouterProps) {\n return <MemoryRouter {...props} />;\n}\n\nexport interface LinkProps extends TouchableHighlightProps {\n children?: React.ReactNode;\n onPress?: (event: GestureResponderEvent) => void;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * A <TouchableHighlight> that navigates to a different URL when touched.\n */\nexport function Link({\n onPress,\n replace = false,\n state,\n to,\n ...rest\n}: LinkProps) {\n let internalOnPress = useLinkPressHandler(to, { replace, state });\n function handlePress(event: GestureResponderEvent) {\n if (onPress) onPress(event);\n if (!event.defaultPrevented) {\n internalOnPress(event);\n }\n }\n\n return <TouchableHighlight {...rest} onPress={handlePress} />;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\nconst HardwareBackPressEventType = \"hardwareBackPress\";\nconst URLEventType = \"url\";\n\n/**\n * Handles the press behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same press behavior we\n * use in our exported `<Link>`.\n */\nexport function useLinkPressHandler(\n to: To,\n {\n replace,\n state,\n }: {\n replace?: boolean;\n state?: any;\n } = {}\n): (event: GestureResponderEvent) => void {\n let navigate = useNavigate();\n return function handlePress() {\n navigate(to, { replace, state });\n };\n}\n\n/**\n * Enables support for the hardware back button on Android.\n */\nexport function useHardwareBackButton() {\n React.useEffect(() => {\n function handleHardwardBackPress() {\n return undefined;\n // TODO: The implementation will be something like this\n // if (history.index === 0) {\n // return false; // home screen\n // } else {\n // history.back();\n // return true;\n // }\n }\n\n BackHandler.addEventListener(\n HardwareBackPressEventType,\n handleHardwardBackPress\n );\n\n return () => {\n BackHandler.removeEventListener(\n HardwareBackPressEventType,\n handleHardwardBackPress\n );\n };\n }, []);\n}\n\nexport { useHardwareBackButton as useAndroidBackButton };\n\n/**\n * Enables deep linking, both on the initial app launch and for\n * subsequent incoming links.\n */\nexport function useDeepLinking() {\n let navigate = useNavigate();\n\n // Get the initial URL\n React.useEffect(() => {\n let current = true;\n\n Linking.getInitialURL().then((url) => {\n if (current) {\n if (url) navigate(trimScheme(url));\n }\n });\n\n return () => {\n current = false;\n };\n }, [navigate]);\n\n // Listen for URL changes\n React.useEffect(() => {\n function handleURLChange(event: { url: string }) {\n navigate(trimScheme(event.url));\n }\n\n Linking.addEventListener(URLEventType, handleURLChange);\n\n return () => {\n Linking.removeEventListener(URLEventType, handleURLChange);\n };\n }, [navigate]);\n}\n\nfunction trimScheme(url: string) {\n return url.replace(/^.*?:\\/\\//, \"\");\n}\n\n/**\n * A convenient wrapper for accessing individual query parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(\n defaultInit?: URLSearchParamsInit\n): [URLSearchParams, SetURLSearchParams] {\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams: SetURLSearchParams = React.useCallback(\n (nextInit, navigateOpts) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOpts);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams];\n}\n\ntype SetURLSearchParams = (\n nextInit?: URLSearchParamsInit | undefined,\n navigateOpts?: NavigateOptions | undefined\n) => void;\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record<string, string | string[]>\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n"],"names":["NativeRouter","props","Link","onPress","replace","state","to","rest","internalOnPress","useLinkPressHandler","handlePress","event","defaultPrevented","HardwareBackPressEventType","URLEventType","navigate","useNavigate","useHardwareBackButton","React","handleHardwardBackPress","undefined","BackHandler","addEventListener","removeEventListener","useDeepLinking","current","Linking","getInitialURL","then","url","trimScheme","handleURLChange","useSearchParams","defaultInit","defaultSearchParamsRef","createSearchParams","location","useLocation","searchParams","search","key","has","getAll","forEach","value","append","keys","setSearchParams","nextInit","navigateOpts","init","URLSearchParams","Array","isArray","Object","reduce","memo","concat","map","v"],"mappings":"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"}
package/package.json CHANGED
@@ -1,21 +1,24 @@
1
1
  {
2
2
  "name": "react-router-native",
3
- "version": "0.0.0-experimental-b1ff171f",
4
- "author": "React Training <hello@reacttraining.com>",
3
+ "version": "0.0.0-experimental-12346",
4
+ "author": "Remix Software <hello@remix.run>",
5
5
  "description": "Declarative routing for React Native applications",
6
- "repository": "ReactTraining/react-router",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/remix-run/react-router.git",
9
+ "directory": "packages/react-router-native"
10
+ },
7
11
  "license": "MIT",
8
- "main": "index.js",
9
- "types": "index.d.ts",
12
+ "main": "./index.js",
13
+ "types": "./index.d.ts",
10
14
  "dependencies": {
11
15
  "@ungap/url-search-params": "^0.1.4",
12
- "history": "5.0.0-beta.9",
13
- "prop-types": "^15.7.2"
16
+ "react-router": "0.0.0-experimental-12346",
17
+ "history": "^5.2.0"
14
18
  },
15
19
  "peerDependencies": {
16
- "react": "0.0.0-experimental-33c3af284",
17
- "react-native": ">=0.44",
18
- "react-router": "0.0.0-experimental-b1ff171f"
20
+ "react": ">=16.8",
21
+ "react-native": ">=0.44"
19
22
  },
20
23
  "devDependencies": {
21
24
  "react-native": "^0.61.4"