{"version":3,"file":"js/decidim_sw-5562df0904249a850e78.js","mappings":"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","sources":["webpack://decidim-development-app/../usr/local/bundle/gems/decidim-core-0.29.1/app/packs/src/decidim/sw/a2hs.js","webpack://decidim-development-app/../usr/local/bundle/gems/decidim-core-0.29.1/app/packs/src/decidim/sw/loader.js","webpack://decidim-development-app/../usr/local/bundle/gems/decidim-core-0.29.1/app/packs/src/decidim/sw/push-permissions.js","webpack://decidim-development-app/webpack/bootstrap"],"sourcesContent":["var __async = (__this, __arguments, generator) => {\n return new Promise((resolve, reject) => {\n var fulfilled = (value) => {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n };\n var rejected = (value) => {\n try {\n step(generator.throw(value));\n } catch (e) {\n reject(e);\n }\n };\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n step((generator = generator.apply(__this, __arguments)).next());\n });\n};\nconst visitedPages = JSON.parse(sessionStorage.getItem(\"visitedPages\")) || [];\nconst DELAYED_VISITS = 2;\nlet deferredPrompt = null;\nconst shouldCountVisitedPages = () => sessionStorage.getItem(\"userChoice\") !== \"dismissed\" && visitedPages.length < DELAYED_VISITS && !visitedPages.includes(location.pathname);\nconst shouldPrompt = () => {\n if (localStorage.getItem(\"pwaInstallPromptSeen\")) {\n return false;\n }\n return deferredPrompt && sessionStorage.getItem(\"userChoice\") !== \"dismissed\" && visitedPages.length >= DELAYED_VISITS;\n};\nwindow.addEventListener(\"beforeinstallprompt\", (event) => {\n event.preventDefault();\n deferredPrompt = event;\n if (shouldCountVisitedPages()) {\n sessionStorage.setItem(\"visitedPages\", JSON.stringify([...visitedPages, location.pathname]));\n }\n});\nwindow.addEventListener(\"click\", (event) => __async(this, null, function* () {\n if (shouldPrompt()) {\n event.preventDefault();\n deferredPrompt.prompt();\n const { outcome } = yield deferredPrompt.userChoice;\n sessionStorage.setItem(\"userChoice\", outcome);\n sessionStorage.removeItem(\"visitedPages\");\n localStorage.setItem(\"pwaInstallPromptSeen\", true);\n }\n}));\n","var __async = (__this, __arguments, generator) => {\n return new Promise((resolve, reject) => {\n var fulfilled = (value) => {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n };\n var rejected = (value) => {\n try {\n step(generator.throw(value));\n } catch (e) {\n reject(e);\n }\n };\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n step((generator = generator.apply(__this, __arguments)).next());\n });\n};\nwindow.addEventListener(\"load\", () => __async(this, null, function* () {\n if (\"serviceWorker\" in navigator) {\n yield navigator.serviceWorker.register(\"/sw.js\", { scope: \"/\" });\n const mandatoryElements = document.querySelector(\".js-sw-mandatory\");\n const isOperaMini = (navigator.userAgent.indexOf(\"OPR\") > -1 || navigator.userAgent.indexOf(\"Opera\") > -1) && navigator.userAgent.indexOf(\"Mini\") > -1;\n if (mandatoryElements && isOperaMini) {\n mandatoryElements.classList.add(\"hide\");\n }\n } else {\n console.log(\"Your browser does not support service workers \\u{1F937}\\u200D\\u2640\\uFE0F\");\n }\n}));\n","var __async = (__this, __arguments, generator) => {\n return new Promise((resolve, reject) => {\n var fulfilled = (value) => {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n };\n var rejected = (value) => {\n try {\n step(generator.throw(value));\n } catch (e) {\n reject(e);\n }\n };\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n step((generator = generator.apply(__this, __arguments)).next());\n });\n};\nwindow.addEventListener(\"DOMContentLoaded\", () => __async(this, null, function* () {\n const GRANTED_PERMISSION = \"granted\";\n const hideReminder = function() {\n const reminder = document.querySelector(\"#push-notifications-reminder\");\n reminder.classList.add(\"hide\");\n };\n const subscribeToNotifications = (registration) => __async(this, null, function* () {\n var _a;\n const permission = yield window.Notification.requestPermission();\n if (registration && permission === GRANTED_PERMISSION) {\n const vapidElement = document.querySelector(\"#vapidPublicKey\");\n if (vapidElement) {\n const vapidPublicKeyElement = JSON.parse(vapidElement.value);\n const subscription = yield registration.pushManager.subscribe({\n userVisibleOnly: true,\n applicationServerKey: new Uint8Array(vapidPublicKeyElement)\n });\n if (subscription) {\n yield fetch(\"/notifications_subscriptions\", {\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": (_a = document.querySelector(\"meta[name=csrf-token]\")) == null ? void 0 : _a.content\n },\n method: \"POST\",\n body: JSON.stringify(subscription)\n });\n }\n }\n hideReminder();\n } else {\n throw new Error(\"Permission not granted for Notification\");\n }\n });\n const unsubscribeFromNotifications = (registration) => __async(this, null, function* () {\n var _a;\n const currentSubscription = yield registration.pushManager.getSubscription();\n const auth = currentSubscription.toJSON().keys.auth;\n yield fetch(`/notifications_subscriptions/${auth}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRF-Token\": (_a = document.querySelector(\"meta[name=csrf-token]\")) == null ? void 0 : _a.content\n },\n method: \"DELETE\"\n });\n });\n const setToggleState = (registration, toggle) => __async(this, null, function* () {\n const currentSubscription = yield registration.pushManager.getSubscription();\n let toggleChecked = false;\n if (window.Notification.permission === GRANTED_PERMISSION) {\n hideReminder();\n if (currentSubscription) {\n const auth = currentSubscription.toJSON().keys.auth;\n const subKeys = JSON.parse(document.querySelector(\"#subKeys\").value);\n if (subKeys.includes(auth)) {\n toggleChecked = true;\n }\n }\n }\n toggle.checked = toggleChecked;\n });\n if (\"serviceWorker\" in navigator) {\n const toggle = document.getElementById(\"allow_push_notifications\");\n if (toggle) {\n const registration = yield navigator.serviceWorker.ready;\n setToggleState(registration, toggle);\n toggle.addEventListener(\"change\", (_0) => __async(this, [_0], function* ({ target }) {\n if (target.checked) {\n yield subscribeToNotifications(registration);\n } else {\n yield unsubscribeFromNotifications(registration);\n }\n }));\n }\n }\n}));\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n"],"names":["__async","__this","__arguments","generator","resolve","reject","fulfilled","value","step","e","rejected","x","visitedPages","DELAYED_VISITS","deferredPrompt","shouldCountVisitedPages","shouldPrompt","event","outcome","mandatoryElements","isOperaMini","GRANTED_PERMISSION","hideReminder","subscribeToNotifications","registration","_a","permission","vapidElement","vapidPublicKeyElement","subscription","unsubscribeFromNotifications","auth","setToggleState","toggle","currentSubscription","toggleChecked","_0","target","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","__webpack_modules__"],"sourceRoot":""}