{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap d34c3bbd8f935b3ca78e","webpack:///./src/index.js"],"names":["isPushStateAvailable","window","history","pushState","Navigo","r","useHash","hash","root","_routes","_useHash","_hash","_paused","_destroyed","_lastRouteResolved","_notFoundHandler","_defaultHandler","_usePushState","_onLocationChange","bind","_genericHooks","_historyAPIUpdateMethod","replace","_cLoc","split","_listen","updatePageLinks","clean","s","RegExp","regExpResultToParams","match","names","length","slice","reduce","params","value","index","decodeURIComponent","replaceDynamicURLParts","route","paramNames","regexp","PARAMETER_REGEXP","full","dots","name","push","REPLACE_VARIABLE_REGEXP","WILDCARD_REGEXP","REPLACE_WILDCARD","FOLLOWED_BY_SLASH_REGEXP","MATCH_REGEXP_FLAGS","getUrlDepth","url","compareUrlDepth","urlA","urlB","findMatchedRoutes","routes","map","filter","m","matched","fallbackURL","result","isHashChangeAPIAvailable","extractGETParameters","join","getOnlyURL","onlyURL","manageHooks","handler","hooks","before","shouldRoute","after","isHashedRoot","prototype","helpers","navigate","path","absolute","to","_getRoot","resolve","location","href","on","args","func","uses","_add","orderedRoutes","Object","keys","sort","forEach","off","notFound","current","GETParameters","query","already","_callLeave","destroy","clearTimeout","_listeningInterval","removeEventListener","self","document","_findLinks","link","hasListenerAttached","addEventListener","e","getLinkPath","preventDefault","generate","data","key","toString","pause","status","resume","historyAPIUpdateMethod","disableIfAPINotAvailable","lastRouteResolved","pathname","getAttribute","encodeURI","as","cached","check","setTimeout","__NAVIGO_WINDOW_LOCATION_MOCK__","call","querySelectorAll","leave"],"mappings":"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","file":"navigo.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Navigo\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Navigo\"] = factory();\n\telse\n\t\troot[\"Navigo\"] = factory();\n})(this, function() {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap d34c3bbd8f935b3ca78e\n **/","function isPushStateAvailable() {\n return !!(\n typeof window !== 'undefined' &&\n window.history &&\n window.history.pushState\n );\n}\n\nfunction Navigo(r, useHash, hash) {\n this.root = null;\n this._routes = [];\n this._useHash = useHash;\n this._hash = typeof hash === 'undefined' ? '#' : hash;\n this._paused = false;\n this._destroyed = false;\n this._lastRouteResolved = null;\n this._notFoundHandler = null;\n this._defaultHandler = null;\n this._usePushState = !useHash && isPushStateAvailable();\n this._onLocationChange = this._onLocationChange.bind(this);\n this._genericHooks = null;\n this._historyAPIUpdateMethod = 'pushState';\n\n if (r) {\n this.root = useHash ? r.replace(/\\/$/, '/' + this._hash) : r.replace(/\\/$/, '');\n } else if (useHash) {\n this.root = this._cLoc().split(this._hash)[0].replace(/\\/$/, '/' + this._hash);\n }\n\n this._listen();\n this.updatePageLinks();\n}\n\nfunction clean(s) {\n if (s instanceof RegExp) return s;\n return s.replace(/\\/+$/, '').replace(/^\\/+/, '^/');\n}\n\nfunction regExpResultToParams(match, names) {\n if (names.length === 0) return null;\n if (!match) return null;\n return match\n .slice(1, match.length)\n .reduce((params, value, index) => {\n if (params === null) params = {};\n params[names[index]] = decodeURIComponent(value);\n return params;\n }, null);\n}\n\nfunction replaceDynamicURLParts(route) {\n var paramNames = [], regexp;\n\n if (route instanceof RegExp) {\n regexp = route;\n } else {\n regexp = new RegExp(\n route.replace(Navigo.PARAMETER_REGEXP, function (full, dots, name) {\n paramNames.push(name);\n return Navigo.REPLACE_VARIABLE_REGEXP;\n })\n .replace(Navigo.WILDCARD_REGEXP, Navigo.REPLACE_WILDCARD) + Navigo.FOLLOWED_BY_SLASH_REGEXP\n , Navigo.MATCH_REGEXP_FLAGS);\n }\n return { regexp, paramNames };\n}\n\nfunction getUrlDepth(url) {\n return url.replace(/\\/$/, '').split('/').length;\n}\n\nfunction compareUrlDepth(urlA, urlB) {\n return getUrlDepth(urlB) - getUrlDepth(urlA);\n}\n\nfunction findMatchedRoutes(url, routes = []) {\n return routes\n .map(route => {\n var { regexp, paramNames } = replaceDynamicURLParts(clean(route.route));\n var match = url.replace(/^\\/+/, '/').match(regexp);\n var params = regExpResultToParams(match, paramNames);\n\n return match ? { match, route, params } : false;\n })\n .filter(m => m);\n}\n\nfunction match(url, routes) {\n return findMatchedRoutes(url, routes)[0] || false;\n}\n\nfunction root(url, routes) {\n var matched = routes.map(\n route => route.route === '' || route.route === '*' ? url : url.split(new RegExp(route.route + '($|\\/)'))[0]\n );\n var fallbackURL = clean(url);\n\n if (matched.length > 1) {\n return matched.reduce((result, url) => {\n if (result.length > url.length) result = url;\n return result;\n }, matched[0]);\n } else if (matched.length === 1) {\n return matched[0];\n }\n return fallbackURL;\n}\n\nfunction isHashChangeAPIAvailable() {\n return !!(\n typeof window !== 'undefined' &&\n 'onhashchange' in window\n );\n}\n\nfunction extractGETParameters(url) {\n return url.split(/\\?(.*)?$/).slice(1).join('');\n}\n\nfunction getOnlyURL(url, useHash, hash) {\n var onlyURL = url.split(/\\?(.*)?$/)[0], split;\n\n if (typeof hash === 'undefined') {\n // To preserve BC\n hash = '#';\n }\n\n if (isPushStateAvailable() && !useHash) {\n onlyURL = onlyURL.split(hash)[0];\n } else {\n split = onlyURL.split(hash);\n onlyURL = split.length > 1 ? onlyURL.split(hash)[1] : split[0];\n }\n\n return onlyURL;\n}\n\nfunction manageHooks(handler, hooks, params) {\n if (hooks && typeof hooks === 'object') {\n if (hooks.before) {\n hooks.before((shouldRoute = true) => {\n if (!shouldRoute) return;\n handler();\n hooks.after && hooks.after(params);\n }, params);\n } else if (hooks.after) {\n handler();\n hooks.after && hooks.after(params);\n }\n return;\n }\n handler();\n};\n\nfunction isHashedRoot(url, useHash, hash) {\n if (isPushStateAvailable() && !useHash) {\n return false;\n }\n\n if (!url.match(hash)) {\n return false;\n }\n\n let split = url.split(hash);\n\n if (split.length < 2 || split[1] === '') {\n return true;\n }\n\n return false;\n};\n\nNavigo.prototype = {\n helpers: {\n match,\n root,\n clean\n },\n navigate: function (path, absolute) {\n var to;\n\n path = path || '';\n if (this._usePushState) {\n to = (!absolute ? this._getRoot() + '/' : '') + path.replace(/^\\/+/, '/');\n to = to.replace(/([^:])(\\/{2,})/g, '$1/');\n history[this._historyAPIUpdateMethod]({}, '', to);\n this.resolve();\n } else if (typeof window !== 'undefined') {\n path = path.replace(new RegExp('^' + this._hash), '');\n window.location.href =\n window.location.href\n .replace(/#$/, '')\n .replace(new RegExp(this._hash + '.*$'), '') + this._hash + path;\n }\n return this;\n },\n on: function (...args) {\n if (typeof args[0] === 'function') {\n this._defaultHandler = { handler: args[0], hooks: args[1] };\n } else if (args.length >= 2) {\n if (args[0] === '/') {\n let func = args[1];\n\n if (typeof args[1] === 'object') {\n func = args[1].uses;\n }\n\n this._defaultHandler = { handler: func, hooks: args[2] };\n } else {\n this._add(args[0], args[1], args[2]);\n }\n } else if (typeof args[0] === 'object') {\n let orderedRoutes = Object.keys(args[0]).sort(compareUrlDepth);\n\n orderedRoutes.forEach(route => {\n this.on(route, args[0][route]);\n });\n }\n return this;\n },\n off: function (handler) {\n if (this._defaultHandler !== null && handler === this._defaultHandler.handler) {\n this._defaultHandler = null;\n } else if (this._notFoundHandler !== null && handler === this._notFoundHandler.handler) {\n this._notFoundHandler = null;\n }\n this._routes = this._routes.reduce((result, r) => {\n if (r.handler !== handler) result.push(r);\n return result;\n }, []);\n return this;\n },\n notFound: function (handler, hooks) {\n this._notFoundHandler = { handler, hooks: hooks };\n return this;\n },\n resolve: function (current) {\n var handler, m;\n var url = (current || this._cLoc()).replace(this._getRoot(), '');\n\n if (this._useHash) {\n url = url.replace(new RegExp('^\\/' + this._hash), '/');\n }\n\n let GETParameters = extractGETParameters(current || this._cLoc());\n let onlyURL = getOnlyURL(url, this._useHash, this._hash);\n\n if (this._paused) return false;\n\n if (\n this._lastRouteResolved &&\n onlyURL === this._lastRouteResolved.url &&\n GETParameters === this._lastRouteResolved.query\n ) {\n if (this._lastRouteResolved.hooks && this._lastRouteResolved.hooks.already) {\n this._lastRouteResolved.hooks.already(this._lastRouteResolved.params);\n }\n return false;\n }\n\n m = match(onlyURL, this._routes);\n\n if (m) {\n this._callLeave();\n this._lastRouteResolved = {\n url: onlyURL,\n query: GETParameters,\n hooks: m.route.hooks,\n params: m.params,\n name: m.route.name\n };\n handler = m.route.handler;\n manageHooks(() => {\n manageHooks(() => {\n m.route.route instanceof RegExp ?\n handler(...(m.match.slice(1, m.match.length))) :\n handler(m.params, GETParameters);\n }, m.route.hooks, m.params, this._genericHooks);\n }, this._genericHooks, m.params);\n return m;\n } else if (this._defaultHandler && (\n onlyURL === '' ||\n onlyURL === '/' ||\n onlyURL === this._hash ||\n isHashedRoot(onlyURL, this._useHash, this._hash)\n )) {\n manageHooks(() => {\n manageHooks(() => {\n this._callLeave();\n this._lastRouteResolved = { url: onlyURL, query: GETParameters, hooks: this._defaultHandler.hooks };\n this._defaultHandler.handler(GETParameters);\n }, this._defaultHandler.hooks);\n }, this._genericHooks);\n return true;\n } else if (this._notFoundHandler) {\n manageHooks(() => {\n manageHooks(() => {\n this._callLeave();\n this._lastRouteResolved = { url: onlyURL, query: GETParameters, hooks: this._notFoundHandler.hooks };\n this._notFoundHandler.handler(GETParameters);\n }, this._notFoundHandler.hooks);\n }, this._genericHooks);\n }\n return false;\n },\n destroy: function () {\n this._routes = [];\n this._destroyed = true;\n clearTimeout(this._listeningInterval);\n if (typeof window !== 'undefined') {\n window.removeEventListener('popstate', this._onLocationChange);\n window.removeEventListener('hashchange', this._onLocationChange);\n }\n },\n updatePageLinks: function () {\n var self = this;\n\n if (typeof document === 'undefined') return;\n\n this._findLinks().forEach(link => {\n if (!link.hasListenerAttached) {\n link.addEventListener('click', function (e) {\n var location = self.getLinkPath(link);\n\n if (!self._destroyed) {\n e.preventDefault();\n self.navigate(location.replace(/\\/+$/, '').replace(/^\\/+/, '/'));\n }\n });\n link.hasListenerAttached = true;\n }\n });\n },\n generate: function (name, data = {}) {\n var result = this._routes.reduce((result, route) => {\n var key;\n\n if (route.name === name) {\n result = route.route;\n for (key in data) {\n result = result.toString().replace(':' + key, data[key]);\n }\n }\n return result;\n }, '');\n\n return this._useHash ? this._hash + result : result;\n },\n link: function (path) {\n return this._getRoot() + path;\n },\n pause: function (status = true) {\n this._paused = status;\n if (status) {\n this._historyAPIUpdateMethod = 'replaceState';\n } else {\n this._historyAPIUpdateMethod = 'pushState';\n }\n },\n resume: function () {\n this.pause(false);\n },\n historyAPIUpdateMethod: function (value) {\n if (typeof value === 'undefined') return this._historyAPIUpdateMethod;\n this._historyAPIUpdateMethod = value;\n return value;\n },\n disableIfAPINotAvailable: function () {\n if (!isPushStateAvailable()) {\n this.destroy();\n }\n },\n lastRouteResolved() {\n return this._lastRouteResolved;\n },\n getLinkPath(link) {\n return link.pathname || link.getAttribute('href');\n },\n hooks(hooks) {\n this._genericHooks = hooks;\n },\n _add: function (route, handler = null, hooks = null) {\n if (typeof route === 'string') {\n route = encodeURI(route);\n }\n if (typeof handler === 'object') {\n this._routes.push({\n route,\n handler: handler.uses,\n name: handler.as,\n hooks: hooks || handler.hooks\n });\n } else {\n this._routes.push({ route, handler, hooks: hooks });\n }\n return this._add;\n },\n _getRoot: function () {\n if (this.root !== null) return this.root;\n this.root = root(this._cLoc().split('?')[0], this._routes);\n return this.root;\n },\n _listen: function () {\n if (this._usePushState) {\n window.addEventListener('popstate', this._onLocationChange);\n } else if (isHashChangeAPIAvailable()) {\n window.addEventListener('hashchange', this._onLocationChange);\n } else {\n let cached = this._cLoc(), current, check;\n\n check = () => {\n current = this._cLoc();\n if (cached !== current) {\n cached = current;\n this.resolve();\n }\n this._listeningInterval = setTimeout(check, 200);\n };\n check();\n }\n },\n _cLoc: function () {\n if (typeof window !== 'undefined') {\n if (typeof window.__NAVIGO_WINDOW_LOCATION_MOCK__ !== 'undefined') {\n return window.__NAVIGO_WINDOW_LOCATION_MOCK__;\n }\n return clean(window.location.href);\n }\n return '';\n },\n _findLinks: function () {\n return [].slice.call(document.querySelectorAll('[data-navigo]'));\n },\n _onLocationChange: function () {\n this.resolve();\n },\n _callLeave() {\n if (this._lastRouteResolved && this._lastRouteResolved.hooks && this._lastRouteResolved.hooks.leave) {\n this._lastRouteResolved.hooks.leave();\n }\n }\n};\n\nNavigo.PARAMETER_REGEXP = /([:*])(\\w+)/g;\nNavigo.WILDCARD_REGEXP = /\\*/g;\nNavigo.REPLACE_VARIABLE_REGEXP = '([^\\/]+)';\nNavigo.REPLACE_WILDCARD = '(?:.*)';\nNavigo.FOLLOWED_BY_SLASH_REGEXP = '(?:\\/$|$)';\nNavigo.MATCH_REGEXP_FLAGS = '';\n\nexport default Navigo;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/"],"sourceRoot":""}