{"version":3,"file":"pwa-install.bundle.js","mappings":"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","sources":["webpack://PWAInstallComponent/webpack/bootstrap","webpack://PWAInstallComponent/webpack/runtime/define property getters","webpack://PWAInstallComponent/webpack/runtime/hasOwnProperty shorthand","webpack://PWAInstallComponent/webpack/runtime/make namespace object","webpack://PWAInstallComponent/./node_modules/@lit/reactive-element/css-tag.js","webpack://PWAInstallComponent/./node_modules/@lit/reactive-element/reactive-element.js","webpack://PWAInstallComponent/./node_modules/lit-html/lit-html.js","webpack://PWAInstallComponent/./node_modules/lit-element/lit-element.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/internal/str-tag.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/internal/default-msg.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/internal/locale-status-event.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/internal/localized-controller.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/internal/localized-decorator.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/internal/deferred.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/internal/fnv1a64.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/internal/id-generation.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/internal/runtime-msg.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/init/runtime.js","webpack://PWAInstallComponent/./node_modules/@lit/localize/lit-localize.js","webpack://PWAInstallComponent/./node_modules/@lit/reactive-element/decorators/custom-element.js","webpack://PWAInstallComponent/./node_modules/@lit/reactive-element/decorators/property.js","webpack://PWAInstallComponent/./node_modules/@lit/reactive-element/decorators/query-assigned-elements.js","webpack://PWAInstallComponent/./src/localization/locale-codes.ts","webpack://PWAInstallComponent/./src/localization/locales/ru.ts","webpack://PWAInstallComponent/./src/localization/locales/tr.ts","webpack://PWAInstallComponent/./src/localization/locales/de.ts","webpack://PWAInstallComponent/./src/localization/locales/es.ts","webpack://PWAInstallComponent/./src/localization/locales/nl.ts","webpack://PWAInstallComponent/./src/localization/locales/pt-BR.ts","webpack://PWAInstallComponent/./src/localization/index.ts","webpack://PWAInstallComponent/./src/types/types.ts","webpack://PWAInstallComponent/./src/gallery/styles-gallery.scss","webpack://PWAInstallComponent/./src/gallery/template-gallery.ts","webpack://PWAInstallComponent/./src/gallery/index.ts","webpack://PWAInstallComponent/./src/templates/chrome/bottom-sheet/template-bottom-sheet.ts","webpack://PWAInstallComponent/./src/templates/chrome/bottom-sheet/index.ts","webpack://PWAInstallComponent/./src/utils.ts","webpack://PWAInstallComponent/./src/templates/chrome/styles.scss","webpack://PWAInstallComponent/./src/templates/apple/styles-apple.scss","webpack://PWAInstallComponent/./node_modules/lit-html/directive.js","webpack://PWAInstallComponent/./node_modules/lit-html/directives/class-map.js","webpack://PWAInstallComponent/./src/templates/chrome/template.ts","webpack://PWAInstallComponent/./src/templates/apple/template-apple.ts","webpack://PWAInstallComponent/./src/index.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a};class d extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}d.finalized=!0,d.elementProperties=new Map,d.elementStyles=[],d.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:d}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.1\");export{d as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=`lit$${(Math.random()+\"\").slice(9)}$`,n=\"?\"+o,l=`<${n}>`,h=document,r=(t=\"\")=>h.createComment(t),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,c=t=>u(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,a=/-->/g,f=/>/g,_=RegExp(\">|[ \\t\\n\\f\\r](?:([^\\\\s\\\"'>=/]+)([ \\t\\n\\f\\r]*=[ \\t\\n\\f\\r]*(?:[^ \\t\\n\\f\\r\\\"'`<>=]|(\\\"|')|))|$)\",\"g\"),m=/'/g,p=/\"/g,$=/^(?:script|style|textarea|title)$/i,g=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),y=g(1),w=g(2),x=Symbol.for(\"lit-noChange\"),b=Symbol.for(\"lit-nothing\"),T=new WeakMap,A=h.createTreeWalker(h,129,null,!1),E=(t,i)=>{const s=t.length-1,n=[];let h,r=2===i?\"\":\"\",d=v;for(let i=0;i\"===u[0]?(d=null!=h?h:v,c=-1):void 0===u[1]?c=-2:(c=d.lastIndex-u[2].length,e=u[1],d=void 0===u[3]?_:'\"'===u[3]?p:m):d===p||d===m?d=_:d===a||d===f?d=v:(d=_,h=void 0);const y=d===_&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=d===v?s+l:c>=0?(n.push(e),s.slice(0,c)+\"$lit$\"+s.slice(c)+o+y):s+o+(-2===c?(n.push(void 0),i):y)}const u=r+(t[s]||\"\")+(2===i?\"\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==e?e.createHTML(u):u,n]};class C{constructor({strings:t,_$litType$:i},e){let l;this.parts=[];let h=0,d=0;const u=t.length-1,c=this.parts,[v,a]=E(t,i);if(this.el=C.createElement(v,e),A.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(l=A.nextNode())&&c.length0){l.textContent=s?s.emptyScript:\"\";for(let s=0;s2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=b}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==x,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(r(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{L as _$LH,y as html,x as noChange,b as nothing,Z as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.2.2\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * Tag that allows expressions to be used in localized non-HTML template\n * strings.\n *\n * Example: msg(str`Hello ${this.user}!`);\n *\n * The Lit html tag can also be used for this purpose, but HTML will need to be\n * escaped, and there is a small overhead for HTML parsing.\n *\n * Untagged template strings with expressions aren't supported by lit-localize\n * because they don't allow for values to be captured at runtime.\n */\nconst _str = (strings, ...values) => ({\n strTag: true,\n strings,\n values,\n});\nexport const str = _str;\nexport const isStrTagged = (val) => typeof val !== 'string' && 'strTag' in val;\n/**\n * Render the result of a `str` tagged template to a string. Note we don't need\n * to do this for Lit templates, since Lit itself handles rendering.\n */\nexport const joinStringsAndValues = (strings, values, valueOrder) => {\n let concat = strings[0];\n for (let i = 1; i < strings.length; i++) {\n concat += values[valueOrder ? valueOrder[i - 1] : i - 1];\n concat += strings[i];\n }\n return concat;\n};\n//# sourceMappingURL=str-tag.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { isStrTagged, joinStringsAndValues } from './str-tag.js';\n/**\n * Default identity msg implementation. Simply returns the input template with\n * no awareness of translations. If the template is str-tagged, returns it in\n * string form.\n */\nexport const defaultMsg = ((template) => isStrTagged(template)\n ? joinStringsAndValues(template.strings, template.values)\n : template);\n//# sourceMappingURL=default-msg.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n/**\n * Name of the event dispatched to `window` whenever a locale change starts,\n * finishes successfully, or fails. Only relevant to runtime mode.\n *\n * The `detail` of this event is an object with a `status` string that can be:\n * \"loading\", \"ready\", or \"error\", along with the relevant locale code, and\n * error message if applicable.\n *\n * You can listen for this event to know when your application should be\n * re-rendered following a locale change. See also the Localized mixin, which\n * automatically re-renders LitElement classes using this event.\n */\nexport const LOCALE_STATUS_EVENT = 'lit-localize-status';\n//# sourceMappingURL=locale-status-event.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { LOCALE_STATUS_EVENT } from './locale-status-event.js';\nclass LocalizeController {\n constructor(host) {\n this.__litLocalizeEventHandler = (event) => {\n if (event.detail.status === 'ready') {\n this.host.requestUpdate();\n }\n };\n this.host = host;\n }\n hostConnected() {\n window.addEventListener(LOCALE_STATUS_EVENT, this.__litLocalizeEventHandler);\n }\n hostDisconnected() {\n window.removeEventListener(LOCALE_STATUS_EVENT, this.__litLocalizeEventHandler);\n }\n}\n/**\n * Re-render the given LitElement whenever a new active locale has loaded.\n *\n * See also {@link localized} for the same functionality as a decorator.\n *\n * When using lit-localize in transform mode, calls to this function are\n * replaced with undefined.\n *\n * Usage:\n *\n * import {LitElement, html} from 'lit';\n * import {msg, updateWhenLocaleChanges} from '@lit/localize';\n *\n * class MyElement extends LitElement {\n * constructor() {\n * super();\n * updateWhenLocaleChanges(this);\n * }\n *\n * render() {\n * return html`${msg('Hello World')}`;\n * }\n * }\n */\nconst _updateWhenLocaleChanges = (host) => host.addController(new LocalizeController(host));\nexport const updateWhenLocaleChanges = _updateWhenLocaleChanges;\n//# sourceMappingURL=localized-controller.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { updateWhenLocaleChanges } from './localized-controller.js';\n/**\n * Class decorator to enable re-rendering the given LitElement whenever a new\n * active locale has loaded.\n *\n * See also {@link updateWhenLocaleChanges} for the same functionality without\n * the use of decorators.\n *\n * When using lit-localize in transform mode, applications of this decorator are\n * removed.\n *\n * Usage:\n *\n * import {LitElement, html} from 'lit';\n * import {customElement} from 'lit/decorators.js';\n * import {msg, localized} from '@lit/localize';\n *\n * @localized()\n * @customElement('my-element')\n * class MyElement extends LitElement {\n * render() {\n * return html`${msg('Hello World')}`;\n * }\n * }\n */\nconst _localized = () => (classOrDescriptor) => typeof classOrDescriptor === 'function'\n ? legacyLocalized(classOrDescriptor)\n : standardLocalized(classOrDescriptor);\nexport const localized = _localized;\nconst standardLocalized = ({ kind, elements }) => {\n return {\n kind,\n elements,\n finisher(clazz) {\n clazz.addInitializer(updateWhenLocaleChanges);\n },\n };\n};\nconst legacyLocalized = (clazz) => {\n clazz.addInitializer(updateWhenLocaleChanges);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return clazz;\n};\n//# sourceMappingURL=localized-decorator.js.map","/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class Deferred {\n constructor() {\n this.settled = false;\n this.promise = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n }\n resolve(value) {\n this.settled = true;\n this._resolve(value);\n }\n reject(error) {\n this.settled = true;\n this._reject(error);\n }\n}\n//# sourceMappingURL=deferred.js.map","/**\n * @license\n * Copyright 2014 Travis Webb\n * SPDX-License-Identifier: MIT\n */\n// This module is derived from the file:\n// https://github.com/tjwebb/fnv-plus/blob/1e2ce68a07cb7dd4c3c85364f3d8d96c95919474/index.js#L309\n//\n// Changes:\n// - Only the _hash64_1a_fast function is included.\n// - Removed loop unrolling.\n// - Converted to TypeScript ES module.\n// - var -> let/const\n//\n// TODO(aomarks) Upstream improvements to https://github.com/tjwebb/fnv-plus/.\nconst hl = [];\nfor (let i = 0; i < 256; i++) {\n hl[i] = ((i >> 4) & 15).toString(16) + (i & 15).toString(16);\n}\n/**\n * Perform a FNV-1A 64-bit hash of the given string (as UTF-16 code units), and\n * return a hexadecimal digest (left zero padded to 16 characters).\n *\n * @see {@link http://tools.ietf.org/html/draft-eastlake-fnv-06}\n */\nexport function fnv1a64(str) {\n let t0 = 0, v0 = 0x2325, t1 = 0, v1 = 0x8422, t2 = 0, v2 = 0x9ce4, t3 = 0, v3 = 0xcbf2;\n for (let i = 0; i < str.length; i++) {\n v0 ^= str.charCodeAt(i);\n t0 = v0 * 435;\n t1 = v1 * 435;\n t2 = v2 * 435;\n t3 = v3 * 435;\n t2 += v0 << 8;\n t3 += v1 << 8;\n t1 += t0 >>> 16;\n v0 = t0 & 65535;\n t2 += t1 >>> 16;\n v1 = t1 & 65535;\n v3 = (t3 + (t2 >>> 16)) & 65535;\n v2 = t2 & 65535;\n }\n return (hl[v3 >> 8] +\n hl[v3 & 255] +\n hl[v2 >> 8] +\n hl[v2 & 255] +\n hl[v1 >> 8] +\n hl[v1 & 255] +\n hl[v0 >> 8] +\n hl[v0 & 255]);\n}\n//# sourceMappingURL=fnv1a64.js.map","/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { fnv1a64 } from './fnv1a64.js';\n/**\n * Delimiter used between each template string component before hashing. Used to\n * prevent e.g. \"foobar\" and \"foo${baz}bar\" from sharing a hash.\n *\n * This is the \"record separator\" ASCII character.\n */\nexport const HASH_DELIMITER = '\\x1e';\n/**\n * Id prefix on html-tagged templates to distinguish e.g. `x` from\n * html`x`.\n */\nconst HTML_PREFIX = 'h';\n/**\n * Id prefix on plain string templates to distinguish e.g. `x` from\n * html`x`.\n */\nconst STRING_PREFIX = 's';\n/**\n * Generate a unique ID for a lit-localize message.\n *\n * Example:\n * Template: html`Hello ${who}!`\n * Params: [\"Hello \", \"!\"], true\n * Output: h82ccc38d4d46eaa9\n *\n * The ID is constructed as:\n *\n * [0] Kind of template: [h]tml or [s]tring.\n * [1,16] 64-bit FNV-1a hash hex digest of the template strings, as UTF-16\n * code points, delineated by an ASCII \"record separator\" character.\n *\n * We choose FNV-1a because:\n *\n * 1. It's pretty fast (e.g. much faster than SHA-1).\n * 2. It's pretty small (0.25 KiB minified + brotli).\n * 3. We don't require cryptographic security, and 64 bits should give\n * sufficient collision resistance for any one application. Worst\n * case, we will always detect collisions during analysis.\n * 4. We can't use Web Crypto API (e.g. SHA-1), because it's asynchronous.\n * 5. It's a well known non-cryptographic hash with implementations in many\n * languages.\n * 6. There was an existing JavaScript implementation that doesn't require\n * BigInt, for IE11 compatibility.\n */\nexport function generateMsgId(strings, isHtmlTagged) {\n return ((isHtmlTagged ? HTML_PREFIX : STRING_PREFIX) +\n fnv1a64(typeof strings === 'string' ? strings : strings.join(HASH_DELIMITER)));\n}\n//# sourceMappingURL=id-generation.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { defaultMsg } from './default-msg.js';\nimport { joinStringsAndValues } from './str-tag.js';\nimport { generateMsgId } from './id-generation.js';\nconst expressionOrders = new WeakMap();\nconst hashCache = new Map();\nexport function runtimeMsg(templates, template, options) {\n var _a;\n if (templates) {\n const id = (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : generateId(template);\n const localized = templates[id];\n if (localized) {\n if (typeof localized === 'string') {\n // E.g. \"Hello World!\"\n return localized;\n }\n else if ('strTag' in localized) {\n // E.g. str`Hello ${name}!`\n //\n // Localized templates have ${number} in place of real template\n // expressions. They can't have real template values, because the\n // variable scope would be wrong. The number tells us the index of the\n // source value to substitute in its place, because expressions can be\n // moved to a different position during translation.\n return joinStringsAndValues(localized.strings, \n // Cast `template` because its type wasn't automatically narrowed (but\n // we know it must be the same type as `localized`).\n template.values, localized.values);\n }\n else {\n // E.g. html`Hello ${name}!`\n //\n // We have to keep our own mapping of expression ordering because we do\n // an in-place update of `values`, and otherwise we'd lose ordering for\n // subsequent renders.\n let order = expressionOrders.get(localized);\n if (order === undefined) {\n order = localized.values;\n expressionOrders.set(localized, order);\n }\n return {\n ...localized,\n values: order.map((i) => template.values[i]),\n };\n }\n }\n }\n return defaultMsg(template);\n}\nfunction generateId(template) {\n const strings = typeof template === 'string' ? template : template.strings;\n let id = hashCache.get(strings);\n if (id === undefined) {\n id = generateMsgId(strings, typeof template !== 'string' && !('strTag' in template));\n hashCache.set(strings, id);\n }\n return id;\n}\n//# sourceMappingURL=runtime-msg.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { _installMsgImplementation } from '../lit-localize.js';\nimport { Deferred } from '../internal/deferred.js';\nimport { LOCALE_STATUS_EVENT } from '../internal/locale-status-event.js';\nimport { runtimeMsg } from '../internal/runtime-msg.js';\n/**\n * Dispatch a \"lit-localize-status\" event to `window` with the given detail.\n */\nfunction dispatchStatusEvent(detail) {\n window.dispatchEvent(new CustomEvent(LOCALE_STATUS_EVENT, { detail }));\n}\nlet activeLocale = '';\nlet loadingLocale;\nlet sourceLocale;\nlet validLocales;\nlet loadLocale;\nlet templates;\nlet loading = new Deferred();\n// The loading promise must be initially resolved, because that's what we should\n// return if the user immediately calls setLocale(sourceLocale).\nloading.resolve();\nlet requestId = 0;\n/**\n * Set configuration parameters for lit-localize when in runtime mode. Returns\n * an object with functions:\n *\n * - `getLocale`: Return the active locale code.\n * - `setLocale`: Set the active locale code.\n *\n * Throws if called more than once.\n */\nexport const configureLocalization = (config) => {\n _installMsgImplementation(((template, options) => runtimeMsg(templates, template, options)));\n activeLocale = sourceLocale = config.sourceLocale;\n validLocales = new Set(config.targetLocales);\n validLocales.add(config.sourceLocale);\n loadLocale = config.loadLocale;\n return { getLocale, setLocale };\n};\n/**\n * Return the active locale code.\n */\nconst getLocale = () => {\n return activeLocale;\n};\n/**\n * Set the active locale code, and begin loading templates for that locale using\n * the `loadLocale` function that was passed to `configureLocalization`. Returns\n * a promise that resolves when the next locale is ready to be rendered.\n *\n * Note that if a second call to `setLocale` is made while the first requested\n * locale is still loading, then the second call takes precedence, and the\n * promise returned from the first call will resolve when second locale is\n * ready. If you need to know whether a particular locale was loaded, check\n * `getLocale` after the promise resolves.\n *\n * Throws if the given locale is not contained by the configured `sourceLocale`\n * or `targetLocales`.\n */\nconst setLocale = (newLocale) => {\n if (newLocale === (loadingLocale !== null && loadingLocale !== void 0 ? loadingLocale : activeLocale)) {\n return loading.promise;\n }\n if (!validLocales || !loadLocale) {\n throw new Error('Internal error');\n }\n if (!validLocales.has(newLocale)) {\n throw new Error('Invalid locale code');\n }\n requestId++;\n const thisRequestId = requestId;\n loadingLocale = newLocale;\n if (loading.settled) {\n loading = new Deferred();\n }\n dispatchStatusEvent({ status: 'loading', loadingLocale: newLocale });\n const localePromise = newLocale === sourceLocale\n ? // We could switch to the source locale synchronously, but we prefer to\n // queue it on a microtask so that switching locales is consistently\n // asynchronous.\n Promise.resolve({ templates: undefined })\n : loadLocale(newLocale);\n localePromise.then((mod) => {\n if (requestId === thisRequestId) {\n activeLocale = newLocale;\n loadingLocale = undefined;\n templates = mod.templates;\n dispatchStatusEvent({ status: 'ready', readyLocale: newLocale });\n loading.resolve();\n }\n // Else another locale was requested in the meantime. Don't resolve or\n // reject, because the newer load call is going to use the same promise.\n // Note the user can call getLocale() after the promise resolves if they\n // need to check if the locale is still the one they expected to load.\n }, (err) => {\n if (requestId === thisRequestId) {\n dispatchStatusEvent({\n status: 'error',\n errorLocale: newLocale,\n errorMessage: err.toString(),\n });\n loading.reject(err);\n }\n });\n return loading.promise;\n};\n//# sourceMappingURL=runtime.js.map","/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { defaultMsg } from './internal/default-msg.js';\nexport * from './internal/locale-status-event.js';\nexport * from './internal/str-tag.js';\nexport * from './internal/types.js';\n// TODO(aomarks) In a future breaking version, remove these imports so that the\n// bulk of the code isn't included in bundles by default. In particular imagine\n// the component library use-case where msg() calls are made, but there is no\n// need to actually initialize any of the localization runtime.\nexport * from './internal/localized-controller.js';\nexport * from './internal/localized-decorator.js';\nexport * from './init/runtime.js';\nexport * from './init/transform.js';\n/**\n * Make a string or lit-html template localizable.\n *\n * @param template A string, a lit-html template, or a function that returns\n * either a string or lit-html template.\n * @param options Optional configuration object with the following properties:\n * - id: Optional project-wide unique identifier for this template. If\n * omitted, an id will be automatically generated from the template strings.\n * - desc: Optional description\n */\nexport let msg = defaultMsg;\nlet installed = false;\n/**\n * Internal only. Do not use this function.\n *\n * Installs an implementation of the msg function to replace the default\n * identity function. Throws if called more than once.\n *\n * @internal\n */\nexport function _installMsgImplementation(impl) {\n if (installed) {\n throw new Error('lit-localize can only be configured once');\n }\n msg = impl;\n installed = true;\n}\n//# sourceMappingURL=lit-localize.js.map","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=e=>n=>\"function\"==typeof n?((e,n)=>(customElements.define(e,n),n))(e,n):((e,n)=>{const{kind:t,elements:s}=n;return{kind:t,elements:s,finisher(n){customElements.define(e,n)}}})(e,n);export{e as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst i=(i,e)=>\"method\"===e.kind&&e.descriptor&&!(\"value\"in e.descriptor)?{...e,finisher(n){n.createProperty(e.key,i)}}:{kind:\"field\",key:Symbol(),placement:\"own\",descriptor:{},originalKey:e.key,initializer(){\"function\"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(n){n.createProperty(e.key,i)}};function e(e){return(n,t)=>void 0!==t?((i,e,n)=>{e.constructor.createProperty(n,i)})(e,n,t):i(e,n)}export{e as property};\n//# sourceMappingURL=property.js.map\n","import{decorateProperty as o}from\"./base.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var n;const e=null!=(null===(n=window.HTMLSlotElement)||void 0===n?void 0:n.prototype.assignedElements)?(o,n)=>o.assignedElements(n):(o,n)=>o.assignedNodes(n).filter((o=>o.nodeType===Node.ELEMENT_NODE));function l(n){const{slot:l,selector:t}=null!=n?n:{};return o({descriptor:o=>({get(){var o;const r=\"slot\"+(l?`[name=${l}]`:\":not([name])\"),i=null===(o=this.renderRoot)||void 0===o?void 0:o.querySelector(r),s=null!=i?e(i,n):[];return t?s.filter((o=>o.matches(t))):s},enumerable:!0,configurable:!0})})}export{l as queryAssignedElements};\n//# sourceMappingURL=query-assigned-elements.js.map\n","// Do not modify this file by hand!\n// Re-generate this file by running lit-localize.\n\n/**\n * The locale code that templates in this source code are written in.\n */\nexport const sourceLocale = `en`;\n\n/**\n * The other locale codes that this application is localized into. Sorted\n * lexicographically.\n */\nexport const targetLocales = [\n `de`,\n `es`,\n `nl`,\n `pt-BR`,\n `ru`,\n `tr`,\n] as const;\n\n/**\n * All valid project locale codes. Sorted lexicographically.\n */\nexport const allLocales = [\n `de`,\n `en`,\n `es`,\n `nl`,\n `pt-BR`,\n `ru`,\n `tr`,\n] as const;\n","\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's1b9047d53d9f9d22': `2) Нажать \"Поделиться\"`,\n's37a9e8aec5713460': `Подробнее`,\n's5c6aad7a7e4a1437': `3) Нажать \"На экран «Домой»\"`,\n's6196153c4b0c1ea0': `Установить`,\n's8d0173763d91830c': `Этот веб-сайт имеет функционал приложения. Добавьте его на экран «Домой», чтобы получить дополнительные возможности и удобство использования.`,\n'sa5ef80b4bb9b39f8': `Свернуть`,\n'sc79fd7641eb9a975': `Спрятать Инструкцию`,\n'scdaf4bbff76674c8': `На экран «Домой»`,\n'sdca23702207fba73': `Этот веб-сайт имеет функционал приложения. Установите его, чтобы получить дополнительные возможности и удобство использования.`,\n'sdfe23506a3b0cdc8': `1) Открыть в Safari браузере`,\n };\n ","\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's1b9047d53d9f9d22': `2) Gezinme çubuğunda Paylaş'a basın`,\n's37a9e8aec5713460': `Daha Fazla`,\n's5c6aad7a7e4a1437': `3) Ana Ekrana Ekle'ye basın`,\n's6196153c4b0c1ea0': `Yükle`,\n's8d0173763d91830c': `Bu sitenin uygulaması var. Daha iyi deneyim ve kolay erişim için Ana Ekranınıza ekleyin.`,\n'sa5ef80b4bb9b39f8': `Küçült`,\n'sc79fd7641eb9a975': `Talimatları gizle`,\n'scdaf4bbff76674c8': `Ana Ekrana Ekle`,\n'sdca23702207fba73': `Bu sitenin uygulaması var. Daha iyi deneyim ve kolay erişim için cihazınıza yükleyebilirsiniz.`,\n'sdfe23506a3b0cdc8': `1) Safari tarayıcısında açın`,\n };\n ","\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's1b9047d53d9f9d22': `2) Drücken Sie auf Teilen in der Navigationsleiste`,\n's37a9e8aec5713460': `Mehr`,\n's5c6aad7a7e4a1437': `3) Drücken Sie Hinzufügen zum Startbildschirm`,\n's6196153c4b0c1ea0': `Installieren`,\n's8d0173763d91830c': `Diese Website verfügt über eine App-Funktionalität. Sie können die App auf Ihrem Gerät installieren, um eine bessere Erfahrung und einen einfachen Zugang zu genießen.`,\n'sa5ef80b4bb9b39f8': `Weniger`,\n'sc79fd7641eb9a975': `Anleitung ausblenden`,\n'scdaf4bbff76674c8': `Hinzufügen zum Startbildschirm`,\n'sdca23702207fba73': `Diese Website verfügt über eine App-Funktionalität. Sie können die App auf Ihrem Gerät installieren, um eine bessere Erfahrung und einen einfachen Zugang zu genießen.`,\n'sdfe23506a3b0cdc8': `1) In Safari-Browser öffnen`,\n };\n ","\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's1b9047d53d9f9d22': `2) Pressione Compartilhar na barra de navegação`,\n's37a9e8aec5713460': `Mais`,\n's5c6aad7a7e4a1437': `3) Pressione Adicionar à tela inicial`,\n's6196153c4b0c1ea0': `Instalar`,\n's8d0173763d91830c': `Este site tem funcionalidade de aplicativo. Adicione-o à sua tela inicial para uma ampla experiência e fácil acesso.`,\n'sa5ef80b4bb9b39f8': `Menos`,\n'sc79fd7641eb9a975': `Esconder instruções`,\n'scdaf4bbff76674c8': `Adicionar à tela inicial`,\n'sdca23702207fba73': `Este site tem funcionalidade de aplicativo. Instale-o em seu dispositivo para obter uma ampla experiência e fácil acesso.`,\n'sdfe23506a3b0cdc8': `1) Abra no navegador Safari`,\n };\n ","\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's1b9047d53d9f9d22': `2) Druk op delen in de navigatiebalk`,\n's37a9e8aec5713460': `Meer`,\n's5c6aad7a7e4a1437': `3) Druk op Toevoegen aan het startscherm`,\n's6196153c4b0c1ea0': `Installeren`,\n's8d0173763d91830c': `Deze site heeft app-functionaliteit. Voeg het toe aan uw startscherm voor uitgebreide ervaring en gemakkelijke toegang.`,\n'sa5ef80b4bb9b39f8': `Minder`,\n'sc79fd7641eb9a975': `Instructie verbergen`,\n'scdaf4bbff76674c8': `Toevoegen aan het startscherm`,\n'sdca23702207fba73': `Deze site heeft app-functionaliteit. Installeer het op uw apparaat voor uitgebreide ervaring en gemakkelijke toegang.`,\n'sdfe23506a3b0cdc8': `1) Open in Safari-browser`,\n };\n ","\n // Do not modify this file by hand!\n // Re-generate this file by running lit-localize\n\n \n \n\n /* eslint-disable no-irregular-whitespace */\n /* eslint-disable @typescript-eslint/no-explicit-any */\n\n export const templates = {\n 's1b9047d53d9f9d22': `2) Pressione Compartilhar na barra de navegação`,\n's37a9e8aec5713460': `Mais`,\n's5c6aad7a7e4a1437': `3) Pressione Adicionar à tela inicial`,\n's6196153c4b0c1ea0': `Instalar`,\n's8d0173763d91830c': `Este site tem funcionalidade de aplicativo. Adicione-o à sua tela inicial para uma ampla experiência e fácil acesso.`,\n'sa5ef80b4bb9b39f8': `Menos`,\n'sc79fd7641eb9a975': `Esconder instruções`,\n'scdaf4bbff76674c8': `Adicionar à tela inicial`,\n'sdca23702207fba73': `Este site tem funcionalidade de aplicativo. Instale-o em seu dispositivo para obter uma ampla experiência e fácil acesso.`,\n'sdfe23506a3b0cdc8': `1) Abra no navegador Safari`,\n };\n ","import { configureLocalization } from '@lit/localize';\r\nimport {\r\n sourceLocale,\r\n targetLocales,\r\n} from './locale-codes';\r\n\r\nimport * as ru from './locales/ru';\r\nimport * as tr from './locales/tr';\r\nimport * as de from \"./locales/de\";\r\nimport * as es from \"./locales/es\";\r\nimport * as nl from \"./locales/nl\";\r\nimport * as ptBr from \"./locales/pt-BR\";\r\n\r\nconst localizedTemplates = new Map([\r\n ['ru', ru],\r\n ['tr', tr],\r\n ['de', de],\r\n ['es', es],\r\n ['nl', nl],\r\n ['pt-BR', ptBr],\r\n])\r\n\r\nexport const { getLocale, setLocale } = configureLocalization({\r\n sourceLocale,\r\n targetLocales,\r\n // @ts-ignore\r\n loadLocale: async (lang: string) => {\r\n return localizedTemplates.get(lang)\r\n }\r\n});\r\n\r\nexport const changeLocale = (lang: string) => {\r\n try {\r\n setLocale(lang);\r\n }\r\n catch {\r\n console.warn(`pwa-install: translation error - unsupported locale: ${lang}`);\r\n }\r\n};\r\n","import { ImageResource } from 'web-app-manifest';\r\n\r\nexport interface IRelatedApp {\r\n id: string,\r\n platform: string,\r\n url: string\r\n}\r\n\r\nexport interface IWindow extends Window {\r\n deferredEvent: BeforeInstallPromptEvent | null;\r\n}\r\n\r\ntype Booleanish = 'true' | 'false';\r\n\r\nexport interface PWAInstallAttributes {\r\n ['manual-apple']?: Booleanish;\r\n ['manual-chrome']?: Booleanish;\r\n ['disable-chrome']?: Booleanish;\r\n ['install-description']?: string;\r\n ['disable-install-description']?: Booleanish;\r\n ['manifest-url']?: string;\r\n name?: string;\r\n description?: string;\r\n icon?: string;\r\n}\r\n\r\nexport class Manifest {\r\n constructor() {\r\n this.icons = [{ src: '' }];\r\n this.screenshots = undefined;\r\n this.short_name = 'PWA';\r\n this.name = 'Progressive web application';\r\n this.description = 'Progressive web application';\r\n }\r\n short_name: string;\r\n icons: ImageResource[];\r\n screenshots?: ImageResource[];\r\n name: string;\r\n description: string;\r\n}\r\n","import {css} from 'lit'; export default css`.gallery{position:relative;--scrollbar-background-color:#fff;--nav-btn-background-color:#fff;--nav-btn-fill-color:#141414}.gallery .gallery_scroller{scroll-snap-type:x mandatory;overflow-x:auto;overflow-y:hidden;display:flex;align-items:center;padding:10px 13px;padding-bottom:10px;margin:0 10px;-webkit-overflow-scrolling:touch}.gallery .gallery_scroller img{border-radius:6px;max-height:45vh;box-shadow:0 3px 10px 0 rgba(0,0,0,.15);scroll-snap-align:center;scroll-snap-stop:always;position:relative}.gallery .gallery_scroller img+img{margin-left:15px}.gallery .gallery_scroller::-webkit-scrollbar{width:4px;height:4px}.gallery .gallery_scroller::-webkit-scrollbar-thumb{background:#929292;border-radius:4px}.gallery .gallery_scroller::-webkit-scrollbar-thumb:hover{background:#646464}.gallery .gallery_scroller::-webkit-scrollbar-track{background:var(--scrollbar-background-color);border-radius:4px}.gallery .gallery_scroller .scroller_wrap{display:flex;flex-direction:row;padding-right:13px}.gallery .btn{position:absolute;display:flex;align-items:center;-webkit-user-select:none;user-select:none;top:50%;transform:translateY(-50%);height:30px;width:30px;border-radius:50%;background-color:var(--nav-btn-background-color);box-shadow:rgba(0,0,0,.3) 2px 4px 7px 1px;background-repeat:no-repeat;z-index:1}.gallery .btn.prev{left:5px}.gallery .btn.prev svg{margin-left:4px}.gallery .btn.next{right:5px}.gallery .btn.next svg{margin-left:6px}.gallery .btn:hover{box-shadow:rgba(0,0,0,.5) 2px 4px 7px 1px;cursor:pointer}.gallery .btn:hover svg{opacity:.7}.gallery .btn svg{width:20px;height:20px;opacity:.5}.gallery .btn svg path{fill:var(--nav-btn-fill-color)}@media(hover:none)and (pointer:coarse){.gallery .btn.next,.gallery .btn.prev{display:none}.gallery_scroller::-webkit-scrollbar{display:none}}@media(prefers-color-scheme:dark){.gallery{--scrollbar-background-color:#424242;--nav-btn-background-color:#555555;--nav-btn-fill-color:#fff}}`;\n ","import { html } from 'lit';\r\nimport { WebAppManifest } from 'web-app-manifest';\r\n\r\nconst template = (screenshots: WebAppManifest['screenshots'], scrollToNextPage: any, scrollToPrevPage: any) => {\r\n return html`\r\n ${screenshots? html`\r\n
\r\n
\r\n
\r\n ${screenshots.map(screenshot => html``)}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
`\r\n : ''}`;\r\n};\r\nexport default template;\r\n","import { LitElement, html } from 'lit';\r\nimport { property, customElement } from 'lit/decorators.js';\r\nimport { WebAppManifest } from 'web-app-manifest';\r\n\r\nimport styles from './styles-gallery.scss';\r\nimport template from './template-gallery';\r\n\r\n@customElement('pwa-gallery')\r\nexport default class PWAGalleryElement extends LitElement {\r\n\t@property() screenshots: WebAppManifest['screenshots'] = [];\r\n\r\n\tstatic get styles() {\r\n\t\treturn styles;\r\n\t}\r\n\r\n\tpublic calcScrollSize = () => {\r\n\t\t//@ts-ignore\r\n\t\tconst gallery = this.shadowRoot.querySelector('#paginated_gallery');\r\n\t\tif (!gallery)\r\n\t\t\treturn;\r\n\t\tconst gallery_scroller = gallery.querySelector('.gallery_scroller');\r\n\t\tif (!gallery_scroller)\r\n\t\t\treturn;\r\n\t\tconst gallery_items = Array.from(gallery_scroller.querySelectorAll('img'));\r\n\t\tif (!gallery_items)\r\n\t\t\treturn;\r\n\t\tconst gallery_item = gallery_items.find((item) => { return (item.offsetWidth + item.offsetLeft) >= gallery_scroller.scrollLeft})\r\n\t\tif (!gallery_item)\r\n\t\t\treturn;\r\n\r\n\t\treturn {\r\n\t\t\tscroller: gallery_scroller,\r\n\t\t\titem: gallery_item\r\n\t\t}\r\n\t}\r\n\tpublic scrollToNextPage = () => {\r\n\t\tconst _tools = this.calcScrollSize();\r\n\t\tif (_tools && _tools.item.nextElementSibling)\r\n\t\t\t_tools.scroller.scrollTo({\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: _tools.scroller.scrollLeft + _tools.scroller.clientWidth + _tools.item.nextElementSibling.clientWidth / 2,\r\n\t\t\t\tbehavior: 'smooth'\r\n\t\t\t});\r\n\t}\r\n\tpublic scrollToPrevPage = () => {\r\n\t\tconst _tools = this.calcScrollSize();\r\n\t\tif (_tools && _tools.item.previousElementSibling)\r\n\t\t\t_tools.scroller.scrollTo({\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: _tools.scroller.scrollLeft - _tools.scroller.clientWidth - _tools.item.previousElementSibling.clientWidth / 2,\r\n\t\t\t\tbehavior: 'smooth'\r\n\t\t\t});\r\n\t}\r\n\r\n\r\n\tprivate _init = () => {\r\n\t\treturn;\r\n\t}\r\n\r\n\tfirstUpdated () {\r\n\t\tconst _tools = this.calcScrollSize();\r\n\t\tif (_tools)\r\n\t\t\tsetTimeout(\r\n\t\t\t\t() => {\r\n\t\t\t\t\t_tools.scroller.scrollTo({\r\n\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\tleft: 0\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\t300\r\n\t\t\t)\r\n\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\t\tthis._init();\r\n\t}\r\n\r\n\trender() {\r\n return html`${template(\r\n this.screenshots,\r\n\t\t\tthis.scrollToNextPage,\r\n\t\t\tthis.scrollToPrevPage\r\n )}`;\r\n\t}\r\n}\r\n","import { html } from 'lit';\r\nimport { msg } from '@lit/localize';\r\n\r\nconst template = (name: string, description: string, icon: string, install: any) => {\r\n return html`\r\n
\r\n
\r\n
\r\n \"icon\"\r\n
\r\n
\r\n
\r\n \r\n
\r\n
${location.hostname}
\r\n
\r\n \r\n
\r\n ${description ? html `
${description}
`: ''}\r\n `;\r\n};\r\nexport default template;\r\n","import { LitElement, html } from 'lit';\r\nimport { property, customElement } from 'lit/decorators.js';\r\n\r\n// import TouchDragListener from \"./touch-listener\";\r\n\r\ntype IProps = {\r\n name: string,\r\n description: string,\r\n icon: string\r\n}\r\n\r\nimport template from './template-bottom-sheet';\r\n\r\n@customElement('pwa-bottom-sheet')\r\nexport default class PWABottomSheetElement extends LitElement {\r\n\t@property() props: IProps = {\r\n name: '',\r\n description: '',\r\n icon: ''\r\n };\r\n @property() install = {handleEvent: () => {}};\r\n\t@property() hideDialog = () => {};\r\n\r\n\tprivate _callInstall = () => {\r\n\t\tthis.install.handleEvent();\r\n\t}\r\n\r\n\tprivate _callHide = () => {\r\n\t\tthis.hideDialog();\r\n\t\tthis.setupAppearence();\r\n\t}\r\n\r\n\tprivate bindedElement: {\r\n\t\ttouchElement: HTMLElement,\r\n\t\tlistener: any }| null = null;\r\n\tprivate readonly _saveBodyStyle = document.body.style.overscrollBehaviorY;\r\n\tprivate dragMobileSheet = (element: HTMLElement | null | undefined, touchTargetElement: HTMLElement | undefined, infoElement: HTMLElement | undefined) => {\r\n\t\tif (!element || !touchTargetElement || !infoElement)\r\n\t\t\treturn null;\r\n\r\n\t\tlet dragOffset = 0;\r\n\t\tconst bounceOffset = 35;\r\n\t\tconst bottomSize = touchTargetElement.clientHeight + infoElement.clientHeight;\r\n\r\n\t\tconst getYCoord = (e: MouseEvent | TouchEvent): number => {\r\n\t\t\treturn (e as MouseEvent).clientY || ((e as TouchEvent).changedTouches && (e as TouchEvent).changedTouches.length? (e as TouchEvent).changedTouches[0].clientY : 0);\r\n\t\t}\r\n\r\n\t\tconst dragMouseDown = (e: MouseEvent | TouchEvent) => {\r\n\t\t\twindow.addEventListener('mouseup', dragMouseUp);\r\n\t\t\twindow.addEventListener('mousemove', dragMouseMove);\r\n\t\t\twindow.addEventListener('touchend', dragMouseUp);\r\n\t\t\twindow.addEventListener('touchmove', dragMouseMove);\r\n\r\n\t\t\tdragOffset = getYCoord(e) - touchTargetElement.getBoundingClientRect().top;\r\n\r\n\t\t\tdocument.body.style.overscrollBehaviorY = 'none';\r\n\t\t}\r\n\t\tconst dragMouseUp = (e: MouseEvent | TouchEvent) => {\r\n\t\t\tdocument.body.style.overscrollBehaviorY = this._saveBodyStyle;\r\n\r\n\t\t\tif (getYCoord(e) >= window.innerHeight - 25){\r\n\t\t\t\tcloseDragElement(e, window.innerHeight + 50, true);\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tif (window.innerHeight - getYCoord(e) > element.clientHeight / 2.5){\r\n\t\t\t\tcloseDragElement(e, window.innerHeight - element.clientHeight);\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tcloseDragElement(e, window.innerHeight - bottomSize - bounceOffset);\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst dragMouseMove = (e: MouseEvent | TouchEvent) => {\r\n\t\t\tconst currentY = getYCoord(e);\r\n\r\n\t\t\tif (currentY <= (window.innerHeight - element.clientHeight + dragOffset)) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\telement.style.setProperty(\r\n\t\t\t\t\"transition\",\r\n\t\t\t\t`none`\r\n\t\t\t)\r\n\r\n\t\t\telement.style.setProperty(\r\n\t\t\t\t\"--translateY\",\r\n\t\t\t\t`translateY(${currentY - dragOffset}px)`\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tconst closeDragElement = (e: MouseEvent | TouchEvent, toPoint?: number, hideDialog?: boolean) => {\r\n\t\t\twindow.removeEventListener('mouseup', dragMouseUp);\r\n\t\t\twindow.removeEventListener('mousemove', dragMouseMove);\r\n\t\t\twindow.removeEventListener('touchend', dragMouseUp);\r\n\t\t\twindow.removeEventListener('touchmove', dragMouseMove);\r\n\r\n\t\t\tif (window.innerWidth >= 768)\r\n\t\t\t\treturn\r\n\r\n\t\t\tif (!toPoint && getYCoord(e) >= window.innerHeight - bottomSize)\r\n\t\t\t\telement.style.setProperty(\r\n\t\t\t\t\t\"--translateY\",\r\n\t\t\t\t\t`translateY(calc(100vh - ${bottomSize}px))`\r\n\t\t\t\t);\r\n\t\t\telse\r\n\t\t\t\telement.style.setProperty(\r\n\t\t\t\t\t\"--translateY\",\r\n\t\t\t\t\t`translateY(${(toPoint || getYCoord(e)) + bounceOffset}px)`\r\n\t\t\t\t);\r\n\r\n\t\t\telement.style.setProperty(\r\n\t\t\t\t\"transition\",\r\n\t\t\t\t`transform 500ms cubic-bezier(0.4, 0, 0, 1) 0s`\r\n\t\t\t);\r\n\r\n\t\t\tif (hideDialog){\r\n\t\t\t\ttouchTargetElement.removeEventListener('mousedown', dragMouseDown);\r\n\t\t\t\ttouchTargetElement.removeEventListener('touchstart', dragMouseDown);\r\n\r\n\t\t\t\tsetTimeout(\r\n\t\t\t\t\tthis._callHide,\r\n\t\t\t\t\t250\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\ttouchTargetElement.addEventListener('mousedown', dragMouseDown);\r\n\t\ttouchTargetElement.addEventListener('touchstart', dragMouseDown, {passive: true});\r\n\r\n\t\tcloseDragElement(new MouseEvent('mouseup'), window.innerHeight - bottomSize - bounceOffset);\r\n\r\n\t\treturn {\r\n\t\t\ttouchElement: touchTargetElement,\r\n\t\t\tlistener: dragMouseDown\r\n\t\t}\r\n\t}\r\n\r\n\tprivate setupAppearence = () => {\r\n\t\tif (this.bindedElement) {\r\n\t\t\tthis.bindedElement.touchElement.removeEventListener('mousedown', this.bindedElement.listener);\r\n\t\t\tthis.bindedElement.touchElement.removeEventListener('touchstart', this.bindedElement.listener);\r\n\t\t}\r\n\r\n\t\tthis.bindedElement = this.dragMobileSheet(\r\n\t\t\tthis.parentElement?.parentElement,\r\n\t\t\tthis.parentElement?.getElementsByClassName('touch-header')[0] as HTMLElement,\r\n\t\t\tthis.parentElement?.getElementsByClassName('body-header')[0] as HTMLElement);\r\n\t}\r\n\tprivate _init = () => {\r\n\t\tthis.setupAppearence();\r\n\r\n\t\twindow.addEventListener('resize', this.setupAppearence);\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tfirstUpdated () {\r\n\t\tthis._init();\r\n return;\r\n\t}\r\n\r\n createRenderRoot() {\r\n return this;\r\n }\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\r\n\t}\r\n\r\n\trender() {\r\n return html`${template(this.props.name, this.props.description, this.props.icon, this._callInstall)}`;\r\n\t}\r\n}\r\n","import { IRelatedApp } from './types/types';\r\n\r\nconst _eventDispatcher = (_element: Element, name: string, message: string) => {\r\n const event = new CustomEvent(name, {\r\n detail: {\r\n message\r\n }\r\n });\r\n _element.dispatchEvent(event);\r\n}\r\nexport default class Utils {\r\n static isAppleMobile(): boolean {\r\n\t\tif (\r\n (\r\n ['iPhone', 'iPad', 'iPod'].includes(navigator.platform) ||\r\n (navigator.userAgent.match(/Mac/) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2)\r\n )\r\n && ('serviceWorker' in navigator)\r\n )\r\n\t\t\treturn true;\r\n\t\treturn false;\r\n }\r\n \r\n static isStandalone() {\r\n\t\tif (window.matchMedia('(display-mode: standalone)').matches || ('standalone' in navigator && (navigator as any).standalone === true))\r\n\t\t\treturn true;\r\n\t\treturn false;\r\n }\r\n\r\n static async getInstalledRelatedApps(): Promise {\r\n if ('getInstalledRelatedApps' in navigator)\r\n await (navigator as any).getInstalledRelatedApps().then((relatedApps: IRelatedApp[]) => {\r\n\t\t\t\treturn relatedApps;\r\n });\r\n return [];\r\n }\r\n \r\n static async isRelatedAppsInstalled(): Promise {\r\n const _relatedApps = await this.getInstalledRelatedApps();\r\n return _relatedApps.length? true : false;\r\n }\r\n\r\n static eventInstalledSuccess(_element: Element) {\r\n _eventDispatcher(_element, 'pwa-install-success-event', 'Application installation successfully processed (Chromium/Android only)');\r\n }\r\n static eventInstalledFail(_element: Element) {\r\n _eventDispatcher(_element, 'pwa-install-fail-event', 'Application installation failed (Chromium/Android only)');\r\n }\r\n static eventUserChoiceResult(_element: Element, message: string) {\r\n _eventDispatcher(_element, 'pwa-user-choice-result-event', message);\r\n }\r\n static eventInstallAvailable(_element: Element) {\r\n _eventDispatcher(_element, 'pwa-install-available-event', 'Application installation available');\r\n }\r\n \r\n}","import {css} from 'lit'; export default css`#pwa-install-element{-webkit-user-select:none;user-select:none}#pwa-install-element .install-dialog{--text-color-normal:#212121;--background-color:#fff;--border-bottom-color:#DBDCDE;--scrollbar-background-color:#fff;font-family:Roboto,\"Segoe UI\",system-ui;position:fixed;display:inline-block;opacity:0;visibility:hidden;z-index:2147483001}#pwa-install-element .install-dialog.chrome{max-width:380px;width:90%;min-height:90px;margin:0 auto;right:150px;left:auto;background-color:var(--background-color);filter:drop-shadow(0 5px 15px rgba(0, 0, 0, .3));font-size:15px;color:var(--text-color-normal);border-radius:8px;top:-100px;transition:top .5s ease-in-out,opacity .8s ease-in-out,max-height .35s ease-in-out}#pwa-install-element .install-dialog.chrome.available{opacity:1;top:28px;visibility:visible}#pwa-install-element .install-dialog.chrome .dialog-body{display:grid;grid-template-columns:70px 1fr}#pwa-install-element .install-dialog.chrome .dialog-body .icon{display:flex;align-items:flex-start}#pwa-install-element .install-dialog.chrome .dialog-body .icon .icon-image{width:48px;height:48px;margin:0 auto;margin-top:10px;border-radius:6px}#pwa-install-element .install-dialog.chrome .dialog-body .about{display:grid;grid-template-rows:30px auto}#pwa-install-element .install-dialog.chrome .dialog-body .about .hostname,#pwa-install-element .install-dialog.chrome .dialog-body .about .name{padding:0 5px;overflow:hidden}#pwa-install-element .install-dialog.chrome .dialog-body .about .name{font-weight:500;font-size:18px;line-height:24px;margin-top:5px;align-items:flex-start;display:flex}#pwa-install-element .install-dialog.chrome .dialog-body .about .name label{text-overflow:ellipsis;word-break:break-all;white-space:nowrap;overflow:hidden}#pwa-install-element .install-dialog.chrome .dialog-body .about .hostname{font-size:13px;font-weight:400;opacity:.7;line-height:14px;overflow-x:hidden;text-overflow:ellipsis;text-align:left;word-break:break-all;white-space:nowrap}#pwa-install-element .install-dialog.chrome .dialog-body .description{font-weight:400;line-height:20px;grid-column:1/3;padding:0 6px;margin:10px 5px 5px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;max-height:115px;overflow:hidden;overflow-y:auto;text-overflow:ellipsis;text-align:left}#pwa-install-element .install-dialog.chrome .dialog-body .app-description{font-size:13px;margin-bottom:10px}#pwa-install-element .install-dialog.chrome .dialog-body .app-description::-webkit-scrollbar{width:4px;height:4px}#pwa-install-element .install-dialog.chrome .dialog-body .app-description::-webkit-scrollbar-thumb{background:#929292;border-radius:4px}#pwa-install-element .install-dialog.chrome .dialog-body .app-description::-webkit-scrollbar-thumb:hover{background:#646464}#pwa-install-element .install-dialog.chrome .dialog-body .app-description::-webkit-scrollbar-track{background:var(--scrollbar-background-color);border-radius:4px}#pwa-install-element .install-dialog.chrome .dialog-body .install-description{font-size:14px}#pwa-install-element .install-dialog.chrome .dialog-body hr{height:1px;width:100%;grid-column:1/3;background-color:var(--border-bottom-color);border:none;margin:0}#pwa-install-element .install-dialog.chrome .dialog-body .action-buttons{display:grid;grid-template-columns:50% auto;grid-column-start:1;grid-column-end:3;gap:10px;padding:10px 10px}#pwa-install-element .install-dialog.chrome .dialog-body .action-buttons .primary{grid-column-start:2}#pwa-install-element .install-dialog.chrome .dialog-body pwa-gallery{grid-column:1/3;max-height:0;opacity:0;transition:opacity ease-in-out .5s,max-height .5s ease-in-out;overflow:hidden}#pwa-install-element .install-dialog.chrome.gallery pwa-gallery{transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out;max-height:70vh;opacity:1}#pwa-install-element .install-dialog.mobile{--touch-header-color:#DBDCE0;top:0;max-width:414px;width:100%;bottom:auto;left:0;right:0;transition:none;transform:translateY(100vh);border-radius:0;border-top-left-radius:15px;border-top-right-radius:15px;padding-bottom:35px}#pwa-install-element .install-dialog.mobile .dialog-body{grid-template-columns:1fr}#pwa-install-element .install-dialog.mobile .dialog-body .touch-header{height:30px;width:100%;padding-top:10px;box-sizing:border-box;cursor:grab}#pwa-install-element .install-dialog.mobile .dialog-body .touch-header:active{cursor:grabbing}#pwa-install-element .install-dialog.mobile .dialog-body .touch-header::before{content:\"\";width:40px;height:5px;border-radius:3px;background:var(--touch-header-color);margin:0 auto;display:block}#pwa-install-element .install-dialog.mobile .dialog-body .body-header{display:grid;grid-template-columns:-webkit-max-content 1fr -webkit-max-content;grid-template-columns:max-content 1fr max-content;grid-gap:15px;padding:18px 20px;padding-top:0;border-bottom:1px solid var(--border-bottom-color)}#pwa-install-element .install-dialog.mobile .dialog-body .body-header .install{text-transform:capitalize;height:40px;padding:0 23px}#pwa-install-element .install-dialog.mobile .dialog-body .body-header .about{grid-template-rows:auto auto;grid-gap:6px}#pwa-install-element .install-dialog.mobile .dialog-body .body-header .about .name{padding:0;line-height:20px;font-size:16px}#pwa-install-element .install-dialog.mobile .dialog-body .body-header .about .hostname{font-size:14px;font-weight:400;opacity:.7;line-height:14px;overflow-x:hidden;text-overflow:ellipsis;word-break:break-all;white-space:nowrap;padding:0}#pwa-install-element .install-dialog.mobile .dialog-body .body-header .icon .icon-image{margin:0;width:45px;height:45px}#pwa-install-element .install-dialog.mobile .dialog-body .description{padding:15px 20px 0;margin:0;margin-bottom:15px;-webkit-line-clamp:6;max-height:150px}#pwa-install-element .install-dialog.mobile .dialog-body pwa-gallery{max-height:100%;padding-bottom:15px;opacity:1}#pwa-install-element .install-dialog.mobile .material-button{border-radius:20px}#pwa-install-element .install-dialog.mobile.available{--translateY:translateY(calc(100vh - 85px));opacity:1;top:0;visibility:visible;transform:var(--translateY)}#pwa-install-element .material-button{--text-color-primary:#fff;--text-color-secondary:#374fc6;--background-color-primary:#374fc6;--background-color-ripple:#fff;position:relative;display:inline-block;box-sizing:border-box;border:none;border-radius:6px;padding:0 16px;min-width:64px;height:36px;vertical-align:middle;text-align:center;text-overflow:ellipsis;text-transform:uppercase;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);font-family:Roboto,\"Segoe UI\",BlinkMacSystemFont,system-ui,-apple-system;font-size:14px;font-weight:500;line-height:37px;overflow:hidden;outline:0;cursor:pointer;transition:box-shadow .2s}#pwa-install-element .material-button.primary{color:var(--text-color-primary);background-color:var(--background-color-primary)}#pwa-install-element .material-button.secondary{background-color:rgba(0,0,0,0);color:var(--text-color-secondary);box-shadow:none}#pwa-install-element .material-button.secondary::after,#pwa-install-element .material-button.secondary::before{background-color:var(--background-color-primary)}#pwa-install-element .material-button.secondary:active,#pwa-install-element .material-button.secondary:hover{box-shadow:none}#pwa-install-element .material-button.secondary.close{height:26px;min-width:26px;line-height:0;margin-right:0;margin-left:auto;padding:0;border-radius:50%}#pwa-install-element .material-button.secondary.close svg{width:16px;fill:var(--text-color-secondary)}#pwa-install-element .material-button.secondary.close::after{width:25px;height:25px;border-radius:50%}#pwa-install-element .material-button.secondary.close::before{border-radius:50%}#pwa-install-element .material-button::before{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background-color:var(--background-color-ripple);opacity:0;transition:opacity .2s}#pwa-install-element .material-button::after{content:\"\";position:absolute;left:50%;top:50%;border-radius:50%;padding:50%;width:32px;height:32px;background-color:var(--background-color-ripple);opacity:0;transform:translate(-50%,-50%) scale(1);transition:opacity 1s,transform .5s}#pwa-install-element .material-button:hover{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}#pwa-install-element .material-button:hover::before{opacity:.08}#pwa-install-element .material-button:hover:focus::before{opacity:.3}#pwa-install-element .material-button:active{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}#pwa-install-element .material-button:active::after{opacity:.32;transform:translate(-50%,-50%) scale(0);transition:transform 0s}@media(prefers-color-scheme:dark){#pwa-install-element .install-dialog{--text-color-normal:#fff;--background-color:#1e1e1e;--border-bottom-color:#404140;--scrollbar-background-color:#424242}#pwa-install-element .install-dialog.mobile{--touch-header-color:#3f403f}#pwa-install-element .install-dialog .material-button{--text-color-primary:#1B222C;--text-color-secondary:#a7c7fa;--background-color-primary:#a7c7fa}}@media(max-width:767px)and (min-height:495px){#pwa-install-element .install-dialog.chrome.mobile{display:inline-block}#pwa-install-element .install-dialog.chrome{display:none}}@media(min-width:768px),(max-height:495px){#pwa-install-element .install-dialog.chrome.mobile{display:none}#pwa-install-element .install-dialog.chrome{display:inline-block}}@media(max-height:420px){#pwa-install-element .install-dialog.chrome .dialog-body .description{-webkit-line-clamp:3;max-height:70px}}@media(hover:none)and (pointer:coarse){#pwa-install-element .install-dialog.chrome .dialog-body .description::-webkit-scrollbar{display:none}}`;\n ","import {css} from 'lit'; export default css`#pwa-install-element .install-dialog.apple{--text-color-normal:#333;--text-color-description:#333;--background-color:rgba(255, 255, 255, 0.75);--text-color-button:#fff;--background-color-button:#fff;--background-color-button-active:#DBDAE0;--border-bottom-color:rgba(0, 0, 0, 0.1);font-family:system-ui,-apple-system,HelveticaNeue,BlinkMacSystemFont,Roboto,\"Segoe UI\";max-width:380px;width:auto;margin:0 auto;right:0;left:0;font-size:15px;color:var(--text-color-normal);bottom:0;transition:transform .4s cubic-bezier(.33,1,.66,1),opacity .5s cubic-bezier(1,0,1,-2),border .35s ease-in-out;overflow:hidden;pointer-events:none;opacity:0;visibility:visible;transform:translateY(100%);will-change:opacity,transform}#pwa-install-element .install-dialog.apple.dialog-body{display:grid;grid-template-columns:95px auto 1fr;grid-template-rows:1fr auto;grid-template-areas:\"icon description\" \"welcome welcome\" \"how-to how-to\" \"gallery gallery\" \"button button\";border-radius:10px;border-bottom:1px solid transparent;background-color:var(--background-color);filter:drop-shadow(0 5px 15px rgba(0, 0, 0, .2));backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}#pwa-install-element .install-dialog.apple.dialog-body .icon{display:flex;align-items:center;grid-area:icon;border-bottom:1px solid var(--border-bottom-color)}#pwa-install-element .install-dialog.apple.dialog-body .icon .icon-image{width:64px;height:64px;margin:0 auto;border-radius:6px}#pwa-install-element .install-dialog.apple.dialog-body .about{display:grid;grid-template-rows:35px 60px;border-bottom:1px solid var(--border-bottom-color);grid-area:description}#pwa-install-element .install-dialog.apple.dialog-body .about .description,#pwa-install-element .install-dialog.apple.dialog-body .about .name{padding-right:15px;overflow:hidden}#pwa-install-element .install-dialog.apple.dialog-body .about .name{font-weight:600;padding-top:10px;padding-right:10px;line-height:22px;align-items:flex-start;display:flex}#pwa-install-element .install-dialog.apple.dialog-body .about .description{font-size:12px;line-height:15px;margin-bottom:15px;overflow-y:auto;color:var(--text-color-description)}#pwa-install-element .install-dialog.apple.dialog-body .about .close{height:26px;min-width:26px;line-height:0;margin-right:-3px;margin-top:-3px;margin-left:auto;padding:0;border-radius:50%;opacity:.5;outline:0;color:var(--text-color-normal);border:none;background-color:rgba(0,0,0,0);cursor:pointer;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}#pwa-install-element .install-dialog.apple.dialog-body .about .close svg{fill:var(--text-color-normal);width:18px}#pwa-install-element .install-dialog.apple.dialog-body .about .close:active,#pwa-install-element .install-dialog.apple.dialog-body .about .close:hover{opacity:1;background-color:var(--background-color-button)}#pwa-install-element .install-dialog.apple.dialog-body .welcome-to-install{font-size:15px;grid-area:welcome;text-align:left;font-weight:400;padding:15px;width:auto;border-bottom:1px solid var(--border-bottom-color)}#pwa-install-element .install-dialog.apple .action-buttons{grid-area:button;grid-column-start:1;grid-column-end:3;padding:15px}#pwa-install-element .install-dialog.apple .dialog-button{display:grid;height:50px;width:100%;line-height:50px;border-radius:8px;color:var(--text-color-normal)}#pwa-install-element .install-dialog.apple .dialog-button.button{border:none;outline:0;font-family:system-ui,-apple-system,HelveticaNeue,BlinkMacSystemFont;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:400;font-size:17px;padding:0;margin:0;background-color:var(--background-color-button)}#pwa-install-element .install-dialog.apple .dialog-button.button.install{padding:0 15px;text-align:left}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text{opacity:0;display:flex;align-items:center;justify-content:space-between;transition:opacity .4s ease-in-out .1s;overflow:hidden}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text>svg{flex-shrink:0;transform:scale(.8)}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text.show{opacity:1;visibility:visible;width:auto;height:auto}#pwa-install-element .install-dialog.apple .dialog-button.button.install .button-text.hide{opacity:0;position:absolute;width:0;height:0;visibility:hidden}#pwa-install-element .install-dialog.apple .dialog-button.button.gallery{display:flex;align-items:center;min-width:50px;width:auto;margin-right:15px}#pwa-install-element .install-dialog.apple .dialog-button.button.gallery #pwa-gallery{margin:0 auto;width:23px;fill:var(--text-color-normal)}#pwa-install-element .install-dialog.apple .dialog-button.button:active{background-color:var(--background-color-button-active)}#pwa-install-element .install-dialog.apple .how-to-body{opacity:0;max-height:0;overflow:hidden;transition:opacity ease-in-out .5s,max-height .5s ease-in-out;grid-area:how-to}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description{display:grid;-webkit-user-select:none;user-select:none;grid-auto-columns:1fr;grid-template-rows:1fr 1fr 1fr;gap:10px;padding:15px;padding-bottom:0}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step{display:inline-flex;flex-direction:row;gap:15px;align-items:center;font-size:14px}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap{position:relative;display:inline-flex;flex-shrink:0;width:50px;height:50px;align-items:center;border-radius:6px}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-add,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{margin:0 auto}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari,#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{fill:#527afb}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{margin-bottom:4px;transform:scale(.75)}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-add{transform:scale(.8);fill:var(--text-color-normal)}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari{transform:scale(.92)}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap .step-count{position:absolute;line-height:12px;top:3px;left:4px}#pwa-install-element .install-dialog.apple .how-to-body .how-to-description .description-step .step-text{font-weight:600;text-align:left}#pwa-install-element .install-dialog.apple pwa-gallery{grid-column:1/3;max-height:0;opacity:0;transition:opacity ease-in-out .5s,max-height .5s ease-in-out;overflow:hidden}#pwa-install-element .install-dialog.apple pwa-gallery+.action-buttons{display:flex}#pwa-install-element .install-dialog.apple.available{opacity:1;pointer-events:unset;transform:translateY(0);transition:transform .5s cubic-bezier(.33,1,.66,1),border .35s ease-in-out}#pwa-install-element .install-dialog.apple.gallery pwa-gallery{transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out;max-height:70vh;overflow-y:auto;opacity:1}#pwa-install-element .install-dialog.apple.how-to .dialog-body{border-bottom:1px solid #e0e0e0}#pwa-install-element .install-dialog.apple.how-to .how-to-body{opacity:1;max-height:400px;overflow-y:auto;transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out}@media(min-width:667px){#pwa-install-element .install-dialog.apple{top:0;bottom:unset;transform:translateY(calc(-100% - 40px));right:150px;left:auto}#pwa-install-element .install-dialog.apple.available{top:28px;bottom:auto;max-height:calc(95vh - 28px)}}@media(min-width:667px)and (max-width:1366px){#pwa-install-element .install-dialog.apple{right:max(28px,env(safe-area-inset-right,28px));left:auto}}@media(max-width:666px){#pwa-install-element .install-dialog.apple .description-step .step-text{font-size:13px}#pwa-install-element .install-dialog.apple.available{bottom:20px;max-height:calc(85vh - 20px)}}@media(max-width:428px){#pwa-install-element .install-dialog.apple.dialog-body{max-width:100vw;border-bottom-left-radius:0;border-bottom-right-radius:0}#pwa-install-element .install-dialog.apple.dialog-body .action-buttons{padding-bottom:max(15px,env(safe-area-inset-bottom))}#pwa-install-element .install-dialog.apple.dialog-body.available{bottom:0;max-height:85vh}}@media(max-height:548px){#pwa-install-element .install-dialog.apple.dialog-body.available{overflow-y:auto;max-height:calc(90vh - 28px - env(safe-area-inset-bottom,0px))}}@media(prefers-color-scheme:dark){#pwa-install-element .install-dialog.apple{--text-color-normal:#fff;--text-color-description:#9E9AA1;--background-color:rgb(25 25 25 / 90%);--background-color-button:#353535;--background-color-button-active:#454545;--border-bottom-color:#353535}}`;\n ","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as i,Directive as s,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=i(class extends s{constructor(t){var i;if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||(null===(i=t.strings)||void 0===i?void 0:i.length)>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter((i=>t[i])).join(\" \")+\" \"}update(i,[s]){var r,o;if(void 0===this.nt){this.nt=new Set,void 0!==i.strings&&(this.st=new Set(i.strings.join(\" \").split(/\\s/).filter((t=>\"\"!==t))));for(const t in s)s[t]&&!(null===(r=this.st)||void 0===r?void 0:r.has(t))&&this.nt.add(t);return this.render(s)}const e=i.element.classList;this.nt.forEach((t=>{t in s||(e.remove(t),this.nt.delete(t))}));for(const t in s){const i=!!s[t];i===this.nt.has(t)||(null===(o=this.st)||void 0===o?void 0:o.has(t))||(i?(e.add(t),this.nt.add(t)):(e.remove(t),this.nt.delete(t)))}return t}});export{o as classMap};\n//# sourceMappingURL=class-map.js.map\n","import { html } from 'lit';\r\nimport { classMap } from 'lit/directives/class-map.js';\r\nimport { WebAppManifest } from 'web-app-manifest';\r\nimport { msg } from '@lit/localize';\r\n\r\nconst template = (name: string, description: string, installDescription: string, disableDescription: boolean, icon: string, manifest: WebAppManifest, installAvailable: any, hideDialog: any, install: any, toggleGallery: any, galleryRequested: boolean) => {\r\n const installDialogClasses = () => { return {available: installAvailable, gallery: galleryRequested }};\r\n\r\n return html`\r\n
\r\n
\r\n
\r\n
\r\n \"icon\"\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
${location.hostname}
\r\n \r\n
\r\n ${description ? html `
${description}
`: ''}\r\n ${!disableDescription? \r\n html`
${installDescription? installDescription: msg('This site has app functionality. Install it on your device for extensive experience and easy access.')}
` \r\n : ''}\r\n ${manifest.screenshots && manifest.screenshots.length? html``: ''}\r\n
\r\n ${manifest.screenshots && manifest.screenshots.length? html``:''}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n ${manifest.screenshots && manifest.screenshots.length? html``: ''}\r\n
\r\n
\r\n
`;\r\n};\r\nexport default template;\r\n","import { html } from 'lit';\r\nimport { classMap } from 'lit/directives/class-map.js';\r\nimport { WebAppManifest } from 'web-app-manifest';\r\nimport { msg } from '@lit/localize';\r\n\r\nconst template = (name: string, description: string, installDescription: string, disableDescription: boolean, icon: string, manifest: WebAppManifest, installAvailable: any, hideDialog: any, howToForApple: any, howToRequested: boolean, toggleGallery: any, galleryRequested: boolean) => {\r\n const installDialogClassesApple = () => { return {available: installAvailable, 'how-to': howToRequested, gallery: galleryRequested }};\r\n\r\n return html`\r\n `;\r\n};\r\nexport default template;\r\n","import { LitElement, html } from 'lit';\r\nimport { localized } from '@lit/localize';\r\nimport { property, customElement } from 'lit/decorators.js';\r\nimport { WebAppManifest } from 'web-app-manifest';\r\nimport { changeLocale } from './localization';\r\n\r\nimport { IRelatedApp, Manifest, IWindow, PWAInstallAttributes } from './types/types';\r\n\r\nimport PWAGalleryElement from './gallery';\r\nimport PWABottomSheetElement from './templates/chrome/bottom-sheet';\r\n\r\nimport Utils from './utils';\r\n\r\ndeclare const window: IWindow;\r\n\r\nimport styles from './templates/chrome/styles.scss';\r\nimport stylesApple from './templates/apple/styles-apple.scss';\r\n\r\nimport template from './templates/chrome/template';\r\nimport templateApple from './templates/apple/template-apple';\r\n\r\n\r\n@localized()\r\n@customElement('pwa-install')\r\nexport class PWAInstallElement extends LitElement {\r\n\tprivate manifest: WebAppManifest = new Manifest();\r\n\r\n\t@property({attribute: 'manifest-url'}) manifestUrl = '/manifest.json';\r\n\t@property() icon = '';\r\n\t@property() name = '';\r\n\t@property() description = '';\r\n\t@property({attribute: 'install-description'}) installDescription = '';\r\n\t@property({attribute: 'disable-install-description', type: Boolean}) disableDescription = false;\r\n\t@property({attribute: 'manual-apple', type: Boolean}) manualApple = false;\r\n\t@property({attribute: 'manual-chrome', type: Boolean}) manualChrome = false;\r\n\t@property({attribute: 'disable-chrome', type: Boolean}) disableChrome = false;\r\n\r\n\tstatic get styles() {\r\n\t\treturn [ styles, stylesApple ];\r\n\t}\r\n\r\n\tpublic platforms: BeforeInstallPromptEvent['platforms'] = [];\r\n\tpublic userChoiceResult = '';\r\n\r\n\tpublic isDialogHidden: boolean = JSON.parse(window.sessionStorage.getItem('pwa-hide-install') || 'false');\r\n\tpublic isInstallAvailable = false;\r\n\tpublic isAppleMobilePlatform = false;\r\n\tpublic isUnderStandaloneMode = false;\r\n\tpublic isRelatedAppsInstalled = false;\r\n\r\n\t/** @internal */\r\n\tprivate _howToRequested = false;\r\n\t/** @internal */\r\n\tprivate _galleryRequested = false;\r\n\t/** @internal */\r\n\tprivate _install = {\r\n\t\thandleEvent: () => {\r\n\t\t\tif (window.deferredEvent) {\r\n\t\t\t\tthis.hideDialog();\r\n\t\t\t\twindow.deferredEvent.prompt();\r\n\t\t\t\twindow.deferredEvent.userChoice\r\n\t\t\t\t\t.then((choiceResult: PromptResponseObject) => {\r\n\t\t\t\t\t\tthis.userChoiceResult = choiceResult.outcome;\r\n\t\t\t\t\t\tUtils.eventUserChoiceResult(this, this.userChoiceResult);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((error) => {\r\n\t\t\t\t\t\tUtils.eventInstalledFail(this);\r\n\t\t\t\t\t});\r\n\t\t\t\twindow.deferredEvent = null;\r\n\t\t\t}\r\n\t\t},\r\n\t\tpassive: true\r\n\t}\r\n\tpublic install = () => {\r\n\t\tif (this.isAppleMobilePlatform) {\r\n\t\t\tthis._howToRequested = true;\r\n\t\t\tthis.requestUpdate();\r\n\t\t}\r\n\t\telse\r\n\t\t\tthis._install.handleEvent();\r\n\t}\r\n\t/** @internal */\r\n\tprivate _hideDialog = {\r\n\t\thandleEvent: () => {\r\n\t\t\tthis.isDialogHidden = true;\r\n\t\t\twindow.sessionStorage.setItem('pwa-hide-install', 'true');\r\n\t\t\tthis.requestUpdate();\r\n\t\t},\r\n\t\tpassive: true\r\n\t}\r\n\t/** @internal */\r\n\tprivate _hideDialogUser = () => {\r\n\t\tUtils.eventUserChoiceResult(this, 'dismissed');\r\n\t\tthis.hideDialog();\r\n\t}\r\n\tpublic hideDialog = () => {\r\n\t\tthis._hideDialog.handleEvent();\r\n\t}\r\n\tpublic showDialog = (forced = false) => {\r\n\t\tthis.isDialogHidden = false;\r\n\t\tif (forced)\r\n\t\t\tthis.isInstallAvailable = true;\r\n\t\twindow.sessionStorage.setItem('pwa-hide-install', 'false');\r\n\t\tthis.requestUpdate();\r\n\t}\r\n\r\n\tpublic getInstalledRelatedApps = async (): Promise => {\r\n\t\treturn await Utils.getInstalledRelatedApps();\r\n\t}\r\n\t/** @internal */\r\n\tprivate _howToForApple = {\r\n handleEvent: () => {\r\n\t\t\tthis._howToRequested = !this._howToRequested;\r\n\t\t\tif (this._howToRequested && this._galleryRequested)\r\n\t\t\t\tthis._galleryRequested = false;\r\n\t\t\tthis.requestUpdate();\r\n },\r\n passive: true\r\n }\r\n\t/** @internal */\r\n\tprivate _toggleGallery = {\r\n handleEvent: () => {\r\n\t\t\tthis._galleryRequested = !this._galleryRequested;\r\n\t\t\tif (this._howToRequested && this._galleryRequested)\r\n\t\t\t\tthis._howToRequested = false;\r\n\t\t\tthis.requestUpdate();\r\n },\r\n passive: true\r\n }\r\n\t/** @internal */\r\n\tprivate async _checkInstalled() {\r\n\t\tthis.isUnderStandaloneMode = Utils.isStandalone();\r\n\t\tthis.isRelatedAppsInstalled = await Utils.isRelatedAppsInstalled();\r\n\t\tthis.isAppleMobilePlatform = Utils.isAppleMobile();\r\n\r\n\t\tif (this.isAppleMobilePlatform) {\r\n\t\t\tif (!this.isUnderStandaloneMode) {\r\n\t\t\t\tthis.manualApple && this.hideDialog();\r\n\t\t\t\tsetTimeout(\r\n\t\t\t\t\t() => {\r\n\t\t\t\t\t\tthis.isInstallAvailable = true;\r\n\t\t\t\t\t\tthis.requestUpdate()\r\n\t\t\t\t\t\tUtils.eventInstallAvailable(this);\r\n\t\t\t\t\t},\r\n\t\t\t\t\t300\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.manualChrome && this.hideDialog();\r\n\t\t}\r\n\t}\r\n\t/** @internal */\r\n\tprivate _init = () => {\r\n\t\twindow.deferredEvent = null;\r\n\r\n\t\tthis._checkInstalled();\r\n\r\n\t\tif (!this.disableChrome)\r\n\t\t\twindow.addEventListener('beforeinstallprompt', (e: BeforeInstallPromptEvent) => {\r\n\t\t\t\twindow.deferredEvent = e;\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tthis.platforms = e.platforms;\r\n\r\n\t\t\t\tif (this.isRelatedAppsInstalled || this.isUnderStandaloneMode) {\r\n\t\t\t\t\tthis.isInstallAvailable = false;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.isInstallAvailable = true;\r\n\t\t\t\t\tUtils.eventInstallAvailable(this);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.userChoiceResult === 'accepted'){\r\n\t\t\t\t\tthis.isDialogHidden = true;\r\n\t\t\t\t\tUtils.eventInstalledSuccess(this);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.requestUpdate();\r\n\t\t\t});\r\n\r\n\t\twindow.addEventListener('appinstalled', (e) => {\r\n\t\t\twindow.deferredEvent = null;\r\n\t\t\tthis.isInstallAvailable = false;\r\n\r\n\t\t\tthis.requestUpdate();\r\n\t\t\tUtils.eventInstalledSuccess(this);\r\n\t\t});\r\n\r\n\r\n\t\tfetch(this.manifestUrl).then((response: Response) => {\r\n\t\t\tif (response.ok)\r\n\t\t\t\tresponse.json().then((_json) => {\r\n\t\t\t\t\tthis.icon = this.icon || _json.icons[0].src;\r\n\t\t\t\t\tthis.name = this.name || _json['short_name'] || _json.name;\r\n\t\t\t\t\tthis.description = this.description || _json.description;\r\n\t\t\t\t\tthis.manifest = _json;\r\n\t\t\t\t});\r\n\t\t\telse {\r\n\t\t\t\tthis.icon = this.icon || this.manifest.icons?.[0].src || '';\r\n\t\t\t\tthis.name = this.name || this.manifest['short_name'] || '';\r\n\t\t\t\tthis.description = this.description || this.manifest.description || '';\r\n\t\t\t}\r\n\t\t});\r\n\r\n\r\n\t};\r\n\r\n\tconnectedCallback() {\r\n\t\tchangeLocale(navigator.language);\r\n\t\tthis._init();\r\n\t\tPWAGalleryElement.finalized;\r\n\t\tPWABottomSheetElement.finalized;\r\n\t\tsuper.connectedCallback();\r\n\t}\r\n\r\n\t// firstUpdated() {\r\n\t// \treturn;\r\n\t// }\r\n\r\n\trender() {\r\n\t\tif (this.isAppleMobilePlatform)\r\n\t\t\treturn html`${templateApple(\r\n\t\t\t\tthis.name, \r\n\t\t\t\tthis.description, \r\n\t\t\t\tthis.installDescription,\r\n\t\t\t\tthis.disableDescription,\r\n\t\t\t\tthis.icon, \r\n\t\t\t\tthis.manifest,\r\n\t\t\t\tthis.isInstallAvailable && !this.isDialogHidden,\r\n\t\t\t\tthis._hideDialogUser,\r\n\t\t\t\tthis._howToForApple,\r\n\t\t\t\tthis._howToRequested,\r\n\t\t\t\tthis._toggleGallery,\r\n\t\t\t\tthis._galleryRequested\r\n\t\t\t)}`;\r\n\t\telse\r\n\t\t\treturn html`${template(\r\n\t\t\t\tthis.name, \r\n\t\t\t\tthis.description, \r\n\t\t\t\tthis.installDescription,\r\n\t\t\t\tthis.disableDescription,\r\n\t\t\t\tthis.icon, \r\n\t\t\t\tthis.manifest,\r\n\t\t\t\tthis.isInstallAvailable && !this.isDialogHidden,\r\n\t\t\t\tthis._hideDialogUser,\r\n\t\t\t\tthis._install,\r\n\t\t\t\tthis._toggleGallery,\r\n\t\t\t\tthis._galleryRequested\r\n\t\t\t)}`;\r\n\t}\r\n}\r\n\r\nexport { PWAInstallAttributes };\r\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","window","ShadowRoot","ShadyCSS","nativeShadow","Document","CSSStyleSheet","s","n","WeakMap","constructor","t","e","this","_$cssResult$","Error","cssText","styleSheet","length","replaceSync","set","toString","i","reduce","c","cssRules","r","trustedTypes","h","emptyScript","reactiveElementPolyfillSupport","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","a","l","attribute","type","String","converter","reflect","hasChanged","d","HTMLElement","super","_$Ei","Map","isUpdatePending","hasUpdated","_$El","u","static","finalize","push","observedAttributes","elementProperties","forEach","_$Ep","_$Ev","state","noAccessor","getPropertyDescriptor","requestUpdate","configurable","finalized","getPrototypeOf","properties","getOwnPropertyNames","getOwnPropertySymbols","createProperty","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","_$E_","Promise","enableUpdating","_$AL","_$Eg","addController","_$ES","renderRoot","isConnected","hostConnected","removeController","splice","indexOf","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$EO","removeAttribute","getPropertyOptions","has","_$EC","_$Ej","async","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$Ek","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","mode","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","Math","random","slice","createComment","iterator","v","f","_","RegExp","m","p","$","g","_$litType$","strings","values","y","x","for","b","T","A","createTreeWalker","E","lastIndex","exec","test","startsWith","C","parts","el","currentNode","content","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","name","ctor","M","k","H","tagName","data","innerHTML","P","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","V","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","N","nextSibling","I","_$AI","_$AH","_$AA","_$AB","options","_$Cm","startNode","endNode","_$AR","O","insertBefore","createTextNode","_$AC","_$AP","setConnected","element","fill","j","arguments","R","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","z","litHtmlPolyfillSupport","litHtmlVersions","renderOptions","_$Do","renderBefore","render","_$litPart$","_$litElement$","globalThis","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","joinStringsAndValues","valueOrder","concat","template","isStrTagged","val","LOCALE_STATUS_EVENT","LocalizeController","__litLocalizeEventHandler","event","detail","status","updateWhenLocaleChanges","localized","classOrDescriptor","legacyLocalized","standardLocalized","kind","elements","finisher","clazz","addInitializer","Deferred","settled","promise","resolve","_resolve","_reject","error","hl","HASH_DELIMITER","HTML_PREFIX","STRING_PREFIX","generateMsgId","isHtmlTagged","str","t0","v0","t1","v1","t2","v2","t3","v3","charCodeAt","fnv1a64","join","expressionOrders","hashCache","runtimeMsg","templates","_a","id","undefined","generateId","order","dispatchStatusEvent","dispatchEvent","CustomEvent","loadingLocale","sourceLocale","validLocales","loadLocale","activeLocale","loading","requestId","getLocale","setLocale","newLocale","thisRequestId","then","mod","readyLocale","err","errorLocale","errorMessage","msg","installed","customElements","define","descriptor","placement","originalKey","initializer","HTMLSlotElement","assignedElements","targetLocales","localizedTemplates","config","lang","impl","add","Manifest","icons","src","screenshots","short_name","description","scrollToNextPage","scrollToPrevPage","PWAGalleryElement","calcScrollSize","gallery","querySelector","gallery_scroller","gallery_items","from","querySelectorAll","gallery_item","find","item","offsetWidth","offsetLeft","scrollLeft","scroller","_tools","nextElementSibling","scrollTo","top","left","clientWidth","behavior","previousElementSibling","_init","setTimeout","icon","install","PWABottomSheetElement","props","hideDialog","_callInstall","_callHide","setupAppearence","bindedElement","_saveBodyStyle","body","style","overscrollBehaviorY","dragMobileSheet","touchTargetElement","infoElement","dragOffset","bottomSize","clientHeight","getYCoord","clientY","changedTouches","dragMouseDown","dragMouseUp","dragMouseMove","getBoundingClientRect","innerHeight","closeDragElement","currentY","setProperty","toPoint","innerWidth","MouseEvent","touchElement","listener","parentElement","getElementsByClassName","_eventDispatcher","_element","message","Utils","includes","navigator","platform","userAgent","match","maxTouchPoints","matchMedia","matches","standalone","getInstalledRelatedApps","relatedApps","_$Ct","_$Ci","keys","filter","nt","st","classList","delete","installDescription","disableDescription","manifest","installAvailable","toggleGallery","galleryRequested","installDialogClasses","available","howToForApple","howToRequested","PWAInstallElement","manifestUrl","manualApple","manualChrome","disableChrome","platforms","userChoiceResult","isDialogHidden","sessionStorage","getItem","isInstallAvailable","isAppleMobilePlatform","isUnderStandaloneMode","isRelatedAppsInstalled","_howToRequested","_galleryRequested","_install","deferredEvent","prompt","userChoice","choiceResult","outcome","eventUserChoiceResult","catch","eventInstalledFail","_hideDialog","setItem","_hideDialogUser","showDialog","forced","_howToForApple","_toggleGallery","_checkInstalled","preventDefault","eventInstallAvailable","eventInstalledSuccess","fetch","response","ok","json","_json","isStandalone","isAppleMobile","changeLocale","language"],"sourceRoot":""}