@khmyznikov/pwa-install
Advanced tools
Comparing version 0.0.7 to 0.0.8
@@ -1,2 +0,2 @@ | ||
(()=>{"use strict";var t,e,i,o;const s=globalThis.trustedTypes,l=s?s.createPolicy("lit-html",{createHTML:t=>t}):void 0,a=`lit$${(Math.random()+"").slice(9)}$`,n="?"+a,r=`<${n}>`,d=document,c=(t="")=>d.createComment(t),p=t=>null===t||"object"!=typeof t&&"function"!=typeof t,h=Array.isArray,g=t=>{var e;return h(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},u=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,v=/-->/g,b=/>/g,m=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,f=/'/g,y=/"/g,w=/^(?:script|style|textarea)$/i,x=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),k=x(1),S=(x(2),Symbol.for("lit-noChange")),A=Symbol.for("lit-nothing"),R=new WeakMap,$=d.createTreeWalker(d,129,null,!1),_=(t,e)=>{const i=t.length-1,o=[];let s,n=2===e?"<svg>":"",d=u;for(let l=0;l<i;l++){const e=t[l];let i,c,p=-1,h=0;for(;h<e.length&&(d.lastIndex=h,c=d.exec(e),null!==c);)h=d.lastIndex,d===u?"!--"===c[1]?d=v:void 0!==c[1]?d=b:void 0!==c[2]?(w.test(c[2])&&(s=RegExp("</"+c[2],"g")),d=m):void 0!==c[3]&&(d=m):d===m?">"===c[0]?(d=null!=s?s:u,p=-1):void 0===c[1]?p=-2:(p=d.lastIndex-c[2].length,i=c[1],d=void 0===c[3]?m:'"'===c[3]?y:f):d===y||d===f?d=m:d===v||d===b?d=u:(d=m,s=void 0);const g=d===m&&t[l+1].startsWith("/>")?" ":"";n+=d===u?e+r:p>=0?(o.push(i),e.slice(0,p)+"$lit$"+e.slice(p)+a+g):e+a+(-2===p?(o.push(void 0),l):g)}const c=n+(t[i]||"<?>")+(2===e?"</svg>":"");return[void 0!==l?l.createHTML(c):c,o]};class E{constructor({strings:t,_$litType$:e},i){let o;this.parts=[];let l=0,r=0;const d=t.length-1,p=this.parts,[h,g]=_(t,e);if(this.el=E.createElement(h,i),$.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=$.nextNode())&&p.length<d;){if(1===o.nodeType){if(o.hasAttributes()){const t=[];for(const e of o.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(a)){const i=g[r++];if(t.push(e),void 0!==i){const t=o.getAttribute(i.toLowerCase()+"$lit$").split(a),e=/([.?@])?(.*)/.exec(i);p.push({type:1,index:l,name:e[2],strings:t,ctor:"."===e[1]?I:"?"===e[1]?z:"@"===e[1]?H:T})}else p.push({type:6,index:l})}for(const e of t)o.removeAttribute(e)}if(w.test(o.tagName)){const t=o.textContent.split(a),e=t.length-1;if(e>0){o.textContent=s?s.emptyScript:"";for(let i=0;i<e;i++)o.append(t[i],c()),$.nextNode(),p.push({type:2,index:++l});o.append(t[e],c())}}}else if(8===o.nodeType)if(o.data===n)p.push({type:2,index:l});else{let t=-1;for(;-1!==(t=o.data.indexOf(a,t+1));)p.push({type:7,index:l}),t+=a.length-1}l++}}static createElement(t,e){const i=d.createElement("template");return i.innerHTML=t,i}}function P(t,e,i=t,o){var s,l,a,n;if(e===S)return e;let r=void 0!==o?null===(s=i.Σi)||void 0===s?void 0:s[o]:i.Σo;const d=p(e)?void 0:e._$litDirective$;return(null==r?void 0:r.constructor)!==d&&(null===(l=null==r?void 0:r.O)||void 0===l||l.call(r,!1),void 0===d?r=void 0:(r=new d(t),r.T(t,i,o)),void 0!==o?(null!==(a=(n=i).Σi)&&void 0!==a?a:n.Σi=[])[o]=r:i.Σo=r),void 0!==r&&(e=P(t,r.S(t,e.values),r,o)),e}class C{constructor(t,e){this.l=[],this.N=void 0,this.D=t,this.M=e}u(t){var e;const{el:{content:i},parts:o}=this.D,s=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:d).importNode(i,!0);$.currentNode=s;let l=$.nextNode(),a=0,n=0,r=o[0];for(;void 0!==r;){if(a===r.index){let e;2===r.type?e=new U(l,l.nextSibling,this,t):1===r.type?e=new r.ctor(l,r.name,r.strings,this,t):6===r.type&&(e=new M(l,this,t)),this.l.push(e),r=o[++n]}a!==(null==r?void 0:r.index)&&(l=$.nextNode(),a++)}return s}v(t){let e=0;for(const i of this.l)void 0!==i&&(void 0!==i.strings?(i.I(t,i,e),e+=i.strings.length-2):i.I(t[e])),e++}}class U{constructor(t,e,i,o){this.type=2,this.N=void 0,this.A=t,this.B=e,this.M=i,this.options=o}setConnected(t){var e;null===(e=this.P)||void 0===e||e.call(this,t)}get parentNode(){return this.A.parentNode}get startNode(){return this.A}get endNode(){return this.B}I(t,e=this){t=P(this,t,e),p(t)?t===A||null==t||""===t?(this.H!==A&&this.R(),this.H=A):t!==this.H&&t!==S&&this.m(t):void 0!==t._$litType$?this._(t):void 0!==t.nodeType?this.$(t):g(t)?this.g(t):this.m(t)}k(t,e=this.B){return this.A.parentNode.insertBefore(t,e)}$(t){this.H!==t&&(this.R(),this.H=this.k(t))}m(t){const e=this.A.nextSibling;null!==e&&3===e.nodeType&&(null===this.B?null===e.nextSibling:e===this.B.previousSibling)?e.data=t:this.$(d.createTextNode(t)),this.H=t}_(t){var e;const{values:i,_$litType$:o}=t,s="number"==typeof o?this.C(t):(void 0===o.el&&(o.el=E.createElement(o.h,this.options)),o);if((null===(e=this.H)||void 0===e?void 0:e.D)===s)this.H.v(i);else{const t=new C(s,this),e=t.u(this.options);t.v(i),this.$(e),this.H=t}}C(t){let e=R.get(t.strings);return void 0===e&&R.set(t.strings,e=new E(t)),e}g(t){h(this.H)||(this.H=[],this.R());const e=this.H;let i,o=0;for(const s of t)o===e.length?e.push(i=new U(this.k(c()),this.k(c()),this,this.options)):i=e[o],i.I(s),o++;o<e.length&&(this.R(i&&i.B.nextSibling,o),e.length=o)}R(t=this.A.nextSibling,e){var i;for(null===(i=this.P)||void 0===i||i.call(this,!1,!0,e);t&&t!==this.B;){const e=t.nextSibling;t.remove(),t=e}}}class T{constructor(t,e,i,o,s){this.type=1,this.H=A,this.N=void 0,this.V=void 0,this.element=t,this.name=e,this.M=o,this.options=s,i.length>2||""!==i[0]||""!==i[1]?(this.H=Array(i.length-1).fill(A),this.strings=i):this.H=A}get tagName(){return this.element.tagName}I(t,e=this,i,o){const s=this.strings;let l=!1;if(void 0===s)t=P(this,t,e,0),l=!p(t)||t!==this.H&&t!==S,l&&(this.H=t);else{const o=t;let a,n;for(t=s[0],a=0;a<s.length-1;a++)n=P(this,o[i+a],e,a),n===S&&(n=this.H[a]),l||(l=!p(n)||n!==this.H[a]),n===A?t=A:t!==A&&(t+=(null!=n?n:"")+s[a+1]),this.H[a]=n}l&&!o&&this.W(t)}W(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class I extends T{constructor(){super(...arguments),this.type=3}W(t){this.element[this.name]=t===A?void 0:t}}class z extends T{constructor(){super(...arguments),this.type=4}W(t){t&&t!==A?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name)}}class H extends T{constructor(){super(...arguments),this.type=5}I(t,e=this){var i;if((t=null!==(i=P(this,t,e,0))&&void 0!==i?i:A)===S)return;const o=this.H,s=t===A&&o!==A||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,l=t!==A&&(o===A||s);s&&this.element.removeEventListener(this.name,this,o),l&&this.element.addEventListener(this.name,this,t),this.H=t}handleEvent(t){var e,i;"function"==typeof this.H?this.H.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this.H.handleEvent(t)}}class M{constructor(t,e,i){this.element=t,this.type=6,this.N=void 0,this.V=void 0,this.M=e,this.options=i}I(t){P(this,t)}}null===(e=(t=globalThis).litHtmlPlatformSupport)||void 0===e||e.call(t,E,U),(null!==(i=(o=globalThis).litHtmlVersions)&&void 0!==i?i:o.litHtmlVersions=[]).push("2.0.0-rc.2");const O=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,N=Symbol();class q{constructor(t,e){if(e!==N)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){return O&&void 0===this.t&&(this.t=new CSSStyleSheet,this.t.replaceSync(this.cssText)),this.t}toString(){return this.cssText}}const L=new Map,j=(t,...e)=>{const i=e.reduce(((e,i,o)=>e+(t=>{if(t instanceof q)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\n take care to ensure page security.`)})(i)+t[o+1]),t[0]);let o=L.get(i);return void 0===o&&L.set(i,o=new q(i,N)),o},B=O?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>new q(t+"",N))(e)})(t):t;var D,W,F,V;const Z={toAttribute(t,e){switch(e){case Boolean:t=t?"":null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},G=(t,e)=>e!==t&&(e==e||t==t),J={attribute:!0,type:String,converter:Z,reflect:!1,hasChanged:G};class K extends HTMLElement{constructor(){super(),this.Πi=new Map,this.Πo=void 0,this.Πl=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this.Πh=null,this.u()}static addInitializer(t){var e;null!==(e=this.v)&&void 0!==e||(this.v=[]),this.v.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const o=this.Πp(i,e);void 0!==o&&(this.Πm.set(o,i),t.push(o))})),t}static createProperty(t,e=J){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,o=this.getPropertyDescriptor(t,i,e);void 0!==o&&Object.defineProperty(this.prototype,t,o)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(o){const s=this[t];this[e]=o,this.requestUpdate(t,s,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||J}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this.Πm=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(B(t))}else void 0!==t&&e.push(B(t));return e}static"Πp"(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this.Πg=new Promise((t=>this.enableUpdating=t)),this.L=new Map,this.Π_(),this.requestUpdate(),null===(t=this.constructor.v)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this.ΠU)&&void 0!==e?e:this.ΠU=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this.ΠU)||void 0===e||e.splice(this.ΠU.indexOf(t)>>>0,1)}"Π_"(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this.Πi.set(e,this[e]),delete this[e])}))}createRenderRoot(){var t;const e=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{O?t.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):e.forEach((e=>{const i=document.createElement("style");i.textContent=e.cssText,t.appendChild(i)}))})(e,this.constructor.elementStyles),e}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this.ΠU)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)})),this.Πl&&(this.Πl(),this.Πo=this.Πl=void 0)}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this.ΠU)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)})),this.Πo=new Promise((t=>this.Πl=t))}attributeChangedCallback(t,e,i){this.K(t,i)}"Πj"(t,e,i=J){var o,s;const l=this.constructor.Πp(t,i);if(void 0!==l&&!0===i.reflect){const a=(null!==(s=null===(o=i.converter)||void 0===o?void 0:o.toAttribute)&&void 0!==s?s:Z.toAttribute)(e,i.type);this.Πh=t,null==a?this.removeAttribute(l):this.setAttribute(l,a),this.Πh=null}}K(t,e){var i,o,s;const l=this.constructor,a=l.Πm.get(t);if(void 0!==a&&this.Πh!==a){const t=l.getPropertyOptions(a),n=t.converter,r=null!==(s=null!==(o=null===(i=n)||void 0===i?void 0:i.fromAttribute)&&void 0!==o?o:"function"==typeof n?n:null)&&void 0!==s?s:Z.fromAttribute;this.Πh=a,this[a]=r(e,t.type),this.Πh=null}}requestUpdate(t,e,i){let o=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||G)(this[t],e)?(this.L.has(t)||this.L.set(t,e),!0===i.reflect&&this.Πh!==t&&(void 0===this.Πk&&(this.Πk=new Map),this.Πk.set(t,i))):o=!1),!this.isUpdatePending&&o&&(this.Πg=this.Πq())}async"Πq"(){this.isUpdatePending=!0;try{for(await this.Πg;this.Πo;)await this.Πo}catch(t){Promise.reject(t)}const t=this.performUpdate();return null!=t&&await t,!this.isUpdatePending}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this.Πi&&(this.Πi.forEach(((t,e)=>this[e]=t)),this.Πi=void 0);let e=!1;const i=this.L;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this.ΠU)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this.Π$()}catch(t){throw e=!1,this.Π$(),t}e&&this.E(i)}willUpdate(t){}E(t){var e;null===(e=this.ΠU)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}"Π$"(){this.L=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this.Πg}shouldUpdate(t){return!0}update(t){void 0!==this.Πk&&(this.Πk.forEach(((t,e)=>this.Πj(e,this[e],t))),this.Πk=void 0),this.Π$()}updated(t){}firstUpdated(t){}}var Y,Q,X,tt,et,it;K.finalized=!0,K.shadowRootOptions={mode:"open"},null===(W=(D=globalThis).reactiveElementPlatformSupport)||void 0===W||W.call(D,{ReactiveElement:K}),(null!==(F=(V=globalThis).reactiveElementVersions)&&void 0!==F?F:V.reactiveElementVersions=[]).push("1.0.0-rc.1");(null!==(Y=(it=globalThis).litElementVersions)&&void 0!==Y?Y:it.litElementVersions=[]).push("3.0.0-rc.1");class ot extends K{constructor(){super(...arguments),this.renderOptions={host:this},this.Φt=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 e=this.render();super.update(t),this.Φt=((t,e,i)=>{var o,s;const l=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let a=l._$litPart$;if(void 0===a){const t=null!==(s=null==i?void 0:i.renderBefore)&&void 0!==s?s:null;l._$litPart$=a=new U(e.insertBefore(c(),t),t,void 0,i)}return a.I(t),a})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this.Φt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this.Φt)||void 0===t||t.setConnected(!1)}render(){return S}}ot.finalized=!0,ot._$litElement$=!0,null===(X=(Q=globalThis).litElementHydrateSupport)||void 0===X||X.call(Q,{LitElement:ot}),null===(et=(tt=globalThis).litElementPlatformSupport)||void 0===et||et.call(tt,{LitElement:ot});const st=t=>e=>"function"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:o}=e;return{kind:i,elements:o,finisher(e){window.customElements.define(t,e)}}})(t,e),lt=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function at(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):lt(t,e)}const nt=Element.prototype;nt.msMatchesSelector||nt.webkitMatchesSelector;class rt{constructor(){this.icons=[{src:""}],this.screenshots=null,this.short_name="PWA",this.name="Progressive web application",this.description="Progressive web application"}}const dt=j`.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:50vh;box-shadow:0 3px 5px 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;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}}`,ct=(t,e,i)=>k`${t?k`<div id="paginated_gallery" class="gallery"><div class="gallery_scroller"><div class="scroller_wrap">${t.map((t=>k`<img draggable="false" src='${t.src}'>`))}</div></div><span class="btn prev" @click="${i}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96"><title/><path d="M39.3756,48.0022l30.47-25.39a6.0035,6.0035,0,0,0-7.6878-9.223L26.1563,43.3906a6.0092,6.0092,0,0,0,0,9.2231L62.1578,82.615a6.0035,6.0035,0,0,0,7.6878-9.2231Z" fill="%23999" fill-rule="evenodd"/></svg> </span><span class="btn next" @click="${e}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96"><title/><path d="M69.8437,43.3876,33.8422,13.3863a6.0035,6.0035,0,0,0-7.6878,9.223l30.47,25.39-30.47,25.39a6.0035,6.0035,0,0,0,7.6878,9.2231L69.8437,52.6106a6.0091,6.0091,0,0,0,0-9.223Z" fill="%23000" fill-rule="evenodd"/></svg></span></div>`:""}`;var pt=function(t,e,i,o){var s,l=arguments.length,a=l<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var n=t.length-1;n>=0;n--)(s=t[n])&&(a=(l<3?s(a):l>3?s(e,i,a):s(e,i))||a);return l>3&&a&&Object.defineProperty(e,i,a),a},ht=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};let gt=class extends ot{constructor(){super(...arguments),this.screenshots=[],this.calcScrollSize=()=>{const t=this.shadowRoot.querySelector("#paginated_gallery");if(!t)return;const e=t.querySelector(".gallery_scroller");if(!e)return;const i=Array.from(e.querySelectorAll("img"));if(!i)return;const o=i.find((t=>t.offsetWidth+t.offsetLeft>=e.scrollLeft));return o?{scroller:e,item:o}:void 0},this.scrollToNextPage=()=>{const t=this.calcScrollSize();t&&t.item.nextElementSibling&&t.scroller.scrollTo({top:0,left:t.scroller.scrollLeft+t.scroller.clientWidth+t.item.nextElementSibling.clientWidth/2,behavior:"smooth"})},this.scrollToPrevPage=()=>{const t=this.calcScrollSize();t&&t.item.previousElementSibling&&t.scroller.scrollTo({top:0,left:t.scroller.scrollLeft-t.scroller.clientWidth-t.item.previousElementSibling.clientWidth/2,behavior:"smooth"})},this._init=()=>{}}static get styles(){return dt}firstUpdated(){const t=this.calcScrollSize();t&&setTimeout((()=>{t.scroller.scrollTo({top:0,left:0})}),300)}connectedCallback(){super.connectedCallback(),this._init()}render(){return k`${ct(this.screenshots,this.scrollToNextPage,this.scrollToPrevPage)}`}};pt([at(),ht("design:type",Object)],gt.prototype,"screenshots",void 0),gt=pt([st("pwa-gallery")],gt);const ut=gt,vt=(t,e,i)=>{const o=new CustomEvent(e,{detail:{message:i}});t.dispatchEvent(o)};class bt{static isAppleMobile(){return!(!(["iPhone","iPad","iPod"].includes(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2)||!("serviceWorker"in navigator))}static isStandalone(){return!!(window.matchMedia("(display-mode: standalone)").matches||"standalone"in navigator&&!0===navigator.standalone)}static async getInstalledRelatedApps(){return"getInstalledRelatedApps"in navigator&&await navigator.getInstalledRelatedApps().then((t=>t)),[]}static async isRelatedAppsInstalled(){return!!(await this.getInstalledRelatedApps()).length}static eventInstalledSuccess(t){vt(t,"pwa-install-success-event","Application installation successfully processed (Chromium/Android only)")}static eventInstalledFail(t){vt(t,"pwa-install-fail-event","Application installation failed (Chromium/Android only)")}static eventUserChoiceResult(t,e){vt(t,"pwa-user-choice-result-event",e)}static eventInstallAvailable(t){vt(t,"pwa-install-available-event","Application installation available")}}const mt=j`#pwa-install{user-select:none}#pwa-install .install-dialog{position:fixed;display:inline-block;opacity:0;visibility:hidden;z-index:5}#pwa-install .install-dialog.chrome{--text-color-normal:#333;--background-color:#fff;font-family:Roboto,"Segoe UI",system-ui,-apple-system,HelveticaNeue,BlinkMacSystemFont;max-width:380px;width:90%;min-height:90px;margin:0 auto;right:0;left:0;background-color:var(--background-color);box-shadow:0 5px 15px rgba(0,0,0,.3);font-size:15px;color:var(--text-color-normal);border-radius:3px;top:-100px;transition:top .5s ease-in-out 1s,opacity 1.3s ease-in-out .8s,max-height .35s ease-in-out 0s}#pwa-install .install-dialog.chrome .dialog-body{display:grid;grid-template-columns:70px 1fr}#pwa-install .install-dialog.chrome .dialog-body .icon{display:flex;align-items:flex-start}#pwa-install .install-dialog.chrome .dialog-body .icon .icon-image{width:48px;height:48px;margin:0 auto;margin-top:10px;border-radius:3px}#pwa-install .install-dialog.chrome .dialog-body .about{display:grid;grid-template-rows:30px auto}#pwa-install .install-dialog.chrome .dialog-body .about .description,#pwa-install .install-dialog.chrome .dialog-body .about .name{padding:5px 10px;padding-left:5px;overflow:hidden}#pwa-install .install-dialog.chrome .dialog-body .about .name{font-weight:500;padding-top:10px;font-size:18px;line-height:24px;padding:5px 5px 0;align-items:flex-start;display:flex}#pwa-install .install-dialog.chrome .dialog-body .about .description{font-size:14px;font-weight:400;opacity:.7;line-height:20px;padding-bottom:0;padding-right:15px;margin-bottom:3px}#pwa-install .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 .install-dialog.chrome .dialog-body .action-buttons .primary{grid-column-start:2}#pwa-install .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 .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 .install-dialog.chrome.available{opacity:1;top:15px;visibility:visible}#pwa-install .material-button{--text-color-primary:#fff;--text-color-secondary:#4285F4;--background-color-primary:#4285F4;--background-color-ripple:#fff;position:relative;display:inline-block;box-sizing:border-box;border:none;border-radius:4px;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 .material-button.primary{color:var(--text-color-primary);background-color:var(--background-color-primary)}#pwa-install .material-button.secondary{background-color:transparent;color:var(--text-color-secondary);box-shadow:none}#pwa-install .material-button.secondary::after,#pwa-install .material-button.secondary::before{background-color:var(--background-color-primary)}#pwa-install .material-button.secondary:active,#pwa-install .material-button.secondary:hover{box-shadow:none}#pwa-install .material-button.secondary.close{height:25px;min-width:25px;line-height:0;margin-right:0;margin-left:auto;padding:0;border-radius:50%}#pwa-install .material-button.secondary.close::after{width:25px;height:25px;border-radius:50%}#pwa-install .material-button.secondary.close::before{border-radius:50%}#pwa-install .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 .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 .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 .material-button:hover::before{opacity:.08}#pwa-install .material-button:hover:focus::before{opacity:.3}#pwa-install .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 .material-button:active::after{opacity:.32;transform:translate(-50%,-50%) scale(0);transition:transform 0s}@media(prefers-color-scheme:dark){#pwa-install .install-dialog.chrome{--text-color-normal:#fff;--background-color:#38373C}#pwa-install .install-dialog.chrome .material-button{--text-color-primary:#1B222C;--text-color-secondary:#89B4F8;--background-color-primary:#89B4F8}}`,ft=j`#pwa-install .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:-100px;transition:bottom .5s ease-in-out 1s,opacity 1.3s ease-in-out .8s,max-height .35s ease-in-out,border .35s ease-in-out;overflow:hidden;will-change:opacity,visibility,bottom,top}#pwa-install .install-dialog.apple.dialog-body{display:grid;grid-template-columns:95px auto 1fr;grid-template-rows:1fr auto;grid-template-areas:"icon description" "how-to how-to" "gallery gallery" "button button";border-radius:15px;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)}#pwa-install .install-dialog.apple.dialog-body .icon{display:flex;align-items:center;grid-area:icon;border-bottom:1px solid var(--border-bottom-color)}#pwa-install .install-dialog.apple.dialog-body .icon .icon-image{width:64px;height:64px;margin:0 auto;border-radius:6px}#pwa-install .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 .install-dialog.apple.dialog-body .about .description,#pwa-install .install-dialog.apple.dialog-body .about .name{padding-right:15px;overflow:hidden}#pwa-install .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 .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 .install-dialog.apple.dialog-body .about .close{height:25px;min-width:25px;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:transparent;cursor:pointer;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}#pwa-install .install-dialog.apple.dialog-body .about .close:active,#pwa-install .install-dialog.apple.dialog-body .about .close:hover{opacity:1;background-color:var(--background-color-button)}#pwa-install .install-dialog.apple .action-buttons{grid-area:button;grid-column-start:1;grid-column-end:3;gap:15px;padding:15px}#pwa-install .install-dialog.apple .dialog-button{display:grid;height:50px;width:100%;line-height:50px;border-radius:8px;color:var(--text-color-normal)}#pwa-install .install-dialog.apple .dialog-button.button{border:none;outline:0;font-family:system-ui,-apple-system,HelveticaNeue,BlinkMacSystemFont;cursor:pointer;user-select:none;font-weight:400;font-size:17px;padding:0;margin:0;background-color:var(--background-color-button)}#pwa-install .install-dialog.apple .dialog-button.button.gallery{display:flex;align-items:center}#pwa-install .install-dialog.apple .dialog-button.button.gallery #pwa-gallery{margin:0 auto;width:26px;fill:var(--text-color-normal)}#pwa-install .install-dialog.apple .dialog-button.button:active{background-color:var(--background-color-button-active)}#pwa-install .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 .install-dialog.apple .how-to-body .how-to-description{display:grid;user-select:none;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto 1fr;gap:10px;grid-template-areas:"title title title" ". . .";padding:15px;padding-bottom:0}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-title{font-size:16px;grid-area:title;text-align:center;font-weight:400;padding-bottom:5px;width:85%;margin:0 auto}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step{display:inline-flex;flex-direction:column;align-items:center;font-size:14px}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap{position:relative;display:inline-flex;background-color:var(--background-color-button);width:50px;height:50px;align-items:center;border-radius:6px}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-add,#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari,#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{margin:0 auto}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari,#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{fill:#527afb}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{margin-bottom:4px;transform:scale(.82)}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-add{transform:scale(.96);fill:var(--text-color-normal)}#pwa-install .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 .install-dialog.apple .how-to-body .how-to-description .description-step .step-text{margin-top:5px;text-align:center}#pwa-install .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 .install-dialog.apple pwa-gallery+.action-buttons{display:grid;grid-template-columns:64px auto}#pwa-install .install-dialog.apple.available{opacity:1;bottom:20px;visibility:visible}#pwa-install .install-dialog.apple.gallery pwa-gallery{transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out;max-height:70vh;opacity:1}#pwa-install .install-dialog.apple.how-to .dialog-body{border-bottom:1px solid #e0e0e0}#pwa-install .install-dialog.apple.how-to .how-to-body{opacity:1;max-height:400px;transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out}@media(min-width:768px){#pwa-install .install-dialog.apple{top:-100px;bottom:unset;transition:top .5s ease-in-out 1s,opacity 1.3s ease-in-out .8s,max-height .35s ease-in-out}#pwa-install .install-dialog.apple.available{top:28px;bottom:auto}}@media(max-width:767px){#pwa-install .install-dialog.apple .description-step .step-text{font-size:13px}}@media(max-width:420px){#pwa-install .install-dialog.apple{max-width:340px}}@media(max-width:370px){#pwa-install .install-dialog.apple{max-width:300px}}@media(prefers-color-scheme:dark){#pwa-install .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}}`,yt=1;const wt=(t=>(...e)=>({_$litDirective$:t,values:e}))(class extends class{constructor(t){}T(t,e,i){this.Σdt=t,this.M=e,this.Σct=i}S(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}{constructor(t){var e;if(super(t),t.type!==yt||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.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((e=>t[e])).join(" ")}update(t,[e]){if(void 0===this.bt){this.bt=new Set;for(const t in e)e[t]&&this.bt.add(t);return this.render(e)}const i=t.element.classList;this.bt.forEach((t=>{t in e||(i.remove(t),this.bt.delete(t))}));for(const o in e){const t=!!e[o];t!==this.bt.has(o)&&(t?(i.add(o),this.bt.add(o)):(i.remove(o),this.bt.delete(o)))}return S}}),xt=(t,e,i,o,s,l,a,n,r)=>k`<div id="pwa-install"><div class="install-dialog chrome ${wt({available:s,gallery:r})}"><div class="dialog-body"><div class="icon"><img src="${i}" alt="icon" class="icon-image"></div><div class="about"><div class="name">${t} <button class="material-button secondary close" @click='${l}'>✕</button></div><div class="description">${e}</div></div>${o.screenshots&&o.screenshots.length?k`<pwa-gallery .screenshots=${o.screenshots}></pwa-gallery>`:""}<div class="action-buttons">${o.screenshots&&o.screenshots.length?k`<button class="material-button secondary" @click='${n}'>${r?"Less":"More"}</button>`:""} <button class="material-button primary install" @click='${a}'>Install</button></div></div></div></div>`,kt=(t,e,i,o,s,l,a,n,r,d)=>k`<div id="pwa-install"><div class="install-dialog apple ${wt({available:s,"how-to":n,gallery:d})} dialog-body"><div class="icon"><img src="${i}" alt="icon" class="icon-image"></div><div class="about"><div class="name">${t} <button class="close" @click='${l}'>✕</button></div><div class="description">${e}</div></div><div class="how-to-body"><div class="how-to-description"><div class="description-title">Add this Web App to your Home Screen for quick and easy access.</div><div class="description-step"><div class="svg-wrap"><span class="step-count">1</span> <svg id="pwa-safari" viewBox="0 0 13.964 13.964" width="24" height="24"><path d="M6.982 0A6.99 6.99 0 000 6.982a6.99 6.99 0 006.982 6.982 6.99 6.99 0 006.982-6.982A6.99 6.99 0 006.982 0zm0 1.074a5.9 5.9 0 015.908 5.908 5.9 5.9 0 01-5.908 5.908 5.9 5.9 0 01-5.908-5.908 5.9 5.9 0 015.908-5.908zm3.76 2.148L5.6 5.624l-2.379 5.117 5.165-2.354zM6.963 6.288a.795.795 0 11-.001 1.59.795.795 0 010-1.59z" font-weight="400" font-family="sans-serif" overflow="visible"/></svg></div><div class="step-text">Open in Safari browser</div></div><div class="description-step"><div class="svg-wrap"><span class="step-count">2</span> <svg id="pwa-share" width="25" height="32"><g><path d="m12.51122,20.7648c0.52277,0 0.99149,-0.43265 0.99149,-0.95542l0,-14.87204l-0.09015,-2.0731l1.11768,1.15371l2.27135,2.37952c0.18028,0.19833 0.43265,0.30647 0.68502,0.30647c0.50476,0 0.90134,-0.37857 0.90134,-0.88332c0,-0.27039 -0.10817,-0.46869 -0.28844,-0.64895l-4.86721,-4.74103c-0.25237,-0.25237 -0.46869,-0.32448 -0.72106,-0.32448c-0.25237,0 -0.46869,0.0721 -0.72106,0.32448l-4.88523,4.74103c-0.18028,0.18028 -0.28844,0.37857 -0.28844,0.64895c0,0.50476 0.37857,0.88332 0.90134,0.88332c0.23436,0 0.50476,-0.10814 0.68502,-0.30647l2.27135,-2.37952l1.11768,-1.17172l-0.0721,2.09112l0,14.87204c0,0.52277 0.45066,0.95542 0.99145,0.95542l-0.00002,0l-0.00001,-0.00001zm-8.13005,10.96022l16.22403,0c2.86626,0 4.30841,-1.42412 4.30841,-4.23627l0,-14.27715c0,-2.79415 -1.44215,-4.23627 -4.30841,-4.23627l-3.96589,0l0,2.00095l3.92985,0c1.47819,0 2.34345,0.79316 2.34345,2.34345l0,14.06085c0,1.5503 -0.86527,2.34347 -2.34345,2.34347l-16.15194,0c-1.49625,0 -2.32547,-0.79317 -2.32547,-2.34347l0,-14.06085c0,-1.55029 0.82923,-2.34345 2.32547,-2.34345l3.96589,0l0,-2.00095l-4.00196,0c-2.84821,0 -4.29035,1.4241 -4.29035,4.23627l0,14.27715c0,2.81217 1.44215,4.23627 4.29035,4.23627l0.00001,0l0.00001,0z"/></g></svg></div><div class="step-text">Share in Navigation bar</div></div><div class="description-step"><div class="svg-wrap"><span class="step-count">3</span> <svg id="pwa-add" width="25" height="25"><g><path d="m23.40492,1.60784c-1.32504,-1.32504 -3.19052,-1.56912 -5.59644,-1.56912l-10.65243,0c-2.33622,0 -4.2017,0.24408 -5.5267,1.56912c-1.32504,1.34243 -1.56911,3.17306 -1.56911,5.50924l0,10.5827c0,2.40596 0.22665,4.254 1.55165,5.57902c1.34246,1.32501 3.19052,1.5691 5.59647,1.5691l10.60013,0c2.40592,0 4.2714,-0.24408 5.59644,-1.5691c1.325,-1.34245 1.55166,-3.17306 1.55166,-5.57902l0,-10.51293c0,-2.40596 -0.22666,-4.25401 -1.55166,-5.57901zm-0.38355,5.21289l0,11.24518c0,1.51681 -0.20924,2.94643 -1.02865,3.78327c-0.83683,0.83685 -2.30134,1.0635 -3.81815,1.0635l-11.33234,0c-1.51681,0 -2.96386,-0.22665 -3.80073,-1.0635c-0.83683,-0.83684 -1.04607,-2.26646 -1.04607,-3.78327l0,-11.19288c0,-1.5517 0.20924,-3.01617 1.02865,-3.85304c0.83687,-0.83683 2.31876,-1.04607 3.87042,-1.04607l11.28007,0c1.51681,0 2.98132,0.22666 3.81815,1.06353c0.81941,0.81941 1.02865,2.26645 1.02865,3.78327zm-10.53039,12.08205c0.64506,0 1.02861,-0.43586 1.02861,-1.13326l0,-4.34117l4.53294,0c0.66252,0 1.13326,-0.36613 1.13326,-0.99376c0,-0.64506 -0.43586,-1.02861 -1.13326,-1.02861l-4.53294,0l0,-4.53294c0,-0.6974 -0.38355,-1.13326 -1.02861,-1.13326c-0.62763,0 -0.99376,0.45332 -0.99376,1.13326l0,4.53294l-4.51552,0c-0.69737,0 -1.15069,0.38355 -1.15069,1.02861c0,0.62763 0.48817,0.99376 1.15069,0.99376l4.51552,0l0,4.34117c0,0.66252 0.36613,1.13326 0.99376,1.13326z"/></g></svg></div><div class="step-text">Add to Home Screen</div></div></div></div>${o.screenshots&&o.screenshots.length?k`<pwa-gallery .screenshots=${o.screenshots}></pwa-gallery>`:""}<div class="action-buttons">${o.screenshots&&o.screenshots.length?k`<button class="dialog-button button gallery" @click=${r}><svg id="pwa-gallery" width="26" height="26" viewBox="0 0 23.538 18.022"><path d="M2.79 18.022h17.958c1.834 0 2.79-.969 2.79-2.778V2.791C23.538.969 22.582 0 20.748 0H2.791C.956 0 0 .956 0 2.79v12.454c0 1.835.956 2.778 2.79 2.778zM.879 2.83C.878 1.55 1.55.88 2.816.88h17.906c1.228 0 1.938.671 1.938 1.95v12.067L16.756 9.47c-.517-.414-.995-.685-1.615-.685-.607 0-1.085.22-1.576.672L8.927 13.59l-1.938-1.796c-.426-.387-.853-.607-1.382-.607-.504 0-.879.207-1.305.594L.878 14.986zm6.46 6.356a2.39 2.39 0 002.377-2.39c0-1.304-1.072-2.39-2.377-2.39a2.401 2.401 0 00-2.39 2.39 2.393 2.393 0 002.39 2.39z"/></svg></button>`:""} <button class="dialog-button button install" @click=${a}>Install</button></div></div></div>`;var St=function(t,e,i,o){var s,l=arguments.length,a=l<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,o);else for(var n=t.length-1;n>=0;n--)(s=t[n])&&(a=(l<3?s(a):l>3?s(e,i,a):s(e,i))||a);return l>3&&a&&Object.defineProperty(e,i,a),a},At=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};let Rt=class extends ot{constructor(){super(...arguments),this.manifest=new rt,this["manifest-url"]="/manifest.json",this.icon="",this.name="",this.description="",this.platforms="",this.userChoiceResult="",this.isDialogHidden=JSON.parse(window.sessionStorage.getItem("pwa-hide-install")||"false"),this.isInstallAvailable=!1,this.isAppleMobilePlatform=!1,this.isUnderStandaloneMode=!1,this.isRelatedAppsInstalled=!1,this._howToRequested=!1,this._galleryRequested=!1,this._install={handleEvent:()=>{window.deferredEvent&&(window.deferredEvent.prompt(),window.deferredEvent.userChoice.then((t=>{this.userChoiceResult=t.outcome,bt.eventUserChoiceResult(this,this.userChoiceResult)})).catch((t=>{bt.eventInstalledFail(this)})),window.deferredEvent=null)},passive:!0},this.install=()=>{this.isAppleMobilePlatform?(this._howToRequested=!0,this.requestUpdate()):this._install.handleEvent()},this._hideDialog={handleEvent:()=>{this.isDialogHidden=!0,window.sessionStorage.setItem("pwa-hide-install","true"),this.requestUpdate()},passive:!0},this.hideDialog=()=>{this._hideDialog.handleEvent()},this.showDialog=()=>{this.isDialogHidden=!1,this.isInstallAvailable=!0,this.requestUpdate()},this.getInstalledRelatedApps=async()=>await bt.getInstalledRelatedApps(),this._howToForApple={handleEvent:()=>{this._howToRequested=!this._howToRequested,this._howToRequested&&this._galleryRequested&&(this._galleryRequested=!1),this.requestUpdate()},passive:!0},this._toggleGallery={handleEvent:()=>{this._galleryRequested=!this._galleryRequested,this._howToRequested&&this._galleryRequested&&(this._howToRequested=!1),this.requestUpdate()},passive:!0},this._init=()=>{window.deferredEvent=null,this._checkInstalled(),window.addEventListener("beforeinstallprompt",(t=>{window.deferredEvent=t,t.preventDefault(),this.platforms=t.platforms,this.isRelatedAppsInstalled||this.isUnderStandaloneMode?this.isInstallAvailable=!1:(this.isInstallAvailable=!0,bt.eventInstallAvailable(this)),"accepted"===this.userChoiceResult&&(this.isDialogHidden=!0,bt.eventInstalledSuccess(this)),this.requestUpdate()})),window.addEventListener("appinstalled",(t=>{window.deferredEvent=null,this.isInstallAvailable=!1,this.requestUpdate(),bt.eventInstalledSuccess(this)})),fetch(this["manifest-url"]).then((t=>{t.ok?t.json().then((t=>{this.icon=this.icon||t.icons[0].src,this.name=this.name||t.short_name||t.name,this.description=this.description||t.description,this.manifest=t})):(this.icon=this.icon||this.manifest.icons[0].src,this.name=this.name||this.manifest.short_name,this.description=this.description||this.manifest.description)}))}}static get styles(){return[mt,ft]}async _checkInstalled(){this.isUnderStandaloneMode=bt.isStandalone(),this.isRelatedAppsInstalled=await bt.isRelatedAppsInstalled(),this.isAppleMobilePlatform=bt.isAppleMobile(),this.isAppleMobilePlatform&&(this.isUnderStandaloneMode||setTimeout((()=>{this.isInstallAvailable=!0,this.requestUpdate(),bt.eventInstallAvailable(this)}),300))}connectedCallback(){this._init(),ut.finalized,super.connectedCallback()}render(){return this.isAppleMobilePlatform?k`${kt(this.name,this.description,this.icon,this.manifest,this.isInstallAvailable&&!this.isDialogHidden,this._hideDialog,this._howToForApple,this._howToRequested,this._toggleGallery,this._galleryRequested)}`:k`${xt(this.name,this.description,this.icon,this.manifest,this.isInstallAvailable&&!this.isDialogHidden,this._hideDialog,this._install,this._toggleGallery,this._galleryRequested)}`}};St([at(),At("design:type",Object)],Rt.prototype,"manifest-url",void 0),St([at(),At("design:type",Object)],Rt.prototype,"icon",void 0),St([at(),At("design:type",Object)],Rt.prototype,"name",void 0),St([at(),At("design:type",Object)],Rt.prototype,"description",void 0),Rt=St([st("pwa-install")],Rt)})(); | ||
(()=>{"use strict";const t=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,e=Symbol();class i{constructor(t,i){if(i!==e)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){return t&&void 0===this.t&&(this.t=new CSSStyleSheet,this.t.replaceSync(this.cssText)),this.t}toString(){return this.cssText}}const o=new Map,l=t=>{let l=o.get(t);return void 0===l&&o.set(t,l=new i(t,e)),l},a=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,o,l)=>e+(t=>{if(t instanceof i)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.")})(o)+t[l+1]),t[0]);return l(o)},s=t?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const i of t.cssRules)e+=i.cssText;return(t=>l("string"==typeof t?t:t+""))(e)})(t):t;var n,r,d,p;const c={toAttribute(t,e){switch(e){case Boolean:t=t?"":null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},h=(t,e)=>e!==t&&(e==e||t==t),g={attribute:!0,type:String,converter:c,reflect:!1,hasChanged:h};class u extends HTMLElement{constructor(){super(),this.Πi=new Map,this.Πo=void 0,this.Πl=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this.Πh=null,this.u()}static addInitializer(t){var e;null!==(e=this.v)&&void 0!==e||(this.v=[]),this.v.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((e,i)=>{const o=this.Πp(i,e);void 0!==o&&(this.Πm.set(o,i),t.push(o))})),t}static createProperty(t,e=g){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,o=this.getPropertyDescriptor(t,i,e);void 0!==o&&Object.defineProperty(this.prototype,t,o)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(o){const l=this[t];this[e]=o,this.requestUpdate(t,l,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||g}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this.Πm=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const i=new Set(t.flat(1/0).reverse());for(const t of i)e.unshift(s(t))}else void 0!==t&&e.push(s(t));return e}static"Πp"(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this.Πg=new Promise((t=>this.enableUpdating=t)),this.L=new Map,this.Π_(),this.requestUpdate(),null===(t=this.constructor.v)||void 0===t||t.forEach((t=>t(this)))}addController(t){var e,i;(null!==(e=this.ΠU)&&void 0!==e?e:this.ΠU=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this.ΠU)||void 0===e||e.splice(this.ΠU.indexOf(t)>>>0,1)}"Π_"(){this.constructor.elementProperties.forEach(((t,e)=>{this.hasOwnProperty(e)&&(this.Πi.set(e,this[e]),delete this[e])}))}createRenderRoot(){var e;const i=null!==(e=this.shadowRoot)&&void 0!==e?e:this.attachShadow(this.constructor.shadowRootOptions);return((e,i)=>{t?e.adoptedStyleSheets=i.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):i.forEach((t=>{const i=document.createElement("style");i.textContent=t.cssText,e.appendChild(i)}))})(i,this.constructor.elementStyles),i}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this.ΠU)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)})),this.Πl&&(this.Πl(),this.Πo=this.Πl=void 0)}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this.ΠU)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)})),this.Πo=new Promise((t=>this.Πl=t))}attributeChangedCallback(t,e,i){this.K(t,i)}"Πj"(t,e,i=g){var o,l;const a=this.constructor.Πp(t,i);if(void 0!==a&&!0===i.reflect){const s=(null!==(l=null===(o=i.converter)||void 0===o?void 0:o.toAttribute)&&void 0!==l?l:c.toAttribute)(e,i.type);this.Πh=t,null==s?this.removeAttribute(a):this.setAttribute(a,s),this.Πh=null}}K(t,e){var i,o,l;const a=this.constructor,s=a.Πm.get(t);if(void 0!==s&&this.Πh!==s){const t=a.getPropertyOptions(s),n=t.converter,r=null!==(l=null!==(o=null===(i=n)||void 0===i?void 0:i.fromAttribute)&&void 0!==o?o:"function"==typeof n?n:null)&&void 0!==l?l:c.fromAttribute;this.Πh=s,this[s]=r(e,t.type),this.Πh=null}}requestUpdate(t,e,i){let o=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||h)(this[t],e)?(this.L.has(t)||this.L.set(t,e),!0===i.reflect&&this.Πh!==t&&(void 0===this.Πk&&(this.Πk=new Map),this.Πk.set(t,i))):o=!1),!this.isUpdatePending&&o&&(this.Πg=this.Πq())}async"Πq"(){this.isUpdatePending=!0;try{for(await this.Πg;this.Πo;)await this.Πo}catch(t){Promise.reject(t)}const t=this.performUpdate();return null!=t&&await t,!this.isUpdatePending}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this.Πi&&(this.Πi.forEach(((t,e)=>this[e]=t)),this.Πi=void 0);let e=!1;const i=this.L;try{e=this.shouldUpdate(i),e?(this.willUpdate(i),null===(t=this.ΠU)||void 0===t||t.forEach((t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)})),this.update(i)):this.Π$()}catch(t){throw e=!1,this.Π$(),t}e&&this.E(i)}willUpdate(t){}E(t){var e;null===(e=this.ΠU)||void 0===e||e.forEach((t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}"Π$"(){this.L=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this.Πg}shouldUpdate(t){return!0}update(t){void 0!==this.Πk&&(this.Πk.forEach(((t,e)=>this.Πj(e,this[e],t))),this.Πk=void 0),this.Π$()}updated(t){}firstUpdated(t){}}var b,v,m,w;u.finalized=!0,u.elementProperties=new Map,u.elementStyles=[],u.shadowRootOptions={mode:"open"},null===(r=(n=globalThis).reactiveElementPlatformSupport)||void 0===r||r.call(n,{ReactiveElement:u}),(null!==(d=(p=globalThis).reactiveElementVersions)&&void 0!==d?d:p.reactiveElementVersions=[]).push("1.0.0-rc.2");const y=globalThis.trustedTypes,f=y?y.createPolicy("lit-html",{createHTML:t=>t}):void 0,x=`lit$${(Math.random()+"").slice(9)}$`,k="?"+x,S=`<${k}>`,E=document,R=(t="")=>E.createComment(t),$=t=>null===t||"object"!=typeof t&&"function"!=typeof t,A=Array.isArray,P=t=>{var e;return A(t)||"function"==typeof(null===(e=t)||void 0===e?void 0:e[Symbol.iterator])},_=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,C=/-->/g,H=/>/g,U=/>|[ \n\r](?:([^\s"'>=/]+)([ \n\r]*=[ \n\r]*(?:[^ \n\r"'`<>=]|("|')|))|$)/g,T=/'/g,z=/"/g,I=/^(?:script|style|textarea)$/i,M=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),O=M(1),L=(M(2),Symbol.for("lit-noChange")),N=Symbol.for("lit-nothing"),j=new WeakMap,D=E.createTreeWalker(E,129,null,!1),q=(t,e)=>{const i=t.length-1,o=[];let l,a=2===e?"<svg>":"",s=_;for(let r=0;r<i;r++){const e=t[r];let i,n,d=-1,p=0;for(;p<e.length&&(s.lastIndex=p,n=s.exec(e),null!==n);)p=s.lastIndex,s===_?"!--"===n[1]?s=C:void 0!==n[1]?s=H:void 0!==n[2]?(I.test(n[2])&&(l=RegExp("</"+n[2],"g")),s=U):void 0!==n[3]&&(s=U):s===U?">"===n[0]?(s=null!=l?l:_,d=-1):void 0===n[1]?d=-2:(d=s.lastIndex-n[2].length,i=n[1],s=void 0===n[3]?U:'"'===n[3]?z:T):s===z||s===T?s=U:s===C||s===H?s=_:(s=U,l=void 0);const c=s===U&&t[r+1].startsWith("/>")?" ":"";a+=s===_?e+S:d>=0?(o.push(i),e.slice(0,d)+"$lit$"+e.slice(d)+x+c):e+x+(-2===d?(o.push(void 0),r):c)}const n=a+(t[i]||"<?>")+(2===e?"</svg>":"");return[void 0!==f?f.createHTML(n):n,o]};class B{constructor({strings:t,_$litType$:e},i){let o;this.parts=[];let l=0,a=0;const s=t.length-1,n=this.parts,[r,d]=q(t,e);if(this.el=B.createElement(r,i),D.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(o=D.nextNode())&&n.length<s;){if(1===o.nodeType){if(o.hasAttributes()){const t=[];for(const e of o.getAttributeNames())if(e.endsWith("$lit$")||e.startsWith(x)){const i=d[a++];if(t.push(e),void 0!==i){const t=o.getAttribute(i.toLowerCase()+"$lit$").split(x),e=/([.?@])?(.*)/.exec(i);n.push({type:1,index:l,name:e[2],strings:t,ctor:"."===e[1]?Z:"?"===e[1]?G:"@"===e[1]?J:V})}else n.push({type:6,index:l})}for(const e of t)o.removeAttribute(e)}if(I.test(o.tagName)){const t=o.textContent.split(x),e=t.length-1;if(e>0){o.textContent=y?y.emptyScript:"";for(let i=0;i<e;i++)o.append(t[i],R()),D.nextNode(),n.push({type:2,index:++l});o.append(t[e],R())}}}else if(8===o.nodeType)if(o.data===k)n.push({type:2,index:l});else{let t=-1;for(;-1!==(t=o.data.indexOf(x,t+1));)n.push({type:7,index:l}),t+=x.length-1}l++}}static createElement(t,e){const i=E.createElement("template");return i.innerHTML=t,i}}function W(t,e,i=t,o){var l,a,s,n;if(e===L)return e;let r=void 0!==o?null===(l=i.Σi)||void 0===l?void 0:l[o]:i.Σo;const d=$(e)?void 0:e._$litDirective$;return(null==r?void 0:r.constructor)!==d&&(null===(a=null==r?void 0:r.O)||void 0===a||a.call(r,!1),void 0===d?r=void 0:(r=new d(t),r.T(t,i,o)),void 0!==o?(null!==(s=(n=i).Σi)&&void 0!==s?s:n.Σi=[])[o]=r:i.Σo=r),void 0!==r&&(e=W(t,r.S(t,e.values),r,o)),e}class Y{constructor(t,e){this.l=[],this.N=void 0,this.D=t,this.M=e}u(t){var e;const{el:{content:i},parts:o}=this.D,l=(null!==(e=null==t?void 0:t.creationScope)&&void 0!==e?e:E).importNode(i,!0);D.currentNode=l;let a=D.nextNode(),s=0,n=0,r=o[0];for(;void 0!==r;){if(s===r.index){let e;2===r.type?e=new F(a,a.nextSibling,this,t):1===r.type?e=new r.ctor(a,r.name,r.strings,this,t):6===r.type&&(e=new K(a,this,t)),this.l.push(e),r=o[++n]}s!==(null==r?void 0:r.index)&&(a=D.nextNode(),s++)}return l}v(t){let e=0;for(const i of this.l)void 0!==i&&(void 0!==i.strings?(i.I(t,i,e),e+=i.strings.length-2):i.I(t[e])),e++}}class F{constructor(t,e,i,o){this.type=2,this.N=void 0,this.A=t,this.B=e,this.M=i,this.options=o}setConnected(t){var e;null===(e=this.P)||void 0===e||e.call(this,t)}get parentNode(){return this.A.parentNode}get startNode(){return this.A}get endNode(){return this.B}I(t,e=this){t=W(this,t,e),$(t)?t===N||null==t||""===t?(this.H!==N&&this.R(),this.H=N):t!==this.H&&t!==L&&this.m(t):void 0!==t._$litType$?this._(t):void 0!==t.nodeType?this.$(t):P(t)?this.g(t):this.m(t)}k(t,e=this.B){return this.A.parentNode.insertBefore(t,e)}$(t){this.H!==t&&(this.R(),this.H=this.k(t))}m(t){const e=this.A.nextSibling;null!==e&&3===e.nodeType&&(null===this.B?null===e.nextSibling:e===this.B.previousSibling)?e.data=t:this.$(E.createTextNode(t)),this.H=t}_(t){var e;const{values:i,_$litType$:o}=t,l="number"==typeof o?this.C(t):(void 0===o.el&&(o.el=B.createElement(o.h,this.options)),o);if((null===(e=this.H)||void 0===e?void 0:e.D)===l)this.H.v(i);else{const t=new Y(l,this),e=t.u(this.options);t.v(i),this.$(e),this.H=t}}C(t){let e=j.get(t.strings);return void 0===e&&j.set(t.strings,e=new B(t)),e}g(t){A(this.H)||(this.H=[],this.R());const e=this.H;let i,o=0;for(const l of t)o===e.length?e.push(i=new F(this.k(R()),this.k(R()),this,this.options)):i=e[o],i.I(l),o++;o<e.length&&(this.R(i&&i.B.nextSibling,o),e.length=o)}R(t=this.A.nextSibling,e){var i;for(null===(i=this.P)||void 0===i||i.call(this,!1,!0,e);t&&t!==this.B;){const e=t.nextSibling;t.remove(),t=e}}}class V{constructor(t,e,i,o,l){this.type=1,this.H=N,this.N=void 0,this.V=void 0,this.element=t,this.name=e,this.M=o,this.options=l,i.length>2||""!==i[0]||""!==i[1]?(this.H=Array(i.length-1).fill(N),this.strings=i):this.H=N}get tagName(){return this.element.tagName}I(t,e=this,i,o){const l=this.strings;let a=!1;if(void 0===l)t=W(this,t,e,0),a=!$(t)||t!==this.H&&t!==L,a&&(this.H=t);else{const o=t;let s,n;for(t=l[0],s=0;s<l.length-1;s++)n=W(this,o[i+s],e,s),n===L&&(n=this.H[s]),a||(a=!$(n)||n!==this.H[s]),n===N?t=N:t!==N&&(t+=(null!=n?n:"")+l[s+1]),this.H[s]=n}a&&!o&&this.W(t)}W(t){t===N?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:"")}}class Z extends V{constructor(){super(...arguments),this.type=3}W(t){this.element[this.name]=t===N?void 0:t}}class G extends V{constructor(){super(...arguments),this.type=4}W(t){t&&t!==N?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name)}}class J extends V{constructor(){super(...arguments),this.type=5}I(t,e=this){var i;if((t=null!==(i=W(this,t,e,0))&&void 0!==i?i:N)===L)return;const o=this.H,l=t===N&&o!==N||t.capture!==o.capture||t.once!==o.once||t.passive!==o.passive,a=t!==N&&(o===N||l);l&&this.element.removeEventListener(this.name,this,o),a&&this.element.addEventListener(this.name,this,t),this.H=t}handleEvent(t){var e,i;"function"==typeof this.H?this.H.call(null!==(i=null===(e=this.options)||void 0===e?void 0:e.host)&&void 0!==i?i:this.element,t):this.H.handleEvent(t)}}class K{constructor(t,e,i){this.element=t,this.type=6,this.N=void 0,this.V=void 0,this.M=e,this.options=i}I(t){W(this,t)}}var Q,X,tt,et,it,ot;null===(v=(b=globalThis).litHtmlPlatformSupport)||void 0===v||v.call(b,B,F),(null!==(m=(w=globalThis).litHtmlVersions)&&void 0!==m?m:w.litHtmlVersions=[]).push("2.0.0-rc.3");(null!==(Q=(ot=globalThis).litElementVersions)&&void 0!==Q?Q:ot.litElementVersions=[]).push("3.0.0-rc.2");class lt extends u{constructor(){super(...arguments),this.renderOptions={host:this},this.Φt=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 e=this.render();super.update(t),this.Φt=((t,e,i)=>{var o,l;const a=null!==(o=null==i?void 0:i.renderBefore)&&void 0!==o?o:e;let s=a._$litPart$;if(void 0===s){const t=null!==(l=null==i?void 0:i.renderBefore)&&void 0!==l?l:null;a._$litPart$=s=new F(e.insertBefore(R(),t),t,void 0,i)}return s.I(t),s})(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this.Φt)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this.Φt)||void 0===t||t.setConnected(!1)}render(){return L}}lt.finalized=!0,lt._$litElement$=!0,null===(tt=(X=globalThis).litElementHydrateSupport)||void 0===tt||tt.call(X,{LitElement:lt}),null===(it=(et=globalThis).litElementPlatformSupport)||void 0===it||it.call(et,{LitElement:lt});const at=t=>e=>"function"==typeof e?((t,e)=>(window.customElements.define(t,e),e))(t,e):((t,e)=>{const{kind:i,elements:o}=e;return{kind:i,elements:o,finisher(e){window.customElements.define(t,e)}}})(t,e),st=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(i){i.createProperty(e.key,t)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function nt(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):st(t,e)}const rt=Element.prototype;rt.msMatchesSelector||rt.webkitMatchesSelector;class dt{constructor(){this.icons=[{src:""}],this.screenshots=null,this.short_name="PWA",this.name="Progressive web application",this.description="Progressive web application"}}const pt=a`.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 5px 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;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}}`,ct=(t,e,i)=>O`${t?O`<div id="paginated_gallery" class="gallery"><div class="gallery_scroller"><div class="scroller_wrap">${t.map((t=>O`<img draggable="false" src='${t.src}'>`))}</div></div><span class="btn prev" @click="${i}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96"><title/><path d="M39.3756,48.0022l30.47-25.39a6.0035,6.0035,0,0,0-7.6878-9.223L26.1563,43.3906a6.0092,6.0092,0,0,0,0,9.2231L62.1578,82.615a6.0035,6.0035,0,0,0,7.6878-9.2231Z" fill="%23999" fill-rule="evenodd"/></svg> </span><span class="btn next" @click="${e}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96"><title/><path d="M69.8437,43.3876,33.8422,13.3863a6.0035,6.0035,0,0,0-7.6878,9.223l30.47,25.39-30.47,25.39a6.0035,6.0035,0,0,0,7.6878,9.2231L69.8437,52.6106a6.0091,6.0091,0,0,0,0-9.223Z" fill="%23000" fill-rule="evenodd"/></svg></span></div>`:""}`;var ht=function(t,e,i,o){var l,a=arguments.length,s=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,o);else for(var n=t.length-1;n>=0;n--)(l=t[n])&&(s=(a<3?l(s):a>3?l(e,i,s):l(e,i))||s);return a>3&&s&&Object.defineProperty(e,i,s),s},gt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};let ut=class extends lt{constructor(){super(...arguments),this.screenshots=[],this.calcScrollSize=()=>{const t=this.shadowRoot.querySelector("#paginated_gallery");if(!t)return;const e=t.querySelector(".gallery_scroller");if(!e)return;const i=Array.from(e.querySelectorAll("img"));if(!i)return;const o=i.find((t=>t.offsetWidth+t.offsetLeft>=e.scrollLeft));return o?{scroller:e,item:o}:void 0},this.scrollToNextPage=()=>{const t=this.calcScrollSize();t&&t.item.nextElementSibling&&t.scroller.scrollTo({top:0,left:t.scroller.scrollLeft+t.scroller.clientWidth+t.item.nextElementSibling.clientWidth/2,behavior:"smooth"})},this.scrollToPrevPage=()=>{const t=this.calcScrollSize();t&&t.item.previousElementSibling&&t.scroller.scrollTo({top:0,left:t.scroller.scrollLeft-t.scroller.clientWidth-t.item.previousElementSibling.clientWidth/2,behavior:"smooth"})},this._init=()=>{}}static get styles(){return pt}firstUpdated(){const t=this.calcScrollSize();t&&setTimeout((()=>{t.scroller.scrollTo({top:0,left:0})}),300)}connectedCallback(){super.connectedCallback(),this._init()}render(){return O`${ct(this.screenshots,this.scrollToNextPage,this.scrollToPrevPage)}`}};ht([nt(),gt("design:type",Object)],ut.prototype,"screenshots",void 0),ut=ht([at("pwa-gallery")],ut);const bt=ut,vt=(t,e,i,o)=>O`<div class="touch-header" id="touch-header"></div><div class="body-header"><div class="icon"><img src="${i}" alt="icon" class="icon-image"></div><div class="about"><div class="name"><label>${t}</label></div><div class="hostname">${location.hostname}</div></div><button class="material-button primary install" @click='${o}'>Install</button></div><div class="description">${e}</div>`;var mt=function(t,e,i,o){var l,a=arguments.length,s=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,o);else for(var n=t.length-1;n>=0;n--)(l=t[n])&&(s=(a<3?l(s):a>3?l(e,i,s):l(e,i))||s);return a>3&&s&&Object.defineProperty(e,i,s),s},wt=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};let yt=class extends lt{constructor(){super(...arguments),this.props={name:"",description:"",icon:""},this.install={handleEvent:()=>{}},this.hideDialog={handleEvent:()=>{}},this._init=()=>{const t=document.body.style.overscrollBehaviorY,e=(e,i,o)=>{if(!e||!i||!o)return;let l=0;const a=i.clientHeight+o.clientHeight,s=t=>t.clientY||(t.changedTouches&&t.changedTouches.length?t.changedTouches[0].clientY:0),n=t=>{window.addEventListener("mouseup",r),window.addEventListener("mousemove",d),window.addEventListener("touchend",r),window.addEventListener("touchmove",d),l=s(t)-i.getBoundingClientRect().top,document.body.style.overscrollBehaviorY="contain"},r=i=>{if(document.body.style.overscrollBehaviorY=t,!(s(i)>=window.innerHeight-25))return window.innerHeight-s(i)>e.clientHeight/2.5?void p(i,window.innerHeight-e.clientHeight):void p(i,window.innerHeight-a-35);p(i,window.innerHeight+50,!0)},d=t=>{const i=s(t);i<=window.innerHeight-e.clientHeight+l||(e.style.setProperty("transition","none"),e.style.setProperty("--translateY",`translateY(${i-l}px)`))},p=(t,i,o)=>{window.removeEventListener("mouseup",r),window.removeEventListener("mousemove",d),window.removeEventListener("touchend",r),window.removeEventListener("touchmove",d),window.innerWidth>=768||(!i&&s(t)>=window.innerHeight-a?e.style.setProperty("--translateY",`translateY(calc(100vh - ${a}px))`):e.style.setProperty("--translateY",`translateY(${(i||s(t))+35}px)`),e.style.setProperty("transition","transform 500ms cubic-bezier(0.4, 0, 0, 1) 0s"),o&&setTimeout(this.hideDialog.handleEvent,250))};i.addEventListener("mousedown",n),i.addEventListener("touchstart",n),p(new MouseEvent("mouseup"),window.innerHeight-a-35)},i=()=>{e(this.parentElement?.parentElement,this.parentElement?.getElementsByClassName("touch-header")[0],this.parentElement?.getElementsByClassName("body-header")[0])};i(),window.addEventListener("resize",i)}}firstUpdated(){this._init()}createRenderRoot(){return this}connectedCallback(){super.connectedCallback()}render(){return O`${vt(this.props.name,this.props.description,this.props.icon,this.install)}`}};mt([nt(),wt("design:type",Object)],yt.prototype,"props",void 0),mt([nt(),wt("design:type",Object)],yt.prototype,"install",void 0),mt([nt(),wt("design:type",Object)],yt.prototype,"hideDialog",void 0),yt=mt([at("pwa-bottom-sheet")],yt);const ft=yt,xt=(t,e,i)=>{const o=new CustomEvent(e,{detail:{message:i}});t.dispatchEvent(o)};class kt{static isAppleMobile(){return!(!(["iPhone","iPad","iPod"].includes(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2)||!("serviceWorker"in navigator))}static isStandalone(){return!!(window.matchMedia("(display-mode: standalone)").matches||"standalone"in navigator&&!0===navigator.standalone)}static async getInstalledRelatedApps(){return"getInstalledRelatedApps"in navigator&&await navigator.getInstalledRelatedApps().then((t=>t)),[]}static async isRelatedAppsInstalled(){return!!(await this.getInstalledRelatedApps()).length}static eventInstalledSuccess(t){xt(t,"pwa-install-success-event","Application installation successfully processed (Chromium/Android only)")}static eventInstalledFail(t){xt(t,"pwa-install-fail-event","Application installation failed (Chromium/Android only)")}static eventUserChoiceResult(t,e){xt(t,"pwa-user-choice-result-event",e)}static eventInstallAvailable(t){xt(t,"pwa-install-available-event","Application installation available")}}const St=a`#pwa-install{user-select:none}#pwa-install .install-dialog{--text-color-normal:#333;--background-color:#fff;--border-bottom-color:#DBDCDE;font-family:Roboto,"Segoe UI",system-ui;position:fixed;display:inline-block;opacity:0;visibility:hidden;z-index:5}#pwa-install .install-dialog.chrome{max-width:380px;width:90%;min-height:90px;margin:0 auto;right:0;left:0;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:3px;top:-100px;transition:top .5s ease-in-out 1s,opacity 1.3s ease-in-out .8s,max-height .35s ease-in-out 0s}#pwa-install .install-dialog.chrome .dialog-body{display:grid;grid-template-columns:70px 1fr}#pwa-install .install-dialog.chrome .dialog-body .icon{display:flex;align-items:flex-start}#pwa-install .install-dialog.chrome .dialog-body .icon .icon-image{width:48px;height:48px;margin:0 auto;margin-top:10px;border-radius:3px}#pwa-install .install-dialog.chrome .dialog-body .about{display:grid;grid-template-rows:30px auto}#pwa-install .install-dialog.chrome .dialog-body .about .description,#pwa-install .install-dialog.chrome .dialog-body .about .name{padding:5px 10px;padding-left:5px;overflow:hidden}#pwa-install .install-dialog.chrome .dialog-body .about .name{font-weight:500;padding-top:10px;font-size:18px;line-height:24px;padding:5px 5px 0;align-items:flex-start;display:flex}#pwa-install .install-dialog.chrome .dialog-body .about .name label{text-overflow:ellipsis;word-break:break-all;white-space:nowrap;overflow:hidden}#pwa-install .install-dialog.chrome .dialog-body .about .description{font-size:14px;font-weight:400;opacity:.7;line-height:20px;padding-bottom:0;padding-right:15px;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;max-height:115px;overflow:hidden;overflow-y:auto;text-overflow:ellipsis}#pwa-install .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 .install-dialog.chrome .dialog-body .action-buttons .primary{grid-column-start:2}#pwa-install .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 .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 .install-dialog.chrome.available{opacity:1;top:15px;visibility:visible}#pwa-install .install-dialog.mobile{top:0;max-width:395px;width:95%;bottom:auto;transition:none;transform:translateY(100vh);border-radius:0;border-top-left-radius:15px;border-top-right-radius:15px;padding-bottom:35px}#pwa-install .install-dialog.mobile .dialog-body{grid-template-columns:1fr}#pwa-install .install-dialog.mobile .dialog-body .touch-header{height:30px;width:100%;padding-top:10px;box-sizing:border-box;cursor:grab}#pwa-install .install-dialog.mobile .dialog-body .touch-header:active{cursor:grabbing}#pwa-install .install-dialog.mobile .dialog-body .touch-header::before{content:"";width:35px;height:3px;border-radius:3px;background:#dbdce0;margin:0 auto;display:block}#pwa-install .install-dialog.mobile .dialog-body .body-header{display:grid;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 .install-dialog.mobile .dialog-body .body-header .install{text-transform:capitalize;height:40px}#pwa-install .install-dialog.mobile .dialog-body .body-header .about{grid-template-rows:auto auto;grid-gap:6px}#pwa-install .install-dialog.mobile .dialog-body .body-header .about .name{padding:0;line-height:20px;font-size:16px}#pwa-install .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}#pwa-install .install-dialog.mobile .dialog-body .body-header .icon .icon-image{margin:0;width:45px;height:45px}#pwa-install .install-dialog.mobile .dialog-body .description{font-size:14px;font-weight:400;padding:15px 20px 0;margin-bottom:15px;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;max-height:150px;overflow:hidden;text-overflow:ellipsis}#pwa-install .install-dialog.mobile .dialog-body pwa-gallery{max-height:100%;padding-bottom:15px;opacity:1}#pwa-install .install-dialog.mobile.available{--translateY:translateY(calc(100vh - 85px));opacity:1;top:0;visibility:visible;transform:var(--translateY)}#pwa-install .material-button{--text-color-primary:#fff;--text-color-secondary:#4285F4;--background-color-primary:#4285F4;--background-color-ripple:#fff;position:relative;display:inline-block;box-sizing:border-box;border:none;border-radius:4px;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 .material-button.primary{color:var(--text-color-primary);background-color:var(--background-color-primary)}#pwa-install .material-button.secondary{background-color:transparent;color:var(--text-color-secondary);box-shadow:none}#pwa-install .material-button.secondary::after,#pwa-install .material-button.secondary::before{background-color:var(--background-color-primary)}#pwa-install .material-button.secondary:active,#pwa-install .material-button.secondary:hover{box-shadow:none}#pwa-install .material-button.secondary.close{height:25px;min-width:25px;line-height:0;margin-right:0;margin-left:auto;padding:0;border-radius:50%}#pwa-install .material-button.secondary.close::after{width:25px;height:25px;border-radius:50%}#pwa-install .material-button.secondary.close::before{border-radius:50%}#pwa-install .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 .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 .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 .material-button:hover::before{opacity:.08}#pwa-install .material-button:hover:focus::before{opacity:.3}#pwa-install .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 .material-button:active::after{opacity:.32;transform:translate(-50%,-50%) scale(0);transition:transform 0s}@media(prefers-color-scheme:dark){#pwa-install .install-dialog{--text-color-normal:#fff;--background-color:#38373C;--border-bottom-color:#504F54}#pwa-install .install-dialog .material-button{--text-color-primary:#1B222C;--text-color-secondary:#89B4F8;--background-color-primary:#89B4F8}}@media(max-width:767px)and (min-height:495px){#pwa-install .install-dialog.chrome.mobile{display:inline-block}#pwa-install .install-dialog.chrome{display:none}}@media(min-width:768px),(max-height:495px){#pwa-install .install-dialog.chrome.mobile{display:none}#pwa-install .install-dialog.chrome{display:inline-block}}@media(max-height:420px){#pwa-install .install-dialog.chrome .dialog-body .about .description{-webkit-line-clamp:3;max-height:70px}}`,Et=a`#pwa-install .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:-100px;transition:bottom .5s ease-in-out 1s,opacity 1.3s ease-in-out .8s,max-height .35s ease-in-out,border .35s ease-in-out;overflow:hidden;will-change:opacity,visibility,bottom,top}#pwa-install .install-dialog.apple.dialog-body{display:grid;grid-template-columns:95px auto 1fr;grid-template-rows:1fr auto;grid-template-areas:"icon description" "how-to how-to" "gallery gallery" "button button";border-radius:15px;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)}#pwa-install .install-dialog.apple.dialog-body .icon{display:flex;align-items:center;grid-area:icon;border-bottom:1px solid var(--border-bottom-color)}#pwa-install .install-dialog.apple.dialog-body .icon .icon-image{width:64px;height:64px;margin:0 auto;border-radius:6px}#pwa-install .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 .install-dialog.apple.dialog-body .about .description,#pwa-install .install-dialog.apple.dialog-body .about .name{padding-right:15px;overflow:hidden}#pwa-install .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 .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 .install-dialog.apple.dialog-body .about .close{height:25px;min-width:25px;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:transparent;cursor:pointer;transition:opacity .2s ease-in-out,background-color .2s ease-in-out}#pwa-install .install-dialog.apple.dialog-body .about .close:active,#pwa-install .install-dialog.apple.dialog-body .about .close:hover{opacity:1;background-color:var(--background-color-button)}#pwa-install .install-dialog.apple .action-buttons{grid-area:button;grid-column-start:1;grid-column-end:3;gap:15px;padding:15px}#pwa-install .install-dialog.apple .dialog-button{display:grid;height:50px;width:100%;line-height:50px;border-radius:8px;color:var(--text-color-normal)}#pwa-install .install-dialog.apple .dialog-button.button{border:none;outline:0;font-family:system-ui,-apple-system,HelveticaNeue,BlinkMacSystemFont;cursor:pointer;user-select:none;font-weight:400;font-size:17px;padding:0;margin:0;background-color:var(--background-color-button)}#pwa-install .install-dialog.apple .dialog-button.button.gallery{display:flex;align-items:center}#pwa-install .install-dialog.apple .dialog-button.button.gallery #pwa-gallery{margin:0 auto;width:26px;fill:var(--text-color-normal)}#pwa-install .install-dialog.apple .dialog-button.button:active{background-color:var(--background-color-button-active)}#pwa-install .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 .install-dialog.apple .how-to-body .how-to-description{display:grid;user-select:none;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto 1fr;gap:10px;grid-template-areas:"title title title" ". . .";padding:15px;padding-bottom:0}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-title{font-size:16px;grid-area:title;text-align:center;font-weight:400;padding-bottom:5px;width:85%;margin:0 auto}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step{display:inline-flex;flex-direction:column;align-items:center;font-size:14px}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap{position:relative;display:inline-flex;background-color:var(--background-color-button);width:50px;height:50px;align-items:center;border-radius:6px}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-add,#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari,#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{margin:0 auto}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-safari,#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{fill:#527afb}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-share{margin-bottom:4px;transform:scale(.82)}#pwa-install .install-dialog.apple .how-to-body .how-to-description .description-step .svg-wrap #pwa-add{transform:scale(.96);fill:var(--text-color-normal)}#pwa-install .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 .install-dialog.apple .how-to-body .how-to-description .description-step .step-text{margin-top:5px;text-align:center}#pwa-install .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 .install-dialog.apple pwa-gallery+.action-buttons{display:grid;grid-template-columns:64px auto}#pwa-install .install-dialog.apple.available{opacity:1;bottom:20px;visibility:visible}#pwa-install .install-dialog.apple.gallery pwa-gallery{transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out;max-height:70vh;opacity:1}#pwa-install .install-dialog.apple.how-to .dialog-body{border-bottom:1px solid #e0e0e0}#pwa-install .install-dialog.apple.how-to .how-to-body{opacity:1;max-height:400px;transition:opacity .3s ease-in-out .2s,max-height .5s ease-in-out}@media(min-width:768px){#pwa-install .install-dialog.apple{top:-100px;bottom:unset;transition:top .5s ease-in-out 1s,opacity 1.3s ease-in-out .8s,max-height .35s ease-in-out}#pwa-install .install-dialog.apple.available{top:28px;bottom:auto}}@media(max-width:767px){#pwa-install .install-dialog.apple .description-step .step-text{font-size:13px}}@media(max-width:420px){#pwa-install .install-dialog.apple{max-width:340px}}@media(max-width:370px){#pwa-install .install-dialog.apple{max-width:300px}}@media(prefers-color-scheme:dark){#pwa-install .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}}`,Rt=1;const $t=(t=>(...e)=>({_$litDirective$:t,values:e}))(class extends class{constructor(t){}T(t,e,i){this.Σdt=t,this.M=e,this.Σct=i}S(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}{constructor(t){var e;if(super(t),t.type!==Rt||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.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((e=>t[e])).join(" ")}update(t,[e]){if(void 0===this.bt){this.bt=new Set;for(const t in e)e[t]&&this.bt.add(t);return this.render(e)}const i=t.element.classList;this.bt.forEach((t=>{t in e||(i.remove(t),this.bt.delete(t))}));for(const o in e){const t=!!e[o];t!==this.bt.has(o)&&(t?(i.add(o),this.bt.add(o)):(i.remove(o),this.bt.delete(o)))}return L}}),At=(t,e,i,o,l,a,s,n,r)=>{const d=()=>({available:l,gallery:r});return O`<div id="pwa-install"><div class="install-dialog chrome ${$t(d())}"><div class="dialog-body"><div class="icon"><img src="${i}" alt="icon" class="icon-image"></div><div class="about"><div class="name"><label>${t}</label> <button class="material-button secondary close" @click='${a}'>✕</button></div><div class="description">${e}</div></div>${o.screenshots&&o.screenshots.length?O`<pwa-gallery .screenshots=${o.screenshots}></pwa-gallery>`:""}<div class="action-buttons">${o.screenshots&&o.screenshots.length?O`<button class="material-button secondary" @click='${n}'>${r?"Less":"More"}</button>`:""} <button class="material-button primary install" @click='${s}'>Install</button></div></div></div><div class="install-dialog chrome mobile ${$t(d())}"><div class="dialog-body"><pwa-bottom-sheet .props=${{name:t,icon:i,description:e}} .install=${s} .hideDialog=${a}></pwa-bottom-sheet>${o.screenshots&&o.screenshots.length?O`<pwa-gallery .screenshots=${o.screenshots}></pwa-gallery>`:""}</div></div></div>`},Pt=(t,e,i,o,l,a,s,n,r,d)=>O`<div id="pwa-install"><div class="install-dialog apple ${$t({available:l,"how-to":n,gallery:d})} dialog-body"><div class="icon"><img src="${i}" alt="icon" class="icon-image"></div><div class="about"><div class="name">${t} <button class="close" @click='${a}'>✕</button></div><div class="description">${e}</div></div><div class="how-to-body"><div class="how-to-description"><div class="description-title">Add this Web App to your Home Screen for quick and easy access.</div><div class="description-step"><div class="svg-wrap"><span class="step-count">1</span> <svg id="pwa-safari" viewBox="0 0 13.964 13.964" width="24" height="24"><path d="M6.982 0A6.99 6.99 0 000 6.982a6.99 6.99 0 006.982 6.982 6.99 6.99 0 006.982-6.982A6.99 6.99 0 006.982 0zm0 1.074a5.9 5.9 0 015.908 5.908 5.9 5.9 0 01-5.908 5.908 5.9 5.9 0 01-5.908-5.908 5.9 5.9 0 015.908-5.908zm3.76 2.148L5.6 5.624l-2.379 5.117 5.165-2.354zM6.963 6.288a.795.795 0 11-.001 1.59.795.795 0 010-1.59z" font-weight="400" font-family="sans-serif" overflow="visible"/></svg></div><div class="step-text">Open in Safari browser</div></div><div class="description-step"><div class="svg-wrap"><span class="step-count">2</span> <svg id="pwa-share" width="25" height="32"><g><path d="m12.51122,20.7648c0.52277,0 0.99149,-0.43265 0.99149,-0.95542l0,-14.87204l-0.09015,-2.0731l1.11768,1.15371l2.27135,2.37952c0.18028,0.19833 0.43265,0.30647 0.68502,0.30647c0.50476,0 0.90134,-0.37857 0.90134,-0.88332c0,-0.27039 -0.10817,-0.46869 -0.28844,-0.64895l-4.86721,-4.74103c-0.25237,-0.25237 -0.46869,-0.32448 -0.72106,-0.32448c-0.25237,0 -0.46869,0.0721 -0.72106,0.32448l-4.88523,4.74103c-0.18028,0.18028 -0.28844,0.37857 -0.28844,0.64895c0,0.50476 0.37857,0.88332 0.90134,0.88332c0.23436,0 0.50476,-0.10814 0.68502,-0.30647l2.27135,-2.37952l1.11768,-1.17172l-0.0721,2.09112l0,14.87204c0,0.52277 0.45066,0.95542 0.99145,0.95542l-0.00002,0l-0.00001,-0.00001zm-8.13005,10.96022l16.22403,0c2.86626,0 4.30841,-1.42412 4.30841,-4.23627l0,-14.27715c0,-2.79415 -1.44215,-4.23627 -4.30841,-4.23627l-3.96589,0l0,2.00095l3.92985,0c1.47819,0 2.34345,0.79316 2.34345,2.34345l0,14.06085c0,1.5503 -0.86527,2.34347 -2.34345,2.34347l-16.15194,0c-1.49625,0 -2.32547,-0.79317 -2.32547,-2.34347l0,-14.06085c0,-1.55029 0.82923,-2.34345 2.32547,-2.34345l3.96589,0l0,-2.00095l-4.00196,0c-2.84821,0 -4.29035,1.4241 -4.29035,4.23627l0,14.27715c0,2.81217 1.44215,4.23627 4.29035,4.23627l0.00001,0l0.00001,0z"/></g></svg></div><div class="step-text">Share in Navigation bar</div></div><div class="description-step"><div class="svg-wrap"><span class="step-count">3</span> <svg id="pwa-add" width="25" height="25"><g><path d="m23.40492,1.60784c-1.32504,-1.32504 -3.19052,-1.56912 -5.59644,-1.56912l-10.65243,0c-2.33622,0 -4.2017,0.24408 -5.5267,1.56912c-1.32504,1.34243 -1.56911,3.17306 -1.56911,5.50924l0,10.5827c0,2.40596 0.22665,4.254 1.55165,5.57902c1.34246,1.32501 3.19052,1.5691 5.59647,1.5691l10.60013,0c2.40592,0 4.2714,-0.24408 5.59644,-1.5691c1.325,-1.34245 1.55166,-3.17306 1.55166,-5.57902l0,-10.51293c0,-2.40596 -0.22666,-4.25401 -1.55166,-5.57901zm-0.38355,5.21289l0,11.24518c0,1.51681 -0.20924,2.94643 -1.02865,3.78327c-0.83683,0.83685 -2.30134,1.0635 -3.81815,1.0635l-11.33234,0c-1.51681,0 -2.96386,-0.22665 -3.80073,-1.0635c-0.83683,-0.83684 -1.04607,-2.26646 -1.04607,-3.78327l0,-11.19288c0,-1.5517 0.20924,-3.01617 1.02865,-3.85304c0.83687,-0.83683 2.31876,-1.04607 3.87042,-1.04607l11.28007,0c1.51681,0 2.98132,0.22666 3.81815,1.06353c0.81941,0.81941 1.02865,2.26645 1.02865,3.78327zm-10.53039,12.08205c0.64506,0 1.02861,-0.43586 1.02861,-1.13326l0,-4.34117l4.53294,0c0.66252,0 1.13326,-0.36613 1.13326,-0.99376c0,-0.64506 -0.43586,-1.02861 -1.13326,-1.02861l-4.53294,0l0,-4.53294c0,-0.6974 -0.38355,-1.13326 -1.02861,-1.13326c-0.62763,0 -0.99376,0.45332 -0.99376,1.13326l0,4.53294l-4.51552,0c-0.69737,0 -1.15069,0.38355 -1.15069,1.02861c0,0.62763 0.48817,0.99376 1.15069,0.99376l4.51552,0l0,4.34117c0,0.66252 0.36613,1.13326 0.99376,1.13326z"/></g></svg></div><div class="step-text">Add to Home Screen</div></div></div></div>${o.screenshots&&o.screenshots.length?O`<pwa-gallery .screenshots=${o.screenshots}></pwa-gallery>`:""}<div class="action-buttons">${o.screenshots&&o.screenshots.length?O`<button class="dialog-button button gallery" @click=${r}><svg id="pwa-gallery" width="26" height="26" viewBox="0 0 23.538 18.022"><path d="M2.79 18.022h17.958c1.834 0 2.79-.969 2.79-2.778V2.791C23.538.969 22.582 0 20.748 0H2.791C.956 0 0 .956 0 2.79v12.454c0 1.835.956 2.778 2.79 2.778zM.879 2.83C.878 1.55 1.55.88 2.816.88h17.906c1.228 0 1.938.671 1.938 1.95v12.067L16.756 9.47c-.517-.414-.995-.685-1.615-.685-.607 0-1.085.22-1.576.672L8.927 13.59l-1.938-1.796c-.426-.387-.853-.607-1.382-.607-.504 0-.879.207-1.305.594L.878 14.986zm6.46 6.356a2.39 2.39 0 002.377-2.39c0-1.304-1.072-2.39-2.377-2.39a2.401 2.401 0 00-2.39 2.39 2.393 2.393 0 002.39 2.39z"/></svg></button>`:""} <button class="dialog-button button install" @click=${s}>Install</button></div></div></div>`;var _t=function(t,e,i,o){var l,a=arguments.length,s=a<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,i,o);else for(var n=t.length-1;n>=0;n--)(l=t[n])&&(s=(a<3?l(s):a>3?l(e,i,s):l(e,i))||s);return a>3&&s&&Object.defineProperty(e,i,s),s},Ct=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)};let Ht=class extends lt{constructor(){super(...arguments),this.manifest=new dt,this["manifest-url"]="/manifest.json",this.icon="",this.name="",this.description="",this.platforms="",this.userChoiceResult="",this.isDialogHidden=JSON.parse(window.sessionStorage.getItem("pwa-hide-install")||"false"),this.isInstallAvailable=!1,this.isAppleMobilePlatform=!1,this.isUnderStandaloneMode=!1,this.isRelatedAppsInstalled=!1,this._howToRequested=!1,this._galleryRequested=!1,this._install={handleEvent:()=>{window.deferredEvent&&(window.deferredEvent.prompt(),window.deferredEvent.userChoice.then((t=>{this.userChoiceResult=t.outcome,kt.eventUserChoiceResult(this,this.userChoiceResult)})).catch((t=>{kt.eventInstalledFail(this)})),window.deferredEvent=null)},passive:!0},this.install=()=>{this.isAppleMobilePlatform?(this._howToRequested=!0,this.requestUpdate()):this._install.handleEvent()},this._hideDialog={handleEvent:()=>{this.isDialogHidden=!0,window.sessionStorage.setItem("pwa-hide-install","true"),this.requestUpdate()},passive:!0},this.hideDialog=()=>{this._hideDialog.handleEvent()},this.showDialog=()=>{this.isDialogHidden=!1,this.isInstallAvailable=!0,this.requestUpdate()},this.getInstalledRelatedApps=async()=>await kt.getInstalledRelatedApps(),this._howToForApple={handleEvent:()=>{this._howToRequested=!this._howToRequested,this._howToRequested&&this._galleryRequested&&(this._galleryRequested=!1),this.requestUpdate()},passive:!0},this._toggleGallery={handleEvent:()=>{this._galleryRequested=!this._galleryRequested,this._howToRequested&&this._galleryRequested&&(this._howToRequested=!1),this.requestUpdate()},passive:!0},this._init=()=>{window.deferredEvent=null,this._checkInstalled(),window.addEventListener("beforeinstallprompt",(t=>{window.deferredEvent=t,t.preventDefault(),this.platforms=t.platforms,this.isRelatedAppsInstalled||this.isUnderStandaloneMode?this.isInstallAvailable=!1:(this.isInstallAvailable=!0,kt.eventInstallAvailable(this)),"accepted"===this.userChoiceResult&&(this.isDialogHidden=!0,kt.eventInstalledSuccess(this)),this.requestUpdate()})),window.addEventListener("appinstalled",(t=>{window.deferredEvent=null,this.isInstallAvailable=!1,this.requestUpdate(),kt.eventInstalledSuccess(this)})),fetch(this["manifest-url"]).then((t=>{t.ok?t.json().then((t=>{this.icon=this.icon||t.icons[0].src,this.name=this.name||t.short_name||t.name,this.description=this.description||t.description,this.manifest=t})):(this.icon=this.icon||this.manifest.icons[0].src,this.name=this.name||this.manifest.short_name,this.description=this.description||this.manifest.description)}))}}static get styles(){return[St,Et]}async _checkInstalled(){this.isUnderStandaloneMode=kt.isStandalone(),this.isRelatedAppsInstalled=await kt.isRelatedAppsInstalled(),this.isAppleMobilePlatform=kt.isAppleMobile(),this.isAppleMobilePlatform&&(this.isUnderStandaloneMode||setTimeout((()=>{this.isInstallAvailable=!0,this.requestUpdate(),kt.eventInstallAvailable(this)}),300))}connectedCallback(){this._init(),bt.finalized,ft.finalized,super.connectedCallback()}render(){return this.isAppleMobilePlatform?O`${Pt(this.name,this.description,this.icon,this.manifest,this.isInstallAvailable&&!this.isDialogHidden,this._hideDialog,this._howToForApple,this._howToRequested,this._toggleGallery,this._galleryRequested)}`:O`${At(this.name,this.description,this.icon,this.manifest,this.isInstallAvailable&&!this.isDialogHidden,this._hideDialog,this._install,this._toggleGallery,this._galleryRequested)}`}};_t([nt(),Ct("design:type",Object)],Ht.prototype,"manifest-url",void 0),_t([nt(),Ct("design:type",Object)],Ht.prototype,"icon",void 0),_t([nt(),Ct("design:type",Object)],Ht.prototype,"name",void 0),_t([nt(),Ct("design:type",Object)],Ht.prototype,"description",void 0),Ht=_t([at("pwa-install")],Ht)})(); | ||
//# sourceMappingURL=bundle.js.map |
{ | ||
"name": "@khmyznikov/pwa-install", | ||
"version": "0.0.7", | ||
"version": "0.0.8", | ||
"description": "PWA install dialog provide more convenience user experience and fix lack of native dialogs in some browsers.", | ||
@@ -19,18 +19,18 @@ "repository": { | ||
"devDependencies": { | ||
"@types/node": "^15.0.1", | ||
"@types/node": "^15.12.1", | ||
"clean-webpack-plugin": "4.0.0-alpha.0", | ||
"css-loader": "^5.2.4", | ||
"eslint": "^7.25.0", | ||
"css-loader": "^5.2.6", | ||
"eslint": "^7.28.0", | ||
"express": "^4.17.1", | ||
"extract-loader": "^5.1.0", | ||
"lit-scss-loader": "^1.0.1", | ||
"lit-scss-loader": "^1.1.0", | ||
"minify-lit-html-loader": "0.0.3", | ||
"sass": "^1.32.11", | ||
"sass-loader": "^11.0.1", | ||
"terser-webpack-plugin": "^5.1.1", | ||
"ts-loader": "9.1.1", | ||
"typescript": "^4.2.4", | ||
"sass": "^1.34.1", | ||
"sass-loader": "^12.0.0", | ||
"terser-webpack-plugin": "^5.1.3", | ||
"ts-loader": "9.2.2", | ||
"typescript": "^4.3.2", | ||
"typescript-lit-html-plugin": "^0.9.0", | ||
"webpack": "^5.36.0", | ||
"webpack-cli": "^4.6.0", | ||
"webpack": "^5.38.1", | ||
"webpack-cli": "^4.7.0", | ||
"webpack-dev-server": "^3.11.2", | ||
@@ -40,3 +40,3 @@ "webpack-merge": "^5.7.3" | ||
"dependencies": { | ||
"lit": "^2.0.0-rc.1" | ||
"lit": "^2.0.0-rc.2" | ||
}, | ||
@@ -43,0 +43,0 @@ "bugs": { |
[![Published on NPM](https://img.shields.io/npm/v/@khmyznikov/pwa-install.svg)](https://www.npmjs.com/package/@khmyznikov/pwa-install) | ||
## \<pwa-install\> - 13.5kB brotli compressed | ||
## \<pwa-install\> | ||
Installation dialog for Progressive web component. Provides more convenience user experience and fix lack of native dialogs in some browsers. | ||
Installation dialog for Progressive web component. Provides more convenience user experience and fix lack of native dialogs in some browsers. **13.5kB brotli** compressed bundle. | ||
## Gallery | ||
| iOS | iOS install | iOS gallery | | ||
|---|---|---| | ||
|![IMG_0345-min](https://user-images.githubusercontent.com/6115884/115908516-f0e99900-a472-11eb-87cc-2474246141a4.jpg)|![IMG_0347-min](https://user-images.githubusercontent.com/6115884/115908574-0494ff80-a473-11eb-8842-4a9e5a62ee7a.jpg)|![IMG_0346-min](https://user-images.githubusercontent.com/6115884/115908559-fe068800-a472-11eb-823f-f56cc7028145.jpg)| | ||
| Android | Android gallery | | ||
|![Screenshot_20210423-201134-min](https://user-images.githubusercontent.com/6115884/115908742-3a39e880-a473-11eb-90b0-e8ded05a9509.jpg)|![Screenshot_20210423-201144-min](https://user-images.githubusercontent.com/6115884/115908762-3f973300-a473-11eb-8feb-d895433fd2f3.jpg)| | ||
|![IMG_0345-min](https://user-images.githubusercontent.com/6115884/115908516-f0e99900-a472-11eb-87cc-2474246141a4.jpg)|![IMG_1541-min](https://user-images.githubusercontent.com/6115884/122636524-6203a080-d0f2-11eb-8ace-6af6f9f78d7b.jpg)|![IMG_0346-min](https://user-images.githubusercontent.com/6115884/115908559-fe068800-a472-11eb-823f-f56cc7028145.jpg)| | ||
| Android | Android gallery | Dark theme | | ||
|![Screenshot_20210619-152257-min](https://user-images.githubusercontent.com/6115884/122636298-2c11ec80-d0f1-11eb-9cbe-6332e1816f52.jpg)|![Screenshot_20210619-152248-min](https://user-images.githubusercontent.com/6115884/122636302-3207cd80-d0f1-11eb-8fbd-28be5e32bc00.jpg)|![Screenshot_20210619-151933-min](https://user-images.githubusercontent.com/6115884/122636317-51065f80-d0f1-11eb-8729-8403f430e534.jpg)| | ||
| Chrome | Chrome gallery | | ||
|---|---| | ||
|![Screenshot 2021-06-19 153758-min](https://user-images.githubusercontent.com/6115884/122636673-21585700-d0f3-11eb-823a-ff470f31abd4.jpg)|![Screenshot 2021-06-19 153810-min](https://user-images.githubusercontent.com/6115884/122636677-24ebde00-d0f3-11eb-9b62-2897d6da2176.jpg)| | ||
## Install | ||
@@ -106,3 +109,2 @@ | ||
## ROADMAP | ||
- dark theme | ||
- more params/methods/events | ||
@@ -109,0 +111,0 @@ - translation |
@@ -7,2 +7,3 @@ import { LitElement, html } from 'lit'; | ||
import PWAGalleryElement from './gallery'; | ||
import PWABottomSheetElement from './templates/chrome/bottom-sheet'; | ||
@@ -185,2 +186,4 @@ import Utils from './utils'; | ||
}); | ||
}; | ||
@@ -191,5 +194,10 @@ | ||
PWAGalleryElement.finalized; | ||
PWABottomSheetElement.finalized; | ||
super.connectedCallback(); | ||
} | ||
// firstUpdated() { | ||
// return; | ||
// } | ||
render() { | ||
@@ -196,0 +204,0 @@ if (this.isAppleMobilePlatform) |
@@ -17,3 +17,3 @@ import { html } from 'lit'; | ||
<div class="name"> | ||
${name} | ||
<label>${name}</label> | ||
<button class="material-button secondary close" @click='${hideDialog}'>✕</button> | ||
@@ -30,4 +30,11 @@ </div> | ||
</div> | ||
<div class="install-dialog chrome mobile ${classMap(installDialogClasses())}"> | ||
<div class="dialog-body"> | ||
<pwa-bottom-sheet .props=${{name, icon, description}} .install=${install} .hideDialog=${hideDialog}> | ||
</pwa-bottom-sheet> | ||
${manifest.screenshots && manifest.screenshots.length? html`<pwa-gallery .screenshots=${manifest.screenshots}></pwa-gallery>`: ''} | ||
</div> | ||
</div> | ||
</div>`; | ||
}; | ||
export default template; |
@@ -9,2 +9,3 @@ { | ||
], | ||
"useDefineForClassFields": false, | ||
"sourceMap": true, | ||
@@ -11,0 +12,0 @@ "declaration": true, |
@@ -13,15 +13,24 @@ const { resolve } = require('path'); | ||
htmlMinifier: { | ||
ignoreCustomFragments: [ | ||
/<\s/, | ||
/<=/ | ||
] | ||
} | ||
} | ||
}, | ||
ignoreCustomFragments: [ | ||
/<\s/, | ||
/<=/ | ||
] | ||
}, | ||
}, | ||
} | ||
], | ||
exclude: /node_modules/, | ||
include: [/template-.*\.ts$/, /template\.ts/] | ||
}, | ||
{ | ||
test: /\.ts?$/, | ||
use: [ | ||
{ | ||
loader: 'ts-loader' | ||
}, | ||
], | ||
], | ||
exclude: /node_modules/, | ||
}, | ||
{ | ||
@@ -28,0 +37,0 @@ test: /\.scss$/, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
750842
48
1390
113
Updatedlit@^2.0.0-rc.2