{"version":3,"file":"c_nprogress_eee31a7d.1695271849080.js","sources":["../../node_modules/nprogress/nprogress.js"],"sourcesContent":["/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\n\n"],"names":["root","factory","module","this","NProgress","Settings","options","key","value","n","started","clamp","progress","bar","speed","ease","queue","next","css","barPositionCSS","work","force","amount","initial","current","$promise","fromStart","addClass","perc","toBarPerc","parent","spinner","removeElement","removeClass","bodyStyle","vendorPrefix","min","max","barCSS","pending","fn","cssPrefixes","cssProps","camelCase","string","match","letter","getVendorProp","name","style","i","capName","vendorName","getStyleProp","applyCss","element","prop","properties","args","hasClass","list","classList","oldList","newList"],"mappings":"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","x_google_ignoreList":[0]}