react-router 5.1.2 → 5.3.1
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/LICENSE +1 -1
- package/README.md +1 -1
- package/cjs/react-router.js +50 -43
- package/cjs/react-router.js.map +1 -1
- package/cjs/react-router.min.js +1 -1
- package/cjs/react-router.min.js.map +1 -1
- package/es/MemoryRouter.js +0 -2
- package/es/Prompt.js +0 -2
- package/es/Redirect.js +0 -2
- package/es/Route.js +0 -2
- package/es/Router.js +0 -2
- package/es/StaticRouter.js +0 -2
- package/es/Switch.js +0 -2
- package/es/generatePath.js +0 -2
- package/es/matchPath.js +0 -2
- package/es/warnAboutDeprecatedESMImport.js +1 -2
- package/es/withRouter.js +0 -2
- package/esm/react-router.js +39 -43
- package/esm/react-router.js.map +1 -1
- package/modules/HistoryContext.js +4 -0
- package/modules/MemoryRouter.js +1 -1
- package/modules/Prompt.js +2 -2
- package/modules/Redirect.js +3 -3
- package/modules/Route.js +3 -3
- package/modules/Router.js +13 -4
- package/modules/RouterContext.js +1 -9
- package/modules/StaticRouter.js +1 -1
- package/modules/Switch.js +2 -2
- package/modules/createNamedContext.js +11 -0
- package/modules/hooks.js +8 -7
- package/modules/index.js +13 -13
- package/modules/withRouter.js +2 -1
- package/package.json +14 -12
- package/umd/react-router.js +63 -71
- package/umd/react-router.js.map +1 -1
- package/umd/react-router.min.js +1 -1
- package/umd/react-router.min.js.map +1 -1
- package/warnAboutDeprecatedCJSRequire.js +1 -0
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ You can find the library on `window.ReactRouter`.
|
|
|
32
32
|
|
|
33
33
|
## Issues
|
|
34
34
|
|
|
35
|
-
If you find a bug, please file an issue on [our issue tracker on GitHub](https://github.com/
|
|
35
|
+
If you find a bug, please file an issue on [our issue tracker on GitHub](https://github.com/remix-run/react-router/issues).
|
|
36
36
|
|
|
37
37
|
## Credits
|
|
38
38
|
|
package/cjs/react-router.js
CHANGED
|
@@ -33,7 +33,17 @@ function _extends() {
|
|
|
33
33
|
function _inheritsLoose(subClass, superClass) {
|
|
34
34
|
subClass.prototype = Object.create(superClass.prototype);
|
|
35
35
|
subClass.prototype.constructor = subClass;
|
|
36
|
-
|
|
36
|
+
|
|
37
|
+
_setPrototypeOf(subClass, superClass);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function _setPrototypeOf(o, p) {
|
|
41
|
+
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
|
42
|
+
o.__proto__ = p;
|
|
43
|
+
return o;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return _setPrototypeOf(o, p);
|
|
37
47
|
}
|
|
38
48
|
|
|
39
49
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
@@ -59,17 +69,15 @@ var createNamedContext = function createNamedContext(name) {
|
|
|
59
69
|
return context;
|
|
60
70
|
};
|
|
61
71
|
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
createNamedContext("Router");
|
|
72
|
+
var historyContext = /*#__PURE__*/createNamedContext("Router-History");
|
|
73
|
+
|
|
74
|
+
var context = /*#__PURE__*/createNamedContext("Router");
|
|
65
75
|
|
|
66
76
|
/**
|
|
67
77
|
* The public API for putting history on context.
|
|
68
78
|
*/
|
|
69
79
|
|
|
70
|
-
var Router =
|
|
71
|
-
/*#__PURE__*/
|
|
72
|
-
function (_React$Component) {
|
|
80
|
+
var Router = /*#__PURE__*/function (_React$Component) {
|
|
73
81
|
_inheritsLoose(Router, _React$Component);
|
|
74
82
|
|
|
75
83
|
Router.computeRootMatch = function computeRootMatch(pathname) {
|
|
@@ -124,19 +132,25 @@ function (_React$Component) {
|
|
|
124
132
|
};
|
|
125
133
|
|
|
126
134
|
_proto.componentWillUnmount = function componentWillUnmount() {
|
|
127
|
-
if (this.unlisten)
|
|
135
|
+
if (this.unlisten) {
|
|
136
|
+
this.unlisten();
|
|
137
|
+
this._isMounted = false;
|
|
138
|
+
this._pendingLocation = null;
|
|
139
|
+
}
|
|
128
140
|
};
|
|
129
141
|
|
|
130
142
|
_proto.render = function render() {
|
|
131
|
-
return React.createElement(context.Provider, {
|
|
132
|
-
children: this.props.children || null,
|
|
143
|
+
return /*#__PURE__*/React.createElement(context.Provider, {
|
|
133
144
|
value: {
|
|
134
145
|
history: this.props.history,
|
|
135
146
|
location: this.state.location,
|
|
136
147
|
match: Router.computeRootMatch(this.state.location.pathname),
|
|
137
148
|
staticContext: this.props.staticContext
|
|
138
149
|
}
|
|
139
|
-
}
|
|
150
|
+
}, /*#__PURE__*/React.createElement(historyContext.Provider, {
|
|
151
|
+
children: this.props.children || null,
|
|
152
|
+
value: this.props.history
|
|
153
|
+
}));
|
|
140
154
|
};
|
|
141
155
|
|
|
142
156
|
return Router;
|
|
@@ -158,9 +172,7 @@ function (_React$Component) {
|
|
|
158
172
|
* The public API for a <Router> that stores location in memory.
|
|
159
173
|
*/
|
|
160
174
|
|
|
161
|
-
var MemoryRouter =
|
|
162
|
-
/*#__PURE__*/
|
|
163
|
-
function (_React$Component) {
|
|
175
|
+
var MemoryRouter = /*#__PURE__*/function (_React$Component) {
|
|
164
176
|
_inheritsLoose(MemoryRouter, _React$Component);
|
|
165
177
|
|
|
166
178
|
function MemoryRouter() {
|
|
@@ -178,7 +190,7 @@ function (_React$Component) {
|
|
|
178
190
|
var _proto = MemoryRouter.prototype;
|
|
179
191
|
|
|
180
192
|
_proto.render = function render() {
|
|
181
|
-
return React.createElement(Router, {
|
|
193
|
+
return /*#__PURE__*/React.createElement(Router, {
|
|
182
194
|
history: this.history,
|
|
183
195
|
children: this.props.children
|
|
184
196
|
});
|
|
@@ -201,9 +213,7 @@ function (_React$Component) {
|
|
|
201
213
|
};
|
|
202
214
|
}
|
|
203
215
|
|
|
204
|
-
var Lifecycle =
|
|
205
|
-
/*#__PURE__*/
|
|
206
|
-
function (_React$Component) {
|
|
216
|
+
var Lifecycle = /*#__PURE__*/function (_React$Component) {
|
|
207
217
|
_inheritsLoose(Lifecycle, _React$Component);
|
|
208
218
|
|
|
209
219
|
function Lifecycle() {
|
|
@@ -239,11 +249,11 @@ function Prompt(_ref) {
|
|
|
239
249
|
var message = _ref.message,
|
|
240
250
|
_ref$when = _ref.when,
|
|
241
251
|
when = _ref$when === void 0 ? true : _ref$when;
|
|
242
|
-
return React.createElement(context.Consumer, null, function (context) {
|
|
252
|
+
return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {
|
|
243
253
|
!context ? invariant(false, "You should not use <Prompt> outside a <Router>") : void 0;
|
|
244
254
|
if (!when || context.staticContext) return null;
|
|
245
255
|
var method = context.history.block;
|
|
246
|
-
return React.createElement(Lifecycle, {
|
|
256
|
+
return /*#__PURE__*/React.createElement(Lifecycle, {
|
|
247
257
|
onMount: function onMount(self) {
|
|
248
258
|
self.release = method(message);
|
|
249
259
|
},
|
|
@@ -312,7 +322,7 @@ function Redirect(_ref) {
|
|
|
312
322
|
to = _ref.to,
|
|
313
323
|
_ref$push = _ref.push,
|
|
314
324
|
push = _ref$push === void 0 ? false : _ref$push;
|
|
315
|
-
return React.createElement(context.Consumer, null, function (context) {
|
|
325
|
+
return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {
|
|
316
326
|
!context ? invariant(false, "You should not use <Redirect> outside a <Router>") : void 0;
|
|
317
327
|
var history$1 = context.history,
|
|
318
328
|
staticContext = context.staticContext;
|
|
@@ -327,7 +337,7 @@ function Redirect(_ref) {
|
|
|
327
337
|
return null;
|
|
328
338
|
}
|
|
329
339
|
|
|
330
|
-
return React.createElement(Lifecycle, {
|
|
340
|
+
return /*#__PURE__*/React.createElement(Lifecycle, {
|
|
331
341
|
onMount: function onMount() {
|
|
332
342
|
method(location);
|
|
333
343
|
},
|
|
@@ -447,9 +457,7 @@ function evalChildrenDev(children, props, path) {
|
|
|
447
457
|
*/
|
|
448
458
|
|
|
449
459
|
|
|
450
|
-
var Route =
|
|
451
|
-
/*#__PURE__*/
|
|
452
|
-
function (_React$Component) {
|
|
460
|
+
var Route = /*#__PURE__*/function (_React$Component) {
|
|
453
461
|
_inheritsLoose(Route, _React$Component);
|
|
454
462
|
|
|
455
463
|
function Route() {
|
|
@@ -461,7 +469,7 @@ function (_React$Component) {
|
|
|
461
469
|
_proto.render = function render() {
|
|
462
470
|
var _this = this;
|
|
463
471
|
|
|
464
|
-
return React.createElement(context.Consumer, null, function (context$1) {
|
|
472
|
+
return /*#__PURE__*/React.createElement(context.Consumer, null, function (context$1) {
|
|
465
473
|
!context$1 ? invariant(false, "You should not use <Route> outside a <Router>") : void 0;
|
|
466
474
|
var location = _this.props.location || context$1.location;
|
|
467
475
|
var match = _this.props.computedMatch ? _this.props.computedMatch // <Switch> already computed the match for us
|
|
@@ -478,13 +486,13 @@ function (_React$Component) {
|
|
|
478
486
|
render = _this$props.render; // Preact uses an empty array as children by
|
|
479
487
|
// default, so use null if that's the case.
|
|
480
488
|
|
|
481
|
-
if (Array.isArray(children) && children
|
|
489
|
+
if (Array.isArray(children) && isEmptyChildren(children)) {
|
|
482
490
|
children = null;
|
|
483
491
|
}
|
|
484
492
|
|
|
485
|
-
return React.createElement(context.Provider, {
|
|
493
|
+
return /*#__PURE__*/React.createElement(context.Provider, {
|
|
486
494
|
value: props
|
|
487
|
-
}, props.match ? children ? typeof children === "function" ? evalChildrenDev(children, props, _this.props.path) : children : component ? React.createElement(component, props) : render ? render(props) : null : typeof children === "function" ? evalChildrenDev(children, props, _this.props.path) : null);
|
|
495
|
+
}, props.match ? children ? typeof children === "function" ? evalChildrenDev(children, props, _this.props.path) : children : component ? /*#__PURE__*/React.createElement(component, props) : render ? render(props) : null : typeof children === "function" ? evalChildrenDev(children, props, _this.props.path) : null);
|
|
488
496
|
});
|
|
489
497
|
};
|
|
490
498
|
|
|
@@ -558,9 +566,7 @@ function noop() {}
|
|
|
558
566
|
*/
|
|
559
567
|
|
|
560
568
|
|
|
561
|
-
var StaticRouter =
|
|
562
|
-
/*#__PURE__*/
|
|
563
|
-
function (_React$Component) {
|
|
569
|
+
var StaticRouter = /*#__PURE__*/function (_React$Component) {
|
|
564
570
|
_inheritsLoose(StaticRouter, _React$Component);
|
|
565
571
|
|
|
566
572
|
function StaticRouter() {
|
|
@@ -628,7 +634,7 @@ function (_React$Component) {
|
|
|
628
634
|
listen: this.handleListen,
|
|
629
635
|
block: this.handleBlock
|
|
630
636
|
};
|
|
631
|
-
return React.createElement(Router, _extends({}, rest, {
|
|
637
|
+
return /*#__PURE__*/React.createElement(Router, _extends({}, rest, {
|
|
632
638
|
history: history$1,
|
|
633
639
|
staticContext: context
|
|
634
640
|
}));
|
|
@@ -653,9 +659,7 @@ function (_React$Component) {
|
|
|
653
659
|
* The public API for rendering the first <Route> that matches.
|
|
654
660
|
*/
|
|
655
661
|
|
|
656
|
-
var Switch =
|
|
657
|
-
/*#__PURE__*/
|
|
658
|
-
function (_React$Component) {
|
|
662
|
+
var Switch = /*#__PURE__*/function (_React$Component) {
|
|
659
663
|
_inheritsLoose(Switch, _React$Component);
|
|
660
664
|
|
|
661
665
|
function Switch() {
|
|
@@ -667,7 +671,7 @@ function (_React$Component) {
|
|
|
667
671
|
_proto.render = function render() {
|
|
668
672
|
var _this = this;
|
|
669
673
|
|
|
670
|
-
return React.createElement(context.Consumer, null, function (context) {
|
|
674
|
+
return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {
|
|
671
675
|
!context ? invariant(false, "You should not use <Switch> outside a <Router>") : void 0;
|
|
672
676
|
var location = _this.props.location || context.location;
|
|
673
677
|
var element, match; // We use React.Children.forEach instead of React.Children.toArray().find()
|
|
@@ -676,7 +680,7 @@ function (_React$Component) {
|
|
|
676
680
|
// component at different URLs.
|
|
677
681
|
|
|
678
682
|
React.Children.forEach(_this.props.children, function (child) {
|
|
679
|
-
if (match == null && React.isValidElement(child)) {
|
|
683
|
+
if (match == null && /*#__PURE__*/React.isValidElement(child)) {
|
|
680
684
|
element = child;
|
|
681
685
|
var path = child.props.path || child.props.from;
|
|
682
686
|
match = path ? matchPath(location.pathname, _extends({}, child.props, {
|
|
@@ -684,7 +688,7 @@ function (_React$Component) {
|
|
|
684
688
|
})) : context.match;
|
|
685
689
|
}
|
|
686
690
|
});
|
|
687
|
-
return match ? React.cloneElement(element, {
|
|
691
|
+
return match ? /*#__PURE__*/React.cloneElement(element, {
|
|
688
692
|
location: location,
|
|
689
693
|
computedMatch: match
|
|
690
694
|
}) : null;
|
|
@@ -717,9 +721,9 @@ function withRouter(Component) {
|
|
|
717
721
|
var wrappedComponentRef = props.wrappedComponentRef,
|
|
718
722
|
remainingProps = _objectWithoutPropertiesLoose(props, ["wrappedComponentRef"]);
|
|
719
723
|
|
|
720
|
-
return React.createElement(context.Consumer, null, function (context) {
|
|
724
|
+
return /*#__PURE__*/React.createElement(context.Consumer, null, function (context) {
|
|
721
725
|
!context ? invariant(false, "You should not use <" + displayName + " /> outside a <Router>") : void 0;
|
|
722
|
-
return React.createElement(Component, _extends({}, remainingProps, context, {
|
|
726
|
+
return /*#__PURE__*/React.createElement(Component, _extends({}, remainingProps, context, {
|
|
723
727
|
ref: wrappedComponentRef
|
|
724
728
|
}));
|
|
725
729
|
});
|
|
@@ -743,7 +747,7 @@ function useHistory() {
|
|
|
743
747
|
!(typeof useContext === "function") ? invariant(false, "You must use React >= 16.8 in order to use useHistory()") : void 0;
|
|
744
748
|
}
|
|
745
749
|
|
|
746
|
-
return useContext(
|
|
750
|
+
return useContext(historyContext);
|
|
747
751
|
}
|
|
748
752
|
function useLocation() {
|
|
749
753
|
{
|
|
@@ -765,7 +769,9 @@ function useRouteMatch(path) {
|
|
|
765
769
|
!(typeof useContext === "function") ? invariant(false, "You must use React >= 16.8 in order to use useRouteMatch()") : void 0;
|
|
766
770
|
}
|
|
767
771
|
|
|
768
|
-
|
|
772
|
+
var location = useLocation();
|
|
773
|
+
var match = useContext(context).match;
|
|
774
|
+
return path ? matchPath(location.pathname, path) : match;
|
|
769
775
|
}
|
|
770
776
|
|
|
771
777
|
{
|
|
@@ -797,6 +803,7 @@ exports.Route = Route;
|
|
|
797
803
|
exports.Router = Router;
|
|
798
804
|
exports.StaticRouter = StaticRouter;
|
|
799
805
|
exports.Switch = Switch;
|
|
806
|
+
exports.__HistoryContext = historyContext;
|
|
800
807
|
exports.__RouterContext = context;
|
|
801
808
|
exports.generatePath = generatePath;
|
|
802
809
|
exports.matchPath = matchPath;
|
package/cjs/react-router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-router.js","sources":["../modules/RouterContext.js","../modules/Router.js","../modules/MemoryRouter.js","../modules/Lifecycle.js","../modules/Prompt.js","../modules/generatePath.js","../modules/Redirect.js","../modules/matchPath.js","../modules/Route.js","../modules/StaticRouter.js","../modules/Switch.js","../modules/withRouter.js","../modules/hooks.js","../modules/index.js"],"sourcesContent":["// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n }\n\n render() {\n return (\n <RouterContext.Provider\n children={this.props.children || null}\n value={{\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }}\n />\n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change <Router history>\"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router\";\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<MemoryRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle\";\nimport RouterContext from \"./RouterContext\";\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\nfunction Prompt({ message, when = true }) {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Prompt> outside a <Router>\");\n\n if (!when || context.staticContext) return null;\n\n const method = context.history.block;\n\n return (\n <Lifecycle\n onMount={self => {\n self.release = method(message);\n }}\n onUpdate={(self, prevProps) => {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n }}\n onUnmount={self => {\n self.release();\n }}\n message={message}\n />\n );\n }}\n </RouterContext.Consumer>\n );\n}\n\nif (__DEV__) {\n const messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nexport default Prompt;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle\";\nimport RouterContext from \"./RouterContext\";\nimport generatePath from \"./generatePath\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Redirect> outside a <Router>\");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n <Lifecycle\n onMount={() => {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n </RouterContext.Consumer>\n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext\";\nimport matchPath from \"./matchPath\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `<Route${path ? ` path=\"${path}\"` : \"\"}>, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Route> outside a <Router>\");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // <Switch> already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return (\n <RouterContext.Provider value={props}>\n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n </RouterContext.Provider>\n );\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with <StaticRouter>\", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return <Router {...rest} history={history} staticContext={context} />;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<StaticRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext\";\nimport matchPath from \"./matchPath\";\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Switch> outside a <Router>\");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport RouterContext from \"./RouterContext\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a <Router>`\n );\n return (\n <Component\n {...remainingProps}\n {...context}\n ref={wrappedComponentRef}\n />\n );\n }}\n </RouterContext.Consumer>\n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport Context from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(Context).history;\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(Context).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(Context).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n return path\n ? matchPath(useLocation().pathname, path)\n : useContext(Context).match;\n}\n","if (__DEV__) {\n if (typeof window !== \"undefined\") {\n const global = window;\n const key = \"__react_router_build__\";\n const buildNames = { cjs: \"CommonJS\", esm: \"ES modules\", umd: \"UMD\" };\n\n if (global[key] && global[key] !== process.env.BUILD_FORMAT) {\n const initialBuildName = buildNames[global[key]];\n const secondaryBuildName = buildNames[process.env.BUILD_FORMAT];\n\n // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n throw new Error(\n `You are loading the ${secondaryBuildName} build of React Router ` +\n `on a page that is already running the ${initialBuildName} ` +\n `build, so things won't work right.`\n );\n }\n\n global[key] = process.env.BUILD_FORMAT;\n }\n}\n\nexport { default as MemoryRouter } from \"./MemoryRouter\";\nexport { default as Prompt } from \"./Prompt\";\nexport { default as Redirect } from \"./Redirect\";\nexport { default as Route } from \"./Route\";\nexport { default as Router } from \"./Router\";\nexport { default as StaticRouter } from \"./StaticRouter\";\nexport { default as Switch } from \"./Switch\";\nexport { default as generatePath } from \"./generatePath\";\nexport { default as matchPath } from \"./matchPath\";\nexport { default as withRouter } from \"./withRouter\";\n\nimport { useHistory, useLocation, useParams, useRouteMatch } from \"./hooks.js\";\nexport { useHistory, useLocation, useParams, useRouteMatch };\n\nexport { default as __RouterContext } from \"./RouterContext\";\n"],"names":["createNamedContext","name","context","createContext","displayName","Router","computeRootMatch","pathname","path","url","params","isExact","props","state","location","history","_isMounted","_pendingLocation","staticContext","unlisten","listen","setState","componentDidMount","componentWillUnmount","render","RouterContext","children","match","React","Component","propTypes","PropTypes","node","object","isRequired","prototype","componentDidUpdate","prevProps","warning","MemoryRouter","createHistory","initialEntries","array","initialIndex","number","getUserConfirmation","func","keyLength","Lifecycle","onMount","call","onUpdate","onUnmount","Prompt","message","when","invariant","method","block","self","release","messageType","oneOfType","string","bool","cache","cacheLimit","cacheCount","compilePath","generator","pathToRegexp","compile","generatePath","pretty","Redirect","computedMatch","to","push","replace","createLocation","prevLocation","locationsAreEqual","key","from","options","cacheKey","end","strict","sensitive","pathCache","keys","regexp","result","matchPath","Array","isArray","exact","paths","concat","reduce","matched","exec","values","memo","index","isEmptyChildren","Children","count","evalChildrenDev","value","undefined","Route","component","length","createElement","propName","isValidElementType","Error","arrayOf","addLeadingSlash","charAt","addBasename","basename","stripBasename","base","indexOf","substr","createURL","createPath","staticHandler","methodName","noop","StaticRouter","handlePush","navigateTo","handleReplace","handleListen","handleBlock","action","rest","createHref","go","goBack","goForward","Switch","element","forEach","child","isValidElement","cloneElement","withRouter","C","wrappedComponentRef","remainingProps","WrappedComponent","hoistStatics","useContext","useHistory","Context","useLocation","useParams","useRouteMatch","window","global","buildNames","cjs","esm","umd","process","initialBuildName","secondaryBuildName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-router.js","sources":["../modules/createNamedContext.js","../modules/HistoryContext.js","../modules/RouterContext.js","../modules/Router.js","../modules/MemoryRouter.js","../modules/Lifecycle.js","../modules/Prompt.js","../modules/generatePath.js","../modules/Redirect.js","../modules/matchPath.js","../modules/Route.js","../modules/StaticRouter.js","../modules/Switch.js","../modules/withRouter.js","../modules/hooks.js","../modules/index.js"],"sourcesContent":["// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any <Redirect>s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the <Router> is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n <RouterContext.Provider\n value={{\n history: this.props.history,\n location: this.state.location,\n match: Router.computeRootMatch(this.state.location.pathname),\n staticContext: this.props.staticContext\n }}\n >\n <HistoryContext.Provider\n children={this.props.children || null}\n value={this.props.history}\n />\n </RouterContext.Provider>\n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change <Router history>\"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a <Router> that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return <Router history={this.history} children={this.props.children} />;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<MemoryRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\nfunction Prompt({ message, when = true }) {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Prompt> outside a <Router>\");\n\n if (!when || context.staticContext) return null;\n\n const method = context.history.block;\n\n return (\n <Lifecycle\n onMount={self => {\n self.release = method(message);\n }}\n onUpdate={(self, prevProps) => {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n }}\n onUnmount={self => {\n self.release();\n }}\n message={message}\n />\n );\n }}\n </RouterContext.Consumer>\n );\n}\n\nif (__DEV__) {\n const messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nexport default Prompt;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Redirect> outside a <Router>\");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n <Lifecycle\n onMount={() => {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n </RouterContext.Consumer>\n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `<Route${path ? ` path=\"${path}\"` : \"\"}>, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Route> outside a <Router>\");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // <Switch> already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n <RouterContext.Provider value={props}>\n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n </RouterContext.Provider>\n );\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use <Route component> and <Route children> in the same route; <Route component> will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use <Route render> and <Route children> in the same route; <Route render> will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use <Route component> and <Route render> in the same route; <Route render> will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Route> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Route> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with <StaticRouter>\", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" <Router>, so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return <Router {...rest} history={history} staticContext={context} />;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<StaticRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first <Route> that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Switch> outside a <Router>\");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two <Route>s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n </RouterContext.Consumer>\n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n '<Switch> elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n '<Switch> elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a <Router>`\n );\n return (\n <Component\n {...remainingProps}\n {...context}\n ref={wrappedComponentRef}\n />\n );\n }}\n </RouterContext.Consumer>\n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","if (__DEV__) {\n if (typeof window !== \"undefined\") {\n const global = window;\n const key = \"__react_router_build__\";\n const buildNames = { cjs: \"CommonJS\", esm: \"ES modules\", umd: \"UMD\" };\n\n if (global[key] && global[key] !== process.env.BUILD_FORMAT) {\n const initialBuildName = buildNames[global[key]];\n const secondaryBuildName = buildNames[process.env.BUILD_FORMAT];\n\n // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n throw new Error(\n `You are loading the ${secondaryBuildName} build of React Router ` +\n `on a page that is already running the ${initialBuildName} ` +\n `build, so things won't work right.`\n );\n }\n\n global[key] = process.env.BUILD_FORMAT;\n }\n}\n\nexport { default as MemoryRouter } from \"./MemoryRouter.js\";\nexport { default as Prompt } from \"./Prompt.js\";\nexport { default as Redirect } from \"./Redirect.js\";\nexport { default as Route } from \"./Route.js\";\nexport { default as Router } from \"./Router.js\";\nexport { default as StaticRouter } from \"./StaticRouter.js\";\nexport { default as Switch } from \"./Switch.js\";\nexport { default as generatePath } from \"./generatePath.js\";\nexport { default as matchPath } from \"./matchPath.js\";\nexport { default as withRouter } from \"./withRouter.js\";\n\nexport { default as __HistoryContext } from \"./HistoryContext.js\";\nexport { default as __RouterContext } from \"./RouterContext.js\";\n\nexport { useHistory, useLocation, useParams, useRouteMatch } from \"./hooks.js\";\n"],"names":["createNamedContext","name","context","createContext","displayName","historyContext","Router","computeRootMatch","pathname","path","url","params","isExact","props","state","location","history","_isMounted","_pendingLocation","staticContext","unlisten","listen","setState","componentDidMount","componentWillUnmount","render","RouterContext","match","HistoryContext","children","React","Component","propTypes","PropTypes","node","object","isRequired","prototype","componentDidUpdate","prevProps","warning","MemoryRouter","createHistory","initialEntries","array","initialIndex","number","getUserConfirmation","func","keyLength","Lifecycle","onMount","call","onUpdate","onUnmount","Prompt","message","when","invariant","method","block","self","release","messageType","oneOfType","string","bool","cache","cacheLimit","cacheCount","compilePath","generator","pathToRegexp","compile","generatePath","pretty","Redirect","computedMatch","to","push","replace","createLocation","prevLocation","locationsAreEqual","key","from","options","cacheKey","end","strict","sensitive","pathCache","keys","regexp","result","matchPath","Array","isArray","exact","paths","concat","reduce","matched","exec","values","memo","index","isEmptyChildren","Children","count","evalChildrenDev","value","undefined","Route","component","createElement","propName","isValidElementType","Error","arrayOf","addLeadingSlash","charAt","addBasename","basename","stripBasename","base","indexOf","substr","length","createURL","createPath","staticHandler","methodName","noop","StaticRouter","handlePush","navigateTo","handleReplace","handleListen","handleBlock","action","rest","createHref","go","goBack","goForward","Switch","element","forEach","child","isValidElement","cloneElement","withRouter","C","wrappedComponentRef","remainingProps","WrappedComponent","hoistStatics","useContext","useHistory","useLocation","useParams","useRouteMatch","window","global","buildNames","cjs","esm","umd","process","initialBuildName","secondaryBuildName"],"mappings":"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"}
|
package/cjs/react-router.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function _interopDefault(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var React=_interopDefault(require("react"));require("prop-types");var history=require("history");require("tiny-warning");var createContext=_interopDefault(require("mini-create-react-context")),invariant=_interopDefault(require("tiny-invariant")),pathToRegexp=_interopDefault(require("path-to-regexp"));require("react-is");var hoistStatics=_interopDefault(require("hoist-non-react-statics"));function _extends(){return(_extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}).apply(this,arguments)}function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};var n,o,r={},a=Object.keys(t);for(o=0;o<a.length;o++)n=a[o],0<=e.indexOf(n)||(r[n]=t[n]);return r}var createNamedContext=function(t){var e=createContext();return e.displayName=t,e},context=createNamedContext("Router"),Router=function(n){function t(t){var e;return(e=n.call(this,t)||this).state={location:t.history.location},e._isMounted=!1,e._pendingLocation=null,t.staticContext||(e.unlisten=t.history.listen(function(t){e._isMounted?e.setState({location:t}):e._pendingLocation=t})),e}_inheritsLoose(t,n),t.computeRootMatch=function(t){return{path:"/",url:"/",params:{},isExact:"/"===t}};var e=t.prototype;return e.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},e.componentWillUnmount=function(){this.unlisten&&this.unlisten()},e.render=function(){return React.createElement(context.Provider,{
|
|
1
|
+
"use strict";function _interopDefault(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var React=_interopDefault(require("react"));require("prop-types");var history=require("history");require("tiny-warning");var createContext=_interopDefault(require("mini-create-react-context")),invariant=_interopDefault(require("tiny-invariant")),pathToRegexp=_interopDefault(require("path-to-regexp"));require("react-is");var hoistStatics=_interopDefault(require("hoist-non-react-statics"));function _extends(){return(_extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}).apply(this,arguments)}function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),_setPrototypeOf(t.prototype.constructor=t,e)}function _setPrototypeOf(t,e){return(_setPrototypeOf=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};var n,o,r={},a=Object.keys(t);for(o=0;o<a.length;o++)n=a[o],0<=e.indexOf(n)||(r[n]=t[n]);return r}var createNamedContext=function(t){var e=createContext();return e.displayName=t,e},historyContext=createNamedContext("Router-History"),context=createNamedContext("Router"),Router=function(n){function t(t){var e;return(e=n.call(this,t)||this).state={location:t.history.location},e._isMounted=!1,e._pendingLocation=null,t.staticContext||(e.unlisten=t.history.listen(function(t){e._isMounted?e.setState({location:t}):e._pendingLocation=t})),e}_inheritsLoose(t,n),t.computeRootMatch=function(t){return{path:"/",url:"/",params:{},isExact:"/"===t}};var e=t.prototype;return e.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},e.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},e.render=function(){return React.createElement(context.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},React.createElement(historyContext.Provider,{children:this.props.children||null,value:this.props.history}))},t}(React.Component),MemoryRouter=function(r){function t(){for(var t,e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return(t=r.call.apply(r,[this].concat(n))||this).history=history.createMemoryHistory(t.props),t}return _inheritsLoose(t,r),t.prototype.render=function(){return React.createElement(Router,{history:this.history,children:this.props.children})},t}(React.Component),Lifecycle=function(t){function e(){return t.apply(this,arguments)||this}_inheritsLoose(e,t);var n=e.prototype;return n.componentDidMount=function(){this.props.onMount&&this.props.onMount.call(this,this)},n.componentDidUpdate=function(t){this.props.onUpdate&&this.props.onUpdate.call(this,this,t)},n.componentWillUnmount=function(){this.props.onUnmount&&this.props.onUnmount.call(this,this)},n.render=function(){return null},e}(React.Component);function Prompt(t){var o=t.message,e=t.when,r=void 0===e||e;return React.createElement(context.Consumer,null,function(t){if(t||invariant(!1),!r||t.staticContext)return null;var n=t.history.block;return React.createElement(Lifecycle,{onMount:function(t){t.release=n(o)},onUpdate:function(t,e){e.message!==o&&(t.release(),t.release=n(o))},onUnmount:function(t){t.release()},message:o})})}var cache={},cacheLimit=1e4,cacheCount=0;function compilePath(t){if(cache[t])return cache[t];var e=pathToRegexp.compile(t);return cacheCount<cacheLimit&&(cache[t]=e,cacheCount++),e}function generatePath(t,e){return void 0===t&&(t="/"),void 0===e&&(e={}),"/"===t?t:compilePath(t)(e,{pretty:!0})}function Redirect(t){var a=t.computedMatch,i=t.to,e=t.push,c=void 0!==e&&e;return React.createElement(context.Consumer,null,function(t){t||invariant(!1);var e=t.history,n=t.staticContext,o=c?e.push:e.replace,r=history.createLocation(a?"string"==typeof i?generatePath(i,a.params):_extends({},i,{pathname:generatePath(i.pathname,a.params)}):i);return n?(o(r),null):React.createElement(Lifecycle,{onMount:function(){o(r)},onUpdate:function(t,e){var n=history.createLocation(e.to);history.locationsAreEqual(n,_extends({},r,{key:n.key}))||o(r)},to:i})})}var cache$1={},cacheLimit$1=1e4,cacheCount$1=0;function compilePath$1(t,e){var n=""+e.end+e.strict+e.sensitive,o=cache$1[n]||(cache$1[n]={});if(o[t])return o[t];var r=[],a={regexp:pathToRegexp(t,r,e),keys:r};return cacheCount$1<cacheLimit$1&&(o[t]=a,cacheCount$1++),a}function matchPath(u,t){void 0===t&&(t={}),"string"!=typeof t&&!Array.isArray(t)||(t={path:t});var e=t,n=e.path,o=e.exact,p=void 0!==o&&o,r=e.strict,h=void 0!==r&&r,a=e.sensitive,l=void 0!==a&&a;return[].concat(n).reduce(function(t,e){if(!e&&""!==e)return null;if(t)return t;var n=compilePath$1(e,{end:p,strict:h,sensitive:l}),o=n.regexp,r=n.keys,a=o.exec(u);if(!a)return null;var i=a[0],c=a.slice(1),s=u===i;return p&&!s?null:{path:e,url:"/"===e&&""===i?"/":i,isExact:s,params:r.reduce(function(t,e,n){return t[e.name]=c[n],t},{})}},null)}function isEmptyChildren(t){return 0===React.Children.count(t)}var Route=function(t){function e(){return t.apply(this,arguments)||this}return _inheritsLoose(e,t),e.prototype.render=function(){var c=this;return React.createElement(context.Consumer,null,function(t){t||invariant(!1);var e=c.props.location||t.location,n=_extends({},t,{location:e,match:c.props.computedMatch?c.props.computedMatch:c.props.path?matchPath(e.pathname,c.props):t.match}),o=c.props,r=o.children,a=o.component,i=o.render;return Array.isArray(r)&&isEmptyChildren(r)&&(r=null),React.createElement(context.Provider,{value:n},n.match?r?"function"==typeof r?r(n):r:a?React.createElement(a,n):i?i(n):null:"function"==typeof r?r(n):null)})},e}(React.Component);function addLeadingSlash(t){return"/"===t.charAt(0)?t:"/"+t}function addBasename(t,e){return t?_extends({},e,{pathname:addLeadingSlash(t)+e.pathname}):e}function stripBasename(t,e){if(!t)return e;var n=addLeadingSlash(t);return 0!==e.pathname.indexOf(n)?e:_extends({},e,{pathname:e.pathname.substr(n.length)})}function createURL(t){return"string"==typeof t?t:history.createPath(t)}function staticHandler(t){return function(){invariant(!1)}}function noop(){}var StaticRouter=function(r){function t(){for(var e,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return(e=r.call.apply(r,[this].concat(n))||this).handlePush=function(t){return e.navigateTo(t,"PUSH")},e.handleReplace=function(t){return e.navigateTo(t,"REPLACE")},e.handleListen=function(){return noop},e.handleBlock=function(){return noop},e}_inheritsLoose(t,r);var e=t.prototype;return e.navigateTo=function(t,e){var n=this.props,o=n.basename,r=void 0===o?"":o,a=n.context,i=void 0===a?{}:a;i.action=e,i.location=addBasename(r,history.createLocation(t)),i.url=createURL(i.location)},e.render=function(){var t=this.props,e=t.basename,n=void 0===e?"":e,o=t.context,r=void 0===o?{}:o,a=t.location,i=void 0===a?"/":a,c=_objectWithoutPropertiesLoose(t,["basename","context","location"]),s={createHref:function(t){return addLeadingSlash(n+createURL(t))},action:"POP",location:stripBasename(n,history.createLocation(i)),push:this.handlePush,replace:this.handleReplace,go:staticHandler(),goBack:staticHandler(),goForward:staticHandler(),listen:this.handleListen,block:this.handleBlock};return React.createElement(Router,_extends({},c,{history:s,staticContext:r}))},t}(React.Component),Switch=function(t){function e(){return t.apply(this,arguments)||this}return _inheritsLoose(e,t),e.prototype.render=function(){var t=this;return React.createElement(context.Consumer,null,function(n){n||invariant(!1);var o,r,a=t.props.location||n.location;return React.Children.forEach(t.props.children,function(t){if(null==r&&React.isValidElement(t)){var e=(o=t).props.path||t.props.from;r=e?matchPath(a.pathname,_extends({},t.props,{path:e})):n.match}}),r?React.cloneElement(o,{location:a,computedMatch:r}):null})},e}(React.Component);function withRouter(o){function t(t){var e=t.wrappedComponentRef,n=_objectWithoutPropertiesLoose(t,["wrappedComponentRef"]);return React.createElement(context.Consumer,null,function(t){return t||invariant(!1),React.createElement(o,_extends({},n,t,{ref:e}))})}var e="withRouter("+(o.displayName||o.name)+")";return t.displayName=e,t.WrappedComponent=o,hoistStatics(t,o)}var useContext=React.useContext;function useHistory(){return useContext(historyContext)}function useLocation(){return useContext(context).location}function useParams(){var t=useContext(context).match;return t?t.params:{}}function useRouteMatch(t){var e=useLocation(),n=useContext(context).match;return t?matchPath(e.pathname,t):n}exports.MemoryRouter=MemoryRouter,exports.Prompt=Prompt,exports.Redirect=Redirect,exports.Route=Route,exports.Router=Router,exports.StaticRouter=StaticRouter,exports.Switch=Switch,exports.__HistoryContext=historyContext,exports.__RouterContext=context,exports.generatePath=generatePath,exports.matchPath=matchPath,exports.useHistory=useHistory,exports.useLocation=useLocation,exports.useParams=useParams,exports.useRouteMatch=useRouteMatch,exports.withRouter=withRouter;
|
|
2
2
|
//# sourceMappingURL=react-router.min.js.map
|