{"ast":null,"code":"import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { createMemoryHistory, createLocation, locationsAreEqual, createPath } from 'history';\nimport warning from 'tiny-warning';\nimport createContext from 'mini-create-react-context';\nimport invariant from 'tiny-invariant';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport pathToRegexp from 'path-to-regexp';\nimport { isValidElementType } from 'react-is';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport hoistStatics from 'hoist-non-react-statics'; // TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext = function createNamedContext(name) {\n var context = createContext();\n context.displayName = name;\n return context;\n};\n\nvar historyContext = /*#__PURE__*/createNamedContext(\"Router-History\"); // TODO: Replace with React.createContext once we can assume React 16+\n\nvar createNamedContext$1 = function createNamedContext(name) {\n var context = createContext();\n context.displayName = name;\n return context;\n};\n\nvar context = /*#__PURE__*/createNamedContext$1(\"Router\");\n/**\n * The public API for putting history on context.\n */\n\nvar Router = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Router, _React$Component);\n\n Router.computeRootMatch = function computeRootMatch(pathname) {\n return {\n path: \"/\",\n url: \"/\",\n params: {},\n isExact: pathname === \"/\"\n };\n };\n\n function Router(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n location: props.history.location\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 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 is mounted.\n\n _this._isMounted = false;\n _this._pendingLocation = null;\n\n if (!props.staticContext) {\n _this.unlisten = props.history.listen(function (location) {\n if (_this._isMounted) {\n _this.setState({\n location: location\n });\n } else {\n _this._pendingLocation = location;\n }\n });\n }\n\n return _this;\n }\n\n var _proto = Router.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({\n location: this._pendingLocation\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.unlisten) this.unlisten();\n };\n\n _proto.render = function render() {\n return React.createElement(context.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 }, React.createElement(historyContext.Provider, {\n children: this.props.children || null,\n value: this.props.history\n }));\n };\n\n return Router;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\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 process.env.NODE_ENV !== \"production\" ? warning(prevProps.history === this.props.history, \"You cannot change \") : void 0;\n };\n}\n/**\n * The public API for a that stores location in memory.\n */\n\n\nvar MemoryRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(MemoryRouter, _React$Component);\n\n function MemoryRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.history = createMemoryHistory(_this.props);\n return _this;\n }\n\n var _proto = MemoryRouter.prototype;\n\n _proto.render = function render() {\n return React.createElement(Router, {\n history: this.history,\n children: this.props.children\n });\n };\n\n return MemoryRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\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 process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\") : void 0;\n };\n}\n\nvar Lifecycle = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Lifecycle, _React$Component);\n\n function Lifecycle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Lifecycle.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n };\n\n _proto.render = function render() {\n return null;\n };\n\n return Lifecycle;\n}(React.Component);\n/**\n * The public API for prompting the user before navigating away from a screen.\n */\n\n\nfunction Prompt(_ref) {\n var message = _ref.message,\n _ref$when = _ref.when,\n when = _ref$when === void 0 ? true : _ref$when;\n return React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n if (!when || context.staticContext) return null;\n var method = context.history.block;\n return React.createElement(Lifecycle, {\n onMount: function onMount(self) {\n self.release = method(message);\n },\n onUpdate: function onUpdate(self, prevProps) {\n if (prevProps.message !== message) {\n self.release();\n self.release = method(message);\n }\n },\n onUnmount: function onUnmount(self) {\n self.release();\n },\n message: message\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n var messageType = PropTypes.oneOfType([PropTypes.func, PropTypes.string]);\n Prompt.propTypes = {\n when: PropTypes.bool,\n message: messageType.isRequired\n };\n}\n\nvar cache = {};\nvar cacheLimit = 10000;\nvar cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n var generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\n\n\nfunction generatePath(path, params) {\n if (path === void 0) {\n path = \"/\";\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return path === \"/\" ? path : compilePath(path)(params, {\n pretty: true\n });\n}\n/**\n * The public API for navigating programmatically with a component.\n */\n\n\nfunction Redirect(_ref) {\n var computedMatch = _ref.computedMatch,\n to = _ref.to,\n _ref$push = _ref.push,\n push = _ref$push === void 0 ? false : _ref$push;\n return React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var history = context.history,\n staticContext = context.staticContext;\n var method = push ? history.push : history.replace;\n var location = createLocation(computedMatch ? typeof to === \"string\" ? generatePath(to, computedMatch.params) : _extends({}, to, {\n pathname: generatePath(to.pathname, computedMatch.params)\n }) : to); // When rendering in a static context,\n // set the new location immediately.\n\n if (staticContext) {\n method(location);\n return null;\n }\n\n return React.createElement(Lifecycle, {\n onMount: function onMount() {\n method(location);\n },\n onUpdate: function onUpdate(self, prevProps) {\n var prevLocation = createLocation(prevProps.to);\n\n if (!locationsAreEqual(prevLocation, _extends({}, location, {\n key: prevLocation.key\n }))) {\n method(location);\n }\n },\n to: to\n });\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nvar cache$1 = {};\nvar cacheLimit$1 = 10000;\nvar cacheCount$1 = 0;\n\nfunction compilePath$1(path, options) {\n var cacheKey = \"\" + options.end + options.strict + options.sensitive;\n var pathCache = cache$1[cacheKey] || (cache$1[cacheKey] = {});\n if (pathCache[path]) return pathCache[path];\n var keys = [];\n var regexp = pathToRegexp(path, keys, options);\n var result = {\n regexp: regexp,\n keys: keys\n };\n\n if (cacheCount$1 < cacheLimit$1) {\n pathCache[path] = result;\n cacheCount$1++;\n }\n\n return result;\n}\n/**\n * Public API for matching a URL pathname to a path.\n */\n\n\nfunction matchPath(pathname, options) {\n if (options === void 0) {\n options = {};\n }\n\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = {\n path: options\n };\n }\n\n var _options = options,\n path = _options.path,\n _options$exact = _options.exact,\n exact = _options$exact === void 0 ? false : _options$exact,\n _options$strict = _options.strict,\n strict = _options$strict === void 0 ? false : _options$strict,\n _options$sensitive = _options.sensitive,\n sensitive = _options$sensitive === void 0 ? false : _options$sensitive;\n var paths = [].concat(path);\n return paths.reduce(function (matched, path) {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n var _compilePath = compilePath$1(path, {\n end: exact,\n strict: strict,\n sensitive: sensitive\n }),\n regexp = _compilePath.regexp,\n keys = _compilePath.keys;\n\n var match = regexp.exec(pathname);\n if (!match) return null;\n var url = match[0],\n values = match.slice(1);\n var isExact = pathname === url;\n if (exact && !isExact) return null;\n return {\n path: path,\n // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url,\n // the matched portion of the URL\n isExact: isExact,\n // whether or not we matched exactly\n params: keys.reduce(function (memo, key, index) {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n var value = children(props);\n process.env.NODE_ENV !== \"production\" ? warning(value !== undefined, \"You returned `undefined` from the `children` function of \" + (\", but you \") + \"should have returned a React element or `null`\") : void 0;\n return value || null;\n}\n/**\n * The public API for matching a single path and rendering.\n */\n\n\nvar Route = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Route, _React$Component);\n\n function Route() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Route.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return React.createElement(context.Consumer, null, function (context$1) {\n !context$1 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context$1.location;\n var match = _this.props.computedMatch ? _this.props.computedMatch // already computed the match for us\n : _this.props.path ? matchPath(location.pathname, _this.props) : context$1.match;\n\n var props = _extends({}, context$1, {\n location: location,\n match: match\n });\n\n var _this$props = _this.props,\n children = _this$props.children,\n component = _this$props.component,\n render = _this$props.render; // Preact uses an empty array as children by\n // default, so use null if that's the case.\n\n if (Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n return React.createElement(context.Provider, {\n value: props\n }, props.match ? children ? typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : children : component ? React.createElement(component, props) : render ? render(props) : null : typeof children === \"function\" ? process.env.NODE_ENV !== \"production\" ? evalChildrenDev(children, props, _this.props.path) : children(props) : null);\n });\n };\n\n return Route;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: function component(props, propName) {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\"Invalid prop 'component' supplied to 'Route': the prop is not a valid React component\");\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function () {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.component), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.children && !isEmptyChildren(this.props.children) && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.component && this.props.render), \"You should not use and in the same route; will be ignored\") : void 0;\n };\n\n Route.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' 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.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n return _extends({}, location, {\n pathname: addLeadingSlash(basename) + location.pathname\n });\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n var base = addLeadingSlash(basename);\n if (location.pathname.indexOf(base) !== 0) return location;\n return _extends({}, 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 function () {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot %s with \", methodName) : invariant(false);\n };\n}\n\nfunction noop() {}\n/**\n * The public top-level API for a \"static\" , 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 */\n\n\nvar StaticRouter = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(StaticRouter, _React$Component);\n\n function StaticRouter() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.handlePush = function (location) {\n return _this.navigateTo(location, \"PUSH\");\n };\n\n _this.handleReplace = function (location) {\n return _this.navigateTo(location, \"REPLACE\");\n };\n\n _this.handleListen = function () {\n return noop;\n };\n\n _this.handleBlock = function () {\n return noop;\n };\n\n return _this;\n }\n\n var _proto = StaticRouter.prototype;\n\n _proto.navigateTo = function navigateTo(location, action) {\n var _this$props = this.props,\n _this$props$basename = _this$props.basename,\n basename = _this$props$basename === void 0 ? \"\" : _this$props$basename,\n _this$props$context = _this$props.context,\n context = _this$props$context === void 0 ? {} : _this$props$context;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n _this$props2$basename = _this$props2.basename,\n basename = _this$props2$basename === void 0 ? \"\" : _this$props2$basename,\n _this$props2$context = _this$props2.context,\n context = _this$props2$context === void 0 ? {} : _this$props2$context,\n _this$props2$location = _this$props2.location,\n location = _this$props2$location === void 0 ? \"/\" : _this$props2$location,\n rest = _objectWithoutPropertiesLoose(_this$props2, [\"basename\", \"context\", \"location\"]);\n\n var history = {\n createHref: function createHref(path) {\n return addLeadingSlash(basename + createURL(path));\n },\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 return React.createElement(Router, _extends({}, rest, {\n history: history,\n staticContext: context\n }));\n };\n\n return StaticRouter;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\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 process.env.NODE_ENV !== \"production\" ? warning(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { StaticRouter as Router }`.\") : void 0;\n };\n}\n/**\n * The public API for rendering the first that matches.\n */\n\n\nvar Switch = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Switch, _React$Component);\n\n function Switch() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Switch.prototype;\n\n _proto.render = function render() {\n var _this = this;\n\n return React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use outside a \") : invariant(false) : void 0;\n var location = _this.props.location || context.location;\n var element, match; // 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 s that render the same\n // component at different URLs.\n\n React.Children.forEach(_this.props.children, function (child) {\n if (match == null && React.isValidElement(child)) {\n element = child;\n var path = child.props.path || child.props.from;\n match = path ? matchPath(location.pathname, _extends({}, child.props, {\n path: path\n })) : context.match;\n }\n });\n return match ? React.cloneElement(element, {\n location: location,\n computedMatch: match\n }) : null;\n });\n };\n\n return Switch;\n}(React.Component);\n\nif (process.env.NODE_ENV !== \"production\") {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function (prevProps) {\n process.env.NODE_ENV !== \"production\" ? warning(!(this.props.location && !prevProps.location), ' 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.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(!this.props.location && prevProps.location), ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.') : void 0;\n };\n}\n/**\n * A public higher-order component to access the imperative API\n */\n\n\nfunction withRouter(Component) {\n var displayName = \"withRouter(\" + (Component.displayName || Component.name) + \")\";\n\n var C = function C(props) {\n var wrappedComponentRef = props.wrappedComponentRef,\n remainingProps = _objectWithoutPropertiesLoose(props, [\"wrappedComponentRef\"]);\n\n return React.createElement(context.Consumer, null, function (context) {\n !context ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You should not use <\" + displayName + \" /> outside a \") : invariant(false) : void 0;\n return React.createElement(Component, _extends({}, remainingProps, context, {\n ref: wrappedComponentRef\n }));\n });\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (process.env.NODE_ENV !== \"production\") {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.object])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nvar useContext = React.useContext;\n\nfunction useHistory() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useHistory()\") : invariant(false) : void 0;\n }\n\n return useContext(historyContext);\n}\n\nfunction useLocation() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useLocation()\") : invariant(false) : void 0;\n }\n\n return useContext(context).location;\n}\n\nfunction useParams() {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useParams()\") : invariant(false) : void 0;\n }\n\n var match = useContext(context).match;\n return match ? match.params : {};\n}\n\nfunction useRouteMatch(path) {\n if (process.env.NODE_ENV !== \"production\") {\n !(typeof useContext === \"function\") ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You must use React >= 16.8 in order to use useRouteMatch()\") : invariant(false) : void 0;\n }\n\n var location = useLocation();\n var match = useContext(context).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n if (typeof window !== \"undefined\") {\n var global = window;\n var key = \"__react_router_build__\";\n var buildNames = {\n cjs: \"CommonJS\",\n esm: \"ES modules\",\n umd: \"UMD\"\n };\n\n if (global[key] && global[key] !== \"esm\") {\n var initialBuildName = buildNames[global[key]];\n var secondaryBuildName = buildNames[\"esm\"]; // TODO: Add link to article that explains in detail how to avoid\n // loading 2 different builds.\n\n throw new Error(\"You are loading the \" + secondaryBuildName + \" build of React Router \" + (\"on a page that is already running the \" + initialBuildName + \" \") + \"build, so things won't work right.\");\n }\n\n global[key] = \"esm\";\n }\n}\n\nexport { MemoryRouter, Prompt, Redirect, Route, Router, StaticRouter, Switch, historyContext as __HistoryContext, context as __RouterContext, generatePath, matchPath, useHistory, useLocation, useParams, useRouteMatch, withRouter };","map":{"version":3,"sources":["../modules/createNameContext.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"],"names":["createNamedContext","context","createContext","historyContext","Router","React","Component","computeRootMatch","path","url","params","isExact","pathname","location","props","componentDidMount","_pendingLocation","componentWillUnmount","render","RouterContext","history","match","staticContext","HistoryContext","children","PropTypes","object","warning","prevProps","MemoryRouter","createHistory","initialEntries","initialIndex","getUserConfirmation","keyLength","node","Lifecycle","componentDidUpdate","message","when","method","self","messageType","Prompt","isRequired","cache","cacheLimit","cacheCount","generator","pathToRegexp","pretty","computedMatch","to","push","createLocation","generatePath","prevLocation","locationsAreEqual","key","Redirect","from","cacheKey","options","pathCache","keys","regexp","result","Array","exact","strict","sensitive","paths","compilePath","end","values","memo","value","Route","matchPath","component","evalChildrenDev","isValidElementType","bool","isEmptyChildren","addLeadingSlash","base","createPath","invariant","StaticRouter","navigateTo","basename","addBasename","createURL","handlePush","handleReplace","handleListen","handleBlock","rest","createHref","action","stripBasename","replace","go","staticHandler","goBack","goForward","listen","block","Switch","element","child","displayName","C","wrappedComponentRef","remainingProps","hoistStatics","useContext","useLocation","global","buildNames","cjs","esm","umd","initialBuildName","secondaryBuildName"],"mappings":"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","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 \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","// 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 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 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 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 \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 \"\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 that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\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 \" 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 \n {context => {\n invariant(context, \"You should not use outside a \");\n\n if (!when || context.staticContext) return null;\n\n const method = context.history.block;\n\n return (\n {\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 \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 \n {context => {\n invariant(context, \"You should not use outside a \");\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 {\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 \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 `, 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 \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // 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 \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 \n );\n }}\n \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 and in the same route; 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 and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' 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 ' 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 \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , 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 ;\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 \" 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 that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\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 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 \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 ' 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 ' 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 \n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a `\n );\n return (\n \n );\n }}\n \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 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(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 const location = useLocation();\n const match = useContext(Context).match;\n\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\nimport { useHistory, useLocation, useParams, useRouteMatch } from \"./hooks.js\";\nexport { useHistory, useLocation, useParams, useRouteMatch };\n\nexport { default as __HistoryContext } from \"./HistoryContext.js\";\nexport { default as __RouterContext } from \"./RouterContext.js\";\n"]},"metadata":{},"sourceType":"module"}