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.
@@ -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
- warning(!this.props.history, "<BrowserRouter> ignores the history prop. To use a custom history, " + "use `import { Router }` instead of `import { BrowserRouter as Router }`.");
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
- warning(!this.props.history, "<HashRouter> ignores the history prop. To use a custom history, " + "use `import { Router }` instead of `import { HashRouter as Router }`.");
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 Link =
155
- /*#__PURE__*/
156
- function (_React$Component) {
157
- _inheritsLoose(Link, _React$Component);
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
- function Link() {
160
- return _React$Component.apply(this, arguments) || this;
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
- var _proto = Link.prototype;
200
+ return React.createElement("a", props);
201
+ });
164
202
 
165
- _proto.handleClick = function handleClick(event, history$$1) {
166
- if (this.props.onClick) this.props.onClick(event);
203
+ {
204
+ LinkAnchor.displayName = "LinkAnchor";
205
+ }
206
+ /**
207
+ * The public API for rendering a history-aware <a>.
208
+ */
167
209
 
168
- if (!event.defaultPrevented && // onClick prevented default
169
- event.button === 0 && ( // ignore everything but left clicks
170
- !this.props.target || this.props.target === "_self") && // let browser handle "target=_blank" etc.
171
- !isModifiedEvent(event) // ignore clicks with modifier keys
172
- ) {
173
- event.preventDefault();
174
- var method = this.props.replace ? history$$1.replace : history$$1.push;
175
- method(this.props.to);
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
- return Link;
204
- }(React.Component);
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 innerRefType = PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.shape({
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: innerRefType,
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
- function NavLink(_ref) {
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
- location = _ref.location,
293
+ locationProp = _ref.location,
244
294
  strict = _ref.strict,
245
295
  styleProp = _ref.style,
246
296
  to = _ref.to,
247
- rest = _objectWithoutPropertiesLoose(_ref, ["aria-current", "activeClassName", "activeStyle", "className", "exact", "isActive", "location", "strict", "style", "to"]);
248
-
249
- var path = typeof to === "object" ? to.pathname : to; // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202
250
-
251
- var escapedPath = path && path.replace(/([.+*?=^!:${}()[\]|/\\])/g, "\\$1");
252
- return React.createElement(reactRouter.Route, {
253
- path: escapedPath,
254
- exact: exact,
255
- strict: strict,
256
- location: location,
257
- children: function children(_ref2) {
258
- var location = _ref2.location,
259
- match = _ref2.match;
260
- var isActive = !!(isActiveProp ? isActiveProp(match, location) : match);
261
- var className = isActive ? joinClassnames(classNameProp, activeClassName) : classNameProp;
262
- var style = isActive ? _extends({}, styleProp, activeStyle) : styleProp;
263
- return React.createElement(Link, _extends({
264
- "aria-current": isActive && ariaCurrent || null,
265
- className: className,
266
- style: style,
267
- to: to
268
- }, rest));
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: reactRouter.Route.propTypes.exact,
342
+ exact: PropTypes.bool,
281
343
  isActive: PropTypes.func,
282
344
  location: PropTypes.object,
283
- strict: reactRouter.Route.propTypes.strict,
345
+ strict: PropTypes.bool,
284
346
  style: PropTypes.object
285
347
  });
286
348
  }
287
349
 
288
- Object.keys(reactRouter).forEach(function (key) { exports[key] = reactRouter[key]; });
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;IAGMA;;;;;;;;;;;;;UACJC,UAAUC,4BAAa,CAAC,MAAKC,KAAN;;;;;;SAEvBC,SAAA,kBAAS;WACA,oBAACC,kBAAD;MAAQ,OAAO,EAAE,KAAKJ,OAAtB;MAA+B,QAAQ,EAAE,KAAKE,KAAL,CAAWG;MAA3D;;;;EAJwBC,KAAK,CAACC;;AAQlC,AAAa;EACXR,aAAa,CAACS,SAAd,GAA0B;IACxBC,QAAQ,EAAEC,SAAS,CAACC,MADI;IAExBN,QAAQ,EAAEK,SAAS,CAACE,IAFI;IAGxBC,YAAY,EAAEH,SAAS,CAACI,IAHA;IAIxBC,mBAAmB,EAAEL,SAAS,CAACM,IAJP;IAKxBC,SAAS,EAAEP,SAAS,CAACQ;GALvB;;EAQAnB,aAAa,CAACoB,SAAd,CAAwBC,iBAAxB,GAA4C,YAAW;KACrDC,OAAO,CACL,CAAC,KAAKnB,KAAL,CAAWF,OADP,EAEL,wEACE,0EAHG,CAAP;GADF;;;ACpBF;;;;IAGMsB;;;;;;;;;;;;;UACJtB,UAAUC,yBAAa,CAAC,MAAKC,KAAN;;;;;;SAEvBC,SAAA,kBAAS;WACA,oBAACC,kBAAD;MAAQ,OAAO,EAAE,KAAKJ,OAAtB;MAA+B,QAAQ,EAAE,KAAKE,KAAL,CAAWG;MAA3D;;;;EAJqBC,KAAK,CAACC;;AAQ/B,AAAa;EACXe,UAAU,CAACd,SAAX,GAAuB;IACrBC,QAAQ,EAAEC,SAAS,CAACC,MADC;IAErBN,QAAQ,EAAEK,SAAS,CAACE,IAFC;IAGrBG,mBAAmB,EAAEL,SAAS,CAACM,IAHV;IAIrBO,QAAQ,EAAEb,SAAS,CAACc,KAAV,CAAgB,CAAC,UAAD,EAAa,SAAb,EAAwB,OAAxB,CAAhB;GAJZ;;EAOAF,UAAU,CAACH,SAAX,CAAqBC,iBAArB,GAAyC,YAAW;KAClDC,OAAO,CACL,CAAC,KAAKnB,KAAL,CAAWF,OADP,EAEL,qEACE,uEAHG,CAAP;GADF;;;ACvBK,IAAMyB,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,EAAD,EAAKC,eAAL;SAC/B,OAAOD,EAAP,KAAc,UAAd,GAA2BA,EAAE,CAACC,eAAD,CAA7B,GAAiDD,EADlB;CAA1B;AAGP,AAAO,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACF,EAAD,EAAKC,eAAL,EAAyB;SACnD,OAAOD,EAAP,KAAc,QAAd,GACHG,sBAAc,CAACH,EAAD,EAAK,IAAL,EAAW,IAAX,EAAiBC,eAAjB,CADX,GAEHD,EAFJ;CADK;;ACEP,IAAMI,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,CAAC;SAAIA,CAAJ;CAAxB;;IACMC,aAAe1B,MAAf0B;;AACN,IAAI,OAAOA,UAAP,KAAsB,WAA1B,EAAuC;EACrCA,UAAU,GAAGF,cAAb;;;AAGF,SAASG,eAAT,CAAyBC,KAAzB,EAAgC;SACvB,CAAC,EAAEA,KAAK,CAACC,OAAN,IAAiBD,KAAK,CAACE,MAAvB,IAAiCF,KAAK,CAACG,OAAvC,IAAkDH,KAAK,CAACI,QAA1D,CAAR;;;AAGF,IAAMC,UAAU,GAAGP,UAAU,CAC3B,gBAOEQ,YAPF,EAQK;MANDC,QAMC,QANDA,QAMC;MALDC,QAKC,QALDA,QAKC;MAJDC,QAIC,QAJDA,OAIC;MAHEC,IAGF;;MACKC,MADL,GACgBD,IADhB,CACKC,MADL;;MAGC3C,KAAK,gBACJ0C,IADI;IAEPD,OAAO,EAAE,iBAAAT,KAAK,EAAI;UACZ;YACES,QAAJ,EAAaA,QAAO,CAACT,KAAD,CAAP;OADf,CAEE,OAAOY,EAAP,EAAW;QACXZ,KAAK,CAACa,cAAN;cACMD,EAAN;;;UAIA,CAACZ,KAAK,CAACc,gBAAP;MACAd,KAAK,CAACe,MAAN,KAAiB,CADjB;OAEEJ,MAAD,IAAWA,MAAM,KAAK,OAFvB;OAGCZ,eAAe,CAACC,KAAD,CAJlB;QAKE;UACAA,KAAK,CAACa,cAAN;UACAL,QAAQ;;;IAjBd,CAHG;;;MA0BCZ,cAAc,KAAKE,UAAvB,EAAmC;IACjC9B,KAAK,CAACgD,GAAN,GAAYV,YAAY,IAAIC,QAA5B;GADF,MAEO;IACLvC,KAAK,CAACgD,GAAN,GAAYT,QAAZ;;;SAGK,yBAAOvC,KAAP,CAAP;CAzCyB,CAA7B;;AA6CA,AAAa;EACXqC,UAAU,CAACY,WAAX,GAAyB,YAAzB;;;;;;;AAMF,IAAMC,IAAI,GAAGpB,UAAU,CACrB,iBAQEQ,YARF,EASK;8BAPDa,SAOC;MAPDA,SAOC,gCAPWd,UAOX;MANDe,OAMC,SANDA,OAMC;MALD5B,EAKC,SALDA,EAKC;MAJDe,QAIC,SAJDA,QAIC;MAHEG,IAGF;;SAED,oBAACW,2BAAD,CAAe,QAAf,QACG,UAAAC,OAAO,EAAI;KACAA,OAAV,IAAAC,SAAS,QAAU,8CAAV,CAAT,CAAA;QAEQzD,OAHE,GAGUwD,OAHV,CAGFxD,OAHE;QAKJ0D,QAAQ,GAAG9B,mBAAmB,CAClCH,iBAAiB,CAACC,EAAD,EAAK8B,OAAO,CAACE,QAAb,CADiB,EAElCF,OAAO,CAACE,QAF0B,CAApC;QAKMC,IAAI,GAAGD,QAAQ,GAAG1D,OAAO,CAAC4D,UAAR,CAAmBF,QAAnB,CAAH,GAAkC,EAAvD;;QACMxD,KAAK,gBACN0C,IADM;MAETe,IAAI,EAAJA,IAFS;MAGTjB,QAHS,sBAGE;YACHgB,QAAQ,GAAGjC,iBAAiB,CAACC,EAAD,EAAK8B,OAAO,CAACE,QAAb,CAAlC;YACMG,MAAM,GAAGP,OAAO,GAAGtD,OAAO,CAACsD,OAAX,GAAqBtD,OAAO,CAAC8D,IAAnD;QAEAD,MAAM,CAACH,QAAD,CAAN;;MAPJ,CAXU;;;QAuBN5B,cAAc,KAAKE,UAAvB,EAAmC;MACjC9B,KAAK,CAACgD,GAAN,GAAYV,YAAY,IAAIC,QAA5B;KADF,MAEO;MACLvC,KAAK,CAACuC,QAAN,GAAiBA,QAAjB;;;WAGKnC,KAAK,CAACyD,aAAN,CAAoBV,SAApB,EAA+BnD,KAA/B,CAAP;GA9BJ,CADF;CAXmB,CAAvB;;AAiDA,AAAa;MACL8D,MAAM,GAAGtD,SAAS,CAACuD,SAAV,CAAoB,CACjCvD,SAAS,CAACC,MADuB,EAEjCD,SAAS,CAACwD,MAFuB,EAGjCxD,SAAS,CAACM,IAHuB,CAApB,CAAf;MAKMmD,OAAO,GAAGzD,SAAS,CAACuD,SAAV,CAAoB,CAClCvD,SAAS,CAACC,MADwB,EAElCD,SAAS,CAACM,IAFwB,EAGlCN,SAAS,CAAC0D,KAAV,CAAgB;IAAEC,OAAO,EAAE3D,SAAS,CAAC4D;GAArC,CAHkC,CAApB,CAAhB;EAMAlB,IAAI,CAACD,WAAL,GAAmB,MAAnB;EAEAC,IAAI,CAAC5C,SAAL,GAAiB;IACfiC,QAAQ,EAAE0B,OADK;IAEfxB,OAAO,EAAEjC,SAAS,CAACM,IAFJ;IAGfsC,OAAO,EAAE5C,SAAS,CAACI,IAHJ;IAIf+B,MAAM,EAAEnC,SAAS,CAACC,MAJH;IAKfe,EAAE,EAAEsC,MAAM,CAACO;GALb;;;AC5HF,IAAMzC,gBAAc,GAAG,SAAjBA,cAAiB,CAAAC,CAAC;SAAIA,CAAJ;CAAxB;;IACMC,eAAe1B,MAAf0B;;AACN,IAAI,OAAOA,YAAP,KAAsB,WAA1B,EAAuC;EACrCA,YAAU,GAAGF,gBAAb;;;AAGF,SAAS0C,cAAT,GAAuC;oCAAZC,UAAY;IAAZA,UAAY;;;SAC9BA,UAAU,CAACC,MAAX,CAAkB,UAAAC,CAAC;WAAIA,CAAJ;GAAnB,EAA0BC,IAA1B,CAA+B,GAA/B,CAAP;;;;;;;AAMF,IAAMC,OAAO,GAAG7C,YAAU,CACxB,gBAeEQ,YAfF,EAgBK;8BAdD,cAcC;MAdesC,WAcf,iCAd6B,MAc7B;kCAbDC,eAaC;MAbDA,eAaC,qCAbiB,QAajB;MAZDC,WAYC,QAZDA,WAYC;MAXUC,aAWV,QAXDC,SAWC;MAVDC,KAUC,QAVDA,KAUC;MATSC,YAST,QATDC,QASC;MARSC,YAQT,QARD5B,QAQC;MAPD6B,MAOC,QAPDA,MAOC;MANMC,SAMN,QANDC,KAMC;MALD/D,EAKC,QALDA,EAKC;MAJDe,QAIC,QAJDA,QAIC;MAHEG,IAGF;;SAED,oBAACW,2BAAD,CAAe,QAAf,QACG,UAAAC,OAAO,EAAI;KACAA,OAAV,IAAAC,SAAS,QAAU,iDAAV,CAAT,CAAA;QAEM9B,eAAe,GAAG2D,YAAY,IAAI9B,OAAO,CAACE,QAAhD;QACMgC,UAAU,GAAG9D,mBAAmB,CACpCH,iBAAiB,CAACC,EAAD,EAAKC,eAAL,CADmB,EAEpCA,eAFoC,CAAtC;QAIkBgE,IARR,GAQiBD,UARjB,CAQFE,QARE;;QAUJC,WAAW,GACfF,IAAI,IAAIA,IAAI,CAACrC,OAAL,CAAa,2BAAb,EAA0C,MAA1C,CADV;QAGMwC,KAAK,GAAGD,WAAW,GACrBE,qBAAS,CAACpE,eAAe,CAACiE,QAAjB,EAA2B;MAClCD,IAAI,EAAEE,WAD4B;MAElCV,KAAK,EAALA,KAFkC;MAGlCI,MAAM,EAANA;KAHO,CADY,GAMrB,IANJ;QAOMF,QAAQ,GAAG,CAAC,EAAED,YAAY,GAC5BA,YAAY,CAACU,KAAD,EAAQnE,eAAR,CADgB,GAE5BmE,KAFc,CAAlB;QAIMZ,SAAS,GAAGG,QAAQ,GACtBb,cAAc,CAACS,aAAD,EAAgBF,eAAhB,CADQ,GAEtBE,aAFJ;QAGMQ,KAAK,GAAGJ,QAAQ,gBAAQG,SAAR,MAAsBR,WAAtB,IAAsCQ,SAA5D;;QAEMtF,KAAK;sBACQmF,QAAQ,IAAIP,WAAb,IAA6B,IADpC;MAETI,SAAS,EAATA,SAFS;MAGTO,KAAK,EAALA,KAHS;MAIT/D,EAAE,EAAEgE;OACD9C,IALM,CAAX,CA7BU;;;QAsCNd,gBAAc,KAAKE,YAAvB,EAAmC;MACjC9B,KAAK,CAACgD,GAAN,GAAYV,YAAY,IAAIC,QAA5B;KADF,MAEO;MACLvC,KAAK,CAACuC,QAAN,GAAiBA,QAAjB;;;WAGK,oBAAC,IAAD,EAAUvC,KAAV,CAAP;GA7CJ,CADF;CAlBsB,CAA1B;;AAuEA,AAAa;EACX2E,OAAO,CAAC1B,WAAR,GAAsB,SAAtB;MAEM6C,eAAe,GAAGtF,SAAS,CAACc,KAAV,CAAgB,CACtC,MADsC,EAEtC,MAFsC,EAGtC,UAHsC,EAItC,MAJsC,EAKtC,MALsC,EAMtC,MANsC,CAAhB,CAAxB;EASAqD,OAAO,CAACrE,SAAR,gBACK4C,IAAI,CAAC5C,SADV;oBAEkBwF,eAFlB;IAGEjB,eAAe,EAAErE,SAAS,CAACC,MAH7B;IAIEqE,WAAW,EAAEtE,SAAS,CAACwD,MAJzB;IAKEgB,SAAS,EAAExE,SAAS,CAACC,MALvB;IAMEwE,KAAK,EAAEzE,SAAS,CAACI,IANnB;IAOEuE,QAAQ,EAAE3E,SAAS,CAACM,IAPtB;IAQE0C,QAAQ,EAAEhD,SAAS,CAACwD,MARtB;IASEqB,MAAM,EAAE7E,SAAS,CAACI,IATpB;IAUE2E,KAAK,EAAE/E,SAAS,CAACwD;;;;;;;;;;;;;;;;;"}
@@ -1 +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")),reactRouter=require("react-router"),history=require("history");require("prop-types"),require("tiny-warning");var invariant=_interopDefault(require("tiny-invariant"));function _extends(){return(_extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[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 r,o,n={},i=Object.keys(t);for(o=0;o<i.length;o++)r=i[o],0<=e.indexOf(r)||(n[r]=t[r]);return n}var BrowserRouter=function(n){function t(){for(var t,e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return(t=n.call.apply(n,[this].concat(r))||this).history=history.createBrowserHistory(t.props),t}return _inheritsLoose(t,n),t.prototype.render=function(){return React.createElement(reactRouter.Router,{history:this.history,children:this.props.children})},t}(React.Component),HashRouter=function(n){function t(){for(var t,e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return(t=n.call.apply(n,[this].concat(r))||this).history=history.createHashHistory(t.props),t}return _inheritsLoose(t,n),t.prototype.render=function(){return React.createElement(reactRouter.Router,{history:this.history,children:this.props.children})},t}(React.Component);function isModifiedEvent(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}var Link=function(t){function e(){return t.apply(this,arguments)||this}_inheritsLoose(e,t);var r=e.prototype;return r.handleClick=function(t,e){(this.props.onClick&&this.props.onClick(t),t.defaultPrevented||0!==t.button||this.props.target&&"_self"!==this.props.target||isModifiedEvent(t))||(t.preventDefault(),(this.props.replace?e.replace:e.push)(this.props.to))},r.render=function(){var o=this,t=this.props,n=t.innerRef,i=(t.replace,t.to),a=_objectWithoutPropertiesLoose(t,["innerRef","replace","to"]);return React.createElement(reactRouter.__RouterContext.Consumer,null,function(e){e||invariant(!1);var t="string"==typeof i?history.createLocation(i,null,null,e.location):i,r=t?e.history.createHref(t):"";return React.createElement("a",_extends({},a,{onClick:function(t){return o.handleClick(t,e.history)},href:r,ref:n}))})},e}(React.Component);function joinClassnames(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return e.filter(function(t){return t}).join(" ")}function NavLink(t){var e=t["aria-current"],a=void 0===e?"page":e,r=t.activeClassName,s=void 0===r?"active":r,c=t.activeStyle,u=t.className,o=t.exact,l=t.isActive,n=t.location,i=t.strict,p=t.style,h=t.to,f=_objectWithoutPropertiesLoose(t,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","strict","style","to"]),y="object"==typeof h?h.pathname:h,v=y&&y.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1");return React.createElement(reactRouter.Route,{path:v,exact:o,strict:i,location:n,children:function(t){var e=t.location,r=t.match,o=!!(l?l(r,e):r),n=o?joinClassnames(u,s):u,i=o?_extends({},p,c):p;return React.createElement(Link,_extends({"aria-current":o&&a||null,className:n,style:i,to:h},f))}})}Object.keys(reactRouter).forEach(function(t){exports[t]=reactRouter[t]}),exports.BrowserRouter=BrowserRouter,exports.HashRouter=HashRouter,exports.Link=Link,exports.NavLink=NavLink;
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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"}