react-router-dom 5.0.0 → 5.1.2
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/cjs/react-router-dom.js +152 -82
- package/cjs/react-router-dom.js.map +1 -0
- package/cjs/react-router-dom.min.js +2 -1
- package/cjs/react-router-dom.min.js.map +1 -0
- package/esm/react-router-dom.js +143 -78
- package/esm/react-router-dom.js.map +1 -0
- package/modules/BrowserRouter.js +36 -0
- package/modules/HashRouter.js +35 -0
- package/modules/Link.js +142 -0
- package/modules/NavLink.js +119 -0
- package/modules/index.js +6 -0
- package/modules/utils/locationUtils.js +10 -0
- package/package.json +5 -30
- package/umd/react-router-dom.js +3958 -4961
- package/umd/react-router-dom.js.map +1 -0
- package/umd/react-router-dom.min.js +2 -1
- package/umd/react-router-dom.min.js.map +1 -0
package/cjs/react-router-dom.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
4
|
|
|
7
|
-
var React = _interopDefault(require('react'));
|
|
8
5
|
var reactRouter = require('react-router');
|
|
6
|
+
var React = _interopDefault(require('react'));
|
|
9
7
|
var history = require('history');
|
|
10
8
|
var PropTypes = _interopDefault(require('prop-types'));
|
|
11
9
|
var warning = _interopDefault(require('tiny-warning'));
|
|
@@ -93,7 +91,7 @@ function (_React$Component) {
|
|
|
93
91
|
};
|
|
94
92
|
|
|
95
93
|
BrowserRouter.prototype.componentDidMount = function () {
|
|
96
|
-
|
|
94
|
+
warning(!this.props.history, "<BrowserRouter> ignores the history prop. To use a custom history, " + "use `import { Router }` instead of `import { BrowserRouter as Router }`.") ;
|
|
97
95
|
};
|
|
98
96
|
}
|
|
99
97
|
|
|
@@ -139,77 +137,119 @@ function (_React$Component) {
|
|
|
139
137
|
};
|
|
140
138
|
|
|
141
139
|
HashRouter.prototype.componentDidMount = function () {
|
|
142
|
-
|
|
140
|
+
warning(!this.props.history, "<HashRouter> ignores the history prop. To use a custom history, " + "use `import { Router }` instead of `import { HashRouter as Router }`.") ;
|
|
143
141
|
};
|
|
144
142
|
}
|
|
145
143
|
|
|
144
|
+
var resolveToLocation = function resolveToLocation(to, currentLocation) {
|
|
145
|
+
return typeof to === "function" ? to(currentLocation) : to;
|
|
146
|
+
};
|
|
147
|
+
var normalizeToLocation = function normalizeToLocation(to, currentLocation) {
|
|
148
|
+
return typeof to === "string" ? history.createLocation(to, null, null, currentLocation) : to;
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
var forwardRefShim = function forwardRefShim(C) {
|
|
152
|
+
return C;
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
var forwardRef = React.forwardRef;
|
|
156
|
+
|
|
157
|
+
if (typeof forwardRef === "undefined") {
|
|
158
|
+
forwardRef = forwardRefShim;
|
|
159
|
+
}
|
|
160
|
+
|
|
146
161
|
function isModifiedEvent(event) {
|
|
147
162
|
return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
|
|
148
163
|
}
|
|
149
|
-
/**
|
|
150
|
-
* The public API for rendering a history-aware <a>.
|
|
151
|
-
*/
|
|
152
164
|
|
|
165
|
+
var LinkAnchor = forwardRef(function (_ref, forwardedRef) {
|
|
166
|
+
var innerRef = _ref.innerRef,
|
|
167
|
+
navigate = _ref.navigate,
|
|
168
|
+
_onClick = _ref.onClick,
|
|
169
|
+
rest = _objectWithoutPropertiesLoose(_ref, ["innerRef", "navigate", "onClick"]);
|
|
153
170
|
|
|
154
|
-
var
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
171
|
+
var target = rest.target;
|
|
172
|
+
|
|
173
|
+
var props = _extends({}, rest, {
|
|
174
|
+
onClick: function onClick(event) {
|
|
175
|
+
try {
|
|
176
|
+
if (_onClick) _onClick(event);
|
|
177
|
+
} catch (ex) {
|
|
178
|
+
event.preventDefault();
|
|
179
|
+
throw ex;
|
|
180
|
+
}
|
|
158
181
|
|
|
159
|
-
|
|
160
|
-
|
|
182
|
+
if (!event.defaultPrevented && // onClick prevented default
|
|
183
|
+
event.button === 0 && ( // ignore everything but left clicks
|
|
184
|
+
!target || target === "_self") && // let browser handle "target=_blank" etc.
|
|
185
|
+
!isModifiedEvent(event) // ignore clicks with modifier keys
|
|
186
|
+
) {
|
|
187
|
+
event.preventDefault();
|
|
188
|
+
navigate();
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}); // React 15 compat
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
if (forwardRefShim !== forwardRef) {
|
|
195
|
+
props.ref = forwardedRef || innerRef;
|
|
196
|
+
} else {
|
|
197
|
+
props.ref = innerRef;
|
|
161
198
|
}
|
|
162
199
|
|
|
163
|
-
|
|
200
|
+
return React.createElement("a", props);
|
|
201
|
+
});
|
|
164
202
|
|
|
165
|
-
|
|
166
|
-
|
|
203
|
+
{
|
|
204
|
+
LinkAnchor.displayName = "LinkAnchor";
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* The public API for rendering a history-aware <a>.
|
|
208
|
+
*/
|
|
167
209
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
210
|
+
|
|
211
|
+
var Link = forwardRef(function (_ref2, forwardedRef) {
|
|
212
|
+
var _ref2$component = _ref2.component,
|
|
213
|
+
component = _ref2$component === void 0 ? LinkAnchor : _ref2$component,
|
|
214
|
+
replace = _ref2.replace,
|
|
215
|
+
to = _ref2.to,
|
|
216
|
+
innerRef = _ref2.innerRef,
|
|
217
|
+
rest = _objectWithoutPropertiesLoose(_ref2, ["component", "replace", "to", "innerRef"]);
|
|
218
|
+
|
|
219
|
+
return React.createElement(reactRouter.__RouterContext.Consumer, null, function (context) {
|
|
220
|
+
!context ? invariant(false, "You should not use <Link> outside a <Router>") : void 0;
|
|
221
|
+
var history = context.history;
|
|
222
|
+
var location = normalizeToLocation(resolveToLocation(to, context.location), context.location);
|
|
223
|
+
var href = location ? history.createHref(location) : "";
|
|
224
|
+
|
|
225
|
+
var props = _extends({}, rest, {
|
|
226
|
+
href: href,
|
|
227
|
+
navigate: function navigate() {
|
|
228
|
+
var location = resolveToLocation(to, context.location);
|
|
229
|
+
var method = replace ? history.replace : history.push;
|
|
230
|
+
method(location);
|
|
176
231
|
}
|
|
177
|
-
|
|
232
|
+
}); // React 15 compat
|
|
178
233
|
|
|
179
|
-
_proto.render = function render() {
|
|
180
|
-
var _this = this;
|
|
181
|
-
|
|
182
|
-
var _this$props = this.props,
|
|
183
|
-
innerRef = _this$props.innerRef,
|
|
184
|
-
replace = _this$props.replace,
|
|
185
|
-
to = _this$props.to,
|
|
186
|
-
rest = _objectWithoutPropertiesLoose(_this$props, ["innerRef", "replace", "to"]); // eslint-disable-line no-unused-vars
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
return React.createElement(reactRouter.__RouterContext.Consumer, null, function (context) {
|
|
190
|
-
!context ? invariant(false, "You should not use <Link> outside a <Router>") : void 0;
|
|
191
|
-
var location = typeof to === "string" ? history.createLocation(to, null, null, context.location) : to;
|
|
192
|
-
var href = location ? context.history.createHref(location) : "";
|
|
193
|
-
return React.createElement("a", _extends({}, rest, {
|
|
194
|
-
onClick: function onClick(event) {
|
|
195
|
-
return _this.handleClick(event, context.history);
|
|
196
|
-
},
|
|
197
|
-
href: href,
|
|
198
|
-
ref: innerRef
|
|
199
|
-
}));
|
|
200
|
-
});
|
|
201
|
-
};
|
|
202
234
|
|
|
203
|
-
|
|
204
|
-
|
|
235
|
+
if (forwardRefShim !== forwardRef) {
|
|
236
|
+
props.ref = forwardedRef || innerRef;
|
|
237
|
+
} else {
|
|
238
|
+
props.innerRef = innerRef;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
return React.createElement(component, props);
|
|
242
|
+
});
|
|
243
|
+
});
|
|
205
244
|
|
|
206
245
|
{
|
|
207
|
-
var toType = PropTypes.oneOfType([PropTypes.string, PropTypes.object]);
|
|
208
|
-
var
|
|
246
|
+
var toType = PropTypes.oneOfType([PropTypes.string, PropTypes.object, PropTypes.func]);
|
|
247
|
+
var refType = PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.shape({
|
|
209
248
|
current: PropTypes.any
|
|
210
249
|
})]);
|
|
250
|
+
Link.displayName = "Link";
|
|
211
251
|
Link.propTypes = {
|
|
212
|
-
innerRef:
|
|
252
|
+
innerRef: refType,
|
|
213
253
|
onClick: PropTypes.func,
|
|
214
254
|
replace: PropTypes.bool,
|
|
215
255
|
target: PropTypes.string,
|
|
@@ -217,6 +257,16 @@ function (_React$Component) {
|
|
|
217
257
|
};
|
|
218
258
|
}
|
|
219
259
|
|
|
260
|
+
var forwardRefShim$1 = function forwardRefShim(C) {
|
|
261
|
+
return C;
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
var forwardRef$1 = React.forwardRef;
|
|
265
|
+
|
|
266
|
+
if (typeof forwardRef$1 === "undefined") {
|
|
267
|
+
forwardRef$1 = forwardRefShim$1;
|
|
268
|
+
}
|
|
269
|
+
|
|
220
270
|
function joinClassnames() {
|
|
221
271
|
for (var _len = arguments.length, classnames = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
222
272
|
classnames[_key] = arguments[_key];
|
|
@@ -231,7 +281,7 @@ function joinClassnames() {
|
|
|
231
281
|
*/
|
|
232
282
|
|
|
233
283
|
|
|
234
|
-
|
|
284
|
+
var NavLink = forwardRef$1(function (_ref, forwardedRef) {
|
|
235
285
|
var _ref$ariaCurrent = _ref["aria-current"],
|
|
236
286
|
ariaCurrent = _ref$ariaCurrent === void 0 ? "page" : _ref$ariaCurrent,
|
|
237
287
|
_ref$activeClassName = _ref.activeClassName,
|
|
@@ -240,53 +290,73 @@ function NavLink(_ref) {
|
|
|
240
290
|
classNameProp = _ref.className,
|
|
241
291
|
exact = _ref.exact,
|
|
242
292
|
isActiveProp = _ref.isActive,
|
|
243
|
-
|
|
293
|
+
locationProp = _ref.location,
|
|
244
294
|
strict = _ref.strict,
|
|
245
295
|
styleProp = _ref.style,
|
|
246
296
|
to = _ref.to,
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
297
|
+
innerRef = _ref.innerRef,
|
|
298
|
+
rest = _objectWithoutPropertiesLoose(_ref, ["aria-current", "activeClassName", "activeStyle", "className", "exact", "isActive", "location", "strict", "style", "to", "innerRef"]);
|
|
299
|
+
|
|
300
|
+
return React.createElement(reactRouter.__RouterContext.Consumer, null, function (context) {
|
|
301
|
+
!context ? invariant(false, "You should not use <NavLink> outside a <Router>") : void 0;
|
|
302
|
+
var currentLocation = locationProp || context.location;
|
|
303
|
+
var toLocation = normalizeToLocation(resolveToLocation(to, currentLocation), currentLocation);
|
|
304
|
+
var path = toLocation.pathname; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202
|
|
305
|
+
|
|
306
|
+
var escapedPath = path && path.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
|
|
307
|
+
var match = escapedPath ? reactRouter.matchPath(currentLocation.pathname, {
|
|
308
|
+
path: escapedPath,
|
|
309
|
+
exact: exact,
|
|
310
|
+
strict: strict
|
|
311
|
+
}) : null;
|
|
312
|
+
var isActive = !!(isActiveProp ? isActiveProp(match, currentLocation) : match);
|
|
313
|
+
var className = isActive ? joinClassnames(classNameProp, activeClassName) : classNameProp;
|
|
314
|
+
var style = isActive ? _extends({}, styleProp, {}, activeStyle) : styleProp;
|
|
315
|
+
|
|
316
|
+
var props = _extends({
|
|
317
|
+
"aria-current": isActive && ariaCurrent || null,
|
|
318
|
+
className: className,
|
|
319
|
+
style: style,
|
|
320
|
+
to: toLocation
|
|
321
|
+
}, rest); // React 15 compat
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
if (forwardRefShim$1 !== forwardRef$1) {
|
|
325
|
+
props.ref = forwardedRef || innerRef;
|
|
326
|
+
} else {
|
|
327
|
+
props.innerRef = innerRef;
|
|
269
328
|
}
|
|
329
|
+
|
|
330
|
+
return React.createElement(Link, props);
|
|
270
331
|
});
|
|
271
|
-
}
|
|
332
|
+
});
|
|
272
333
|
|
|
273
334
|
{
|
|
335
|
+
NavLink.displayName = "NavLink";
|
|
274
336
|
var ariaCurrentType = PropTypes.oneOf(["page", "step", "location", "date", "time", "true"]);
|
|
275
337
|
NavLink.propTypes = _extends({}, Link.propTypes, {
|
|
276
338
|
"aria-current": ariaCurrentType,
|
|
277
339
|
activeClassName: PropTypes.string,
|
|
278
340
|
activeStyle: PropTypes.object,
|
|
279
341
|
className: PropTypes.string,
|
|
280
|
-
exact:
|
|
342
|
+
exact: PropTypes.bool,
|
|
281
343
|
isActive: PropTypes.func,
|
|
282
344
|
location: PropTypes.object,
|
|
283
|
-
strict:
|
|
345
|
+
strict: PropTypes.bool,
|
|
284
346
|
style: PropTypes.object
|
|
285
347
|
});
|
|
286
348
|
}
|
|
287
349
|
|
|
288
|
-
Object.keys(reactRouter).forEach(function (
|
|
350
|
+
Object.keys(reactRouter).forEach(function (k) {
|
|
351
|
+
if (k !== 'default') Object.defineProperty(exports, k, {
|
|
352
|
+
enumerable: true,
|
|
353
|
+
get: function () {
|
|
354
|
+
return reactRouter[k];
|
|
355
|
+
}
|
|
356
|
+
});
|
|
357
|
+
});
|
|
289
358
|
exports.BrowserRouter = BrowserRouter;
|
|
290
359
|
exports.HashRouter = HashRouter;
|
|
291
360
|
exports.Link = Link;
|
|
292
361
|
exports.NavLink = NavLink;
|
|
362
|
+
//# sourceMappingURL=react-router-dom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-router-dom.js","sources":["../modules/BrowserRouter.js","../modules/HashRouter.js","../modules/utils/locationUtils.js","../modules/Link.js","../modules/NavLink.js"],"sourcesContent":["import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\nclass BrowserRouter 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 BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<BrowserRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\nclass HashRouter 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 HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<HashRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport { resolveToLocation, normalizeToLocation } from \"./utils/locationUtils\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n return <a {...props} />;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Link> outside a <Router>\");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const method = replace ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link\";\nimport { resolveToLocation, normalizeToLocation } from \"./utils/locationUtils\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\",\n activeStyle,\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <NavLink> outside a <Router>\");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n const className = isActive\n ? joinClassnames(classNameProp, activeClassName)\n : classNameProp;\n const style = isActive ? { ...styleProp, ...activeStyle } : styleProp;\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return <Link {...props} />;\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.string,\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n strict: PropTypes.bool,\n style: PropTypes.object\n };\n}\n\nexport default NavLink;\n"],"names":["BrowserRouter","history","createHistory","props","render","Router","children","React","Component","propTypes","basename","PropTypes","string","node","forceRefresh","bool","getUserConfirmation","func","keyLength","number","prototype","componentDidMount","warning","HashRouter","hashType","oneOf","resolveToLocation","to","currentLocation","normalizeToLocation","createLocation","forwardRefShim","C","forwardRef","isModifiedEvent","event","metaKey","altKey","ctrlKey","shiftKey","LinkAnchor","forwardedRef","innerRef","navigate","onClick","rest","target","ex","preventDefault","defaultPrevented","button","ref","displayName","Link","component","replace","RouterContext","context","invariant","location","href","createHref","method","push","createElement","toType","oneOfType","object","refType","shape","current","any","isRequired","joinClassnames","classnames","filter","i","join","NavLink","ariaCurrent","activeClassName","activeStyle","classNameProp","className","exact","isActiveProp","isActive","locationProp","strict","styleProp","style","toLocation","path","pathname","escapedPath","match","matchPath","ariaCurrentType"],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";function _interopDefault(
|
|
1
|
+
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var reactRouter=require("react-router"),React=_interopDefault(require("react")),history=require("history");require("prop-types"),require("tiny-warning");var invariant=_interopDefault(require("tiny-invariant"));function _extends(){return(_extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e}).apply(this,arguments)}function _inheritsLoose(e,r){e.prototype=Object.create(r.prototype),(e.prototype.constructor=e).__proto__=r}function _objectWithoutPropertiesLoose(e,r){if(null==e)return{};var t,o,n={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],0<=r.indexOf(t)||(n[t]=e[t]);return n}var BrowserRouter=function(n){function e(){for(var e,r=arguments.length,t=new Array(r),o=0;o<r;o++)t[o]=arguments[o];return(e=n.call.apply(n,[this].concat(t))||this).history=history.createBrowserHistory(e.props),e}return _inheritsLoose(e,n),e.prototype.render=function(){return React.createElement(reactRouter.Router,{history:this.history,children:this.props.children})},e}(React.Component),HashRouter=function(n){function e(){for(var e,r=arguments.length,t=new Array(r),o=0;o<r;o++)t[o]=arguments[o];return(e=n.call.apply(n,[this].concat(t))||this).history=history.createHashHistory(e.props),e}return _inheritsLoose(e,n),e.prototype.render=function(){return React.createElement(reactRouter.Router,{history:this.history,children:this.props.children})},e}(React.Component),resolveToLocation=function(e,r){return"function"==typeof e?e(r):e},normalizeToLocation=function(e,r){return"string"==typeof e?history.createLocation(e,null,null,r):e},forwardRefShim=function(e){return e},forwardRef=React.forwardRef;function isModifiedEvent(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}void 0===forwardRef&&(forwardRef=forwardRefShim);var LinkAnchor=forwardRef(function(e,r){var t=e.innerRef,o=e.navigate,n=e.onClick,a=_objectWithoutPropertiesLoose(e,["innerRef","navigate","onClick"]),i=a.target,c=_extends({},a,{onClick:function(r){try{n&&n(r)}catch(e){throw r.preventDefault(),e}r.defaultPrevented||0!==r.button||i&&"_self"!==i||isModifiedEvent(r)||(r.preventDefault(),o())}});return c.ref=forwardRefShim!==forwardRef&&r||t,React.createElement("a",c)}),Link=forwardRef(function(e,a){var r=e.component,i=void 0===r?LinkAnchor:r,c=e.replace,f=e.to,u=e.innerRef,s=_objectWithoutPropertiesLoose(e,["component","replace","to","innerRef"]);return React.createElement(reactRouter.__RouterContext.Consumer,null,function(r){r||invariant(!1);var t=r.history,e=normalizeToLocation(resolveToLocation(f,r.location),r.location),o=e?t.createHref(e):"",n=_extends({},s,{href:o,navigate:function(){var e=resolveToLocation(f,r.location);(c?t.replace:t.push)(e)}});return forwardRefShim!==forwardRef?n.ref=a||u:n.innerRef=u,React.createElement(i,n)})}),forwardRefShim$1=function(e){return e},forwardRef$1=React.forwardRef;function joinClassnames(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return r.filter(function(e){return e}).join(" ")}void 0===forwardRef$1&&(forwardRef$1=forwardRefShim$1);var NavLink=forwardRef$1(function(e,s){var r=e["aria-current"],l=void 0===r?"page":r,t=e.activeClassName,p=void 0===t?"active":t,h=e.activeStyle,R=e.className,d=e.exact,v=e.isActive,y=e.location,m=e.strict,w=e.style,_=e.to,L=e.innerRef,x=_objectWithoutPropertiesLoose(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","strict","style","to","innerRef"]);return React.createElement(reactRouter.__RouterContext.Consumer,null,function(e){e||invariant(!1);var r=y||e.location,t=normalizeToLocation(resolveToLocation(_,r),r),o=t.pathname,n=o&&o.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),a=n?reactRouter.matchPath(r.pathname,{path:n,exact:d,strict:m}):null,i=!!(v?v(a,r):a),c=i?joinClassnames(R,p):R,f=i?_extends({},w,{},h):w,u=_extends({"aria-current":i&&l||null,className:c,style:f,to:t},x);return forwardRefShim$1!==forwardRef$1?u.ref=s||L:u.innerRef=L,React.createElement(Link,u)})});Object.keys(reactRouter).forEach(function(e){"default"!==e&&Object.defineProperty(exports,e,{enumerable:!0,get:function(){return reactRouter[e]}})}),exports.BrowserRouter=BrowserRouter,exports.HashRouter=HashRouter,exports.Link=Link,exports.NavLink=NavLink;
|
|
2
|
+
//# sourceMappingURL=react-router-dom.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-router-dom.min.js","sources":["../modules/BrowserRouter.js","../modules/HashRouter.js","../modules/utils/locationUtils.js","../modules/Link.js","../modules/NavLink.js"],"sourcesContent":["import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses HTML5 history.\n */\nclass BrowserRouter 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 BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<BrowserRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a <Router> that uses window.location.hash.\n */\nclass HashRouter 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 HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \"<HashRouter> ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport { resolveToLocation, normalizeToLocation } from \"./utils/locationUtils\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n return <a {...props} />;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <Link> outside a <Router>\");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const method = replace ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link\";\nimport { resolveToLocation, normalizeToLocation } from \"./utils/locationUtils\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\",\n activeStyle,\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n <RouterContext.Consumer>\n {context => {\n invariant(context, \"You should not use <NavLink> outside a <Router>\");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n const className = isActive\n ? joinClassnames(classNameProp, activeClassName)\n : classNameProp;\n const style = isActive ? { ...styleProp, ...activeStyle } : styleProp;\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return <Link {...props} />;\n }}\n </RouterContext.Consumer>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.string,\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n strict: PropTypes.bool,\n style: PropTypes.object\n };\n}\n\nexport default NavLink;\n"],"names":["BrowserRouter","history","createHistory","_this","props","render","React","Router","this","children","Component","HashRouter","resolveToLocation","to","currentLocation","normalizeToLocation","createLocation","forwardRefShim","C","forwardRef","isModifiedEvent","event","metaKey","altKey","ctrlKey","shiftKey","LinkAnchor","forwardedRef","innerRef","navigate","onClick","rest","target","ex","preventDefault","defaultPrevented","button","ref","Link","component","replace","RouterContext","Consumer","context","invariant","location","href","createHref","push","createElement","joinClassnames","classnames","filter","i","join","NavLink","ariaCurrent","activeClassName","activeStyle","classNameProp","className","exact","isActiveProp","isActive","locationProp","strict","styleProp","style","toLocation","path","pathname","escapedPath","match","matchPath"],"mappings":"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"}
|