{"version":3,"file":"4398.5ee5d8b427d024de44b0.4398.js","mappings":"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","sources":["webpack:///./src/routes/_components/FocusRestoration.html","webpack:///./src/routes/_thirdparty/quick-lru/quick-lru.ts","webpack:///./src/routes/_static/pages.js","webpack:///./src/routes/_utils/tryToFocusElement.js"],"sourcesContent":["\n \n\n\n","// Forked from https://github.com/sindresorhus/quick-lru/blob/16d15d470a8eb87c2a7dd5b80892d9b74f1acd3c/index.js\n// removes some unused code\nexport class QuickLRU {\n maxSize;\n cache;\n oldCache;\n _size;\n constructor(options = {}) {\n if (!(options.maxSize && options.maxSize > 0)) {\n throw new TypeError('`maxSize` must be a number greater than 0');\n }\n this.maxSize = options.maxSize;\n this.cache = new Map();\n this.oldCache = new Map();\n this._size = 0;\n }\n _set(key, value) {\n this.cache.set(key, value);\n this._size++;\n if (this._size >= this.maxSize) {\n this._size = 0;\n this.oldCache = this.cache;\n this.cache = new Map();\n }\n }\n get(key) {\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n if (this.oldCache.has(key)) {\n const value = this.oldCache.get(key);\n this.oldCache.delete(key);\n this._set(key, value);\n return value;\n }\n }\n set(key, value) {\n if (this.cache.has(key)) {\n this.cache.set(key, value);\n }\n else {\n this._set(key, value);\n }\n return this;\n }\n has(key) {\n return this.cache.has(key) || this.oldCache.has(key);\n }\n // unused\n // peek (key) {\n // if (this.cache.has(key)) {\n // return this.cache.get(key)\n // }\n //\n // if (this.oldCache.has(key)) {\n // return this.oldCache.get(key)\n // }\n // }\n delete(key) {\n const deleted = this.cache.delete(key);\n if (deleted) {\n this._size--;\n }\n return this.oldCache.delete(key) || deleted;\n }\n clear() {\n this.cache.clear();\n this.oldCache.clear();\n this._size = 0;\n }\n getAllKeys() {\n const set = new Set();\n for (const key of this.cache.keys()) {\n set.add(key);\n }\n for (const key of this.oldCache.keys()) {\n set.add(key);\n }\n return set;\n }\n}\n","export const PAGE_HISTORY_SIZE = 10\n","// try 5 times to wait for the element to be rendered and then focus it\nimport { scheduleIdleTask } from './scheduleIdleTask.js'\n\nconst RETRIES = 5\nconst TIMEOUT = 50\n\nexport async function tryToFocusElement (id, scroll) {\n for (let i = 0; i < RETRIES; i++) {\n if (i > 0) {\n await new Promise(resolve => setTimeout(resolve, TIMEOUT))\n }\n await new Promise(resolve => scheduleIdleTask(resolve))\n const element = document.getElementById(id)\n if (element) {\n try {\n element.focus({ preventScroll: !scroll })\n console.log('focused element', id)\n return\n } catch (e) {\n console.error(e)\n }\n }\n }\n console.log('failed to focus element', id)\n}\n"],"names":["cache","maxSize","window","__focusRestorationCache","setupPushState","this","onPushState","bind","setInCache","ignoreBlurEvents","addEventListener","teardownPushState","removeEventListener","obj","realm","get","has","set","Object","assign","deleteInCache","key","getInCache","restoreFocus","elementId","clearFocus","saveFocus","e","element","target","getAttribute","event","QuickLRU","oldCache","_size","constructor","options","TypeError","Map","_set","value","delete","deleted","clear","getAllKeys","Set","keys","add","PAGE_HISTORY_SIZE","RETRIES","TIMEOUT","async","tryToFocusElement","id","scroll","i","Promise","resolve","setTimeout","document","getElementById","focus","preventScroll","console","error"],"sourceRoot":""}