PageSourceSearch

https://mefemi.pl/gfx/pol/express_checkout.js.gzip?r=1791201447

js mefemi.pl collected 2026-10-10 01:42:04 UTC 197,859 bytes, 1 lines download raw bytes

1const AnimateElement=({element:e,afterFinish:t,options:i={duration:350,iterations:1,easing:"ease-in-out"}}={})=>{if(void 0===e)return;let s=null;return r=>{null!==s&&(s?.cancel?.(),s=null),s=e?.animate(r,i);const a=new Promise((e=>{s?.addEventListener("finish",(()=>{t?.(),e()}),{once:!0})}));return s?.play(),a}};class AnimateMobileModal{constructor(){this.animationInstance=null,this.modal=null,this.modalElement=null,this.modalWrapper=null,this.modalHandler=null,this.offset=0,this.handlerTop=null,this.handlerHeight=null,this.isHandlerInitialized=!1,this.useAnimationAPI=!1,this.steps=null,this.animationClassList="--animate-modal-return",this.initFunctions()}setModalPosition(e){this.modalWrapper.setAttribute("style",`--top-distance: ${e}px;`)}resetPos(){this.modalWrapper.removeAttribute("style"),!this.useAnimationAPI&&this.animationClassList&&this.modalWrapper.classList.remove(this.animationClassList)}initHandlerProps(){const e=this.modalHandler?.getBoundingClientRect();this.handlerTop=e?.top,this.handlerHeight=e?.height}setHandlerInitialize(e){this.isHandlerInitialized=!!e}initCssAnimationEvents(){this.modalWrapper?.addEventListener("animationend",(()=>{this.resetPos()}))}initFunctions(){this.onTouchMove=e=>{if(!e?.targetTouches?.[0])return;if(app_shop.vars.view>2)return;this.isHandlerInitialized||(this.initHandlerProps(),this.setHandlerInitialize(!0)),e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault();const{clientY:t}=e.targetTouches[0];if(0!=t&&!t)return;const i=t-this.handlerTop-this.handlerHeight;if(t+this.handlerHeight<=0)return;t<window.innerHeight-this.handlerHeight-this.offset&&i>=0&&this.setModalPosition(i)},this.onTouchEnd=e=>{if(!(app_shop.vars.view>2))if(this.setHandlerInitialize(!1),this.useAnimationAPI){const t=e?.targetTouches?.[0]?.clientY,i=[{transform:`translate(0, ${t}px)`},{transform:"translate(0, 0)"}];this.animationInstance(this.steps||i).then((()=>{this.resetPos()}))}else this.modalWrapper.classList.add(this.animationClassList)}}init(e={}){const{modal:t,wrapper:i,handler:s,steps:r,modalInstanceAnimate:a,useAnimationAPI:n,animationClassList:o}=e;this.steps=r||this.steps,this.useAnimationAPI=n||this.useAnimationAPI,this.animationClassList=o||this.animationClassList,this.modal=a||this.modal,this.modalElement=t||document.querySelector("#modal.--expchck")||this.modalElement,this.modalWrapper=i||this.modalElement?.querySelector(".modal__wrapper")||this.modalWrapper,this.modalHandler=s||this.modalWrapper?.querySelector(".modal__handler")||this.modalHandler,this.initHandlerProps(),this.useAnimationAPI?this.animationInstance=AnimateElement({element:this.modalWrapper}):this.initCssAnimationEvents(),this.modalHandler?.addEventListener("touchmove",this.onTouchMove),this.modalHandler?.addEventListener("touchend",this.onTouchEnd)}destroy(){this.modalHandler?.removeEventListener("touchmove",this.onTouchMove),this.modalHandler?.removeEventListener("touchend",this.onTouchEnd)}}const EXPCHCK_TXT={"Przelew zwykły":"Przelew zwykły","Przelew online":"Przelew online","Karta płatnicza":"Karta płatnicza","Płatność ratalna":"Płatność ratalna","Bony, karty podarunkowe":"Bony, karty podarunkowe","Faktura na termin":"Faktura na termin",Pobranie:"Pobranie","Płatność przelewem po dostawie":"Płatność przelewem po dostawie","Brak metod płatności":"Brak metod płatności","Pokaż wszystkie":"Pokaż wszystkie","Pokaż mniej":"Pokaż mniej","Zaksięgowane w kilka minut":"Zaksięgowane w kilka minut","Zaksięgowanie do 3 dni roboczych":"Zaksięgowanie do 3 dni roboczych",Dzisiaj:"Dzisiaj","Poniedziałek":"Poniedziałek",Wtorek:"Wtorek","Środa":"Środa",Czwartek:"Czwartek","Piątek":"Piątek",Sobota:"Sobota",Niedziela:"Niedziela",Gratis:"Gratis",pkt:"pkt","Brak dostępnych terminów":"Brak dostępnych terminów","Złóż zamówienie":"Złóż zamówienie","Więcej":"Więcej","Płatności":"Płatności","Adres dostawy":"Adres dostawy",Stan:"Stan",Prowincja:"Prowincja",Terytorium:"Terytorium",Region:"Region",Logowanie:"Logowanie","Wiadomość została wysłana":"Wiadomość została wysłana",confirmWarning:"Ostrzeżenie",confirmMessageSecond:"Twoje zamówienie nie zostało jeszcze złożone. Dopiero przejście do kolejnego etapu zamówienia oznacza wysłanie go do realizacji. Pamiętaj, że wracając do zamówienia za jakiś czas niektóre z produktów lub cen mogą być już nieaktualne",stopOrderButton:"Przerwij składanie zamówienia",continueOrderButton:"Kontynuuj składanie zamówienia","Dodaj nowy adres":"Dod
1aj nowy adres","Twoje konto":"Twoje konto","Zaloguj się":"Zaloguj się","Odbiór w punkcie":"Odbiór w punkcie","Odbiór osobisty":"Odbiór osobisty","Na adres":"Na adres","Dane do zamówienia":"Dane do zamówienia","Dane kupującego":"Dane kupującego","Szybki zakup":"Szybkie zakupy","Wpisz kod":"Wpisz kod","Wprowadź poprawny email lub numer telefonu":"Wprowadź poprawny email lub numer telefonu","Nie udało się wygenerować pinu. Spróbuj ponownie później":"Nie udało się wygenerować pinu. Spróbuj ponownie później",incorect_email:"Nieprawidłowy email","Wybierz opcję dostawy":"Wybierz opcję dostawy",empty_pass:"Podaj hasło",no_login:"Nieprawidłowe dane logowania",email_login:"Na Twój adres został wysłany e-mail, który pozwala na automatyczne zalogowanie się",pass_recover:"Na Twój adres został wysłany e-mail, który pozwali na zmianę hasła.","Nie udało się złożyć zamówienia. Upewnij się, że produkt jest w dalszym ciągu dostępny i spróbuj ponownie":"Nie udało się złożyć zamówienia. Upewnij się, że produkt jest w dalszym ciągu dostępny i spróbuj ponownie","Wprowadzony kod jest niepoprawny":"Wprowadzony kod jest niepoprawny","Wprowadzony kod wygasł":"Wprowadzony kod wygasł","Przekroczono limit nieudanych prób wprowadzenia kodu":"Przekroczono limit nieudanych prób wprowadzenia kodu","Wystąpił nieoczekiwany błąd. Proszę spróbować ponownie":"Wystąpił nieoczekiwany błąd. Proszę spróbować ponownie","Spróbuj ponownie za":"Spróbuj ponownie za","Wprowadź pełny kod":"Wprowadź pełny kod","Ostatnio wybrana opcja logowania w tym sklepie":"Ostatnio wybrana opcja logowania w tym sklepie","Nie udało się zapisać urządzenia":"Nie udało się zapisać urządzenia","Pomyślnie zapisano urządzenie":"Pomyślnie zapisano urządzenie","Biometryczne uwierzytelnienie urządzenia nie powiodło się":"Biometryczne uwierzytelnienie urządzenia nie powiodło się","Brak dostępnych kurierów":"Brak dostępnych kurierów","Produkt, który kupujesz nie jest już dostępny":"Produkt, który kupujesz nie jest już dostępny","Przejdź do koszyka":"Przejdź do koszyka","aby dowiedzieć się więcej":"aby dowiedzieć się więcej"};app_shop.fn.webAuthnExpChck=new WebAuthn({IAIAccountsUrl:app_shop.vars.IAIAccountsUrl,supportOpera:!1});const EXPCHCK_GQL={PAYMENTS:()=>JSON.stringify({query:"query {\n      paymentsMethod(isExpressCheckout: true) {\n        payments {\n          id\n          name\n          icon\n          methodAsGroup\n          paymentChannel {\n            id\n            name\n            icon\n          }\n          paymentSystem {\n            id\n            name\n          }\n          additionalClientCost {\n            costPercent\n            costFixedAmount {\n              value\n            }\n            minAmount {\n              value\n            }\n          }\n          terms {\n            supportsPaymentInitiationService\n            paymentInitiationServiceTerms {\
1n              id\n              type\n              clause\n            }\n          }\n        }\n        paymentsGroup {\n          id\n          name\n          icon\n        }\n        paymentsGroupTerms {\n          groupId\n          type\n          clausePrefix\n          clause\n        }\n        settings {\n          defaultPaymentMethodId\n        }\n      }\n    }"}),SHIPPING:e=>JSON.stringify({query:`query {\n      shipping(${e}) {\n        settings {\n          checked\n          orderDivisionEnabled\n          selectedPickup {\n            id\n            courierId\n            name\n            address {\n              buildingAndHouseNumber\n              city\n              country\n              postcode\n              street\n            }\n          }\n        }\n        shipping {\n          availability\n          calendar\n          calendarOption\n          comment\n          prepaid\n          minworthReached\n          workingDays\n          pointsSelected\n          pointsEnabled\n          pointsCost {\n            value\n            formatted\n          }\n          minworth {\n            formatted\n          }\n          courier {\n            id\n            icon\n            name\n            carrierName\n            pickupPoint\n            companyKey\n            companyGroupKey\n            fullId\n          }\n          cost {\n            value\n            formatted\n          }\n          deliveryTime {\n            time {\n              days\n            }\n            weekDay\n            weekAmount\n            today\n          }\n          courierPickupPoints {\n            id\n            courierId\n            name\n            requiredClientNumber\n            address {\n              buildingAndHouseNumber\n              city\n              country\n              postcode\n              street\n            }\n          }\n        }\n        shippingTime {\n          shippingTime {\n            time {\n              days\n              hours\n              minutes\n            }\n            workingDays\n            weekDay\n            weekAmount\n            today\n          }\n          unknownTime\n        }\n        shippingTimeLater {\n          shippingTime {\n            time {\n              days\n              hours\n              minutes\n            }\n            workingDays\n            weekDay\n            weekAmount\n            today\n          }\n          unknownTime\n        }\n        nonStandardizedInfo {\n          active\n          isAllowed\n          courierId\n        }\n      }\n    }`}),CLIENT:()=>JSON.stringify({query:"query {\n      client {\n        type\n        login\n        email\n        phone\n        birthDate\n        taxNumber\n        billingAddress {\n          firstname\n          lastname\n          firm\n          street\n          city\n          zipcode\n          country {\n            id\n          }\n          phone\n          provinceCode\n        }\n        deliveryAddresses {\n          id\n          firstname\n          lastname\n          firm\n          street\n          city\n          zipcode\n          country {\n            id\n          }\n          phone\n          isDefault\n          provinceCode\n        }\n        invoiceAddresses {\n          id\n          firstname\n          lastname\n          firm\n          street\n          city\n          zipcode\n          country {\n            id\n          }\n          phone\n          isDefault\n          provinceCode\n          taxNumber\n        }\n        shippingProfileId\n      }\n      shippingCountries(ShippingCountriesInput: { includeDeliveryProfile: true}) {\n        id\n        name\n        selected\n        provinces {\n          id\n          name\n          selected\n        }\n        provinceTypes\n      }\n    }"}),CLIENT_PROSPECT:()=>JSON.stringify({query:"query {\n      clientProspect {\n        email\n        phone\n        deliveryAddress {\n          id\n          firstname\n          lastname\n          firm\n          street\n          city\n          zipcode\n          country {\n            id\n          }\n          phone\n          isDefault\n          provinceCode\n        }\n        birthDate\n      }\n      shippingCountries(ShippingCountriesInput: { includeDeliveryProfile: true}) {\n        id\n        name\n        selected\n        provinces {\n          id\n          name\n          selected\n        }\n        provinceTypes\n      }\n    }"}),SHIPPING_COUNTRIES:()=>JSON.stringify({query:"query {\n      shippingCountries(ShippingCountriesInput: { includeDeliveryProfile: true}) {\n        id\n        name\n        selected\n        provinces {\n          id\n          name\n          selected\n        }\n        provinceTypes\n      }\n    }"}),HOLIDAYS:()=>JSON.stringify({query:"query {\n      pickupPoints(courierId: 0) {\n        holidays {\n          formatted\n        }\n      }\n    }"}),MAPS_API_KEY:()=>JSON.stringify({query:"query {\n      shop {\n        settings {\n          google {\n            mapsApiKey\n          }\n        }\n      }\n    }"}),SERVICES:e=>JSON.stringify({query:`query {\n      courierServices(${e}) {\n        calendar {\n          date {\n            day\n            month\n            year\n          }\n          type\n          availableServices {\n            id\n            name\n            price {\n              value\n              formatted\n            }\n            pointCost {\n              value\n              formatted\n            }\n            pointsEnabled\n            selectedForPrice\n          }\n        }\n      }\n    }`}),SETTINGS:()=>JSON.stringify({query:"query {\n      shop {\n        settings {\n          order {\n            personalDataProcessing {\n              dataProcessingText\n              emailProcessingChecked\n              emailProcessingText\n            }\n            availablePurchaseDocumentTypes {\n              invoiceOptions {\n                type\n                checked\n              }\n            }\n          }\n          client {\n            registrationFormFields {\n              vatId\n            }\n          }\n        }\n      }\n    }"}),BASKET_COST:e=>JSON.stringify({query:`query {\n      basket(${e}) {\n        basketCost {\n          totalProductsCost {\n            formatted\n          }\n          basketShippingCost {\n            shippingCostPoints\n            shippingCostAfterRebate {\n              value, formatted\n            }\n          }\n          prepaidCost {\n            value, formatted\n          }\n          insuranceCost {\n            value, formatted\n          }\n          totalRebateWithoutShipping {\n            value, formatted\n          }\n          paymentAmountFromClientBalance {\n            value, formatted\n          }\n          totalToPay {\n            formatted\n          }\n        }\n      }\n    }`}),ORDER_CREATE:e=>JSON.stringify({query:`mutation {\n      orderCreate(${e}) {\n        orderId\n        orderNumber\n        location\n      }\n    }`}),GENERATE_PIN:e=>JSON.stringify({query:`query {\n      expressCheckoutGenerateOtp(UserIdentifier: "${e?.replace?.(/"/g,'\\"')}", IAIAccountsConsent: true) {\n        isGenerated\n        isLimitExceeded\n        exceededLimits {\n          eventType\n          eventMaxTries\n          isTimeLimited\n          timeLimit {\n            eventBlockTime\n            eventRemainingBLockTime\n          }\n        }\n      }\n    }`}),VERIFY_PIN:e=>JSON.stringify({query:`query {\n      expressCheckoutVerifyOtp(Pin: "${e?.replace?.(/"/g,'\\"')}") {\n        isVerified\n        verificationToken\n        needRegistration\n        exceededLimits {\n          eventType\n          eventMaxTries\n          isTimeLimited\n          timeLimit {\n            eventBlockTime\n            eventRemainingBLockTime\n          }\n        }\n        isLimitExceeded\n        isPinExpired\n      }\n    }`}),LOGIN:(e,t)=>JSON.stringify({query:`mutation {\n      login(login: "${e?.replace?.(/"/g,'\\"')}", password: "${t?.replace?.(/"/g,'\\"')}") {\n        status\n      }\n    }`}),CHECK_CLIENT_EMAIL_EXIST:e=>JSON.stringify({query:`query {\n      validateClientData(ClientDataInput: {\n        clientData: {\n          email: "${e?.replace?.(/"/g,'\\"')}"\n        }\n      }) {\n        clientExists\n        clientProposedLogin\n        isClientLoggedIn\n        messages {\n          code\n        }\n      }\n    }`}),CHECK_CLIENT_LOGIN_EXIST:e=>JSON.stringify({query:`query {\n      validateClientData(ClientDataInput: {\n        loginAndPassword: {\n          login: "${e?.replace?.(/"/g,'\\"')}"\n        }\n      }) {\n        messages {\n          code\n        }\n      }\n    }`}),LOGIN_OPTION:e=>JSON.stringify({query:`query {\n      loginOptions(LoginOptionsInput: {\n        redirectUrl: "${e?.replace?.(/"/g,'\\"')}",\n        isWholesaler: false,\n      }) {\n        options {\n          id\n          name\n          loginUrl\n          isConnected\n          disconnectUrl\n        }\n      }\n    }`}),CLEAR_BASKET:()=>JSON.stringify({query:"mutation {\n      clearBasket {\n        status\n      }\n    }"}),SET_REGION:e=>JSON.stringify({query:`mutation {\n      setRegion(${e}) {\n        status\n        error {\n          code\n          message\n        }\n      }\n    }`}),SET_ZIPCODE:e=>JSON.stringify({query:`mutation {\n      setTemporaryZipcode(${e}) {\n        status\n        error {\n          code\n          message\n        }\n      }\n    }`}),SET_REGION_AND_ZIPCODE:(e,t)=>JSON.stringify({query:`mutation {\n      setRegion(${e}) {\n        status\n        error {\n          code\n          message\n        }\n      }\n      setTemporaryZipcode(${t}) {\n        status\n        error {\n          code\n          message\n        }\n      }\n    }`}),UNSET_REGION:()=>JSON.stringify({query:"mutation {\n      unsetTemporaryRegion {\n        status\n        error {\n          code\n          message\n        }\n      }\n    }"}),UNSET_ZIPCODE:()=>JSON.stringify({query:"mutation {\n      unsetTemporaryZipcode {\n        status\n        error {\n          code\n          message\n        }\n      }\n    }"}),UNSET_REGION_AND_ZIPCODE:()=>JSON.stringify({query:"mutation {\n      unsetTemporaryRegion {\n        status\n        error {\n          code\n          message\n        }\n      }\n      unsetTemporaryZipcode {\n        status\n        error {\n          code\n          message\n        }\n      }\n    }"})},modalInstance=new Modal({notInit:!0});class ExpressCheckout{constructor(e={}){this.prefix=e.prefix||"expchck",this.logged=e.logged||app_shop.vars.logged||!1,this.minDelayTime=400,this.modal=modalInstance,this.modalClasses="--expchck --mobile",this.txt={...EXP
1CHCK_TXT},this.queries={...EXPCHCK_GQL},this.language=e.language||app_shop?.vars?.language?.symbol||"pl",this.locale={shortWeekdays:[],weekdays:[this.txt.Dzisiaj,this.txt["Poniedziałek"],this.txt.Wtorek,this.txt["Środa"],this.txt.Czwartek,this.txt["Piątek"],this.txt.Sobota,this.txt.Niedziela]},this.provinceTypes={state:this.txt.Stan,province:this.txt.Prowincja,territory:this.txt.Terytorium,region:this.txt.Region},this.state={saveDevice:!0,phoneNumber:"",email:"",loginType:"",productData:{},prospect:!0},this.getLocale(),this.ModalAnimationClass=AnimateMobileModal||e.ModalAnimationClass||null,"function"==typeof this.ModalAnimationClass&&(this.ModalAnimationClass=new this.ModalAnimationClass)}leavePageModal(e,t){return e.classList.contains("--prev")||e.classList.contains("--go")||this.goStep("leavePage",{state:this.state}),!1}async returnBasket(e=!0){const t=sessionStorage.getItem("oldBasket")||null;t?await this.buildBasket(JSON.parse(t)):e&&(await this.clearBasket(),"function"==typeof menu_basket_cache?menu_basket_cache():"function"==typeof app_shop.fn.menu_basket_cache&&app_shop.fn.menu_basket_cache())}async clearBasket(){await this.fetchData({data:this.queries.CLEAR_BASKET(),linkParameter:"?query=clearBasket",alert:!1})}async getBasketForm(){if(!app_shop.vars.basketLink)return!1;try{await fetch(app_shop.vars.basketLink).then((e=>{e.text().then((e=>{const t=(new DOMParser).parseFromString(e,"text/html").querySelector('form[action*="basketchange"]');if(sessionStorage.removeItem("oldBasket"),!t)return;const i=new FormData(t),s={};for(let[e,t]of i.entries())s[e]=t;sessionStorage.setItem("oldBasket",JSON.stringify(s))}))}))}catch(e){return!1}}async buildBasket(e){if(await this.clearBasket(),!e&&!sessionStorage.getItem("productData"))return!1;const t=new URLSearchParams(e||JSON.parse(sessionStorage.getItem("productData")));t.append("getAjax",!0),t.append("mode",1);try{const i=await fetch(e?"/basketchange.php?type=multiproduct":"/basketchange.php",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",Accept:"application/json"},body:t});await(app_shop.graphql?.trackingEvents(i));const s=await i.json();if(app_shop.vars.returnLink)try{fetch(app_shop.vars.returnLink)}catch(e){return!1}return"function"==typeof menu_basket_cache?menu_basket_cache():"function"==typeof app_shop.fn.menu_basket_cache&&app_shop.fn.menu_basket_cache(),s}catch(e){return!1}}debounce(e,t=500){let i;return(...s)=>{clearTimeout(i),i=setTimeout((()=>e(...s)),t)}}getDelayTime(e,t=this.minDelayTime){const i=Date.now()-e;let s=0;return i<t&&(s=t-i),s}delay(e,t=this.minDelayTime){return new Promise((i=>setTimeout(i,this.getDelayTime(e,t))))}findGroupTerms({groupId:e,paymentNames:t,paymentsGroupTerms:i}){return i.filter((t=>t.groupId===e)).filter((e=>!t||t===[]||t.includes(e.type)))}addLoading(){const e=document.querySelector(".modal");e?.classList.add("--loading");const t=document.querySelector(`.${this.prefix}_summary_submit_mobile`);e?.classList.contains("--summary")&&t?.classList.add("--loading")}removeLoading(){const e=document.querySelector(".modal");e?.classList.remove("--loading");const t=document.querySelector(`.${this.prefix}_summary_submit_mobile`);e?.classList.contains("--summary")&&t?.classList.remove("--loading")}createInfo(e){const t=document.createElement("div");t.classList.add("menu_messages_message");const i=document.createElement("p");return i.textContent=e,t.appendChild(i),t}getLocale(){for(let e=0;e<7;e++){let t=new Date(0,0,e).toLocaleString(this.language,{weekday:"short"});t=`${t.charAt(0).toUpperCase()}${t.substring(1,t.length)}`,this.locale.shortWeekdays.push(t)}}splitStreetNumber(e){if(0===e.length)return{street:"",number:""};const t=e.match(/[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u
10EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]+|[^\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u
10EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]+/gi);let i=!1;const s=[],r=[];t.reverse().forEach((e=>{!/\d/.test(e)&&e.length>2&&!i&&(i=!0),i?s.push(e):r.push(e)}));let a=s.reverse().join("").trim(),n=r.reverse().join("").trim();const o=n.split(/\/| /).filter((e=>""!==e));if(3===o.length){const e=o.reverse().reduce(((e,t,i)=>i>1?e+t:e),"");a+=` ${e}`,n=n.replace(` ${e}`,"")}
1return{street:a,number:n}}checkNotCompletedStreetNumber(e){const t=e.closest(`.${this.prefix}_inputs`);if(!t)return;const i=t.querySelector("#client_street")||t.querySelector("#delivery_street")||t.querySelector("#invoice_street");if(!i||""===i.value)return;const s=t.querySelector(`${i.getAttribute("data-concat-from")}`),r=this.splitStreetNumber(i.value);s&&""!==r.number&&(i.value=r.street,s.value=r.number,this.addFocus(t))}afterValidateInput(e){e.name&&-1===e.name.indexOf("_street")&&-1===e.name.indexOf("_street_number")&&this.checkNotCompletedStreetNumber(e)}replaceAttributes(e,t){if(!e)return;"summary_invoice"===t&&e.classList.add("--address");e.getAttributeNames().forEach((i=>{let s=e.getAttribute(i);s.includes("%s")&&(s=s.replace(/%s/g,t),e.setAttribute(i,s))}))}province(e){const{wrapper:t,region:i,province:s}=e;if(!t)return;t.querySelectorAll("[data-region-province]").forEach((e=>{if(+e.getAttribute("data-region-province")===+i){if(s){const t=e.querySelector('select[data-name="province"]');t&&(t.value=s)}t.classList.contains("--hidden")||e.classList.remove("--hidden")}else e.classList.add("--hidden")}))}setProvinces(e={}){const{wrapper:t,countries:i=[],wrapperName:s="client",selectedProvince:r,selectedRegion:a}=e;i.forEach((e=>{const{provinces:i=[],provinceTypes:n=[]}=e;if(!i.length)return;const o=document.getElementById(`${this.prefix}_provinces`)?.content.cloneNode(!0);if(!o)return;this.replaceAttributes(o.firstChild,s),o.firstChild.id=`${s}_region_${e.id}`,o.firstChild.setAttribute("data-region-province",e.id),+e.id===+a&&o.firstChild.classList.remove("--hidden");const c=o.querySelector("select");if(!c)return;this.replaceAttributes(c,s);const u=n.map((e=>this.provinceTypes[e])).join(" / ");c.setAttribute("data-label",`${u}:`),c.id=`${c.name}_${e.id}`,i.forEach((e=>{const t=document.createElement("option");t.value=e.id,t.textContent=e.name,(r===e.id||""===r&&e.selected)&&t.setAttribute("selected","selected"),c.appendChild(t)})),t.appendChild(o)}))}setCountries(e={}){const{wrapper:t,countries:i=[],selectedRegion:s,wrapperName:r="client"}=e;if(!t)return;const a=document.getElementById(`${this.prefix}_countries`)?.content.cloneNode(!0);if(!a)return;this.replaceAttributes(a.firstChild,r);const n=a.querySelector("select");n&&(this.replaceAttributes(n,r),i.forEach((e=>{const t=document.createElement("option");t.value=e.id,t.textContent=e.name,(s&&+s===+e.id||!s&&e.selected)&&t.setAttribute("selected","selected"),n.appendChild(t)})),t.appendChild(a),this.setProvinces(e))}setType({wrapper:e,type:t,notValidate:i}){if("firm"===t){const t=e.querySelector('[data-name="type"][value="firm"]');if(!t)return;return t.checked=!0,void this.onChangeClientType(t,i)}const s=e.querySelector('[data-name="type"][value="private"]');if(s)if(s.checked=!0,this.onChangeClientType(s,i),"male"!==t){if("female"===t){const t=e.querySelector('[data-name="sex"][value="female"]');if(!t)return;t.checked=!0}}else{const t=e.querySelector('[data-name="sex"][value="male"]');if(!t)return;t.checked=!0}}setInputs(e={}){const{wrapper:t,countries:i,wrapperName:s,login:r=!1}=e;if(!t)return;const a=i?.find?.((e=>e.selected))?.id||i?.[0]?.id;Object.entries(e).forEach((([i,s])=>{if("type"===i)return;const n=t.querySelector(`[data-name="${i}"]`);n&&(n.value=s||"",n.hasAttribute("data-region")&&n.setAttribute("data-region",e.region||a),"email"===i&&r===s&&""!==r&&n.setAttribute("readonly","readonly"),"phone"===i&&r===s&&""!==r&&n.setAttribute("readonly","readonly"))})),e.type&&this.setType({wrapper:t.parentNode,type:e.type,notValidate:!0}),i?.length&&this.setCountries({wrapper:t,countries:i,selectedRegion:e.region,selectedProvince:e.province,wrapperName:s})}disableInputs(e){const t=e.querySelectorAll("input, select"),i=e.classList.contains("--hidden");t.forEach((e=>{const{nextElementSibling:t}=e;if(i)return e.disabled=!0,void(t?.classList?.contains("f-dropdown-toggle")&&t.classList.add("--disabled"));e.disabled=!1,t?.classList?.contains("f-dropdown-toggle")&&t.classList.remove("--disabled");const s=e.closest("[data-region-province]");s?.classList?.contains("--hidden")&&(e.disabled=!0)}))}onChangeClientType(e,t){const i=e.closest(`.${this.prefix}_client`);if(!i)return;const{value:s}=e,r="firm"===s?"remove":"add",a="firm"===s?"add":"remove";i.querySelectorAll("[data-firm]").forEach((e=>{if("show"===e.getAttribute("data-firm"))return e.classList[r]("--hidden"),void this.disableInputs(e);e.classList[a]("--hidden"),this.disableInputs(e)}));const n=i.querySelector("#client_firstname");n&&(n.toggleAttribute("required","firm"!==s),this.validate.removeValidityState(n));const o=i.querySelector("#client_lastname");o&&(o.toggleAttribute("required","firm"!==s),this.validate.removeValidityState(o)),t||this.validate.validateForm(i)}renameKeysObject(e,t){const i=Object.keys(e).map((i=>{const s=t[i]||i;return{[s]:e[i]}}));return Object.assign({},...i)}getFormattedDataFromAddress(e,t){const i=this.renameKeysObject(e,{taxNumber:"nip",provinceCode:"province"});if(i.street){const e=this.splitStreetNumber(i.street);i.street=e.street,i.streetNumber=e.number}const s=e?.country?.id;return i.region=s,delete i.country,delete i.id,delete i.isDefault,t&&(delete i.firstname,delete i.lastname,delete i.nip,delete i.phone),i}getValue(e,t,i=""){return e.querySelector(t)?.value??i}
1removeActiveAddress(e){e.deliveryAddresses.forEach((e=>{e.isActive=!1})),this.setData(`${this.prefix}Client`,{data:{client:{...e},shippingCountries:this.shippingCountries}})}compareAddresses(e={},t={}){return Object.entries(e).reduce(((e,[i,s])=>{if("object"!=typeof s||null===s||Array.isArray(s)||void 0===t?.[i]){if(void 0===t?.[i]||t?.[i]?.toString()?.trim()!==s?.toString()?.trim())return{...e,[i]:s}}else{const r=this.compareAddresses(s,t?.[i]);if(Object.keys(r).length>0)return{...e,[i]:r}}return e}),{})}async setRegionAndZipcode({diff:e={},type:t,clientData:i}={}){const s="billing"===t&&this.getRegion({clientData:i}),r="delivery"===t&&this.getRegion({clientData:i,type:"delivery"}),{country:{id:a}={},zipcode:n}=e,o=`SetRegionInput: {\n      billingRegionId: ${s||a},\n      deliveryRegionId: ${r||a},\n      areForced: true,\n    }`,c=`SetTemporaryZipcodeInput: {\n      billingZipcode: "${"billing"===t&&this.getZipcode({clientData:i})||n}",\n      deliveryZipcode: "${"delivery"===t&&this.getZipcode({clientData:i,type:"delivery"})||n}",\n    }`;return a&&n?(await this.fetchData({data:this.queries.SET_REGION_AND_ZIPCODE(o,c),linkParameter:"?mutation=setRegionAndZipcode"}),void this.clearCache([`${this.prefix}Shipping`,`${this.prefix}Payments`])):a?(await this.fetchData({data:this.queries.SET_REGION(o),linkParameter:"?mutation=setRegion"}),void this.clearCache([`${this.prefix}Shipping`,`${this.prefix}Payments`])):(await this.fetchData({data:this.queries.SET_ZIPCODE(c),linkParameter:"?mutation=setZipcode"}),void this.clearCache([`${this.prefix}Shipping`]))}getRegion({clientData:e,type:t}){if(!e)return 1143020003;if("delivery"===t){const t=e.deliveryAddresses.find((e=>e.isActive))||e.deliveryAddresses.find((e=>e.isDefault))||e.deliveryAddresses[e.deliveryAddresses.length-1];return t?.country?.id}const i=e.deliveryAddresses.find((e=>e.isDefault))||e.deliveryAddresses[e.deliveryAddresses.length-1];return i?.country?.id}getZipcode({clientData:e,type:t}){if(!e)return"";if("delivery"===t){const t=e.deliveryAddresses.find((e=>e.isActive))||e.deliveryAddresses.find((e=>e.isDefault))||e.deliveryAddresses[e.deliveryAddresses.length-1];return t?.zipcode}const i=e.deliveryAddresses.find((e=>e.isDefault))||e.deliveryAddresses[e.deliveryAddresses.length-1];return i?.zipcode}setAddressData(e,t){const i=this.getValue(t,'input[data-name="street"]',e.street),s=this.getValue(t,'input[data-name="streetNumber"]');e.street=`${i} ${s}`,e.zipcode=this.getValue(t,'input[data-name="zipcode"]',e.zipcode),e.city=this.getValue(t,'input[data-name="city"]',e.city),e.phone=this.getValue(t,'input[data-name="phone"]',e.phone),e.country={id:this.getValue(t,'select[data-name="region"]',e.country?.id)},e.provinceCode=this.getValue(t,`[data-region-province="${e.country.id}"] select[data-name="province"]`)}async editClientData(e,t){if(!t)return;const i=e.billingAddress;if(!i)return;const s={...i};this.setAddressData(i,t),i.firstname=this.getValue(t,'input[data-name="firstname"]',i.firstname),i.lastname=this.getValue(t,'input[data-name="lastname"]',i.lastname),i.firm=this.getValue(t,'input[data-name="firm"]',i.firm),e.email=this.getValue(t,'input[data-name="email"]',e.email),e.phone=this.getValue(t,'input[data-name="phone"]',e.phone),e.type=this.getValue(t,'input[data-name="type"]:checked',e.type),e.taxNumber=this.getValue(t,'input[data-name="nip"]',e.taxNumber);let r="delivery";if(1===e?.deliveryAddresses?.length){const t=this.compareAddresses(i,e.deliveryAddresses[0]);delete t.isDefault,delete t.isFirst,delete t.isSecond,delete t.isActive,0!==Object.keys(t).length&&(r=!1,e.deliveryAddresses.push({...i,isSecond:!0}))}e?.deliveryAddresses?.length||(r=!1,e.deliveryAddresses=[{...i,isDefault:!0}]);const a=this.compareAddresses(i,s);(a.country||a.zipcode)&&await this.setRegionAndZipcode({diff:a,type:r,clientData:e}),this.setData(`${this.prefix}Client`,{data:{client:{...e},shippingCountries:this.shippingCountries}})}async editAddressData(e,t,i=!1){if(!t)return;const s=i?e.deliveryAddresses.find((e=>e.isSecond)):e.deliveryAddresses.find((e=>e.isFirst));if(this.removeActiveAddress(e),!s){const s={...e.deliveryAddresses.find((e=>e.isDefault))||e.deliveryAddresses[e.deliveryAddresses.length-1]},r={...s};i?s.isSecond=!0:s.isFirst=!0,s.isDefault=!1,s.isActive=!0,this.setAddressData(s,t);const a=this.compareAddresses(s,r);return(a.country||a.zipcode)&&await this.setRegionAndZipcode({diff:a,type:"billing",clientData:e}),void this.setData(`${this.prefix}Client`,{data:{client:{...e,deliveryAddresses:[...e.deliveryAddresses,s]},shippingCountries:this.shippingCountries}})}const r={...s};this.setAddressData(s,t),s.isActive=!0;const a=this.compareAddresses(s,r);(a.country||a.zipcode)&&await this.setRegionAndZipcode({diff:a,type:"billing",clientData:e}),this.setData(`${this.prefix}Client`,{data:{client:{...e},shippingCountries:this.shippingCountries}})}editInvoiceData(e,t){if(!t)return;if(!e?.invoiceAddresses?.length){const i={...e.deliveryAddresses.find((e=>e.isDefault))||e.deliveryAddresses[e.deliveryAddresses.length-1],isDefault:!0};return this.setAddressData(i,t),i.firm=this.getValue(t,'input[data-name="firm"]',i.firm),i.taxNumber=this.getValue(t,'input[data-name="nip"]',i.taxNumber),void this.setData(`${this.prefix}Client`,{data:{client:{...e,invoiceAddresses:[i]},shippingCountries:this.shippingCountries}})}const i=e.invoiceAddresses.find((e=>e.isDefault))||e.invoiceAddresses[e.invoiceAddresses.length-1];this.setAddressData(i,t),i.firm=this.getValue(t,'input[data-name="firm"]',i.firm),i.taxNumber=this.getValue(t,'input[data-name="nip"]',i.taxNumber),this.setData(`${this.prefix}Client`,{data:{client:{...e},shippingCountries:this.shippingCountries}})}prepareClientObject(e={}){return{client:{notLogged:!0,accountNotExist:!0,billingAddress:{firstname:"",lastname:"",street:"",zipcode:"",city:""},deliveryAddresses:[],invoiceAddresses:[],type:"private",email:e.email||"",phone:"phone"===e.loginType?e.login:"",login:e.login||""}}}prepareClientData(e){const{billingAddress:t}=e,{type:i,birthDate:s="",taxNumber:r="",email:a,phone:n}=e;return{...this.getFormattedDataFromAddress(t),type:i,birthdate:s,nip:r,email:a,phone:n}}prepareAddressData(e,t,i){const{billingAddress:s}=e;if(!e?.deliveryAddresses?.length)return s;const r={firstname:s.firstname||"",lastname:s.lastname||"",firm:s.firm||""},a=e.deliveryAddresses.find((e=>e.isActive));if(i&&a){return{...this.getFormattedDataFromAddress(a),...r}}if(t){const t=e.deliveryAddresses.find((e=>e.isSecond));if(t){return{...this.getFormattedDataFromAddress(t),...r}}if(e.deliveryAddresses.length<2)return!1;const i=e.deliveryAddresses.filter((e=>!e.isDefault&&!e.isFirst));if(!i.length)return!1;const s=i[i.length-1];s.isSecond=!0,this.setData(`${this.prefix}Client`,{data:{client:{...e},shippingCountries:this.shippingCountries}});return{...this.getFormattedDataFromAddress(s),...r}}const n=e.deliveryAddresses.find((e=>e.isFirst));if(n){return{...this.getFormattedDataFromAddress(n),...r}}const o=e.deliveryAddresses.find((e=>e.isDefault))||e.deliveryAddresses[e.deliveryAddresses.length-1];if(!a){if(1===e?.deliveryAddresses?.length){const t=this.compareAddresses(e.billingAddress,o);delete t.isDefault,delete t.isFirst,delete t.isSecond,delete t.isActive,0!==Object.keys(t).length&&e.deliveryAddresses.push({...e.billingAddress,isSecond:!0})}o.isActive=!0,this.setData(`${this.prefix}Client`,{data:{client:{...e},shippingCountries:this.shippingCountries}})}return{...this.getFormattedDataFromAddress(o),...r}}prepareInvoiceData(e){if(!e?.invoiceAddresses?.length)return this.prepareClientData(this.vars.client);const t=e.invoiceAddresses.find((e=>e.isDefault))||e.invoiceAddresses[e.invoiceAddresses.length-1];return this.getFormattedDataFromAddress(t)||{}}addFocusEvents(e){if(!e)return;e.querySelectorAll(".f-group .f-control").forEach((e=>{e.addEventListener("change",this.addFocus),e.addEventListener("input",this.addFocus),e.addEventListener("focus",this.addFocus),e.addEventListener("blur",this.addFocus)}))}addFocus(e){const t=e.target?.closest(".f-group")||e;if(!t)return;t.querySelectorAll("input").forEach((e=>{e.nextElementSibling?.classList.contains("f-label")&&(""===e.value?e.classList.remove("focused"):e.classList.add("focused"))}))}calculateDate(e){const{days:t=0,hours:i=0,minutes:s=0}=e,r=new Date(Date.now()+24*t*60*60*1e3+60*i*60*1e3+60*s*1e3);return{day:r.getDate()<10?`0${r.getDate()}`:r.getDate(),month:r.getMonth()+1<10?`0${r.getMonth()+1}`:r.getMonth()+1,year:r.getFullYear()}}getDeliveryTime(e){const{today:t,weekDay:i}=e?.deliveryTime,{days:s}=e?.deliveryTime?.time,{day:r,month:a,year:n}=this.calculateDate({days:s});return{weekday:t?this.locale.weekdays[0]:this.locale.weekdays[i],today:t,day:r,month:a,year:n}}findFirstFailedElement(e){if(!e)return!1;return e.querySelector(".f-feedback.--error")||e.querySelector(".f-group.--error")}elementInViewport(e){if(!e)return!1;const t=e.getBoundingClientRect(),{top:i,left:s,right:r,bottom:a}=t,{innerWidth:n,innerHeight:o}=window,{clientWidth:c,clientHeight:u}=document.documentElement;return i>=0&&s>=0&&r<=(n||c)&&a<=(o||u)}scrollToElement(e={}){const{element:t,additionalYOffset:i=(app_shop.vars.view<3?50:0),c
1allback:s=()=>{},container:r=document.querySelector(".modal__wrapper"),yOffset:a=60}=e;if(!t)return;if(this.elementInViewport(t))return void s();if(r){const e=t.offsetTop-(i||0);r.scrollTo({top:e,behavior:"smooth"});const a=()=>{Math.abs(r.scrollTop-e)<1&&(r.removeEventListener("scroll",a),s())};return void r.addEventListener("scroll",a)}const n=t.getBoundingClientRect(),o=document.querySelector(".--fixed-header header"),c=o?o.offsetHeight:0,{top:u}=n,l=u+window.pageYOffset-a-c-(i||0);window.scrollTo({top:l,behavior:"smooth"});const d=l.toFixed(),p=()=>{window.pageYOffset.toFixed()===d&&(window.removeEventListener("scroll",p),s())};window.addEventListener("scroll",p)}errorHandling(e={}){const{data:t,alert:i=!0}=e;if(!i)return;if(!t?.errors&&!t?.error)return;const s=t?.errors?.find((e=>e?.message?.includes?.("order_notenough")));s?Alertek.Error(`${this.txt["Produkt, który kupujesz nie jest już dostępny"]}. <a class="order_notenough_back" href="/basketedit.php">${this.txt["Przejdź do koszyka"]}</a>, ${this.txt["aby dowiedzieć się więcej"]}.`,1e4):Alertek.Error(this.txt["Wystąpił błąd połączenia. Sprawdź łącze internetowe lub spróbuj ponownie później"])}async fetchData(e={}){const{data:t,link:i,linkParameter:s="",alert:r=!0,cacheName:a=!1,onlyFromCache:n=!1}=e;if(a&&sessionStorage.getItem(a)||n)return JSON.parse(sessionStorage.getItem(a));if(!t)return!1;try{const e=await fetch(`${i||app_shop.urls.graphql||"/graphql/v1"}${s}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:t}),n=await e.json();return this.errorHandling({data:n,alert:r}),a&&sessionStorage.setItem(a,JSON.stringify(n)),n}catch(e){return r&&Alertek.Error(this.txt["Wystąpił błąd połączenia. Sprawdź łącze internetowe lub spróbuj ponownie później"]),!1}}validateOtpResponse(e={}){const{exceededLimits:t,isGenerated:i,isVerified:s,isLimitExceeded:r,isPinExpired:a}=e;if(s||i)return!0;if(Array.isArray(t)&&t?.length>0){const e=t.pop(),i=e.isTimeLimited,s=e?.timeLimit?.eventRemainingBLockTime,r=!0===i&&s?`${this.txt["Spróbuj ponownie za"]} ${s}`:"",a=`${this.txt["Przekroczono limit nieudanych prób wprowadzenia kodu"]}. ${r}`;return Alertek?.Error(a),!1}return!0===r?(Alertek?.Error(this.txt["Przekroczono limit nieudanych prób wprowadzenia kodu"]),!1):!1===i?(Alertek?.Error(`${this.txt["Nie udało się wygenerować pinu. Spróbuj ponownie później"]}.`),!1):!0===a?(Alertek?.Error(this.txt["Wprowadzony kod wygasł"]),!1):!1===s?(Alertek?.Error(this.txt["Wprowadzony kod jest niepoprawny"]),!1):(Alertek?.Error(`${this.txt["Wystąpił nieoczekiwany błąd. Proszę spróbować ponownie"]}.`),!1)}getHeaderElement(e="",t=null){const i=document.getElementById(`${this.prefix}_header`)?.content.cloneNode(!0);if(!i)return document.createElement("div");const s=i.querySelector(`.${this.prefix}_header__previous`),r=i.querySelector(`.${this.prefix}_header__name`);return s&&r?(t||s.parentNode.removeChild(s),t&&s.setAttribute("data-prev",t),r.textContent=e,i):document.createElement("div")}getStatusElement(e="success",t=""){const i=document.getElementById(`${this.prefix}_status`)?.content.cloneNode(!0);if(!i)return document.createElement("div");i.firstChild.classList.add(`--${e}`);const s=i.querySelector(`.${this.prefix}_status__description`);return s?(s.textContent=t,i):i}initModalEvents(){document.documentElement.hasAttribute("data-expchck-modal-events")||(document.documentElement.addEventListener("click",(e=>{const{target:t}=e;return!t.closest(`.${this.prefix}_header__previous`)||(e.preventDefault(),this.goPrevious(t),!1)})),this.modalEventsInited=!0,document.documentElement.setAttribute("data-expchck-modal-events","inited"))}goPrevious(e){const t=e.getAttribute("data-prev");e.closest("#modal").classList.add("--prev"),this.goStep(t,{notUpdateBasket:!0,notWebAuthn:!0})}async goStep(e="",t){const i=document.querySelector(`.${this.prefix}_summary_submit_mobile`);i?.classList.remove("--active"),document.querySelector(".modal")?.classList.add("--loading"),document.querySelector(".modal")?.classList.add("--go"),"leavePage"!==e&&sessionStorage.setItem("activeStepName",e),await(app_shop.fn.expChckViews[e]?.init(t)),this.initModalEvents()}setData(e,t){sessionStorage.setItem(e,JSON.stringify(t))}clearCache(e){if(e?.length)e.forEach((e=>{sessionStorage.removeItem(e)}));else{app_shop.vars.isLogged=!1;for(let e=0;e<sessionStorage.length;){const t=sessionStorage.key(e);t.startsWith(this.prefix)?sessionStorage.removeItem(t):e+=1}}}getCleanedQuery(e){return e.replace(/\\n|^{"query":"query {| \}"}$/g," ").replace(/\\"/g,'"').replace(/\s+/g," ").trim()}async getData(e={}){const{name:t,state:i,onlyFromCache:s=!1,onlyQuery:r=!1}=e;switch(t){case"payments":{if(r)return this.getCleanedQuery(this.queries.PAYMENTS());const e=await this.fetchData({data:this.queries.PAYMENTS(),linkParameter:"?query=p
1ayments",cacheName:`${this.prefix}Payments`,onlyFromCache:s});return e?.data}case"clientProspect":{if(r)return this.getCleanedQuery(this.queries.CLIENT_PROSPECT());const{data:e}=await this.fetchData({data:this.queries.CLIENT_PROSPECT(),linkParameter:"?query=clientProspect",onlyFromCache:s})||{},{clientProspect:t}=e||{};let{shippingCountries:i}=e||{};if(!i){const e=await this.fetchData({data:this.queries.SHIPPING_COUNTRIES(),linkParameter:"?query=shippingCountries",cacheName:`${this.prefix}Countries`});i=e?.data?.shippingCountries}if(!t)return{...this.prepareClientObject(),shippingCountries:i};const a={data:{client:{notLogged:!0,accountNotExist:!0,billingAddress:{firstname:t.deliveryAddress[0]?.firstname,lastname:t.deliveryAddress[0]?.lastname,...t.deliveryAddress[0]},deliveryAddresses:[],birthDate:t.birthDate,phone:t.phone,email:t.email,invoiceAddresses:[],type:"private"},shippingCountries:i}};return this.shippingCountries=i,this.setData(`${this.prefix}Client`,a),a}case"client":{if(r){if(i?.loginFromService){return await this.getData({name:"clientProspect",onlyQuery:r})}return this.getCleanedQuery(this.queries.CLIENT())}const e=!!sessionStorage.getItem(`${this.prefix}Client`),t=i?.loginFromService?await this.getData({name:"clientProspect",onlyFromCache:s}):await this.fetchData({data:this.queries.CLIENT(),linkParameter:"?query=client",cacheName:`${this.prefix}Client`,onlyFromCache:s});if(!t)return!1;t.data?.client?e||this.changeLoginLinkText(this.txt["Twoje konto"]):this.changeLoginLinkText(this.txt["Zaloguj się"]);const{client:a}=t.data?.client?t.data:this.prepareClientObject(i);let{shippingCountries:n}=t.data||{};if(!n){const e=await this.fetchData({data:this.queries.SHIPPING_COUNTRIES(),linkParameter:"?query=shippingCountries",cacheName:`${this.prefix}Countries`});n=e?.data?.shippingCountries}return this.shippingCountries=n,{client:a,shippingCountries:n}}case"shipping":{const e=`ShippingInput: {\n          mode: basket,\n          displaySettings: {\n            sortArgs: cost,\n          },\n          ${i?.coordinates?`coordinates: { latitude: ${i.coordinates.lat}, longitude: ${i.coordinates.lng}}`:""}\n        }`;if(r)return this.getCleanedQuery(this.queries.SHIPPING(e));const t=await this.fetchData({data:this.queries.SHIPPING(e),linkParameter:"?query=shipping",cacheName:`${this.prefix}Shipping`,onlyFromCache:s});return t?.data}case"maps":{if(r)return this.getCleanedQuery(this.queries.MAPS_API_KEY());const e=await this.fetchData({data:this.queries.MAPS_API_KEY(),linkParameter:"?query=maps",cacheName:`${this.prefix}Maps`,onlyFromCache:s});return e?.data?.shop?.settings?.google}case"holidays":{if(r)return this.getCleanedQuery(this.queries.HOLIDAYS());const e=await this.fetchData({data:this.queries.HOLIDAYS(),linkParameter:"?query=holidays",cacheName:`${this.prefix}Holidays`,onlyFromCache:s});return e?.data?.pickupPoints}case"settings":{if(r)return this.getCleanedQuery(this.queries.SETTINGS());const e=await this.fetchData({data:this.queries.SETTINGS(),linkParameter:"?query=settings",cacheName:`${this.prefix}Settings`,onlyFromCache:s});return e?.data?.shop}case"summary":{const e=await this.getData({name:"client",state:i,onlyFromCache:!0}),t=await this.getData({name:"payments",onlyFromCache:!0}),s=await this.getData({name:"shipping",state:i,onlyFromCache:!0}),r=await this.getData({name:"settings",onlyFromCache:!0}),a=await this.getData({name:"maps",onlyFromCache:!0});if(e&&t&&s&&r&&a){return{...e,...t,...s,...r,...a}}const n=e?"":await this.getData({name:"client",state:i,onlyQuery:!0}),o=t?"":await this.getData({name:"payments",onlyQuery:!0}),c=s?"":await this.getData({name:"shipping",state:i,onlyQuery:!0}),u=r?"":await this.getData({name:"settings",onlyQuery:!0}),l=a?"":await this.getData({name:"maps",onlyQuery:!0}),d=JSON.stringify({query:`query {\n            ${n}\n            ${o}\n            ${c}\n            ${u}\n            ${l}\n          }`}),{data:p}=await this.fetchData({data:d,linkParameter:"?query=summaryData"})||{},{paymentsMethod:h,shipping:m,shop:y,client:v,shippingCountries:g}=p||{},f={...e,...t,...s,...r,...a};return""!==n&&v&&(this.setData(`${this.prefix}Client`,{data:{client:v,shippingCountries:g}}),f.client=v,f.shippingCountries=g),""!==o&&h&&(this.setData(`${this.prefix}Payments`,{data:{paymentsMethod:h}}),f.paymentsMethod=h),""!==c&&m&&(this.setData(`${this.prefix}Shipping`,{data:{shipping:m}}),f.shipping=m),""!==u&&y&&(this.setData(`${this.prefix}Settings`,{data:{shop:y}}),f.settings=y.settings),""!==l&&y&&(this.setData(`${this.prefix}Maps`,{data:{shop:{settings:{google:y.settings.google}}}}),f.mapsApiKey=y.settings.google.mapsApiKey),f}case"deliveries":{const e=await this.getData({name:"client",state:i,onlyFromCache:!0}),t=await this.getData({name:"holidays",onlyFromCache:!0}),s=await this.getData({name:"shipping",state:i,onlyFromCache:!0});if(e&&t&&s){return{...e,...t,...s}}const r=e?"":await this.getData({name:"client",state:i,onlyQuery:!0}),a=t?"":await this.getData({name:"holidays",state:i,onlyQuery:!0}),n=s?"":await this.getData({name:"shipping",state:i,onlyQuery:!0}),o=JSON.stringify({query:`query {\n            ${r}\n            ${a}\n            ${n}\n          }`}),{data:c}=await this.fetchData({data:o,linkParameter:"?query=deliveriesData"})||{},{shipping:u,pickupPoints:l,client:d,shippingCountries:p}=c||{},h={...e,...t,...s};return""!==r&&d&&(this.setData(`${this.prefix}Client`,{data:{client:d,shippingCountries:p}}),h.client=d,h.shippingCountries=p),""!==n&&u&&(this.setData(`${this.prefix}Shipping`,{data:{shipping:u}}),h.shipping=u),""!==a&&l&&(this.setData(`${this.prefix}Holidays`,{data:{pickupPoints:l}}),h.holidays=l.holidays),h}case"pickup":return{...await this.getData({name:"shipping",state:i}),...await this.getData({name:"maps"})};default:return!1}}changeRegion(e){const{wrapper:t,region:i,validate:s}=e||{};if(!t)return;t.querySelectorAll("[data-region]").forEach((e=>{e.setAttribute("data-region",i),s?.removeValidityState?.(e)})),this.province({wrapper:t,region:i}),s?.validateForm?.(t)}afterClickCountryProvinceDropdown(e,t){if(!e.closest(".--country"))return;const i=e.querySelector(".f-dropdown-item").getAttribute("data-value"),s=e.closest(`.${this.prefix}_inputs`);this.changeRegion({wrapper:s,region:i,validate:t})}toggleBodyOverflow(e){e?document.querySelector("body").classList.add("--modal-overflow"):document.querySelector("body").classList.remove("--modal-overflow")}initModalAnimation(e){const t=e=>{const t=(()=>{const e=document.createElement("div");return e.classList.add("modal__handler"),e})();t&&e.insertAdjacentElement("afterBegin",t)};if(this.ModalAnimationClass){const i=e.querySelector(".modal__wrapper");if(!i)return;t(i),e.classList.add("--mobile-animation"),this.ModalAnimationClass.init?.({modal:e})}}destroyModalAnimation(){this.ModalAnimationClass&&this.ModalAnimationClass?.destroy?.()}getAnimationModalParams(){const e=this;return{afterShow:t=>{e.initModalAnimation(t),e.toggleBodyOverflow(!0)},afterClose:()=>{e.destroyModalAnimation(),e.toggleBodyOverflow(!1)}}}isGiftPaymentMethod(e){const t=e?.toString();return"2"===t||"190"===t}hasGiftPaymentMethods(e){return e?.some((e=>this.isGiftPaymentMethod(e.id?.toString())))}getUniqueDeliveries(e){const t=[];return e.sort(((e,t)=>
1e.cost?.value-t.cost?.value)).forEach((e=>{t.find((t=>t.courier?.companyKey===e.courier?.companyKey))||t.push(e)})),t}getCouriersForPickup(e,t){const i=e.filter((e=>e.courier.pickupPoint&&e.prepaid===t));return this.getUniqueDeliveries(i).map((e=>({id:e.courier.id,fullId:e.courier.fullId,name:"InPostShipXByIAI"===e.courier?.companyKey?e.courier.carrierName:e.courier.name,priceFormatted:e.cost.formatted,price:e.cost.value,stock:!1})))}getCouriersForStock(e,t){return e.filter((e=>0===e.courier.id&&e.prepaid===t)).map((e=>({id:e.courier.id,fullId:e.courier.fullId,name:"InPostShipXByIAI"===e.courier?.companyKey?e.courier.carrierName:e.courier.name,priceFormatted:e.cost.formatted,price:e.cost.value,stock:!0})))}getPaymentId(e){return e.methodAsGroup||!e.paymentChannel?.id||177===e.id?e.id:e.paymentChannel.id}async addFingerPrintIcon(){if(!app_shop.fn.webAuthnExpChck)return;if(!await app_shop.fn.webAuthnExpChck.checkBrowserSupport())return;if("true"!==localStorage.getItem("expchckDeviceRegistered")||"false"===localStorage.getItem("expchckSaveDevice"))return;const e=document.getElementById("projector_express_checkout")||document.getElementById("basketedit_express_checkout");e&&e.classList.add("--web-authn")}async registerDevice(e={}){const{userLogin:t,authorizeToken:i}=e;if(t&&i){this.addLoading(),this.state.registerDeviceShowed=!1;try{await(app_shop.fn.webAuthnExpChck?.registration?.({userLogin:t,authorizeToken:i})),this.state.registerDevice="success",localStorage.setItem(`${this.prefix}DeviceRegistered`,!0),this.addFingerPrintIcon()}catch(e){1!==e.code&&(this.state.registerDevice="error",this.state.registerDeviceData={userLogin:t,authorizeToken:i})}}}changeLoginLinkText(e=this.txt["Twoje konto"]){const t=document.querySelector("#menu_additional .account_link");t&&(t.innerText=e)}}
1class PaymentsExpChck extends ExpressCheckout{constructor(e={}){super(e),this.icons={simple_transfer:"/gfx/standards/payment_group_simple_transfer.svg",card:"/gfx/standards/payment_group_card.svg",transfer:"/gfx/standards/payment_group_transfer.svg",installment:"/gfx/standards/payment_group_installment.svg",others:"/gfx/standards/payment_group_others.svg",tradeCredit:"/gfx/standards/payment_group_trade_credit.svg",dvp:"/gfx/standards/payment_group_dvp.svg"},this.names={simple_transfer:this.txt["Przelew zwykły"],card:this.txt["Karta płatnicza"],transfer:this.txt["Przelew online"],installment:this.txt["Płatność ratalna"],others:this.txt["Bony, karty podarunkowe"],tradeCredit:this.txt["Faktura na termin"],dvp:this.txt.Pobranie},this.descriptions={simple_transfer:this.txt["Zaksięgowanie do 3 dni roboczych"],card:this.txt["Zaksięgowane w kilka minut"],transfer:this.txt["Zaksięgowane w kilka minut"],installment:"",others:this.txt["Zaksięgowane w kilka minut"],tradeCredit:this.txt["Płatność przelewem po dostawie"],blik:this.txt["Zaksięgowane w kilka minut"],paypal:""},this.paymentSystemIds={29:"idopay"},this.paymentStepsMapper=["card","others","installment","transfer"]}createClauseFragment(e){const t=document.createElement("span");return t.innerHTML=e,t}prepareClauses(e){return[...e].filter((e=>e)).map((e=>this.createClauseFragment(e)?.outerHTML)).join("")}addPaymentOptions(e,t){const i=t.querySelector(`.${this.prefix}_payments__details`);if(!i)return;if(!e.group||!this.paymentStepsMapper.includes(e.id)||!e.options.length)return void i.parentNode.removeChild(i);const s=document.getElementById(`${this.prefix}_payments_details`)?.content.cloneNode(!0);if(!s)return void i.parentNode.removeChild(i);t.firstChild.classList.add("--options");const r=s.querySelector(`.${this.prefix}_payments__clause`);if(e.clause.length&&r){const t=this.prepareClauses(e.clause);r.innerHTML=t}const a=s.querySelector(`.${this.prefix}_payments__options`),n=this.createPaymentsOptionList(e);n&&n.length>0&&a&&n.forEach((e=>{a.appendChild(e)})),i.appendChild(s),this.toggleShowAll(i,n.length>6)}createPaymentsOptionList(e){return e.options.map(((t,i)=>this.createPaymentOption(e,t,i)))}toggleShowAll(e,t){const i=e.querySelector(`.${this.prefix}_payments__show_all`);i&&(t?i.classList.remove("--hidden"):i.classList.add("--hidden"))}onClickToggleTab(e){const t=e.closest(`.${this.prefix}_payments__item`);if(!t)return;const i=t.classList.contains("--collapse"),s=t.parentElement?.querySelectorAll(`.${this.prefix}_payments__item.--options`);s.forEach((e=>e.classList.remove("--collapse"))),t.classList.contains("--options")&&t.classList.contains("--checked")&&(i?t.classList.remove("--collapse"):t.classList.add("--collapse"))}getPaymentName(e){if(e.methodAsGroup)return e.name;if(153===e.id)return this.names.tradeCredit;const t=e.paymentChannel.id;return this.names[t]?this.names[t]:e.name}getPaymentIcons(e){if(e.methodAsGroup)return[{src:e.icon,alt:e.name}];if(153===e.id)return[{src:this.icons.tradeCredit,alt:this.names.tradeCredit}];const t=e.paymentChannel.id;return this.icons[t]?[{src:this.icons[t],alt:this.names[t]}]:[{src:e.icon,alt:e.name}]}getPaymentDescription(e){return 153===e.id?this.descriptions.tradeCredit:e.paymentChannel?.id in this.descriptions&&this.descriptions[e.paymentChannel.id]}getPaymentCost(e){const{costPercent:t}=e.additionalClientCost,{value:i}=e.additionalClientCost.costFixedAmount,{value:s}=e.additionalClientCost.minAmount;return(0!==t||0!==i||0!==s)&&e.id}getPaymentDefaultClause(e){if(!e.terms?.supportsPaymentInitiationService)return[];return super.findGroupTerms({groupId:e.paymentChannel?.id,paymentNames:["pis"],paymentsGroupTerms:this.vars.paymentsGroupTerms}).map((e=>{const t=e?.clausePrefix,i=e?.clause;let s="";return t&&(s+=`${t}: `),i&&(s+=i),s}))}getPaymentOptions(e){return this.vars.payments.filter((t=>t.paymentChannel.id===e.paymentChannel.id&&!1===t.methodAsGroup))}prepareObjectToDisplay(){this.vars.uniquePayments.forEach((e=>{const t=super.getPaymentId(e),i=this.getPaymentOptions(e);if(this.isGiftPaymentMethod(t?.toString())||this.hasGiftPaymentMethods(i))return;const s={id:t,group:!e.methodAsGroup&&i.length>1,icons:this.getPaymentIcons(e),name:this.getPaymentName(e),description:this.getPaymentDescription(e),cost:this.getPaymentCost(e),clause:this.getPaymentDefaultClause(e),options:i};this.vars.formattedUniquePayments.push(s)}));if(!this.vars.shipping.find((e=>"dvp"===e.prepaid)))return;const e={id:"cash",group:!0,icons:[{src:this.icons.dvp,alt:this.names.dvp}],name:this.names.dvp,cost:!1,description:!1,options:[]};this.vars.formattedUniquePayments.push(e)}
1updateUniquePayments(){this.vars.payments.forEach((e=>{-1!==this.vars.uniquePayments.findIndex((t=>t.paymentChannel.id===e.paymentChannel.id&&!0!==t.methodAsGroup))&&!0!==e.methodAsGroup||this.vars.uniquePayments.push(e)}))}createPaymentOption(e,t,i){const s=document.getElementById(`${this.prefix}_payments_option`).content.cloneNode(!0),r=s.querySelector("input"),a=`payment_${e.id}_${i}`;r.id=a,r.value=t.id,r.setAttribute("data-group-id",e.id),r.setAttribute("name","payform_id");s.querySelector("label").setAttribute("for",a);s.querySelector(`.${this.prefix}_payments__option_name`).textContent=t.name;const n=s.querySelector(`.${this.prefix}_payments__option_icon`);return n.alt=t.name,n.src=t.icon,s}prepareElementToDisplay(e,t){const i=document.getElementById(`${this.prefix}_payments_item`)?.content.cloneNode(!0);if(!i)return!1;const s=i.querySelector(`.${this.prefix}_payments__icons`),r=i.querySelector(`.${this.prefix}_payments__icon`);e.icons.forEach((e=>{const t=r.cloneNode();t.alt=e.alt,t.src=e.src,s.appendChild(t)})),r.parentNode.removeChild(r);i.querySelector(`.${this.prefix}_payments__name`).textContent=e.name;const a=i.querySelector(`.${this.prefix}_payments__description`);e.description?a.textContent=e.description:a.parentNode.removeChild(a);const n=i.querySelector('input[name="first_payment_id"]');e.cost&&e.group?n.value=e.cost:n.parentNode.removeChild(n);const o=e.options?.[0]?.id,c=i.querySelector('input[name="payform_id"]');e.group&&177!==e.id?c.parentNode.removeChild(c):(c.value=e.id,1===e.options.length&&o&&(c.value=o));const u=i.querySelector('input[name="selected_group_only"]');u.id=`payform_${e.id}`,u.value=e.id,1===e.options.length&&o&&(u.value=o),u.setAttribute("data-group",e.group),e.id===this.vars.selectedGroup&&(u.checked=!0,i.firstChild.classList.add("--checked")),e.checked&&"cash"===e.id&&document.querySelector(`.${this.prefix}_payments`)?.classList?.add("--dvp");i.querySelector("label").setAttribute("for",`payform_${e.id}`);const l=t.querySelector(`.${this.prefix}_payments__clause_top`);if(l&&!e.group&&e.clause.length){const i=this.prepareClauses(e.clause);l.innerHTML=i,t.firstChild.classList.add("--clause-top")}return this.addPaymentOptions(e,i),i}onClickShowAllOptions(e){const t=e.closest(`.${this.prefix}_payments__details`);t&&(t.classList.toggle("--show-all"),t.classList.contains("--show-all")?e.textContent=this.txt["Pokaż mniej"]:e.textContent=this.txt["Pokaż wszystkie"])}onChangeSelectPayment(e){const t="selected_group_only"===e.name?e.closest(`.${this.prefix}_payments__item`):e.closest(`.${this.prefix}_payments__option`);if(!t)return;if(t.classList.contains("--options")){const i=e?.getAttribute("data-group-id");return e.value=i||"transfer",void this.paymentSelected({paymentElement:t})}const i=e.value,s=t.querySelector('input[name="payform_id"]'),r=t.querySelector('input[name="first_payment_id"]');let a=!1;s?a=s.value:r&&(a=r.value);const n=s?"payment":"group",o="cash"===i;this.paymentSelected({paymentElement:t,selectedPayment:i,selectedPaymentForCost:a,selectedPaymentType:n}),super.goStep("summary",{previousStep:null,selectedPayment:i,selectedPaymentForCost:a,selectedPaymentType:n,notUpdateBasket:!0,prepaid:o?"dvp":"prepaid"})}paymentSelected({paymentElement:e=null,selectedPayment:t=null,selectedPaymentForCost:i=null,selectedPaymentType:s=null}={}){const r=document.querySelector(`.${this.prefix}_payments`);if(!r)return;r.classList.add("--selected");r.querySelectorAll(`.${this.prefix}_payments__item`).forEach((e=>{e.querySelector(`.${this.prefix}_payments__input:checked`)||e.querySelector(`.${this.prefix}_payments__option_input:checked`)?e.classList.add("--checked"):e.classList.remove("--checked")}));const a=e.querySelector(`.${this.prefix}_payments__input`)||e.querySelector(`.${this.prefix}_payments__option_input`);if(!a)return;const n=a.value,o=a.getAttribute("data-group-id");r.setAttribute("data-id",n),r.setAttribute("data-group-id",o),this.vars.selectedPayment=t,this.vars.selectedPaymentForCost=i,this.vars.selectedPaymentType=s}showPayments(){const e=document.getElementById(`${this.prefix}_payments`)?.content.cloneNode(!0);if(!e)return;const t=e.querySelector(`.${this.prefix}_payments__wrapper`);if(!t)return;
1this.vars.formattedUniquePayments.forEach((i=>{const s=this.prepareElementToDisplay(i,e);s&&t.appendChild(s)}));const i=super.getHeaderElement(this.txt["Płatności"],this.vars.previousStep);if(e.firstChild.prepend(i),this.modal.params={...super.getAnimationModalParams(),element:e,classList:`${this.modalClasses} --payments`,afterClose:this.leavePageModal.bind(this)},this.modal.init(),this.vars.selectedGroup){const e=document.querySelector(`.${this.prefix}_payments__input:checked`);if(!e)return;super.scrollToElement({element:e.parentNode,additionalYOffset:15})}}initEvents(){const e=document.querySelector(`.${this.prefix}_payments`);e&&(e.addEventListener("click",(e=>{const{target:t}=e;return t.closest(`.${this.prefix}_payments__show_all`)?(e.preventDefault(),this.onClickShowAllOptions(t),!1):(t.closest(`.${this.prefix}_payments__label`)&&this.onClickToggleTab(t),!0)})),e.addEventListener("change",(e=>{const{target:t}=e;return!t.closest(`.${this.prefix}_payments__input`)&&!t.closest(`.${this.prefix}_payments__option_input`)||(e.preventDefault(),this.onChangeSelectPayment(t),!1)})))}async init(e={}){this.state=e.state||this?.state,this.paymentsData=await super.getData({name:"payments"})||{},this.shippingData=await super.getData({name:"shipping"})||{},this.vars={previousStep:e.previousStep||this.vars?.previousStep,payments:this.paymentsData?.paymentsMethod?.payments||[],paymentsGroup:this.paymentsData?.paymentsMethod?.paymentsGroup||[],paymentsGroupTerms:this.paymentsData?.paymentsMethod?.paymentsGroupTerms||[],defaultPaymentMethodId:this.paymentsData?.paymentsMethod?.settings?.defaultPaymentMethodId||0,uniquePayments:[],formattedUniquePayments:[],paymentOptions:[],selectedGroup:e.selectedGroup||!1,shipping:this.shippingData.shipping?.shipping||[]},this.updateUniquePayments(),this.prepareObjectToDisplay(),this.showPayments(),this.initEvents()}}
1class SummaryExpChck extends ExpressCheckout{constructor(e={}){super(e),this.preferedPaymentsId=[],this.validate=new FormValidation({formSelector:`.${this.prefix}_summary`}),this.validate.callbacks.validate=super.afterValidateInput.bind(this)}changeInvoiceWrapper(e={}){const{wrapper:t,invoiceData:i}=e;if(!t||!i)return;const{firm:s="",nip:r="",street:a="",streetNumber:n="",zipcode:o="",city:c=""}=i||{};t.classList.toggle("--nip-empty",!r);const u=t.querySelector(`.${this.prefix}_summary_invoice__firm`);u&&(u.textContent=s);const l=t.querySelector(`.${this.prefix}_summary_invoice__nip`);l&&(l.textContent=r);const d=t.querySelector(`.${this.prefix}_summary_invoice__street`);d&&(d.textContent=`${a} ${n}`);const p=t.querySelector(`.${this.prefix}_summary_invoice__city`);p&&(p.textContent=`${o} ${c}`)}setInvoiceElement(e){const t=e.querySelector(`.${this.prefix}_summary_invoice__inputs`);if(!t)return;const i=super.prepareInvoiceData(this.vars.client),{vatId:s}=this.vars.registration||{};if("optional"===s){const e=t.querySelector("#invoice_nip");e?.removeAttribute("required")}super.setInputs({wrapper:t,...i,countries:this.vars.countries,wrapperName:"summary_invoice"}),super.addFocus(t),super.addFocusEvents(t);const r=e.querySelector(`.${this.prefix}_summary_invoice`);this.changeInvoiceWrapper({wrapper:r,invoiceData:i});const a=e.getElementById(`${this.prefix}_summary_invoice_change`);a&&(a.checked=this.vars.invoice,this.onChangeInvoice(a,!0))}changeTextContent(e,t){e&&(t&&" "!==t?e.textContent=t:e.parentNode.removeChild(e))}getAddressElement(){const e=document.getElementById(`${this.prefix}_summary_address`)?.content.cloneNode(!0);if(!e||!this.vars.client)return document.createElement("div");const t=super.prepareClientData(this.vars.client),{firstname:i="",lastname:s="",street:r="",streetNumber:a="",zipcode:n="",city:o="",phone:c="",type:u="private",firm:l=""}=t||{},d=e.querySelector(`.${this.prefix}_summary_address__firm`),p="firm"===u&&l?l:"";this.changeTextContent(d,p);const h=e.querySelector(`.${this.prefix}_summary_address__name`);this.changeTextContent(h,`${i} ${s}`);const m=e.querySelector(`.${this.prefix}_summary_address__street`);this.changeTextContent(m,`${r} ${a}`);const y=e.querySelector(`.${this.prefix}_summary_address__city`);this.changeTextContent(y,`${n} ${o}`);const v=e.querySelector(`.${this.prefix}_summary_address__phone`);return this.changeTextContent(v,c),this.setInvoiceElement(e),e}addDvpPayment(){this.vars.payments.push({id:"cash",icon:this.vars.paymentIcons?.dvp,name:this.vars.paymentNames?.dvp})}getPreferedPayments(){const e=[];this.vars.payments.forEach((t=>{-1!==e.findIndex((e=>e.paymentChannel.id===t.paymentChannel?.id&&!0!==e.methodAsGroup))&&!0!==t.methodAsGroup||e.push(t)})),e.forEach((e=>{const t=1===this.vars.payments.filter((t=>t.paymentChannel?.id===e.paymentChannel?.id&&!1===t.methodAsGroup))?e.id:super.getPaymentId(e);this.preferedPaymentsId.push(t)}));const t=[];return[this.vars.selectedPayment,this.vars.defaultPaymentMethodId,...this.preferedPaymentsId,...this.vars.payments.map((e=>e.id))].forEach((e=>{const i=this.vars.payments.filter((t=>t.id.toString()===e.toString()));if(t.push(...i),i.length)return;const s=this.vars.paymentsGroup.filter((t=>t.id.toString()===e.toString()));t.push(...s)})),[...new Set(t)]}getPaymentIcons(e){return e.paymentChannel?153===e.id?[{src:this.vars.paymentIcons?.tradeCredit,alt:this.vars.paymentNames?.tradeCredit}]:[{src:e.icon,alt:e.name}]:this.vars.paymentIcons[e.id]?[{src:this.vars.paymentIcons[e.id],alt:this.vars.paymentNames[e.id]}]:[{src:e.icon,alt:e.name}]}getPaymentName(e){if(e.paymentChannel){if(153===e.id)return this.vars.paymentNames?.tradeCredit;e.name}return this.vars.paymentNames[e.id]?this.vars.paymentNames[e.id]:e.name}preparePaymentToDisplay(e){const t=document.getElementById(`${this.prefix}_summary_payment`)?.content.cloneNode(!0);if(!t)return!1;const i=t.querySelector('input[name="payform_id"]');e.paymentChannel?i.value=e.id:i.parentNode.removeChild(i);const s=t.querySelector('input[name="first_payment_id"]');if(e.paymentChannel)s.parentNode.removeChild(s);else{const i=this.vars.payments.find((t=>t.paymentChannel?.id===e.id));i?(t.firstChild.classList.add("--group"),s.value=i.id):s.parentNode.removeChild(s)}const r=t.querySelector('input[name="selected_group_only"]');r.id=`payform_${e.id}`,r.value=e.id,e.id.toString()===this.vars.selectedPayment.toString()&&(r.checked=!0);t.querySelector("label").setAttribute("for",`payform_${e.id}`);const a=t.querySelector(`.${this.prefix}_summary_payment__icons`),n=t.querySelector(`.${this.prefix}_summary_payment__icon`);
1(this.getPaymentIcons(e)||[]).forEach((e=>{if(!e.src)return;const t=n.cloneNode();t.alt=e.alt,t.src=e.src,a.appendChild(t)})),n.parentNode.removeChild(n);const o=t.querySelector(`.${this.prefix}_summary_payment__name`),c=this.getPaymentName(e)||"";return o.textContent=c,"more"===e.id&&t.firstChild.classList.add("--more"),t}removeSameMethodAsGroup(e,t){const{id:i}=t;if(t?.paymentChannel)return!0;const s=e.filter((e=>e?.paymentChannel?.id===i)),r=this.vars.payments.filter((e=>e?.paymentChannel?.id===i));return s.length!==r.length||0===r.length}getPaymentsElement(){const e=document.getElementById(`${this.prefix}_summary_payments`)?.content.cloneNode(!0);if(!e)return document.createElement("div");const t=e.querySelector(`.${this.prefix}_summary_payments__wrapper`);if(!t)return document.createElement("div");this.vars.shipping.find((e=>"dvp"===e.prepaid))&&this.addDvpPayment();const i=this.getPreferedPayments(),s=i.filter((e=>!this.isGiftPaymentMethod(e.id)&&this.removeSameMethodAsGroup(i,e))).slice(0,3);return i.length>3&&s.push({id:"more",name:this.txt["Więcej"]}),this.preferedPaymentsId=[...new Set([...s.map((e=>e.id)),...this.preferedPaymentsId])],s.find((e=>e.id===this.vars.selectedPayment))||(this.vars.selectedPayment=0),0===this.vars.selectedPayment&&s[0]?.paymentChannel&&(this.vars.selectedPayment=s[0].id,this.vars.selectedPaymentForCost=s[0].id,this.vars.selectedPaymentType="payment"),s.forEach((e=>{const i=this.preparePaymentToDisplay(e);i&&t.appendChild(i)})),e}pointsDelivery(e,t){const i=t.querySelector(`.${this.prefix}_delivery__points`);if(!i)return;if(!e.pointsSelected||0===e.pointsCost?.value||!e.pointsEnabled)return void i.parentNode.removeChild(i);const s=`for_points_${e?.courier?.fullId||`${e?.courier?.id}-${"dvp"===e?.prepaid?"0":"1"}`}`,r=i.querySelector(`.${this.prefix}_delivery__points_input`);if(!r)return;r.id=s,e?.forPoints&&(r.checked=!0);const a=i.querySelector(".f-label");a&&(a.setAttribute("for",s),a.textContent=`${e.pointsCost?.value} ${this.txt.pkt}.`)}prepareDeliveryToDisplay(e){const t=document.getElementById(`${this.prefix}_summary_delivery`)?.content.cloneNode(!0);if(!t)return!1;t.firstChild.classList.add(`--${e.type}`),!1===e.minworthReached&&t.firstChild.classList.add("--disabled"),t.firstChild.classList.toggle("--active",!!e.active);const i=t.querySelector(`.${this.prefix}_summary_delivery__type`);if(i)switch(e.type){case"pickup":i.textContent=this.txt["Odbiór w punkcie"];break;case"stock":i.textContent=this.txt["Odbiór osobisty"];break;default:i.textContent=this.txt["Na adres"]}const s=t.querySelector(`.${this.prefix}_summary_delivery__time`);s&&(s.textContent=e.time);const r=t.querySelector(`.${this.prefix}_summary_delivery__name`);r&&(r.textContent=e.name);const a=t.querySelector(`.${this.prefix}_summary_delivery__street`);a&&(a.textContent=e.street);const n=t.querySelector(`.${this.prefix}_summary_delivery__city`);n&&(n.textContent=`${e.zipcode} ${e.city}`);const o=t.querySelector(`.${this.prefix}_summary_delivery__phone`);o&&((e.isDefault||"address"!==e.type)&&t.querySelector(`.${this.prefix}_summary_delivery__phone_wrapper`)?.classList.add("--hidden"),o.textContent=e.phone);const c=t.querySelector(`.${this.prefix}_summary_delivery__pickup_phone`);if(c)if("address"===e.type)c.parentNode.removeChild(c);else{e.active||c.classList.add("--hidden");const t=c.querySelector(`.${this.prefix}_pickup_phone__value`),i=c.querySelector(`.${this.prefix}_pickup_phone__item input`);t&&(t.textContent=e.phone),i&&(i.value=e.phone,i.setAttribute("data-region",e.region)),super.addFocus(c),super.addFocusEvents(c)}const u=t.querySelector(`.${this.prefix}_summary_delivery__client_courier_number`);if(u)if("address"===e.type||"stock"===e.type)u.parentNode.removeChild(u);else{e.active&&e.requiredClientNumber||u.classList.add("--hidden");const t=u.querySelector(`.${this.prefix}_client_courier_number__value`),i=u.querySelector(`.${this.prefix}_client_courier_number__item input`);t&&e.clientCourierNumber&&(t.textContent=e.clientCourierNumber),i&&e.clientCourierNumber&&(i.value=e.clientCourierNumber),this.vars.clientCourierNumber=e.clientCourierNumber,super.addFocus(u),super.addFocusEvents(u)}const l=t.querySelector(`.${this.prefix}_summary_delivery__cost`);return l&&(l.textContent=0!==e.cost?.value?e?.cost?.formatted:`${this.txt.Gratis}!`),this.pointsDelivery(e,t),t}async getGoogleGeocode(e){if(!e)return!1;if(!this.vars.mapsApiKey)return!1;
1const t=await fetch(`https://maps.googleapis.com/maps/api/geocode/json?address=${encodeURIComponent(e)}&key=${this.vars.mapsApiKey}`),i=await t.json();return!!i?.results?.length&&i.results}async getLeafletGeocode(e){if(!e)return!1;const t=await fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(e)}`);return await t.json()}getGooglePlace(e){if(!e)return!1;if(!this.vars.mapsApiKey)return!1;return e.find((e=>e.address_components?.find((e=>"route"===e.types[0]))))||e[0]||!1}getLeafletPlace(e){if(!e)return!1;return e.find((e=>e.lat&&e.lon))}getGoogleLocation(e){if(!e)return!1;if(!this.vars.mapsApiKey)return!1;const{lat:t,lng:i}=e?.geometry?.location||{};return!(!t||!i)&&{lat:t,lng:i}}getLeafletLocation(e){return!!e&&{lat:e.lat,lng:e.lon}}async getCoordinates(){const{street:e="",streetNumber:t="",zipcode:i="",city:s=""}=super.prepareClientData(this.vars.client)||{},r=`${e} ${t},${this.vars.mapsApiKey?` ${i}`:""} ${s}`,a=await this.getGoogleGeocode(r)||await this.getLeafletGeocode(r);if(!a?.length)return!1;const n=this.getGooglePlace(a)||this.getLeafletPlace(a);if(!n)return!1;const o=this.getGoogleLocation(n)||this.getLeafletLocation(n);return this.state.coordinates=o,o}getSelectedPickup(){if(!this.vars.selectedPickup)return!1;const{courierId:e}=this.vars.selectedPickup||{},t=this.vars.shipping.find((t=>t.courier.id===e&&t.prepaid===this.vars.prepaid));if(!t)return!1;const{today:i,weekday:s,day:r,month:a}=super.getDeliveryTime(t)||{},{id:n,name:o,requiredClientNumber:c,address:{street:u,buildingAndHouseNumber:l,postcode:d,city:p}}=this.vars.selectedPickup;return{name:o,type:"pickup",street:`${u} ${l}`,zipcode:d,city:p,pickupPointId:n,time:i?`${s}`:`${s} ${r}.${a}`,id:e,cost:t.cost,requiredClientNumber:c}}async getAddressPickup(){if(this.vars.selectedPickup?.id)return!1;if(this.vars.selectedPickupDelivery)return!1;const e=super.getCouriersForPickup(this.vars.shipping,this.vars.prepaid);if(!e.length)return!1;const t=new PickupPointsModal;if(!t)return!1;const{lat:i,lng:s}=this.state.coordinates||await this.getCoordinates()||{};if(!i||!s)return!1;t.pickupVars.location={lat:i,lng:s},t.vars.cashOnDelivery="dvp"===this.vars.prepaid,t.vars.couriers=e,t.vars.allCouriersMap=!0,t.pickupVars.street=!0;const r=await t.updatePickups(!0);if(!r?.length)return!1;const a=r[0],{fullId:n}=a,o=n.split("-")[2],c={};return"1"===o&&(c.additionalServices="SERVICE_WEEKEND_DELIVERY"),"2"===o&&(c.additionalServices="SERVICE_SATURDAY_DELIVERY"),"3"===o&&(c.additionalServices="ATYPICAL_PRODUCT_SIZE"),this.vars.selectedPickupDelivery={id:n.split("-")[0],type:"pickup",...c,street:`${a.address?.street} ${a.address?.buildingAndHouseNumber}`,name:a.name,zipcode:a.address?.postcode||"",city:a.address?.city||"",pickupPointId:a.id,stock:a.stock,requiredClientNumber:a.requiredClientNumber,forPoints:!1},this.vars.selectedPickupDelivery}async getAddressStock(){if(this.vars.selectedStockDelivery)return!1;const e=super.getCouriersForStock(this.vars.shipping,this.vars.prepaid);if(!e.length)return!1;const t=new PickupPointsModal;if(!t)return!1;const{lat:i,lng:s}=this.state.coordinates||await this.getCoordinates()||{};if(!i||!s)return!1;t.pickupVars.location={lat:i,lng:s},t.vars.cashOnDelivery="dvp"===this.vars.prepaid,t.vars.couriers=e,t.vars.allCouriersMap=!0,t.pickupVars.street=!0;const r=await t.updatePickups(!0);if(!r?.length)return!1;const a=r[0],{fullId:n}=a,o=n.split("-")[2],c={};return"1"===o&&(c.additionalServices="SERVICE_WEEKEND_DELIVERY"),"2"===o&&(c.additionalServices="SERVICE_SATURDAY_DELIVERY"),"3"===o&&(c.additionalServices="ATYPICAL_PRODUCT_SIZE"),this.vars.selectedStockDelivery={id:n.split("-")[0],type:"stock",...c,street:`${a.address?.street} ${a.address?.buildingAndHouseNumber}`,name:a.name,zipcode:a.address?.postcode||"",city:a.address?.city||"",pickupPointId:a.id,stock:a.stock,forPoints:!1},this.vars.selectedStockDelivery}getDefaultPickup(e){if(!e)return!1;const{courierPickupPoints:[t]=[]}=null===e.courierPickupPoints?{}:e;if(!t)return!1;const{id:i,name:s,requiredClientNumber:r,address:{street:a,buildingAndHouseNumber:n,postcode:o,city:c}}=t;return this.vars.selectedPickupDelivery={id:e.courier.id,name:s,type:"pickup",street:`${a} ${n}`,zipcode:o,city:c,pickupPointId:i,requiredClientNumber:r,forPoints:!1},this.vars.selectedPickupDelivery}async getSelectedDelivery(e=!1,t=!1){const i=this.vars.shipping.filter((i=>i.courier.pickupPoint===e&&i.prepaid===this.vars.prepaid&&(t?0===i.courier.id:0!==i.courier.id)));if(!i.length)return!1;let s=this.vars.selectedAddressDelivery;e&&(s=this.vars.selectedPickupDelivery),t&&(s=this.vars.selectedStockDelivery);const[r,,a]=this.vars.defaultShipping.split("-"),n="prepaid"===this.vars.prepaid?"1":"0",o=`${r}-${n}${a?`-${a}`:""}`,c=s?`${s.id}-${n}`:o,u=i.find((e=>e.courier.fullId===c))||i.filter((e=>e.courierPickupPoints?.length)).sort(((e,t)=>e.cost?.value-t.cost?.value))?.[0]||i.sort(((e,t)=>e.cost?.value-t.cost?.value))?.[0],{today:l,weekday:d,day:p,month:
1h}=super.getDeliveryTime(u)||{},{street:m,streetNumber:y,zipcode:v,city:g,phone:f,isSecond:_=!1,region:C}=e?super.prepareClientData(this.vars.client):super.prepareAddressData(this.vars.client,!1,!0)||{};let k={};e&&!s&&(k=this.getSelectedPickup()||this.getDefaultPickup(u)||await this.getAddressPickup());const A={};e&&(A.phone=this.vars.pickupPhone||f);let S={};t&&!s&&(S=await this.getAddressStock()),t&&(A.phone=this.vars.stockPhone||f);const D="stock"===this.vars.selectedType&&t||"pickup"===this.vars.selectedType&&e||"address"===this.vars.selectedType&&!e&&!t;let x="address";u.courier.pickupPoint&&(x="pickup"),t&&(x="stock");const E=u?.minworthReached;return{active:D,name:u.courier.name,time:l?`${d}`:`${d} ${p}.${h}`,prepaid:this.vars.prepaid,id:u.courier.id,minworthReached:E,cost:u.cost,type:x,street:`${m} ${y}`,zipcode:v,city:g,region:C,phone:f,isSecond:_,pointsSelected:u?.pointsSelected||!1,pointsCost:u?.pointsCost||0,pointsEnabled:u?.pointsEnabled||!1,forPoints:s?.forPoints||!1,...k,...S,...s,...A}}prepareNoShippingMethods(){const e=document.getElementById(`${this.prefix}_summary_non_standardized`)?.content.cloneNode(!0);if(!e)return this.createInfo(this.txt["Brak dostępnych kurierów"]);const{active:t=!1,isAllowed:i=!1}=this.vars.nonStandardized;return t&&i?(this.vars.selectedType="address",this.vars.prepaid="prepaid",e):this.createInfo(this.txt["Brak dostępnych kurierów"])}async getDeliveriesElement(){const e=document.getElementById(`${this.prefix}_summary_deliveries`)?.content.cloneNode(!0);if(!e)return document.createElement("div");const t=e.querySelector(`.${this.prefix}_summary_deliveries__wrapper`);if(!t)return document.createElement("div");const i=e.querySelector(`.${this.prefix}_summary_deliveries__stock`);if(!this.vars.shipping.length){const s=this.prepareNoShippingMethods();return t.appendChild(s),i&&i.parentNode.removeChild(i),e}
1const s=await this.getSelectedDelivery(!0),r=await this.getSelectedDelivery();if("pickup"!==this.vars.selectedType||s||(this.vars.selectedType="address",r&&(r.active=!0)),"address"!==this.vars.selectedType||r||(this.vars.selectedType="pickup",r&&(r.active=!0)),s&&t.appendChild(this.prepareDeliveryToDisplay(s)),r&&t.appendChild(this.prepareDeliveryToDisplay(r)),!i)return e;const a=await this.getSelectedDelivery(!1,!0);if(!a)return i.parentNode.removeChild(i),e;if("stock"===this.vars.selectedType){i.classList.add("--active");const e=i.querySelector(`#${this.prefix}_summary_deliveries_change`);e&&(e.checked=!0)}return i.appendChild(this.prepareDeliveryToDisplay(a)),e}getDeliveryCostData(e){return`delivery: {\n      courierId: "${e.servicesId||e.id}",\n      prepaid: ${!("prepaid"!==this.vars.prepaid)}\n    }`}getForPointsCostData(e){return`shippingForPoints: ${!!e.forPoints}`}getServicesCostData(e){return e.calendarServices?"deliveryCalendarServices: true":""}getServicesPointsCostData(e){return e.calendarServicesPoints?"deliveryCalendarServicesPoints: true":""}getServicesAdditionalCostData(e){return e.additionalServices?`deliveryAdditionalServicesId: ${e.additionalServices}`:""}getPaymentCostData(){return this.vars.selectedPaymentForCost?`paymentMethodId: ${this.vars.selectedPaymentForCost}`:""}
1async prepareBasketCostInput(){const e=await this.getSelectedDelivery("pickup"===this.vars.selectedType,"stock"===this.vars.selectedType),t=this.getDeliveryCostData(e),i=this.getForPointsCostData(e),s=this.getServicesCostData(e),r=this.getServicesPointsCostData(e),a=this.getServicesAdditionalCostData(e);return`BasketCostInput: {\n      ${t}\n      ${i}\n      ${this.getPaymentCostData()}\n      ${s}\n      ${r}\n      ${a}\n    }`}updateWorth(e,t){const i=t.querySelector(`.${this.prefix}_summary_costs__item.--worth`);if(!i)return;const{formatted:s}=e?.totalProductsCost||{};if(!s)return void i.classList.remove("--active");const r=i.querySelector(`.${this.prefix}_summary_costs__value`);r&&(r.textContent=s,i.classList.add("--active"))}updateRebate(e,t){const i=t.querySelector(`.${this.prefix}_summary_costs__item.--rebate`);if(!i)return;const{formatted:s,value:r}=e?.totalRebateWithoutShipping||{};if(!s||!r)return void i.classList.remove("--active");const a=i.querySelector(`.${this.prefix}_summary_costs__value`);a&&(a.textContent=s,i.classList.add("--active"))}updatePaymentCost(e,t){const i=t.querySelector(`.${this.prefix}_summary_costs__item.--paymentcost`);if(!i)return;const{formatted:s,value:r}=e?.prepaidCost||{};if(!s||!r)return void i.classList.remove("--active");const a=i.querySelector(`.${this.prefix}_summary_costs__value`);a&&(a.textContent=s,i.classList.add("--active"))}updateShippingCost(e,t){const i=t.querySelector(`.${this.prefix}_summary_costs__item.--shipping`);if(!i)return;const{formatted:s,value:r}=e?.basketShippingCost?.shippingCostAfterRebate||{},{shippingCostPoints:a}=e?.basketShippingCost||{};if(!(a||s&&r))return void i.classList.remove("--active");const n=i.querySelector(`.${this.prefix}_summary_costs__value`);if(n){if(a)return n.textContent=`${a} ${this.txt.pkt}`,void i.classList.add("--active");n.textContent=s,i.classList.add("--active")}}updateInsurance(e,t){const i=t.querySelector(`.${this.prefix}_summary_costs__item.--insurance`);if(!i)return;const{formatted:s,value:r}=e?.insuranceCost||{};if(!s||!r)return void i.classList.remove("--active");const a=i.querySelector(`.${this.prefix}_summary_costs__value`);a&&(a.textContent=s,i.classList.add("--active"))}updateBalance(e,t){const i=t.querySelector(`.${this.prefix}_summary_costs__item.--balance`);if(!i)return;const{formatted:s,value:r}=e?.paymentAmountFromClientBalance||{};if(!s||!r)return void i.classList.remove("--active");const a=i.querySelector(`.${this.prefix}_summary_costs__value`);a&&(a.textContent=s,i.classList.add("--active"))}updateTotal(e,t){const i=t.querySelector(`.${this.prefix}_summary_total__value`);if(!i)return;const{formatted:s}=e?.totalToPay||{};if(!s)return;i.textContent=`${s}`;const r=document.querySelector(`.${this.prefix}_summary_submit_mobile__cost_value`);r&&(r.textContent=s);const a=t.querySelector(`.${this.prefix}_summary_submit__cost`);a&&(a.textContent=`${s}`)}updateSubscription(e,t){const i=t.querySelector(`.${this.prefix}_subscription_term`);if(!i)return;const{formatted:s,value:r}=e?.subscriptionTotalCost||{};s&&r?(i.textContent=this.txt.subscription.replace(/%s/g,s),i.classList.add("--active")):i.classList.remove("--active")}async updateCosts(e=document.querySelector(`.${this.prefix}_summary__wrapper.--right`)){if(!e)return;const t=await this.prepareBasketCostInput(),i=await this.fetchData({data:this.queries.BASKET_COST(t),linkParameter:"?query=basketCost"}),{basketCost:s}=i?.data?.basket||{};s&&(this.updateWorth(s,e),this.updateRebate(s,e),this.updatePaymentCost(s,e),this.updateShippingCost(s,e),this.updateInsurance(s,e),this.updateBalance(s,e),this.updateTotal(s,e),this.updateSubscription(s,e))}getCostsElement(){const e=document.getElementById(`${this.prefix}_summary_costs`)?.content.cloneNode(!0);return e||document.createElement("div")}getTotalElement(){const e=document.getElementById(`${this.prefix}_summary_total`)?.content.cloneNode(!0);return e||document.createElement("div")}getClausesElement(){const e=document.getElementById(`${this.prefix}_summary_clauses`)?.content.cloneNode(!0);return e||document.createElement("div")}
1checkTerms(e){this.vars.checkedTerms.length&&this.vars.checkedTerms.forEach((t=>{const i=e.querySelector(t);i&&(i.checked=!0)}))}getTermsElement(){const e=document.getElementById(`${this.prefix}_summary_terms`)?.content.cloneNode(!0);if(!e)return document.createElement("div");const t=e.querySelector(`.${this.prefix}_summary_terms__item.--virtual`);t&&!this.state.virtualProduct&&t.parentNode.removeChild(t);const i=e.querySelector(`.${this.prefix}_summary_terms__item.--service`);i&&!this.state.serviceProduct&&i.parentNode.removeChild(i);const s=e.querySelector(`.${this.prefix}_summary_terms__item.--email-processing`);if(s&&!this.vars.emailProcessingText&&s.parentNode.removeChild(s),this.vars.emailProcessingText){s.querySelector(`.${this.prefix}_summary_terms__content`).innerHTML=this.vars.emailProcessingText}if(this.vars.emailProcessingChecked){s.querySelector("input").checked=!0}const r=e.querySelector(`.${this.prefix}_summary_terms__item.--agree`);if(!r)return e;if(!this.vars.agreeTerm)return r.parentNode.removeChild(r),e;const a=r.querySelector(`.${this.prefix}_summary_terms__content`);return a?(a.innerHTML=this.vars.agreeTerm,e):e}getSubmitElement(){const e=document.getElementById(`${this.prefix}_summary_submit`)?.content.cloneNode(!0);return e||document.createElement("div")}async prepareSummaryToDisplay(){const e=document.getElementById(`${this.prefix}_summary`)?.content.cloneNode(!0);if(!e)return;const t=e.querySelector(`.${this.prefix}_summary__wrapper.--left`),i=e.querySelector(`.${this.prefix}_summary__wrapper.--right`),s=super.getHeaderElement(this.txt["Złóż zamówienie"],this.vars.previousStep),r=this.getAddressElement(),a=this.getPaymentsElement(),n=await this.getDeliveriesElement(),o=this.getCostsElement(),c=this.getTotalElement(),u=this.getClausesElement(),l=this.getTermsElement();this.checkTerms(l);const d=this.getSubmitElement();if(this.state.registerDevice&&!this.state.registerDeviceShowed&&!this.state.registerDeviceInfoClosed){const t="error"===this.state.registerDevice?`${this.txt["Nie udało się zapisać urządzenia"]}.`:`${this.txt["Pomyślnie zapisano urządzenie"]}.`,i=super.getStatusElement(this.state.registerDevice,t);if("error"===this.state.registerDevice){const e=document.getElementById(`${this.prefix}_register_authn`)?.content.cloneNode(!0);e&&i.firstChild?.append(e)}e.firstChild.prepend(i),this.state.registerDeviceShowed="summary"}e.firstChild.prepend(s),t.appendChild(r),t.appendChild(a),t.appendChild(n),i.appendChild(o),i.appendChild(c),i.appendChild(u),i.appendChild(l),i.appendChild(d),await this.updateCosts(i),this.modal.params={...super.getAnimationModalParams(),element:e,classList:`${this.modalClasses} --summary`,afterClose:this.leavePageModal.bind(this),notCloseSelectors:[".expchck_summary_submit_mobile",".order_notenough_back"],restoreViewport:!0},this.modal.init()}findAssociatedPaymentSystemName(e){return this.vars.paymentSystemIds?.[e]}getPaymentById(e){return this.vars.payments.find((({id:t})=>t?.toString()===e?.toString()))}getPaymentClause(e){const t=e.paymentChannel?.id,i=e.paymentSystem?.id,s=[];let r=[this.findAssociatedPaymentSystemName(i)];e.terms?.supportsPaymentInitiationService&&s.push({clause:e.terms.paymentInitiationServiceTerms.clause}),r=r.filter((e=>e));const a=this.findGroupTerms({groupId:t,paymentNames:r,paymentsGroupTerms:this.vars.paymentsGroupTerms});return s.push(...a),s}clause(){if(this.updateClause([]),"payment"!==this.vars.selectedPaymentType)return;const e=this.getPaymentById(this.vars.selectedPayment);if(!e)return;const t=this.getPaymentClause(e);this.updateClause(t)}updateClause(e){const t=document.querySelector(`.${this.prefix}_summary_clauses`);if(t.innerHTML="",t.classList.remove("--active"),!e?.length)return;e.forEach((e=>{const{clause:i,type:s}=e;if(!i)return;const r=document.getElementById(`${this.prefix}_summary_clause`)?.content.cloneNode(!0);r&&(r.firstChild.innerHTML=i,r.firstChild.setAttribute("data-type",s),t.appendChild(r))}));t.querySelector(`.${this.prefix}_summary_clause`)&&t.classList.add("--active")}getClientDeliveryData(){const e=super.prepareClientData(this.vars.client);return`clientDeliveryData: {\n      ${"firm"===this.vars.client.type?`companyName:"${e.firm?.replace?.(/"/g,'\\"')}",`:""}\n      firstname:"${e.firstname?.replace?.(/"/g,'\\"')}",\n      lastname:"${e.lastname?.replace?.(/"/g,'\\"')}",\n      street:"${e.street?.replace?.(/"/g,'\\"')} ${e.streetNumber?.replace?.(/"/g,'\\"')}",\n      zipcode:"${e.zipcode?.replace?.(/"/g,'\\"')}",\n      city:"${e.city?.replace?.(/"/g,'\\"')}",\n      country:${e.region},\n      province:"${e.province?.replace?.(/"/g,'\\"')}",\n      phone:"${e.phone?.replace?.(/"/g,'\\"')}",\n    }\n    type: ${e.type},\n    email: "${e.email?.replace?.(/"/g,'\\"')}",\n    ${"firm"===this.vars.client.type?`taxNumber:"${e.nip?.replace?.(/"/g,'\\"')}",`:""}`}getClientDeliveryOtherAddressData(){const e=super.prepareAddressData(this.vars.client,!1,!0);let t=e.phone?.replace?.(/"/g,'\\"');return this.vars.pickupPhone&&"pickup"===this.vars.selectedType?t=this.vars.pickupPhone?.replace?.(/"/g,'\\"'):this.vars.stockPhone&&"stock"===this.vars.selectedType&&(t=this.vars.stockPhone?.replace?.(/"/g,'\\"')),`clientDeliveryOtherAddressData: {\n      ${"firm"===this.vars.client.type?`companyName:"${e.firm?.replace?.(/"/g,'\\"')}",`:""}\n      firstname:"${e.firstname?.replace?.(/"/g,'\\"')}",\n      lastname:"${e.lastname?.replace?.(/"/g,'\\"')}",\n      street:"${e.street?.replace?.(/"/g,'\\"')} ${e.streetNumber?.replace?.(/"/g,'\\"')}",\n      zipcode:"${e.zipcode?.replace?.(/"/g,'\\"')}",\n      city:"${e.city?.replace?.(/"/g,'\\"')}",\n      country:${e.region},\n      province:"${e.province?.replace?.(/"/g,'\\"')}",\n      phone:"${t}",\n    }`}getClientBillingOtherData(){if(!this.vars.invoice)return"";const e=super.prepareInvoiceData(this.vars.client,!1,!0);return`clientBillingOtherData: {\n      companyName:"${e.firm?.replace?.(/"/g,'\\"')}",\n      taxNumber:"${e.nip?.replace?.(/"/g,'\\"')}",\n      street:"${e.street?.replace?.(/"/g,'\\"')} ${e.streetNumber?.replace?.(/"/g,'\\"')}",\n      zipcode:"${e.zipcode?.replace?.(/"/g,'\\"')}",\n      city:"${e.city?.replace?.(/"/g,'\\"')}",\n      country:${e.region},\n      province:"${e.province?.replace?.(/"/g,'\\"')}",\n    }`}getPaymentData(){return"payment"===this.vars.selectedPaymentType?`paymentMethodId: ${this.vars.selectedPayment},`:`selectedGroup: "${this.vars.selectedPayment}",`}getCourierData(e){const{active:t=!1,isAllowed:i=!1,courierId:s}=this.vars.nonStandardized;return!e.id&&t&&i?`courierId: "${s}",`:`courierId: "${e.id}",`}getCourierAdditionalData(e){return e.additionalServices?`deliveryAdditionalServicesId: ${e.additionalServices},`:""}getCourierForPointsData(e){return`isShippingForPoints: ${!!e.forPoints},`}getPickupPointData(e){return!e.pickupPointId||e.stock?"":`pickupPointId: "${e.pickupPointId}",`}getClientCourierNumberData(e){return e.clientCourierNumber?`clientCourierNumber: "${e.clientCourierNumber}",`:""}getStockData(e){return e.pickupPointId&&e.stock?`stockId: ${e.pickupPointId},`:""}getCalendarData(e){const{date:t,hour:i,servicesId:s}=e;if(!t&&!i&&!s)return"";const r="prepaid"===this.vars.prepaid?1:0;return`courierCalendarDetails: {\n      ${t?`selectedDate: "${t}"`:""}\n      ${i?`selectedHour: "${i}"`:""}
1\n      ${s?`calendarServiceCourierId: "${s}",calendarServicePaymentType: ${r}`:""}\n    }`}getPrepaidData(){return`prepaid: ${this.vars.prepaid},`}getDocumentData(){if(!this.vars.invoice)return"";return`purchaseDocumentType: ${this.vars.documents.find((e=>"eInvoice"===e.type))?"eInvoice":"invoice"},`}getEmailProcessingData(){return this.vars.emailProcessingChecked?"emailProcessingConsent: true,":""}async prepareOrderCreateInput(){const e=this.getClientDeliveryData(),t=this.getClientDeliveryOtherAddressData(),i=this.getClientBillingOtherData(),s=this.getPaymentData(),r=await this.getSelectedDelivery("pickup"===this.vars.selectedType,"stock"===this.vars.selectedType),a=this.getCourierData(r),n=this.getCourierAdditionalData(r),o=this.getCourierForPointsData(r),c=this.getPickupPointData(r),u=this.getClientCourierNumberData(r),l=this.getStockData(r),d=this.getCalendarData(r);return`orderCreateInput: {\n      clientData: {\n        ${e}\n        ${t}\n        ${i}\n      }\n      orderData: {\n        ${s}\n        ${a}\n        ${n}\n        ${o}\n        ${c}\n        ${u}\n        ${l}\n        ${this.getPrepaidData()}\n        ${d}\n        ${this.getDocumentData()}\n        ${this.getEmailProcessingData()}\n        checkoutType: idosell,\n      }\n    }`}async orderCreate(){const e=await this.prepareOrderCreateInput(),t=await super.fetchData({data:this.queries.ORDER_CREATE(e),linkParameter:"?mutation=orderCreate"});return t?.data?.orderCreate?.location?(this.state.basketeditCheckout||await this.returnBasket(!1),super.clearCache(),void(window.location.href=t.data.orderCreate.location)):t?.errors?.length&&t.errors[0].message?(Alertek.Error(t.errors[0].message),void super.removeLoading()):(Alertek.Error(this.txt["Nie udało się złożyć zamówienia. Upewnij się, że produkt jest w dalszym ciągu dostępny i spróbuj ponownie"]),void super.removeLoading())}async validateTerms(){const e=document.querySelector(`.${this.prefix}_summary_terms`);return await this.validate.validateForm(e)}validatePayment(){return 0!==this.vars.selectedPayment}
1async validateDelivery(){const e=await this.getSelectedDelivery("pickup"===this.vars.selectedType,"stock"===this.vars.selectedType);if(!1===e?.minworthReached)return!1;const{active:t=!1,isAllowed:i=!1,courierId:s}=this.vars.nonStandardized;return!(!t||!i)||!!e}async validatePickupPoint(){const e=await this.getSelectedDelivery("pickup"===this.vars.selectedType,"stock"===this.vars.selectedType);return!("pickup"===this.vars.selectedType&&!e.pickupPointId)}async validateClientCourierNumber(){const e=await this.getSelectedDelivery("pickup"===this.vars.selectedType,"stock"===this.vars.selectedType);return!(!e.clientCourierNumber&&e.requiredClientNumber)}async validateClientData(e){const t=super.prepareClientData(e||this.vars.client),i="firm"===t.type?["firm","nip","street","zipcode","city","phone","email"]:["firstname","lastname","street","zipcode","city","phone","email"];delete t.type,delete t.province,delete t.isActive,delete t.isFirst,delete t.firm,delete t.nip,delete t.birthdate;return await this.validate.validateObject(t,i)}async validateAddressData(){const e=super.prepareAddressData(this.vars.client,!1,!0);delete e.type,delete e.province,delete e.isActive,delete e.isFirst,delete e.isSecond,delete e.firm,delete e.nip,delete e.birthdate,delete e.firstname,delete e.lastname;return await this.validate.validateObject(e,["street","zipcode","city","phone"])}async validateInvoiceData(){if(!this.vars.invoice)return!0;const e=document.querySelector(`.${this.prefix}_summary_invoice`);if(!e)return;return await this.validate.validateForm(e)}pickupValidationFailed(){const e=this.getAddressForPickup();this.state.registerDeviceInfoClosed=!0,super.goStep("pickup",{previousStep:"summary",state:this.state,address:e,prepaid:this.vars.prepaid})}clientCourierNumbeValidationFailed(){const e=document.querySelector(`.${this.prefix}_summary_delivery.--active`);if(!e)return;const t=e.querySelector(`.${this.prefix}_client_courier_number`);if(!t)return;t.classList.add("--change"),super.scrollToElement(t);const i=t.querySelector("input");i&&(i.classList.add("--highlight"),setTimeout((()=>{i.classList.remove("--highlight")}),2e3),i.focus())}paymentValidationFailed(){this.state.registerDeviceInfoClosed=!0,super.goStep("payments",{previousStep:"summary",state:this.state})}termsValidationFailed(){const e=document.querySelector(`.${this.prefix}_summary_terms`);e&&super.scrollToElement({element:e})}clientDataValidationFailed(){this.state.registerDeviceInfoClosed=!0,super.goStep("client",{previousStep:"summary",enforceValidation:!0,state:this.state})}addressDataValidationFailed(){const e=super.prepareAddressData(this.vars.client,!1,!0).isSecond?"second":"first";this.state.registerDeviceInfoClosed=!0,super.goStep("address",{previousStep:"summary",type:e,enforceValidation:!0,state:this.state})}invoiceDataValidationFailed(){const e=document.querySelector(`.${this.prefix}_summary_invoice`);e&&(super.scrollToElement({element:super.findFirstFailedElement(e)}),e.classList.add("--inputs"),e.classList.remove("--saved"))}getAddressForPickup(){const e=super.prepareClientData(this.vars.client),{street:t="",streetNumber:i="",zipcode:s="",city:r=""}=e||{};return{street:`${t} ${i}`,zipcode:s,city:r}}onClickChangeAddress(e){this.state.registerDeviceInfoClosed=!0,super.goStep("client",{previousStep:"summary",state:this.state})}onClickChangeDelivery(e){const t=e.closest(`.${this.prefix}_summary_delivery`);if(!t)return;this.state.registerDeviceInfoClosed=!0;if(t.classList.contains("--stock")){const e=this.getAddressForPickup();return void super.goStep("pickup",{previousStep:"summary",state:this.state,address:e,prepaid:this.vars.prepaid,stock:!0})}if(t.classList.contains("--pickup")){const e=this.getAddressForPickup();super.goStep("pickup",{previousStep:"summary",state:this.state,address:e,prepaid:this.vars.prepaid,stock:!1})}else super.goStep("deliveries",{previousStep:"summary",prepaid:this.vars.prepaid,state:this.state})}async onClickSelectDelivery(e){const t=e.closest(`.${this.prefix}_summary_delivery`);if(!t)return;const i=t.classList.contains("--pickup"),s=t.classList.contains("--stock");if(!t.classList.contains("--active")||1===this.vars.shipping.length&&93===this.vars.shipping[0].courier.id){this.vars.selectedType=i?"pickup":"address",s&&(this.vars.selectedType="stock");const e=await this.getDeliveriesElement();document.querySelector(`.${this.prefix}_summary_deliveries`).replaceWith(e);const t=Date.now();return super.addLoading(),await this.updateCosts(),await super.delay(t),void super.removeLoading()}if(this.state.registerDeviceInfoClosed=!0,s){const e=this.getAddressForPickup();super.goStep("pickup",{previousStep:"summary",state:this.state,address:e,prepaid:this.vars.prepaid,stock:!0})}else if(i){const e=this.getAddressForPickup();super.goStep("pickup",{previousStep:"summary",state:this.state,address:e,prepaid:this.vars.prepaid,stock:!1})}else super.goStep("deliveries",{previousStep:"summary",prepaid:this.vars.prepaid,state:this.state})}onClickChangeInvoiceAddress(e){const t=e.closest(`.${this.prefix}_summary_invoice`);t&&(t.classList.remove("--saved"),t.classList.add("--inputs"))}async onClickSaveInvoice(e){const t=e.closest(`.${this.prefix}_summary_invoice`);if(!t)return;const i=Date.now();super.addLoading();const s=await this.validate.validateForm(t);if(await super.delay(i),super.removeLoading(),!s)return void this.invoiceDataValidationFailed();super.editInvoiceData(this.vars.client,t);const r=await super.getData({name:"client",state:this.state})||{};this.vars.client=r.client;const a=super.prepareInvoiceData(this.vars.client);this.changeInvoiceWrapper({wrapper:t,invoiceData:a}),t.classList.add("--saved"),this.vars.invoice=!0}async onClickOrder(){const e=Date.now();super.addLoading();if(!await this.validatePickupPoint())return super.removeLoading(),void this.pickupValidationFailed();if(!await this.validateClientCourierNumber())return super.removeLoading(),void this.clientCourierNumbeValidationFailed();if(!this.validatePayment())return await super.delay(e),super.removeLoading(),void this.paymentValidationFailed();if(!await this.validateTerms())return await super.delay(e),super.removeLoading(),void this.termsValidationFailed();if(!await this.validateDelivery())return await super.delay(e),Alertek.Error(this.txt["Wybierz opcję dostawy"]),void super.removeLoading();if(!await this.validateClientData())return await super.delay(e),super.removeLoading(),void this.clientDataValidationFailed();if(!await this.validateAddressData())return await super.delay(e),super.removeLoading(),void this.addressDataValidationFailed();if(!await this.validateInvoiceData())return await super.delay(e),super.removeLoading(),void this.invoiceDataValidationFailed();this.orderCreate()}onClickChangePickupPhone(e){const t=e.closest(`.${this.prefix}_pickup_phone`);t&&t.classList.add("--change")}async onClickSavePickupPhone(e){const t=e.closest(`.${this.prefix}_pickup_phone`);if(!t)return;const i=Date.now();super.addLoading(),await super.delay(i,500);const s=await this.validate.validateForm(t);if(super.removeLoading(),!s)return;const r=t.querySelector(`.${this.prefix}_pickup_phone__value`),a=t.querySelector(`.${this.prefix}_pickup_phone__item input`).value;r.textContent=a,t.classList.remove("--change");e.closest(`.${this.prefix}_summary_delivery.--stock`)?this.vars.stockPhone=a:this.vars.pickupPhone=a}onClickChangeClientCourierNumber(e){const t=e.closest(`.${this.prefix}_client_courier_number`);t&&t.classList.add("--change")}async onClickSaveClientCourierNumber(e){const t=e.closest(`.${this.prefix}_client_courier_number`);if(!t)return;const i=Date.now();super.addLoading(),await super.delay(i,500);const s=await this.validate.validateForm(t);if(super.removeLoading(),!s)return;const r=t.querySelector(`.${this.prefix}_client_courier_number__value`),a=t.querySelector(`.${this.prefix}_client_courier_number__item input`).value;r.textContent=a,t.classList.remove("--change"),this.vars.selectedPickupDelivery.clientCourierNumber=a}async onClickTryAgainRegister(){await super.registerDevice(this.state.registerDeviceData),super.goStep("summary",{previousStep:null,state:this.state})}onClickChangeNonStandardizedAddress(){super.goStep("deliveries",{previousStep:"summary",prepaid:this.vars.prepaid,state:this.state})}onChangeInvoice(e,t){const i=e.closest(`.${this.prefix}_summary_invoice`);i&&(i.classList.toggle("--active",e.checked),i.classList.remove("--inputs"),e.checked||(this.vars.invoice=!1),e.checked&&t&&i.classList.add("--saved"),e.checked&&i.classList.contains("--saved")&&(this.vars.invoice=!0))}async onChangePayment(e){const t=e.closest(`.${this.prefix}_summary_payment`);if(!t)return;const{value:i}=e;if(t.classList.contains("--group"))return this.state.registerDeviceInfoClosed=!0,void super.goStep("payments",{previousStep:"summary",selectedGroup:i,state:this.state});if("more"===i)return this.state.registerDeviceInfoClosed=!0,void super.goStep("payments",{previousStep:"summary",state:this.state});const s=t.querySelector('input[name="selected_group_only"]'),r=t.querySelector('input[name="payform_id"]'),a=t.querySelector('input[name="first_payment_id"]');let n=!1;if(r?n=r.value:a&&(n=a.value),this.vars.selectedPayment=s.value,this.vars.selectedPaymentForCost=n,this.vars.selectedPaymentType=r?"payment":"group","dvp"===this.vars.prepaid&&"cash"!==i||"prepaid"===this.vars.prepaid&&"cash"===i){this.vars.prepaid="cash"===i?"dvp":"prepaid";const e=await this.getDeliveriesElement();document.querySelector(`.${this.prefix}_summary_deliveries`).replaceWith(e)}const o=Date.now();super.addLoading(),this.clause(),await this.updateCosts(),await super.delay(o),super.removeLoading()}onChangeTerm(e){const{checked:t,id:i}=e;if("expchck_order_email-processing_checkbox"===i&&(this.vars.emailProcessingChecked=t),t)return void this.vars.checkedTerms.push(`#${i}`);const s=this.vars.checkedTerms.indexOf(i);s>-1&&this.vars.checkedTerms.splice(s,1)}onChangeStock(e){const t=e.closest(`.${this.prefix}_summary_deliveries__stock`);if(!t)return;if(t.classList.toggle("--active",e.checked),e.checked){const e=document.querySelector(`.${this.prefix}_summary_delivery.--stock`);if(!e)return;return void this.onClickSelectDelivery(e)}const i=document.querySelector(`.${this.prefix}_summary_delivery:not(.--stock)`);i&&this.onClickSelectDelivery(i)}async onChangeCourierForPoints(e){const t=e.closest(`.${this.prefix}_delivery__points_input`);if(!t)return!1;e.closest(`.${this.prefix}_summary_delivery.--pickup`)&&(this.vars.selectedPickupDelivery.forPoints=t?.checked),e.closest(`.${this.prefix}_summary_delivery.--address`)&&(this.vars.selectedAddressDelivery.forPoints=t?.checked),e.closest(`.${this.prefix}_summary_delivery.--stock`)&&(this.vars.selectedStockDelivery.forPoints=t?.checked);const i=Date.now();super.addLoading(),await this.updateCosts(),await super.delay(i),super.removeLoading()}initEvents(){const e=document.querySelector(`.${this.prefix}_summary`);if(!e)return;e.addEventListener("click",(e=>{const{target:t}=e;return t.closest(`.${this.prefix}_delivery__points`)&&t.closest(`.${this.prefix}_summary_delivery.--active`)?(this.onChangeCourierForPoints(t),!1):(t.closest(`.${this.prefix}_summary_address__wrapper`)&&this.onClickChangeAddress(t),t.closest(`.${this.prefix}_summary_invoice__address_change`)?(e.preventDefault(),this.onClickChangeInvoiceAddress(t),!1):t.closest(`.${this.prefix}_summary_invoice__save_button`)?(e.preventDefault(),this.onClickSaveInvoice(t),!1):t.closest(`.${this.prefix}_pickup_phone__change`)?(e.preventDefault(),this.onClickChangePickupPhone(t),!1):t.closest(`.${this.prefix}_pickup_phone__save`)?(e.preventDefault(),this.onClickSavePickupPhone(t),!1):!t.closest(`.${this.prefix}_pickup_phone__wrapper.--change`)&&(t.closest(`.${this.prefix}_client_courier_number__change`)?(e.preventDefault(),this.onClickChangeClientCourierNumber(t),!1):t.closest(`.${this.prefix}_client_courier_number__save`)?(e.preventDefault(),this.onClickSaveClientCourierNumber(t),!1):!t.closest(`.${this.prefix}_client_courier_number__wrapper.--change`)&&(t.closest(`.${this.prefix}_summary_delivery__change`)?1===this.vars.shipping.length&&93===this.vars.shipping[0].courier.id?(this.onClickSelectDelivery(t),!0):(e.preventDefault(),this.onClickChangeDelivery(t),!1):(t.closest(`.${this.prefix}_summary_delivery`)&&this.onClickSelectDelivery(t),t.closest(`.${this.prefix}_summary_submit__button`)?(e.preventDefault(),this.onClickOrder(),!1):t.closest(`.${this.prefix}_register_authn__button`)?(e.preventDefault(),this.onClickTryAgainRegister(t),!1):!t.closest(`.${this.prefix}_summary_non_standardized__change_link`)||(e.preventDefault(),this.onClickChangeNonStandardizedAddress(),!1)))))}
1)),e.addEventListener("change",(e=>{const{target:t}=e;t.closest(`#${this.prefix}_summary_invoice_change`)&&this.onChangeInvoice(t),t.closest(`.${this.prefix}_summary_payment__input`)&&this.onChangePayment(t),t.closest(`.${this.prefix}_summary_terms__item`)&&this.onChangeTerm(t),t.closest(`#${this.prefix}_summary_deliveries_change`)&&this.onChangeStock(t)}));const t=document.querySelector(`.${this.prefix}_summary_submit_mobile`);if(!t)return;if(t.classList.contains("--inited"))return;t.classList.add("--inited"),t.addEventListener("click",(e=>{const{target:t}=e;return!t.closest(`.${this.prefix}_summary_submit_mobile__button`)||(e.preventDefault(),this.onClickOrder(),!1)}));const i=super.debounce(this.checkSubmitMobileHeight.bind(this),100);window.addEventListener("resize",i)}checkSubmitMobileHeight(){const e=document.querySelector(`.${this.prefix}_summary_submit_mobile`);if(!e)return;const t=document.querySelector(`.${this.prefix}_summary_submit`);if(!t)return;const i=e.offsetHeight;80!==i?t.setAttribute("style",`--mb: ${i}px;`):t.removeAttribute("style")}initSubmitMobile(){const e=document.querySelector(`.${this.prefix}_summary_submit_mobile`);e&&(e.classList.add("--active"),this.checkSubmitMobileHeight())}async init(e={}){this.state=e.state||this?.state,e.basketeditCheckout&&(this.state.basketeditCheckout=!0),e.virtualProduct&&(this.state.virtualProduct=!0),e.serviceProduct&&(this.state.serviceProduct=!0);const t=await super.getData({name:"client",state:this.state})||{};if(this.vars?this.vars.client=t.client:this.vars={client:t.client},this.state.loginFromService=!1,t.client?.notLogged)return super.goStep("client",{previousStep:"login",state:this.state,type:"fill"}),void document.documentElement.classList.remove("--expchck-loading");if(app_shop.vars.isLogged=!0,"client"!==e.previousStep&&!this.vars?.clientValidated){if(!await this.validateClientData(t.client))return super.goStep("client",{previousStep:"login",state:this.state,type:"fill",enforceValidation:!0}),void document.documentElement.classList.remove("--expchck-loading")}e?.notUpdateBasket||this.state.basketeditCheckout||(await this.getBasketForm(),await this.buildBasket()),this.vars?.selectedPickupDelivery||await this.getCoordinates(),this.summaryData=await super.getData({name:"summary",state:this.state})||{},this.vars={previousStep:e.previousStep||this.vars?.previousStep,selectedPayment:e.selectedPayment||this.vars?.selectedPayment||0,selectedPaymentForCost:e.selectedPaymentForCost??this.vars?.selectedPaymentForCost??!1,selectedPaymentType:e.selectedPaymentType||this.vars?.selectedPaymentType||!1,client:this.summaryData.client||{},countries:this.summaryData.shippingCountries||[],payments:this.summaryData?.paymentsMethod?.payments||[],paymentsGroup:this.summaryData?.paymentsMethod?.paymentsGroup||[],paymentsGroupTerms:this.summaryData?.paymentsMethod?.paymentsGroupTerms||[],defaultPaymentMethodId:this.summaryData?.paymentsMethod?.settings?.defaultPaymentMethodId||0,paymentIcons:app_shop.fn.expChckViews.payments?.icons,paymentNames:app_shop.fn.expChckViews.payments?.names,paymentSystemIds:app_shop.fn.expChckViews.payments?.paymentSystemIds,shipping:this.summaryData.shipping?.shipping||[],defaultShipping:e.defaultShipping||this.vars?.defaultShipping||this.summaryData.shipping?.settings?.checked||"",nonStandardized:this.summaryData.shipping?.nonStandardizedInfo||{},prepaid:e.prepaid||this.vars?.prepaid||"prepaid",selectedType:e.selectedType||this.vars?.selectedType||"pickup",agreeTerm:this.summaryData.settings?.order?.personalDataProcessing?.dataProcessingText||!1,documents:this.summaryData.settings?.order?.availablePurchaseDocumentTypes?.invoiceOptions||[],selectedDelivery:e.selectedDelivery||this.vars?.selectedDelivery||{},selectedAddressDelivery:e.selectedAddressDelivery||this.vars?.selectedAddressDelivery||!1,selectedPickupDelivery:e.selectedPickupDelivery||this.vars?.selectedPickupDelivery||!1,selectedStockDelivery:e.selectedStockDelivery||this.vars?.selectedStockDelivery||!1,invoice:this.vars?.invoice??!1,selectedPickup:this.summaryData.shipping?.settings?.selectedPickup,pickupPhone:this.vars?.pickupPhone||!1,stockPhone:this.vars?.stockPhone||!1,checkedTerms:this.vars?.checkedTerms||[],emailProcessingChecked:this.summaryData.settings?.order?.personalDataProcessing?.emailProcessingChecked||!1,emailProcessingText:this.summaryData.settings?.order?.personalDataProcessing?.emailProcessingText||"",clientValidated:!0,registration:this.summaryData.settings?.client?.registrationFormFields||!1,mapsApiKey:this.summaryData.mapsApiKey||""},await this.prepareSummaryToDisplay(),document.documentElement.classList.remove("--expchck-loading"),this.dropdowns=new SelectToDropdown({selector:`.${this.prefix}_summary_invoice select:not(.f-dropdown)`,afterClickDropdownCallback:e=>{super.afterClickCountryProvinceDropdown(e,this.validate)}}
1),this.clause(),this.validate.init(),this.initEvents(),this.initSubmitMobile(),super.removeLoading()}}class ClientExpChck extends ExpressCheckout{constructor(e={}){super(e),this.validate=new FormValidation({formSelector:`.${this.prefix}_client`}),this.validate.callbacks.validate=super.afterValidateInput.bind(this)}prepareClientFormToDisplay(){const e=document.getElementById(`${this.prefix}_client`)?.content.cloneNode(!0);if(!e)return;const t="fill"===this.vars.type?this.txt["Dane do zamówienia"]:this.txt["Dane kupującego"],i=super.getHeaderElement(t,this.vars.previousStep);if(e.firstChild.prepend(i),this.state.registerDevice&&!this.state.registerDeviceShowed&&!this.state.registerDeviceInfoClosed){const t="error"===this.state.registerDevice?`${this.txt["Nie udało się zapisać urządzenia"]}.`:`${this.txt["Pomyślnie zapisano urządzenie"]}.`,i=super.getStatusElement(this.state.registerDevice,t);if("error"===this.state.registerDevice){const e=document.getElementById(`${this.prefix}_register_authn`)?.content.cloneNode(!0);e&&i.firstChild?.append(e)}e.firstChild.prepend(i),this.state.registerDeviceShowed="client"}const s=e.querySelector(`.${this.prefix}_client__change_account`);this.state.basketeditCheckout&&s&&s.parentNode.removeChild(s);const r=e.querySelector(`.${this.prefix}_client__inputs`),a=super.prepareClientData(this.vars.client);super.setInputs({wrapper:r,...a,countries:this.vars.countries,wrapperName:"client",login:this.vars.client.login}),super.addFocus(r),super.addFocusEvents(r),this.modal.params={...super.getAnimationModalParams(),element:e,classList:`${this.modalClasses} --client --${this.vars.type}`,afterClose:this.leavePageModal.bind(this)},this.modal.init()}async onClickSaveData(){const e=document.querySelector(`.${this.prefix}_client`);super.addLoading();if(!await this.validate.validateForm())return super.scrollToElement({element:super.findFirstFailedElement(e)}),void super.removeLoading();await super.editClientData(this.vars.client,e),this.state.registerDeviceInfoClosed=!0,super.goStep("summary",{previousStep:null,notUpdateBasket:!("fill"===this.vars.type),state:this.state})}async onClickChangeAccount(){super.addLoading();const e=sessionStorage.getItem("expressCheckoutLoginType");super.clearCache();try{await fetch("/login.php?operation=logout")}catch(e){}this.state.webAuthnLoginInitialized=!0,super.changeLoginLinkText(this.txt["Zaloguj się"]),this.state.registerDeviceInfoClosed=!1,super.goStep("externalService"===e?"loginServices":"login",{previousStep:null,state:this.state,notWebAuthn:!0})}async onClickTryAgainRegister(){await super.registerDevice(this.state.registerDeviceData),super.goStep("client",{previousStep:null,state:this.state})}initEvents(){const e=document.querySelector(`.${this.prefix}_client`);e&&(e.addEventListener("click",(e=>{const{target:t}=e;return t.closest(`.${this.prefix}_client__button`)?(e.preventDefault(),this.onClickSaveData(t),!1):t.closest(`.${this.prefix}_client__change_link`)?(e.preventDefault(),this.onClickChangeAccount(t),!1):!t.closest(`.${this.prefix}_register_authn__button`)||(e.preventDefault(),this.onClickTryAgainRegister(t),!1)})),e.addEventListener("change",(e=>{const{target:t}=e;if(t.closest('[name="client_type"]'))return super.onChangeClientType(t),!1})))}async init(e={}){this.state=e.state||this?.state,this.clientData=await super.getData({name:"client",state:this.state})||{},this.vars={previousStep:e.previousStep||this.vars?.previousStep,type:e.type||"edit",client:this.clientData.client||{},countries:this.clientData.shippingCountries||[],enforceValidation:e.enforceValidation||!1},this.vars.client.notLogged=!1,this.prepareClientFormToDisplay(),this.dropdowns=new SelectToDropdown({selector:`.${this.prefix}_client select:not(.f-dropdown)`,afterClickDropdownCallback:e=>{super.afterClickCountryProvinceDropdown(e,this.validate)}}),this.validate.init(),this.vars.enforceValidation&&this.validate.validateForm(),this.initEvents()}}
1class AddressExpChck extends ExpressCheckout{constructor(e={}){super(e),this.validate=new FormValidation({formSelector:`.${this.prefix}_address`}),this.validate.callbacks.validate=super.afterValidateInput.bind(this)}prepareAddressFormToDisplay(){const e=document.getElementById(`${this.prefix}_address`)?.content.cloneNode(!0);if(!e)return;const t=super.getHeaderElement(this.txt["Adres dostawy"],this.vars.previousStep);e.firstChild.prepend(t);const i=e.querySelector(`.${this.prefix}_address__inputs`),s=super.prepareAddressData(this.vars.client,"second"===this.vars.type)||{},r=e.querySelector(`.${this.prefix}_address__button`);r&&this.vars.add&&(r.textContent=this.txt["Dodaj nowy adres"]),super.setInputs({wrapper:i,...s,countries:this.vars.countries,wrapperName:"address"}),super.addFocus(i),super.addFocusEvents(i),this.modal.params={...super.getAnimationModalParams(),element:e,classList:`${this.modalClasses} --address --${this.vars.type}`},this.modal.init()}async onClickSaveAddress(){const e=document.querySelector(`.${this.prefix}_address__inputs`);if(!e)return;super.addLoading();if(!await this.validate.validateForm())return super.scrollToElement({element:super.findFirstFailedElement(e)}),void super.removeLoading();await super.editAddressData(this.vars.client,e,"second"===this.vars.type),super.goStep(this.vars.previousStep,{previousStep:"summary"})}initEvents(){const e=document.querySelector(`.${this.prefix}_address`);e&&e.addEventListener("click",(e=>{const{target:t}=e;return!t.closest(`.${this.prefix}_address__button`)||(e.preventDefault(),this.onClickSaveAddress(t),!1)}))}async init(e={}){this.state=e.state||this?.state,this.clientData=await super.getData({name:"client",state:this.state})||{},this.vars={previousStep:e.previousStep||this.vars?.previousStep,type:e.type||this.vars?.type||"first",client:this.clientData.client||{},countries:this.clientData.shippingCountries||[],enforceValidation:e.enforceValidation||!1,add:e.add||!1},this.prepareAddressFormToDisplay(),this.dropdowns=new SelectToDropdown({selector:`.${this.prefix}_address select:not(.f-dropdown)`,afterClickDropdownCallback:e=>{super.afterClickCountryProvinceDropdown(e,this.validate)}}),this.validate.init(),this.vars.enforceValidation&&this.validate.validateForm(),this.initEvents()}}
1class DeliveriesExpChck extends ExpressCheckout{constructor(e={}){super(e),this.elementsMap=new WeakMap,this.icons={online:"/gfx/standards/online_delivery.png"}}noShippingMethods(e){e.innerHTML="";const t=document.getElementById(`${this.prefix}_deliveries_non_standardized`)?.content.cloneNode(!0);if(!t)return void e.appendChild(super.createInfo(this.txt["Brak dostępnych kurierów"]));const{active:i=!1,isAllowed:s=!1,courierId:r}=this.vars.nonStandardized;i&&s?e.appendChild(t):e.appendChild(super.createInfo(this.txt["Brak dostępnych kurierów"]))}getAddressElement(e){const t=document.getElementById(`${this.prefix}_deliveries_address`)?.content.cloneNode(!0);if(!t||!this.vars.client)return document.createElement("div");const i=super.prepareAddressData(this.vars.client,e);if(!i)return!1;const{street:s="",streetNumber:r="",zipcode:a="",city:n="",isActive:o=!1,phone:c=""}=i||{},u=t.querySelector(`.${this.prefix}_deliveries__address_label`);u&&(u.textContent=n);const l=t.querySelector(`.${this.prefix}_deliveries__street`);l&&(l.textContent=`${s} ${r}`);const d=t.querySelector(`.${this.prefix}_deliveries__city`);d&&(d.textContent=`${a} ${n}`);const p=t.querySelector(`.${this.prefix}_deliveries__phone`);return p&&(p.textContent=c),o&&t.firstChild.classList.add("--active"),e&&t.firstChild.classList.add("--second"),t}getAddAddressElement(){const e=document.getElementById(`${this.prefix}_deliveries_add_address`)?.content.cloneNode(!0);return e||document.createElement("div")}minworthDelivery(e,t){const i=t.querySelector(`.${this.prefix}_delivery__minworth`);if(!i)return;if(e?.minworthReached)return void i.parentNode.removeChild(i);const s=t.querySelector(`.${this.prefix}_delivery__time`);s&&s.parentNode.removeChild(s);const r=t.querySelector(`.${this.prefix}_delivery__select_day`);r&&r.parentNode.removeChild(r);const a=t.querySelector(`.${this.prefix}_delivery__pickup`);a&&a.parentNode.removeChild(a);const n=t.querySelector(`.${this.prefix}_delivery__minworth_value`);n&&(n.textContent=e?.minworth?.formatted);const o=t.querySelector('input[name="shipping"]');o&&(o.disabled=!0)}selectDayDelivery(e,t){if(!e?.courier?.companyGroupKey)return;const i=t.firstChild;i&&(i.setAttribute("data-company-key",e?.courier?.companyKey),i.setAttribute("data-company-group-key",e?.courier?.companyGroupKey))}commentDelivery(e,t){const i=t.querySelector(`.${this.prefix}_delivery__comment`);i&&(e?.comment&&""!==e?.comment?i.textContent=e?.comment:i.parentNode.removeChild(i))}timeDelivery(e,t){const i=t.querySelector(`.${this.prefix}_delivery__time`);if(!i)return;const{today:s,weekday:r,day:a,month:n}=super.getDeliveryTime(e);i.textContent=s?`${r}`:`${r} ${a}.${n}`}pointsDelivery(e,t){const i=t.querySelector(`.${this.prefix}_delivery__points`);if(!i)return;if(!e.pointsSelected||0===e.pointsCost?.value||!e.pointsEnabled)return void i.parentNode.removeChild(i);const s=`for_points_${e?.courier?.fullId||`${e?.courier?.id}-${"dvp"===e?.prepaid?"0":"1"}`}`,r=i.querySelector(`.${this.prefix}_delivery__points_input`);if(!r)return;r.id=s;const a=i.querySelector(".f-label");a&&(a.setAttribute("for",s),a.textContent=`${e.pointsCost?.value} ${this.txt.pkt}.`)}costDelivery(e,t){const i=t.querySelector(`.${this.prefix}_delivery__cost`);i&&(i.textContent=0!==e?.cost?.value?e?.cost?.formatted:`${this.txt.Gratis}!`,e?.cost?.value&&0!==e?.cost?.value&&i.classList.add("--plus"))}generateDate(e){const t=document.getElementById(`${this.prefix}_deliveries_date`)?.content.cloneNode(!0);if(!t)return document.createElement("div");if(!e)return document.createElement("div");const i=e.getDate()<10?`0${e.getDate()}`:e.getDate(),s=e.getMonth()+1<10?`0${e.getMonth()+1}`:e.getMonth()+1,r=`${e.getFullYear()}-${s}-${i}`;t.firstChild.setAttribute("data-date",r);const a=t.querySelector(`.${this.prefix}_delivery__date_day`);if(a){const t=this.locale.shortWeekdays[e.getDay()];a.textContent=`${t} ${i}.${s}`}return t.firstChild}generateDates(e,t){const{days:i}=e?.deliveryTime?.time,{day:s,month:r,year:a}=this.calculateDate({days:i}),n=e?.workingDays;if(!n?.length){const e=t.querySelector(`.${this.prefix}_delivery__calendar`);return e.innerHTML="",void e.appendChild(this.createInfo(this.txt["Brak dostępnych terminów"]))}const o=new Date(`${a}/${r}/${s}`);for(let e=0;e<3;e++){let i=!0;for(;i;){const e=o.getDate()<10?`0${o.getDate()}`:o.getDate(),t=o.getMonth()+1<10?`0${o.getMonth()+1}`:o.getMonth()+1,s=`${o.getFullYear()}-${t}-${e}`,r=0===o.getDay()?7:o.getDay(),a=n.find((e=>e===r)),c=this.vars.holidays.find((e=>e.formatted===s));if(a&&!c){i=!1;break}o.setDate(o.getDate()+1)}const s=this.generateDate(o);if(0===e){s.classList.add("--active");const e=t.querySelector(`.${this.prefix}_delivery__calendar_input`);e&&(e.value=s.getAttribute("data-date"))}const r=t.querySelector(`.${this.prefix}_delivery__dates`);r&&r.appendChild(s),o.setDate(o.getDate()+1)}}calendarDelivery(e,t){const i=t.querySelector(`.${this.prefix}_delivery__calendar`);if(!i)return;if(!e?.calendar&&!e?.courier?.companyGroupKey)return void i.parentNode.removeChild(i);if(t.firstChild.classList.add("--calendar"),e?.courier?.companyGroupKey){const e=i.querySelector(`.${this.prefix}_delivery__datepicker`);return void(e&&e.parentNode.removeChild(e))}const s=t.querySelector(`.${this.prefix}_delivery__calendar_services`);s&&s.parentNode.removeChild(s),e?.calendar&&this.generateDates(e,t);const{days:r}=e?.deliveryTime?.time,{day:a,month:n,year:o}=this.calculateDate({days:r});i.setAttribute("data-first-date",`${o}-${n}-${a}`),i.setAttribute("data-working-days",e?.workingDays);const c=t.querySelector(`.${this.prefix}_delivery__calendar_hours`);c&&"days_and_hours"!==e?.calendarOption&&c.parentNode.removeChild(c)}getDelivery(e){const t=document.getElementById(`${this.prefix}_deliveries_item`)?.content.cloneNode(!0);if(!t)return document.createElement("div");t.firstChild.setAttribute("data-id",e?.courier?.id),t.firstChild.setAttribute("data-prepaid",e?.prepaid);const i=e?.courier?.fullId||`${e?.courier?.id}-${"dvp"===e?.prepaid?"0":"1"}`,s=t.querySelector('input[name="shipping"]');s&&(s.value=i,s.id=`delivery_${i}`);const r=t.querySelector(`label.${this.prefix}_delivery__label`);r&&r.setAttribute("for",`delivery_${i}`);const a=t.querySelector(`img.${this.prefix}_delivery__icon`);a&&(a.alt=e?.courier?.name,a.src=93!==e?.courier?.id||e?.courier?.icon?e?.courier?.icon:this.icons.online);const n=t.querySelector(`.${this.prefix}_delivery__name`);return n&&(n.textContent=e?.courier?.name),this.minworthDelivery(e,t),this.selectDayDelivery(e,t),this.commentDelivery(e,t),this.timeDelivery(e,t),this.pointsDelivery(e,t),this.costDelivery(e,t),this.calendarDelivery(e,t),t}getDeliveryElements(e=document){const t=e.querySelector(`.${this.prefix}_deliveries__section`);if(!t)return;const i=this.vars.shipping.filter((e=>!e.courier.pickupPoint&&0!==e.courier.id&&e.prepaid===this.vars.prepaid)).sort(((e,t)=>e.cost?.value-t.cost?.value));
1i.length?i.forEach((e=>{const i=this.getDelivery(e);t.appendChild(i)})):this.noShippingMethods(t)}prepareDeliveriesToDisplay(){const e=document.getElementById(`${this.prefix}_deliveries`)?.content.cloneNode(!0);if(!e)return;const t=e.querySelector(`.${this.prefix}_deliveries__addresses`),i=super.getHeaderElement(this.txt["Na adres"],this.vars.previousStep),s=this.getAddressElement(),r=this.getAddressElement("second")||this.getAddAddressElement();this.getDeliveryElements(e),e.firstChild.prepend(i),s&&t.appendChild(s),r&&t.appendChild(r),this.modal.params={...super.getAnimationModalParams(),element:e,classList:`${this.modalClasses} --deliveries`,afterClose:this.leavePageModal.bind(this)},this.modal.init()}calendarAfterSelectDate(e,t){if(!t.length)return;const i=e.target.closest(`.${this.prefix}_delivery__datepicker`);if(!i)return;i.classList.remove("--active");const s=i.closest(`.${this.prefix}_delivery`);if(!s)return;const r=s.querySelector(`.${this.prefix}_delivery__date.--active`);r&&r.classList.remove("--active");const a=s.querySelector(`.${this.prefix}_delivery__calendar_input`);a&&([a.value]=t);const n=s.querySelector(`.${this.prefix}_delivery__date[data-date="${t[0]}"]`);if(n)return void this.onClickSelectDateCalendar(n);const o=s.querySelector(`.${this.prefix}_delivery__date:last-child`),c=this.generateDate(new Date(t[0].replace(/-/g,"/")));o.replaceWith(c),this.onClickSelectDateCalendar(c)}calendarDays(){document.querySelectorAll(`.${this.prefix}_delivery__datepicker`).forEach((e=>{const t=e.closest(`.${this.prefix}_delivery__calendar`);if(!t)return;const i=t.getAttribute("data-first-date"),s=t.getAttribute("data-working-days").split(",").map((e=>7===+e?0:+e)),r=[];this.vars.holidays.forEach((e=>{r.push(e.formatted)})),this.elementsMap.set(e,{calendar:new VanillaCalendar(e,{date:{min:i,today:new Date(i.replace(/-/g,"/"))},settings:{workingDays:s,selected:{dates:[i],holidays:r}},actions:{clickDay:(e,t)=>this.calendarAfterSelectDate(e,t)}})}),this.elementsMap.get(e).calendar.init()}))}calendarHours(){this.calendarHoursSelect=new SelectToDropdown({selector:`.${this.prefix}_delivery__hours:not(.f-dropdown)`})}calendar(){document.querySelectorAll(`.${this.prefix}_delivery__calendar`).length&&(this.calendarDays(),this.calendarHours())}getFormattedDeliveryDate(e){const t=new Date(e.replace(/-/g,"/"));return`${this.locale.weekdays[t.getDay()]} ${e.split("-")[2]}.${e.split("-")[1]}`}addSelectedClasses(e){const t=e.closest(`.${this.prefix}_deliveries__section`);if(!t)return;const i=t.querySelector(`.${this.prefix}_delivery.--calendar.--active`);i&&i.classList.remove("--active"),e.classList.add("--active")}generateOptionElement(e){const{id:t,name:i,selectedForPrice:s,pointsEnabled:r}=e,{value:a,formatted:n}=e.price,{value:o,formatted:c}=e.pointCost;let u=`\n      <option\n        value="${t}"\n        data-price="${a}"\n        data-price-formatted="${n}"${s?'selected="selected"':""}\n      >${i} ${0!==a?`+${n}`:""}</option>\n    `;return r&&0!==o&&(u+=`\n        <option\n          value="${t}"\n          data-price="${o}"\n          data-price-formatted="${c}"\n          data-points="${r}"\n        >${i} +${c}</option>\n      `),u}dropdownServicesCallback(e,t){const i=e.querySelector(`.${this.prefix}_delivery__services_wrapper`),s=+t.getAttribute("data-price"),r=t.getAttribute("data-price-formatted"),a=t.getAttribute("data-points");e.querySelector(`.${this.prefix}_delivery__date.--active .${this.prefix}_delivery__date_cost`).textContent=0!==s?`+${r}`:"";const n=e.closest(`.${this.prefix}_deliveries__block`).classList.contains("--later")?"_division":"",o=e.querySelector(`input[name="calendar_services_points${n}"]`);if(!a||!o){if(a&&!o){const e=document.createElement("input");return e.type="hidden",e.name=`calendar_services_points${n}`,e.value="1",void i.appendChild(e)}o&&o.parentNode.removeChild(o)}}generateAvailableServices(e,t){const i=e.querySelector(`.${this.prefix}_delivery__calendar_services`);if(!i)return;if("input"===t.type)return void i.parentNode.removeChild(i);const s=e.querySelector(`.${this.prefix}_delivery__services_wrapper`),r=e.querySelector(`.${this.prefix}_delivery__date.--active .${this.prefix}_delivery__date_cost`);if(!r)return;const{availableServices:a}=t;if(!a)return void i.classList.add("--no-service");i.classList.remove("--no-service");const n=e.closest(`.${this.prefix}_deliveries__block`).classList.contains("--later")?"_division":"";if(1===a.length){i.classList.add("--one-service");const{id:e}=a[0],{value:t,formatted:o}=a[0].price;return s.innerHTML=`<input type="hidden" name="calendar_services${n}" value="${e}"/>`,void(r.textContent=0!==t?`+${o}`:"")}i.classList.remove("--one-service"),s.innerHTML=`\n      <select name="calendar_services${n}" class="${this.prefix}_delivery__services_select f-select --small">\n        ${a.map((e=>this.generateOptionElement(e))).join("")}\n      </select>\n    `,this.dropdownServices=new SelectToDropdown({selector:`.${this.prefix}_delivery__services_select:not(.f-dropdown)`,afterClickDropdownCallback:t=>{const i=t.querySelector(".f-dropdown-item");this.dropdownServicesCallback(e,i)},generateDropdownCallback:t=>{const i=t.querySelector(".f-dropdown-item.--selected");i&&this.dropdownServicesCallback(e,i)}})}generateServicesDates(e,t){const i=e.querySelector(`.${this.prefix}_delivery__calendar`);if(!i)return;if(!t?.data?.courierServices?.calendar)return void i.parentNode.removeChild(i);const s=e.querySelector(`.${this.prefix}_delivery__dates`);if(!s)return;const r=s.querySelector(`.${this.prefix}_delivery__date.--other`);r&&s.removeChild(r);const a=i.querySelector(`.${this.prefix}_delivery__calendar_hours`);a&&a.parentNode.removeChild(a);const{calendar:n}=t.data.courierServices;
1n.forEach(((t,i)=>{const{year:r,month:a,day:n}=t.date,o=this.generateDate(new Date(`${r}/${a}/${n}`));if(s.appendChild(o),0===i){o.classList.add("--active"),this.generateAvailableServices(e,t);const i=e.querySelector(`.${this.prefix}_delivery__calendar_input`);i&&(i.value=o.getAttribute("data-date"))}this.elementsMap.set(o,t)})),this.selectDeliveryTimeLabel(e)}async services(e){if(e.classList.contains("--services-loaded"))return;const t=e.getAttribute("data-company-key");if(!t)return;const i=e.getAttribute("data-company-group-key");if(!i)return;const s=e.getAttribute("data-prepaid");e.classList.add("--loading");const r=await super.fetchData({data:this.queries.SERVICES(`\n        courierKey: "${t}",\n        courierGroupKey: "${i}",\n        prepaid: ${s}\n      `),linkParameter:"?query=services"});e.classList.remove("--loading"),e.classList.add("--services-loaded"),this.generateServicesDates(e,r)}selectDeliveryTimeLabel(e){const t=e.querySelector(`.${this.prefix}_delivery__time`);if(!t)return;const i=e.querySelector(`.${this.prefix}_delivery__date.--active`);if(!i)return;const s=i.getAttribute("data-date"),r=this.getFormattedDeliveryDate(s);t.textContent=r}getSelectedDeliveryTime(e){const t=e.querySelector(`.${this.prefix}_delivery__time`);return t?t.textContent:""}getSelectedDeliveryDate(e){const t=e.querySelector('[name="calendar_select_date"');return t?{date:t.value}:{}}getSelectedDeliveryHour(e){const t=e.querySelector('[name="calendar_select_hour"');return t?{hour:t.value}:{}}getSelectedDeliverySerives(e,t){const i=e.querySelector('[name="calendar_services"');if(!i)return{};const s=i.value,r=s.split?.("-")?.[0],a=!!e.querySelector('[name="calendar_services_points"'),n=s?s.split("-")[2]:t.split("-")[2],o={};return"1"===n&&(o.additionalServices="SERVICE_WEEKEND_DELIVERY"),"2"===n&&(o.additionalServices="SERVICE_SATURDAY_DELIVERY"),"3"===n&&(o.additionalServices="ATYPICAL_PRODUCT_SIZE"),{servicesId:r,calendarServicesPoints:a,...o}}getSelectedDelivery(e){const t=e.querySelector(`.${this.prefix}_delivery__input`);if(!t)return{};const i=t.value,s=this.getSelectedDeliveryTime(e),r=this.getSelectedDeliveryDate(e),a=this.getSelectedDeliveryHour(e),n=this.getSelectedDeliverySerives(e,i);return{id:i.split("-")[0],type:"address",time:s,forPoints:!1,...r,...a,...n}}async checkPreviousState(){if(!this.vars.previousState)return;const e=document.querySelector(`.${this.prefix}_deliveries__address.--active`);if(!e)return;const t=!!e.classList.contains("--second"),i=super.prepareAddressData(this.vars.client,t),{zipcode:s="",region:r=""}=i||{};if(s===this.vars.previousState.zipcode&&r===this.vars.previousState.region)return;const a={};s!==this.vars.previousState.zipcode&&(a.zipcode=s),r!==this.vars.previousState.region&&(a.country={id:r}),super.addLoading(),await this.setRegionAndZipcode({diff:a,type:"billing",clientData:this.vars.client}),this.vars.previousState=!1,super.goStep("deliveries",{previousStep:"summary"})}onClickHideCalendar(e){const{target:t}=e;if(!t.closest(`.${this.prefix}_delivery__datepicker`)){const e=document.querySelector(`.${this.prefix}_delivery__datepicker.--active`);e&&e.classList.remove("--active");const i=t.closest(`.${this.prefix}_delivery`);if(!i)return;i.classList.remove("--calendar-opened")}}onClickOpenCalendar(e){const t=e.parentNode.querySelector(`.${this.prefix}_delivery__datepicker`);if(!t)return;t.classList.toggle("--active");const i=e.closest(`.${this.prefix}_delivery`);i&&i.classList.toggle("--calendar-opened")}onClickSelectDateCalendar(e){const t=e.closest(`.${this.prefix}_delivery`);if(!t)return;const i=t.querySelector(`.${this.prefix}_delivery__date.--active`),s=e.closest(`.${this.prefix}_delivery__date`);if(i===s)return;i&&i.classList.remove("--active"),s.classList.add("--active");const r=this.elementsMap.get(s);r&&this.generateAvailableServices(t,r);const a=s.getAttribute("data-date"),n=t.querySelector(`.${this.prefix}_delivery__calendar_input`);n&&(n.value=a);const o=t.querySelector(`.${this.prefix}_delivery__datepicker`);if(o){const{calendar:e}=this.elementsMap.get(o);if(!e)return;e.date.today=new Date(a.replace(/-/g,"/")),e.settings.selected.dates=[a],e.update(
1)}this.selectDeliveryTimeLabel(t)}onClickContinueNonStandardizedOrder(){super.goStep("summary",{previousStep:null,notUpdateBasket:!0})}onClickEditAddress(e){const t=e.closest(".--second")?"second":"first";if(!e.closest(`.${this.prefix}_deliveries__address.--active`)){const e=super.prepareAddressData(this.vars.client,!("second"===t)),{zipcode:i="",region:s=""}=e||{};return this.vars.previousState={region:s,zipcode:i},void super.goStep("address",{previousStep:"deliveries",type:t})}this.vars.previousState=!1,super.goStep("address",{previousStep:"deliveries",type:t})}onClickAddAddress(e){super.goStep("address",{previousStep:"deliveries",type:"second",add:!0})}async onClickSelectAddress(e){if(e.closest(`.${this.prefix}_deliveries__address.--active`))return;const t=e.closest(`.${this.prefix}_deliveries__addresses`);if(!t)return;const i=t.querySelector(`.${this.prefix}_deliveries__address.--active`);i&&i.classList.remove("--active");const s=e.closest(`.${this.prefix}_deliveries__address`);s&&s.classList.add("--active"),super.removeActiveAddress(this.vars.client);const r=!!e.closest(".--second"),a=r?this.vars.client.deliveryAddresses.find((e=>e.isSecond)):this.vars.client.deliveryAddresses.find((e=>e.isFirst))||this.vars.client.deliveryAddresses.find((e=>e.isDefault));if(!a)return;a.isActive=!0,super.setData(`${this.prefix}Client`,{data:{client:{...this.vars.client},shippingCountries:this.vars.countries}});const n=r?this.vars.client.deliveryAddresses.find((e=>e.isFirst))||this.vars.client.deliveryAddresses.find((e=>e.isDefault)):this.vars.client.deliveryAddresses.find((e=>e.isSecond));if(!n)return;const o=this.compareAddresses(a,n);(o.country||o.zipcode)&&(super.addLoading(),await this.setRegionAndZipcode({diff:o,type:"billing",clientData:this.vars.client}),super.goStep("deliveries",{previousStep:"summary"}))}onClickSelectDelivery(e){const t=e.closest(`.${this.prefix}_delivery`);if(!t)return;if(!t.querySelector(`.${this.prefix}_delivery__input`))return;const i=this.getSelectedDelivery(t);super.goStep("summary",{previousStep:null,selectedType:"address",selectedAddressDelivery:i,notUpdateBasket:!0})}async onChangeSelectDelivery(e){const t=e.closest(`.${this.prefix}_delivery`);if(t)if(t.classList.contains("--calendar"))await this.services(t),this.addSelectedClasses(t);else{const e=this.getSelectedDelivery(t);super.goStep("summary",{previousStep:null,selectedType:"address",selectedAddressDelivery:e,notUpdateBasket:!0})}}initEvents(){document.addEventListener("click",this.onClickHideCalendar.bind(this),!0);const e=document.querySelector(`.${this.prefix}_deliveries`);e&&(e.addEventListener("click",(e=>{const{target:t}=e;return t.closest(`.${this.prefix}_deliveries__address_edit`)?(e.preventDefault(),this.onClickEditAddress(t),!1):t.closest(`.${this.prefix}_deliveries__add_address`)?(e.preventDefault(),this.onClickAddAddress(t),!1):t.closest(`.${this.prefix}_deliveries__address`)?(e.preventDefault(),this.onClickSelectAddress(t),!1):t.closest(`.${this.prefix}_delivery__select_button`)?(e.preventDefault(),this.onClickSelectDelivery(t),!1):t.closest(`.${this.prefix}_delivery__other_link`)?(e.preventDefault(),this.onClickOpenCalendar(t),!1):(t.closest(`.${this.prefix}_delivery__date:not(.--other)`)&&this.onClickSelectDateCalendar(t),!t.closest(`.${this.prefix}_deliveries__non_standardized_change_link`)||(e.preventDefault(),this.onClickContinueNonStandardizedOrder(),!1))})),e.addEventListener("change",(e=>{const{target:t}=e;return!t.closest(`.${this.prefix}_delivery__input`)||(e.preventDefault(),this.onChangeSelectDelivery(t),!1)})))}async init(e={}){this.state=e.state||this?.state,this.deliveriesData=await super.getData({name:"deliveries",state:this.state})||{},this.vars={previousStep:e.previousStep||this.vars?.previousStep,settings:this.deliveriesData.shipping?.settings||{},shipping:this.deliveriesData.shipping?.shipping||[],shippingTime:this.deliveriesData.shipping?.shippingTime||{},shippingTimeLater:this.deliveriesData.shipping?.shippingTimeLater||{},nonStandardized:this.deliveriesData.shipping?.nonStandardizedInfo||{},holidays:this.deliveriesData.holidays||[],client:this.deliveriesData.client||{},countries:this.deliveriesData.shippingCountries||[],previousState:this.vars?.previousState||!1,prepaid:e.prepaid||this.vars?.prepaid||"prepaid"},this.prepareDeliveriesToDisplay(),this.checkPreviousState(),this.calendar(
1),this.initEvents()}}class PickupExpChck extends ExpressCheckout{constructor(e={}){super(e)}afterSelectPickupPoint(e){if(this.vars.stock){const t={id:e.courierId,type:"stock",street:e.details.street,name:e.details.name,zipcode:e.details.zipcode,city:e.details.city,pickupPointId:e.id,stock:e.stock,forPoints:!1};return void super.goStep("summary",{previousStep:null,selectedType:"stock",selectedStockDelivery:t,notUpdateBasket:!0})}const t=e.courierFullId.split("-")[2],i={};"1"===t&&(i.additionalServices="SERVICE_WEEKEND_DELIVERY"),"2"===t&&(i.additionalServices="SERVICE_SATURDAY_DELIVERY"),"3"===t&&(i.additionalServices="ATYPICAL_PRODUCT_SIZE");const s={id:e.courierId,type:"pickup",...i,street:e.details.street,name:e.details.name,zipcode:e.details.zipcode,city:e.details.city,pickupPointId:e.id,stock:e.stock,clientCourierNumber:e.clientCourierNumber||!1,requiredClientNumber:!!e.clientCourierNumber||!1,forPoints:!1};super.goStep("summary",{previousStep:null,selectedType:"pickup",selectedPickupDelivery:s,notUpdateBasket:!0})}preparePickupToDisplay(){const e=document.querySelector(".pickup_points");if(!e)return;const t=super.getHeaderElement(this.txt["Odbiór w punkcie"],this.vars.previousStep),i=e.querySelector(`.${this.prefix}_header`);i?i.parentNode.replaceChild(t,i):e.prepend(t),this.modal.params={...super.getAnimationModalParams(),element:e,classList:`${this.modalClasses} --pickup --large`,afterClose:this.leavePageModal.bind(this),changeViewport:!0},this.modal.init();const s=this.vars.stock?super.getCouriersForStock(this.vars.shipping,this.vars.prepaid):super.getCouriersForPickup(this.vars.shipping,this.vars.prepaid),r=this.afterSelectPickupPoint.bind(this);""!==this.vars.mapsApiKey&&(app_shop.fn.pickupPointsExpChck.googleVars.key=this.vars.mapsApiKey);const{street:a="",zipcode:n="",city:o=""}=this.vars.address||{},c=`${a},${this.vars.mapsApiKey?` ${n}`:""} ${o}`;app_shop.fn.pickupPointsExpChck.init?.({address:c,couriers:s,cashOnDelivery:!1,stock:this.vars.stock,modalOff:!0,allCouriersMap:!0,callback:r})}async init(e={}){this.state=e.state||this?.state,this.pickupData=await super.getData({name:"pickup",state:this.state})||{},this.vars={previousStep:e.previousStep||this.vars?.previousStep,shipping:this.pickupData.shipping?.shipping||[],prepaid:e.prepaid||this.vars?.prepaid||"prepaid",mapsApiKey:this.pickupData.mapsApiKey||"",address:e.address||this.vars?.address||{},stock:e.stock??this.vars?.stock??!1},this.preparePickupToDisplay()}}
1class LoginExpChck extends ExpressCheckout{constructor(e={}){super(e),this.validateError=!0}getLoginAuthnElement(){const e=document.getElementById(`${this.prefix}_login_authn`)?.content.cloneNode(!0);return e||document.createElement("div")}async prepareLoginToDisplay(){const e=document.getElementById(`${this.prefix}_login_pin`)?.content.cloneNode(!0);if(!e)return;if(this.state.showErrorWebAuthnLogin){const t=this.getLoginAuthnElement();e.firstChild.prepend(t);const i=`${this.txt["Biometryczne uwierzytelnienie urządzenia nie powiodło się"]}.`,s=super.getStatusElement("error",i);e.firstChild.prepend(s),this.state.showErrorWebAuthnLogin=!1}await this.setSaveDevice(e);const t=super.getHeaderElement(this.txt["Szybki zakup"],!1);e.firstChild.prepend(t),super.addFocus(e),super.addFocusEvents(e),this.modal.params={...super.getAnimationModalParams(),element:e,classList:`${this.modalClasses} --login --extrasmall --mobile`},this.modal.init()}setPrefix(){const e=document.querySelector(`.${this.prefix}_login__phone_prefix`),t=document.querySelector(".expchck_login__prefix_input"),i=document.querySelector(`.${this.prefix}_login`),s={typingTimer:""},r=e=>{const i=e.querySelector(".f-dropdown-item");t.value=i.getAttribute("data-value"),t.setAttribute("data-prev",t.value)},a=e=>{const i=e.querySelector(".f-dropdown-item.--selected");t.value=i.getAttribute("data-value"),t.setAttribute("data-prev",t.value)},n=e=>!!document.querySelector(`.f-dropdown-item[data-value="${e}"]`);e&&this.state.prefix&&(e.value=this.state.prefix),this.prefixSelect=new SelectToDropdown({disableMobileView:!1,selector:`.${this.prefix}_login__phone_prefix`,generateDropdownCallback:a||!1,afterClickDropdownCallback:r||!1}),super.addFocusEvents(i),t&&(t.addEventListener("focus",(function(){this.value=""})),t.addEventListener("keyup",(function(){clearTimeout(s.typingTimer),s.typingTimer=setTimeout((()=>{""!==this.value&&n(this.value)&&this.setAttribute("data-prev",this.value)}),500)})),t.addEventListener("blur",(function(){this.value=this.value.replaceAll(" ",""),""===this.value&&(this.value=this.getAttribute("data-prev")),n(this.value)||(this.value=this.getAttribute("data-prev"))})))}setLogin(){const e=document.querySelector(`.${this.prefix}_login__user_identifier_inp`),t=document.querySelector(`.${this.prefix}_login__user_identifier`);if(sessionStorage.getItem("expressCheckoutLogin")){const t=sessionStorage.getItem("expressCheckoutLogin");this.isEmail(t)&&(this.state.email=t,this.state.loginType="email"),this.isPhoneNumber(t)&&(e.value=t,this.removePrefix(e))}return!(!e||!this.state.loginType)&&(e.focus(),"email"===this.state.loginType?(e.value=this.state.email,!1):(e.value=this.state.phone,void t.classList.add("--phone")))}async setSaveDevice(e){const t=e.getElementById(`${this.prefix}_save_device`);if(!t)return;if(!await(app_shop.fn.webAuthnExpChck?.checkBrowserSupport?.())){const e=t.closest(`.${this.prefix}_login__save_device`);return e.parentNode.removeChild(e),void(this.state.saveDevice=!1)}if(!localStorage.getItem(`${this.prefix}SaveDevice`))return localStorage.setItem(`${this.prefix}SaveDevice`,t.checked),void(this.state.saveDevice=t.checked);const i="true"===localStorage.getItem(`${this.prefix}SaveDevice`);t.checked=i,this.state.saveDevice=i}clearValidate(e){const t=e?.parentNode.querySelector(".help-block");return!!t&&(this.validateError=!1,e.parentNode.classList.remove("--error"),t.innerText="",t.classList.remove("text-danger"),!0)}setError(e){const t=e?.parentNode.querySelector(".help-block");return!t||(e.parentNode.classList.add("--error"),t.innerText=this.txt["Wprowadź poprawny email lub numer telefonu"],t.classList.add("text-danger"),!1)}isEmail(e){return/^\S+@\S+\.\S+$/.test(e)}isPhoneNumber(e){return new RegExp("^[0-9*#+() ]+$").test(e)}checkPrefixExist(e){const t=(document.querySelector(`.${this.prefix}_login__prefix_wrapper`)?document:document.getElementById(`${this.prefix}_login_pin`).content.cloneNode(!0)).querySelectorAll(`.${this.prefix}_login__prefix_wrapper select option`);return Array.prototype.slice.call(t).reduce(((t,i)=>(-1!==e.indexOf(i.innerText)&&(t=i.innerText),t)),!1)}removePrefix(e){const t=this.checkPrefixExist(e.value);return!!t&&(this.clearValidate(e),e.value=e.value.replace(t,""),this.prefixSelect.destroy(),this.state.prefix=t,this.state.loginType="phone",this.state.phone=e.value,this.setPrefix(),!0)}inputValidate(e){this.clearValidate(e);const t=e?.value||"",i=document.querySelector(`.${this.prefix}_login__user_identifier`),s=document.querySelector(`.${this.prefix}_login__prefix_input`),r=this.isEmail(t),a=this.isPhoneNumber(t);return a?i.classList.add("--phone"):i.classList.remove("--phone"),r||a?r?(this.state.email=t,this.state.loginType="email",!0):!(!a||!this.removePrefix(e))||!!a&&(this.state.prefix=s.value,this.state.phone=t,this.state.loginType="phone",!0):(e.focus(),this.validateError=!0,this.setError(e),!1)}async inputSave(){const e=document.querySelector(`.${this.prefix}_login__user_identifier_inp`),t=document.querySelector(`.${this.prefix}_login__prefix_input`);if(this.inputValidate(e),this.validateError)return e.focus(),!1;this.state.login=e.value,"phone"===this.state.loginType&&(this.state.prefix=t.value,this.state.login=`${t.value} ${this.state.login.replaceAll(" ","")}`),this.addLoading();const i=await this.fetchData({data:this.queries.GENERATE_PIN(this.state.login),linkParameter:"?query=expressCheckoutGenerateOtp",alert:!0});super.validateOtpResponse(i?.data?.expressCheckoutGenerateOtp)&&(sessionStorage.removeItem("expressCheckoutLogin"),this.goStep("verifyPin",{previousStep:"login",state:this.state})),this.removeLoading()}async webAuthnLogin(){try{const e=await(app_shop.fn.webAuthnExpChck?.login?.()),{login:t}=e||{};if(t)if(this.state.login=t,this.isEmail(t))this.state.email=t,this.state.loginType="email";else{const e=this.checkPrefixExist(t);e&&(this.state.prefix=e),this.state.phone=e?t.replace(e,"").trim():t.trim(),this.state.loginType="phone"}super.clearCache(),app_shop.vars.isLogged=!0,await super.goStep("summary",{previousStep:null,state:this.state})}catch(e){1!==e.code&&(this.state.showErrorWebAuthnLogin=!0),super.goStep("login",{previousStep:null,state:this.state,notWebAuthn:1===e.code})}}onChangeSaveDevice(e){const{checked:t}=e;localStorage.setItem(`${this.prefix}SaveDevice`,t),this.state.saveDevice=t}onClickTryAgain(){this.state.webAuthnForce=!0,super.goStep("login",{previousStep:null,state:this.state})}initEvents(){const e=document.querySelector(`.${this.prefix}_login`);e&&(e.addEventListener("click",(e=>{const{target:t}=e;return t.closest(`.${this.prefix}_login__verify_pin`)?(e.preventDefault(),this.inputSave(),!1):t.closest(`.${this.prefix}_login__login_services`)?(e.preventDefault(),this.goStep("loginServices",{previousStep:"login",state:this.state}),!1):!t.closest(`.${this.prefix}_login_authn__button`)||(e.preventDefault(),this.onClickTryAgain(),!1)})),e.addEventListener("change",(e=>{const{target:t}=e;t.closest(`#${this.prefix}_save_device`)&&this.onChangeSaveDevice(t)})),e.addEventListener("input",(e=>{const{target:t}=e;t.closest(`.${this.prefix}_login__user_identifier_inp`)&&this.inputValidate(t)})),e.addEventListener("keyup",(e=>{const{target:t}=e;t.closest(`.${this.prefix}_login__user_identifier_inp`)&&13===e?.keyCode&&this.inputSave()})))}async init(e={}){if(this.state=e.state||this?.state,e.basketeditCheckout&&(this.state.basketeditCheckout=!0),e.virtualProduct&&(this.state.virtualProduct=!0),e.serviceProduct&&(this.state.serviceProduct=!0),"true"===localStorage.getItem(`${this.prefix}DeviceRegistered`)&&"false"!==localStorage.getItem(`${this.prefix}SaveDevice`)&&!this.state.showErrorWebAuthnLogin&&!e.notWebAuthn||this.state.webAuthnForce)return this.state.webAuthnForce=!1,void await this.webAuthnLogin();super.clearCache(),this.vars={previousStep:e.previousStep||this.vars?.previousStep},await this.prepareLoginToDisplay(),this.setPrefix(),this.setLogin(),this.initEvents()}}
1class LoginServicesExpChck extends ExpressCheckout{constructor(e={}){super(e),this.params={loginOptions:[{name:"emailNotCkecked",active:!0},{name:"emailExist",active:!1},{name:"emailNotExist",active:!1}],activeLoginOption:{}}}getActiveOption(){return this.params.loginOptions.reduce(((e,t)=>e.active?t=e:t),0)}async setActiveOption(e){const t=document.querySelector(".expchck_login");this.params.loginOptions.forEach((e=>{e.active=!1,t.classList.remove(`--${e.name}`)})),this.params.loginOptions.forEach((t=>{t.name===e&&(t.active=!0)})),t.classList.add(`--${e}`)}clearValidate(e){const t=e.parentNode.querySelector(".help-block");return!!t&&(e.parentNode.classList.remove("--error"),t.innerText="",t.classList.remove("text-danger"),!0)}validate(e,t){const i=e.parentNode.querySelector(".help-block");return!i||0===t.length||(e.parentNode.classList.add("--error"),i.innerText=this.txt[t[0].code],i.classList.add("text-danger"),!1)}async verifyEmail(e){const t=e.parentNode.querySelector("#login_email");if(this.state.clientEmail=t.value,""===t.value)return!1;this.addLoading();const i=await this.fetchData({data:this.queries.CHECK_CLIENT_EMAIL_EXIST(t.value),linkParameter:"?query=checkClientEmailExists",alert:!0,cache:!1});if(i?.data?.validateClientData?.clientExists)return await this.setActiveOption("emailExist"),document.getElementById("login_pass").focus(),this.removeLoading(),!0;const s=await this.fetchData({data:this.queries.CHECK_CLIENT_LOGIN_EXIST(t.value),linkParameter:"?query=checkClientLoginExists",alert:!0,cache:!1});return this.removeLoading(),s?.data?.validateClientData?.messages.length&&s?.data?.validateClientData?.messages.filter((e=>"used_login"===e.code)).length?(await this.setActiveOption("emailExist"),document.getElementById("login_pass").focus(),!0):(this.setActiveOption("emailNotExist"),!0)}async changeEmail(e){this.state.clientEmail=e.value,this.clearValidate(e),"emailNotCkecked"!==this.getActiveOption().name&&(await this.setActiveOption("emailNotCkecked"),document.getElementById("login_email").focus())}async changePass(e){this.clearValidate(e)}async signin(){const e=document.querySelector("#login_pass");if(this.state.clientPass=e.value,""===e.value)return this.validate(e,[{code:"empty_pass"}]),!1;if(e.parentNode.classList.contains("--error"))return this.validate(e,[{code:"no_login"}]),!1;this.addLoading();const t=await this.fetchData({data:this.queries.LOGIN(this.state.clientEmail,this.state.clientPass),linkParameter:"?query=login",alert:!0,cache:!1});if(this.removeLoading(),t?.errors&&0!==t.errors.length&&!this.validate(e,[{code:"no_login"}]))return!1;super.clearCache(),this.state.email=this.state.clientEmail,super.goStep("summary",{previousStep:null,state:this.state}),app_shop.vars.isLogged=!0}serviceLogin(e){const t=e.closest(`.${this.prefix}_login__option`);sessionStorage.setItem("activeService",t.getAttribute("data-name")),"null"===t.getAttribute("href")&&this.goStep("loginServices",{previousStep:"login",state:this.state}),super.addLoading(),window.location.href=t.getAttribute("href")}async passRecover(e="pass_recover"){this.addLoading(),await this.fetchData({link:`/password-recover.php?operation=recover&email=${this.state.clientEmail}`,alert:!1,cache:!1,data:{}}),this.removeLoading(),await this.setActiveOption("emailNotCkecked"),this.modal.closeModal(),Alertek.Info(`${this.txt[e]}`)}register(){const e=document.querySelector("#login_email");this.state.email=e.value,super.goStep("summary",{previousStep:null,state:this.state})}getServicesTemplates(){return this.state?.services?.map((e=>{const t=document.querySelector("#expchck_login_options").content.cloneNode(!0),i=t.querySelector(".expchck_login__option");t.querySelector(".option_icon").setAttribute("data-name",e.name);const s=`<img src="/gfx/standards/${"fb"===e.id?"facebook":e.id}.svg" alt=""/>`;if(t.querySelector(".option_icon").insertAdjacentHTML("beforeend",s),i.setAttribute("data-name",e.name),t.querySelector(".option_name").innerText=e.name,i.setAttribute("href",e.loginUrl),this.state.activeService&&e.id===this.state.activeService.id){i.classList.add("--active");const e=`<span class="option_badge">${this.txt["Ostatnio wybrana opcja logowania w tym sklepie"]}</span>`;i.insertAdjacentHTML("beforeend",e)}return t}))}getLoginTemplete(){const e=document.querySelector("#expchck_login_services").content.cloneNode(!0),t=e.querySelector(".expc
1hck_login__options"),i=e.querySelector(".expchck_login"),s=this.getServicesTemplates()||[];return s.forEach((e=>t.appendChild(e))),i.classList.add(`--${this.params.activeLoginOption.name}`),0===s.length&&i.classList.add("--no_services"),e}async getLoginOptions(){const e=window.location.href+"#servicesLogin",t=await this.fetchData({data:this.queries.LOGIN_OPTION(e),linkParameter:"?query=loginOption",alert:!1,cache:!0});if(!t?.data)return!1;this.state.services=t.data.loginOptions.options.filter((e=>"shop"!==e.id&&"paypal"!==e.id)),this.state.activeService=t.data.loginOptions.options.reduce(((e,t)=>(t.isConnected&&(e=t),e)),null),!this.state.activeService&&app_shop.vars.last_login_option&&(this.state.activeService=t.data.loginOptions.options.reduce(((e,t)=>(t.name===app_shop.vars.last_login_option&&(e=t),e)),null))}prepareLoginServicesToDisplay(){const e=this.getLoginTemplete();if(!e)return;const t=super.getHeaderElement(this.txt.Logowanie,this.vars.previousStep);e.firstChild.prepend(t),super.addFocus(e),super.addFocusEvents(e),this.modal.params={...super.getAnimationModalParams(),element:e,classList:`${this.modalClasses} --login_services --extrasmall`},this.modal.init()}initEvents(){const e=document.querySelector(`.${this.prefix}_login.--services`);e&&(e.addEventListener("click",(e=>{const{target:t}=e;return t.closest('a[href*="#verify_email"]')?(e.preventDefault(),this.verifyEmail(t),!1):t.closest(`.${this.prefix}_login__signin`)?(e.preventDefault(),this.signin(t),!1):t.closest(`.${this.prefix}_login__register`)?(e.preventDefault(),this.register(t),!1):t.closest(`.${this.prefix}_login__mail_login`)?(e.preventDefault(),this.passRecover("email_login"),!1):t.closest(`.${this.prefix}_login__pass_recover`)?(e.preventDefault(),this.passRecover("pass_recover"),!1):!t.closest(`.${this.prefix}_login__option`)||(e.preventDefault(),this.serviceLogin(t),!1)})),e.addEventListener("input",(e=>{const{target:t}=e;t.closest(`.${this.prefix}_login__email_inp`)&&this.changeEmail(t),t.closest(`.${this.prefix}_login__pass_inp`)&&this.changePass(t)})),e.addEventListener("keyup",(e=>{const{target:t}=e;t.closest(`.${this.prefix}_login__email_inp`)&&13===e?.keyCode&&this.verifyEmail(t),t.closest(`.${this.prefix}_login__pass_inp`)&&13===e?.keyCode&&this.signin(t)})))}async init(e={}){this.vars={previousStep:e.previousStep},this.state=e.state||this?.state,e.basketeditCheckout&&(this.state.basketeditCheckout=!0),e.virtualProduct&&(this.state.virtualProduct=!0),e.serviceProduct&&(this.state.serviceProduct=!0),this.params.activeLoginOption=this.getActiveOption(),await this.getLoginOptions(),this.prepareLoginServicesToDisplay(),this.initEvents()}}
1class VerifyPinExpChck extends ExpressCheckout{constructor(e={}){super(e)}async varifyPin(e="123456"){this.addLoading();const t=this.state.verifyPinElement,i=await this.fetchData({data:this.queries.VERIFY_PIN(e),linkParameter:"?query=expressCheckoutVerifyOtp",alert:!0});if(super.validateOtpResponse(i?.data?.expressCheckoutVerifyOtp)){this.state.verifyPinData=i;const{verificationToken:e}=i.data?.expressCheckoutVerifyOtp||{},t=await(app_shop.fn.webAuthnExpChck?.checkBrowserSupport?.());return this.state.saveDevice&&t&&(this.state.register,await super.registerDevice({userLogin:this.state.login,authorizeToken:e})),super.clearCache(),app_shop.vars.isLogged=!0,void super.goStep("summary",{previousStep:null,state:this.state})}t?.classList.add("--error_pin"),this.removeLoading()}getPin(){const e=this.state.verifyPinElement,t=document.querySelectorAll(".otc input");if(!e||!t)return!1;e?.classList.remove("--error_pin");const i=Array.prototype.slice.call(t).reduce(((e,t)=>e+=t?.value?t.value:""),"");return 6===i.length&&(this.varifyPin(i),!0)}verifyPinInput(){const e=document.getElementById("otc-1"),t=document.querySelectorAll(".otc input"),i=(e,t)=>{e.value=t[0],t=t.substring(1),e.nextElementSibling&&t.length&&i(e.nextElementSibling,t)},s=function(e){let t=e.data||e?.target?.value||e.value;t&&1!==t.length&&i(e.target||e,t)};if(e){if(t.forEach((e=>{e.addEventListener("keyup",(function(e){16!==e.keyCode&&9!=e.keyCode&&224!=e.keyCode&&18!=e.keyCode&&17!=e.keyCode&&(8!==e.keyCode&&37!==e.keyCode||!this.previousElementSibling||"INPUT"!==this.previousElementSibling.tagName?8!==e.keyCode&&this.nextElementSibling&&this.nextElementSibling.select():this.previousElementSibling.select(),e.target.value.length>1&&s(e))})),e.addEventListener("focus",(function(e){this.select()}
1)),e.addEventListener("input",this.getPin.bind(this))})),e.addEventListener("input",s),e.focus(),!1 in window||!e)return!1;this.state.ac=new AbortController,navigator.credentials.get({otp:{transport:["sms"]},signal:this.state.ac.signal}).then((t=>{e.value=t.code,s(e),this.getPin()})).catch((e=>{}))}}loginTypeSet(){const e=this.state.verifyPinElement,t=document.querySelector(`.${this.prefix}_login__pin_email`),i=document.querySelector(`.${this.prefix}_login__pin_phone`);e&&t&&i&&(e.classList.add(`--${this.state.loginType}`),t.innerText=this.state.email,i.innerText=`${this.state.prefix} ${this.state.phone}`,e?.classList.remove("--error_pin"))}prepareVerifyPinToDisplay(){const e=document.getElementById(`${this.prefix}_login_verify_pin`)?.content.cloneNode(!0);if(!e)return;const t=super.getHeaderElement(this.txt["Wpisz kod"],"login");e.firstChild.prepend(t),this.modal.params={...super.getAnimationModalParams(),element:e,classList:`${this.modalClasses} --verify_pin --extrasmall --${this.state.loginType}`,afterClose:this.leavePageModal.bind(this)},this.modal.init()}changeLoginType(){this.state.ac.abort(),this.goStep("login",{previousStep:null,state:this.state})}async retryPin(){this.addLoading();const e=await this.fetchData({data:this.queries.GENERATE_PIN(this.state.login),linkParameter:"?query=expressCheckoutGenerateOtp",alert:!0}),t=super.validateOtpResponse(e?.data?.expressCheckoutGenerateOtp);this.removeLoading(),t&&Alertek?.Success(this.txt["Wiadomość została wysłana"])}initEvents(){const e=document.querySelector(`.${this.prefix}_login.--verify_pin`);e&&(this.state.verifyPinElement=e,e.addEventListener("click",(e=>{const{target:t}=e;return t.closest(`.${this.prefix}_login__change_pin_option`)?(e.preventDefault(),this.changeLoginType(t),!1):t.closest(`.${this.prefix}_login__send_pin a`)?(e.preventDefault(),this.retryPin(t),!1):!t.closest(`.${this.prefix}_login__buttons a`)||(e.preventDefault(),this.getPin()||Alertek.Error(this.txt["Wprowadź pełny kod"]),!1)})))}async init(e={}){this.vars={previousStep:e.previousStep||this.vars?.previousStep},this.state=e.state||this?.state,this.prepareVerifyPinToDisplay(),this.verifyPinInput(),this.initEvents(),this.loginTypeSet()}}
1class LeavePageChck extends ExpressCheckout{constructor(e={}){super(e),this.validateError=!0}afterShow(e,t){e.querySelector(".menu_notice__button.--continue").addEventListener("click",(async e=>(this.state.registerDeviceShowed=!1,await this.goStep(this.activeStepName,{state:this.state}),!1))),e.querySelector(".menu_notice__button.--stop").addEventListener("click",(async()=>(this.state.basketeditCheckout||this.returnBasket(),t.closeModal(),!1)))}prepareLeavePageToDisplay(){const e=document.createElement("div"),t=`<div id="menu_notice" class="menu_notice">\n      <p>${this.txt.confirmMessageSecond}</p>\n      <div class="menu_notice__buttons">\n        <a href="#continue" class="menu_notice__button --continue btn --solid">\n          ${this.txt.continueOrderButton}\n        </a>\n        <a href="##" class="menu_notice__button --stop">\n          ${this.txt.stopOrderButton}\n        </a>\n      </div>\n    </div>`,i=super.getHeaderElement(this.txt.confirmWarning,!1);e.prepend(i),e.insertAdjacentHTML("beforeend",t),this.modal.params={...super.getAnimationModalParams(),element:e,classList:"--expchck --leave_page --extrasmall",afterShow:this.afterShow.bind(this)},this.modal.init()}async init(e={},t){this.vars={previousStep:e.previousStep||this.vars?.previousStep},this.state=e.state||this?.state,this.activeStepName=sessionStorage.getItem("activeStepName")||"summary",this.prepareLeavePageToDisplay()}}function PickupPointsModal(e){const t=this;this.params=e||{},this.vars={typingTimer:"",doneTypingInterval:500,courierId:"100169",couriers:[],cashOnDelivery:!1,firstInit:!0,stock:!1,allCouriersMap:!1},this.queries={SEARCH_PICKUP_POINTS_QUERY:e=>JSON.stringify({query:`query {\n        searchPickupPoints(${e}) {\n          data\n          gps {\n            latitude\n            longitude\n          }\n        }\n      }`}),PICKUP_POINTS_QUERY:e=>`${e.name}: pickupPoints(${e.input}) {\n      pickupPoints {\n        id\n        name\n        location\n        link\n        markerIconUrl\n        requiredClientNumber\n        openingDays {\n          monday {\n            allDay\n          }\n          tuesday {\n            allDay\n          }\n          wednesday {\n            allDay\n          }\n          thursday {\n            allDay\n          }\n          friday {\n            allDay\n          }\n          saturday {\n            allDay\n          }\n          sunday {\n            allDay\n          }\n        }\n        coordinates {\n          latitude\n          longitude\n          distance\n        }\n        address {\n          buildingAndHouseNumber\n          city\n          country\n          postcode\n          street\n        }\n      }\n    }`,PICKUP_ALL_POINTS_QUERY:e=>JSON.stringify({query:`query {\n        ${e}\n      }`})},this.pickupVars={location:{lat:"",lng:""},locations:[],street:!1,pickups:[]},this.googleVars={key:!1,loaded:!1,map:!1,geocoder:!1,markerClusters:!1,markerInfo:!1},this.leafletVars={url:"https://nominatim.openstreetmap.org/search?format=json&q=",map:!1,markerClusters:!1},this.pickupVarsProxy=e=>new Proxy(e,{set:(e,t,i)=>{switch(e[t]=i,t){case"location":this.updatePickups();break;case"locations":this.updateMarkers()}}}),this.fetchSearchPickupPoints=async e=>{try{const t=await fetch(app_shop.urls.graphql,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:this.queries.SEARCH_PICKUP_POINTS_QUERY(e)});return await t.json()}catch(e){return!1}},this.buildSearchPickupResult=async()=>{const e=document.querySelector(".pickup_search"),t=document.querySelector(".pickup_search__input"),i=document.querySelector(".pickup_search__results");if(""===t.value)return e?.classList.remove("--open"),!1;if(t.value===t.getAttribute("data-value"))return!1;e?.classList.add("--loading");const s=await this.fetchSearchPickupPoints(`SearchPickupPointsInput: {\n      shippingId: ${this.vars.courierId},\n      query: "${t.value?.replace?.(/"/g,'\\"')}",\n      cashOnDelivery: ${this.vars.cashOnDelivery},\n    }`);if(e?.classList.remove("--loading"),i.innerHTML="",!s?.data?.searchPickupPoints||!s?.data?.searchPickupPoints.length)return e?.classList.remove("--open"),!1;e?.classList.add("--open");const{searchPickupPoints:r}=s.data;i.innerHTML=r.map((e=>`<a class="pickup_search__result" href="#selectThisLocation" ${e.gps.latitude?`data-latitude="${e.gps.latitude}"`:""} ${e.gps.longitude?`data-longitude="${e.gps.longitude}"`:""}>${e.data}</a>`)).join("")},this.fillGoogleAddress=e=>{if(!e||e[0]&&!e[0].geometry){const e=document.querySelector(".pickup_items");return this.clearAll(),e.classList.add("--message"),void this.removeLoading()}this.closeResults();const t=e.find((e=>e.address_components.find((e=>"route"===e.types[0]))))||e[0];document.querySelector(".pickup_search__input").value=t.formatted_address,this.pickupVars.street=!!t.address_components.filter((e=>"route"===e.types[0])).length,this.pickupVars.street||this.setZoom(10),this.pickupVars.location={lat:t.geometry.location.lat(),lng:t.geometry.location.lng()}},this.fillLeafletAddress=e=>{if(!e||!e.length||e[0]&&(!e[0].lat||!e[0].lon)){this.removeLoading();if(document.querySelector(".pickup_item"))return;const e=document.querySelector(".pickup_items");return this.clearAll(),void e.classList.add("--message")}this.closeResults();document.querySelector(".pickup_search__input").value=e[0].display_name,this.pickupVars.street=!("way"!==e[0].osm_type),this.pickupVars.location={lat:e[0].lat,lng:e[0].lon}},this.findAddress=async e=>{const t=e||document.querySelector(".pickup_search__input").value;if(""===t)return!1;
1if(this.googleVars.key)try{if(e)return await this.googleVars.geocoder.geocode({address:t});this.googleVars.geocoder.geocode({address:t},this.fillGoogleAddress)}catch(e){return!1}else try{const i=await fetch(`${this.leafletVars.url}${t}`),s=await i.json();if(e)return s;this.fillLeafletAddress(s)}catch(e){return!1}},this.closeResults=()=>{const e=document.querySelector(".pickup_search");e?.classList.remove("--focus","--open")},this.initEventsSearchPickupPoints=()=>{const e=document.querySelector(".pickup_search__input"),i=document.querySelector(".pickup_search");if(e){const s=e=>{e.target.setAttribute("data-value",e.target.value),i?.classList.add("--focus"),clearTimeout(this.vars.typingTimer);13!==(e.which||e.keyCode||0)?this.vars.typingTimer=setTimeout(this.buildSearchPickupResult,this.vars.doneTypingInterval):this.vars.typingTimer=setTimeout(this.findAddress,this.vars.doneTypingInterval)};e.addEventListener("keydown",s);const r=()=>i?.classList.add("--focus");e.addEventListener("focus",r);const a=e=>(e.preventDefault(),clearTimeout(this.vars.typingTimer),this.vars.typingTimer=setTimeout(this.findAddress,this.vars.doneTypingInterval),i?.classList.add("--focus"),!1);document.querySelector(".pickup_search__button").addEventListener("click",a),document.addEventListener("click",(function(s){if(i.classList.contains("--focus")&&!i.contains(s.target)&&t.closeResults(),s.target.closest(".pickup_search__result")){s.preventDefault(),t.closeResults();const i=s.target.closest(".pickup_search__result"),r=i.textContent;return e.value=r,i.hasAttribute("data-latitude")&&i.hasAttribute("data-longitude")?t.pickupVars.location={lat:i.getAttribute("data-latitude"),lng:i.getAttribute("data-longitude")}:t.findAddress(),!1}}))}},this.fetchPickups=async e=>{try{const t=await fetch(app_shop.urls.graphql,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:e});return await t.json()}catch(e){return!1}},this.buildPickupItem=e=>{const t=document.getElementById("pickup_points_item_template").content.cloneNode(!0),i=t.querySelector(".pickup_item__distance");i&&e.coordinates.distance&&(i.textContent=e.coordinates.distance);const s=t.querySelector(".pickup_item__price");s&&e.price&&(s.textContent=e.price);const r=t.querySelector(".pickup_item__name");r&&e.name&&(r.textContent=e.name);const a=t.querySelector(".pickup_item__street");a&&e?.address.street&&(a.textContent=""!==e.address.buildingAndHouseNumber?`${e.address.street} ${e.address.buildingAndHouseNumber}`:e.address.street);const n=t.querySelector(".pickup_item__zipcode");n&&e?.address.postcode&&(n.textContent=e.address.postcode);const o=t.querySelector(".pickup_item__city");o&&e?.address.city&&(o.textContent=e.address.city),e?.coordinates.latitude&&e?.coordinates.longitude&&(t.firstElementChild.setAttribute("data-latitude",e?.coordinates.latitude),t.firstElementChild.setAttribute("data-longitude",e?.coordinates.longitude)),t.firstElementChild.setAttribute("data-id",e?.id),t.firstElementChild.setAttribute("data-courier-id",e?.courierId?.replace(/courier_/,"")),t.firstElementChild.setAttribute("data-courier-full-id",e.fullId),t.firstElementChild.setAttribute("data-uid",e.uid),t.firstElementChild.setAttribute("data-stock",e.stock);const c=t.querySelector(".pickup_item__client_courier_number");return c&&!e?.requiredClientNumber&&c.parentNode.removeChild(c),t},this.clearPickups=()=>{const e=document.querySelector(".pickup_items");e?.classList.remove("--pickups","--more","--show","--message");document.querySelector(".pickup_items__wrapper").innerHTML=""},this.clearMarkers=()=>{this.googleVars.key?this.googleVars.markerClusters?.clearMarkers?.():this.leafletVars.markerClusters?.clearLayers?.()},this.clearAll=()=>{this.clearPickups(),this.clearMarkers()},this.fillLatLngFromAddress=async e=>{const t=`${e.address.street}+${e.address.postcode}+${e.address.city}`,i=await this.findAddress(t);return this.googleVars.key?!(!i.results||i.results[0]&&!i.results[0].geometry)&&{latitude:i.results[0].geometry.location.lat(),longitude:i.results[0].geometry.location.lng()}:!!(i&&i.length&&(!i[0]||i[0].lat&&i[0].lon))&&{latitude:i[0].lat,longitude:i[0].lon}},this.filters={deliveries:[],availability:[{id:"all",name:"Wszystkie",checked:!0,group:"availability"},{id:"allDay",name:"Tylko 24h",checked:!1,group:"availability"}]},this.setCouriersToFilters=()=>
1{this.filters.deliveries=this.vars.couriers.map((e=>({...e,checked:!0,group:"deliveries"})))},this.createFilterElement=e=>{const t=document.getElementById("pickup_points_filter_item").content.cloneNode(!0);t.querySelector("input").setAttribute("data-id",e.id),t.querySelector("input").setAttribute("data-group",e.group),t.querySelector("input").id=`filter_${e.id}`,t.querySelector(".pickup_filters__item_name").innerText=e.name||"Kurier",t.querySelector("label").setAttribute("for",`filter_${e.id}`),e.checked&&(t.querySelector("input").checked=!0),document.querySelector(`.pickup_filters__sub.--${e.group}`).appendChild(t)},this.clearAllFilters=()=>{document.querySelectorAll(".pickup_filters__item").forEach((e=>{e.parentNode.removeChild(e)}))},this.createFilters=()=>{this.clearAllFilters(),this.setCouriersToFilters(),1===this.filters.deliveries.length&&document.querySelector(".pickup_filters__sub.--deliveries").classList.add("--only-one"),Array.from(Object.values(this.filters)).flat(1).forEach(this.createFilterElement)},this.sortPickups=e=>{const t=[],i=[];return e.forEach((e=>{const i=parseInt(e.priceToSort.toFixed(2).toString().replace(".",""));t[i]||(t[i]=[]),t[i].push(e)})),t.forEach(((e,s)=>{e.sort((function(e,t){return parseFloat(e.distanceToSort)-parseFloat(t.distanceToSort)})),t[s]=e.filter((e=>{if(!(e.distanceToSort>.5&&0!==e.distanceToSort))return e;i.push(e)}))})),t[t.length]=i,t.flat(1)},this.updatePickups=async(e=!1)=>{if(""===this.pickupVars.location.lat||""===this.pickupVars.location.lng)return;e||this.addLoading();const t=document.querySelector(".pickup_items"),i=e=>`courierId: ${e}, ${""!==this.pickupVars.location.lat&&""!==this.pickupVars.location.lng?`location: {latitude: ${this.pickupVars.location.lat}, longitude: ${this.pickupVars.location.lng}}`:""}, prepaid: ${this.vars.cashOnDelivery?"dvp":"prepaid"}, radius: ${this.pickupVars.street?2:this.getRadius(this.getZoom())}`;!this.vars.allCouriersMap&&(this.vars.couriers=[`${this.vars.courierId}`]),this.vars.couriers.sort((function(e,t){return e.price-t.price})),this.vars.couriers.forEach((e=>{e.checked=this.filters.deliveries.reduce(((t,i)=>(i.id===e.id&&(t=i.checked),t)),!0)}));const s=this.vars.couriers.filter((e=>e.checked)).map((e=>({name:`courier_${e.id}`,input:i(e.id)}))),r=this.queries.PICKUP_ALL_POINTS_QUERY(s.reduce(((e,t)=>e+=this.queries.PICKUP_POINTS_QUERY(t)),"")),a=await this.fetchPickups(r);Object.entries(a.data).forEach((e=>{a.data[e[0]]||(a.data[e[0]]={}),a.data[e[0]].pickupPoints=a.data[e[0]]?.pickupPoints?a.data[e[0]].pickupPoints:[],a.data[e[0]].pickupPoints.forEach((t=>{t.courierId=e[0],t.uid=`${e[0]}-${t.id}`,t.distanceToSort=t.coordinates.distance||1/0,t.coordinates.distance=0!==t.coordinates.distance?`${(1e3*parseFloat(t.coordinates.distance)).toFixed(0)} m`:0;const i=this.vars.couriers.filter((t=>`courier_${t.id}`===e[0]))[0];i&&(t.priceToSort=i.price,t.price=i.price?i.priceFormatted:"Gratis",t.fullId=i.fullId,t.stock=i.stock)}))})),this.clearPickups();const n=a?.data?Object.values(a.data).map((e=>e.pickupPoints)).flat(1):[],o=this.sortPickups(n);if(e)return o;if(!o||!o.length)return this.clearMarkers(),t.classList.add("--message"),this.removeLoading(),!1;t.classList.add("--pickups"),this.pickupVars.pickups=o;document.querySelector(".pickup_items__findings_value").textContent=this.pickupVars.pickups.length;document.querySelector(".pickup_items__findings_text").textContent=app_shop.fn.changeLiteral(this.pickupVars.pickups.length,[EXPCHCK_TXT["punktów"],EXPCHCK_TXT.punkt,EXPCHCK_TXT.punkty],!0),this.pickupVars.pickups.length>3&&app_shop.vars.view<4||this.pickupVars.pickups.length>5&&4===app_shop.vars.view?t?.classList.add("--more"):t?.classList.remove("--more"),document.querySelector(".pickup_items__show.--show")&&t?.classList.add("--show");for(const e of this.pickupVars.pickups)e?.coordinates.latitude&&e?.coordinates.longitude||(e.coordinates=await this.fillLatLngFromAddress(e));const c=document.querySelector(".pickup_items__wrapper"),u=[];this.pickupVars.pickups.forEach(((e,t)=>{const i=this.buildPickupItem(e);(t>2&&app_shop.vars.view<4||t>4&&4===app_shop.vars.view)&&i.firstElementChild.classList.add("--hide"),(2===t&&app_shop.vars.view<4||4===t&&4===app_shop.vars.view)&&i.firstElementChild.classList.add("--last-visible"),c.appendChild(i),e?.coordinates?.latitude&&e?.coordinates?.longitude&&u.push({lat:e?.coordinates?.latitude,lng:e?.coordinates?.longitude,id:e?.id,icon:e?.markerIconUrl,uid:e?.uid})})),document.querySelector(".pickup_item").classList.add("--active"),this.pickupVars.locations=[...u],this.removeLoading()},this.activatePickup=(e,i)=>{if(i){const i=e.getAttribute("data-uid"),s=t.findMarker(i);s.length&&t.centerMarker(s[0],i)}document.querySelectorAll(".pickup_item").forEach((e=>e.classList.remove("--active"))),e.classList.add("--active");const s=document.querySelector(".pickup_items"),r=document.querySelector(".pickup_items__show");e.classList.contains("--hide")&&s.classList.contains("--more")&&!s.classList.contains("--show")&&r.click(),app_shop.vars.view>2&&e.scrollIntoView({behavior:"smooth"})},this.initEventsPickups=()=>{document.addEventListener("click",(function(e){if(e.target.closest(".pickup_item")){e.preventDefault();const i=e.target.closest(".pickup_item");return t.activatePickup(i,!0),e.target.closest(".pickup_item__map_link")&&(t.vars.mobileView&&(t.clearNavClass(),t.setMapView()),t.activatePickup(i,!0),document.querySelector(".pickup_points").scrollIntoView({behavior:"smooth"})),!!e.target.closest(".pickup_item__choose")&&(e.preventDefault(),t.modal.closeModal(),!1)}if(e.target.closest(".pickup_items__show")){e.preventDefault();const t=e.target.closest(".pickup_items__show"),i=t.getAttribute("data-prev");t.setAttribute("data-prev",t.textContent),t.textContent=i;const s=document.querySelector(".pickup_items");return s?.classList.toggle("--show"),t?.classList.toggle("--show"),!1}}))};const i=["--searchView","--mapView","--filtersView","--listView"];this.clearNavClass=()=>i.forEach((e=>document.querySelector(".pickup_points").classList.remove(e))),this.setListView=()=>{t.clearNavClass(),document.querySelector(".pickup_points").classList.add("--listView")},this.firstShowMap=!this.vars.mobileView,this.setMapView=()=>{t.clearNavClass(),document.querySelector(".pickup_points").classList.add("--mapView"),!this.firstShowMap&&this.go&&t.leafletVars?.map?.invalidateSize(),this.firstShowMap=!0},this.setSearchView=()=>{t.clearNavClass(),document.querySelector(".pickup_points").classList.add("--searchView")},this.setFiltersView=()=>{t.clearNavClass(),document.querySelector(".pickup_points").classList.add("--filtersView")},this.initEventsNav=()=>{document.addEventListener("click",(function(e){return e.target.closest(".pickup_nav__item.--search")?(e.preventDefault(),t.setSearchView(),!1):e.target.closest(".pickup_nav__item.--map")?(e.preventDefault(),t.setMapView(),!1):e.target.closest(".pickup_nav__item.--list")?(e.preventDefault(),t.setListView(),!1):e.target.closest(".pickup_nav__item.--filters")?(e.preventDefault(),t.setFiltersView(),!1):e.target.closest('a[href*="#backFormPickup"]')?(e.preventDefault(),t.modal.closeModal(),!1):void 0}))},this.clearCheckedFilter=()=>
1{Object.entries(this.filters).forEach((e=>{this.filters[e[0]].forEach((e=>e.checked=!1))}))},this.setCheckedFilter=()=>{document.querySelectorAll(".pickup_filters__sub input").forEach((e=>{const t=e.getAttribute("data-group"),i=e.getAttribute("data-id");e.checked&&(this.filters[t].filter((e=>`${e.id}`===i))[0].checked=!0)}))},this.initEventsFilters=()=>{document.addEventListener("click",(function(e){if(e.target.closest(".pickup_filters__item_name")){const t=document.querySelector(`#${e.target.getAttribute("for")}`);"filter_allDay"!==t.id||t.checked||(document.querySelector("#filter_all").checked=!1),"filter_all"!==t.id||t.checked||(document.querySelector("#filter_allDay").checked=!1)}e.target.closest('a[href*="#filtersPoints"]')&&(t.clearCheckedFilter(),t.setCheckedFilter(),t.updatePickups(),t.setListView())}))},this.getRadius=e=>{if(e>15)return 2;switch(e){case 15:return 2;case 14:return 3;case 13:return 5;case 12:return 9;case 11:return 15;case 10:return 20;case 9:return 30;case 8:return 40;default:return 50}},this.setZoom=e=>{this.googleVars.key?this.googleVars.map.setZoom(e):this.leafletVars.map.setZoom(e)},this.getZoom=()=>this.googleVars.key?this.googleVars.map?.getZoom?.()??10:this.leafletVars.map.getZoom(),this.getLatLngFromCurrentMap=()=>({lat:this.googleVars.key?this.googleVars.map.center.lat():this.leafletVars.map.getCenter().lat,lng:this.googleVars.key?this.googleVars.map.center.lng():this.leafletVars.map.getCenter().lng}),this.searchInThisAreaEvent=()=>{const e=document.querySelector(".pickup_map__area_button");e&&e.addEventListener("click",(e=>{e.preventDefault();const{lat:t,lng:i}=this.getLatLngFromCurrentMap();return this.pickupVars.street=!1,this.pickupVars.location={lat:t,lng:i},!1}))},this.buildMarkerInfo=e=>{const t=this.pickupVars.pickups.filter((t=>t.uid===e));if(!t.length)return!1;const i=document.getElementById("pickup_points_marker_template").content.cloneNode(!0),s=t[0],r=i.querySelector(".pickup_marker");r&&(r.setAttribute("data-latitude",s?.coordinates.latitude),r.setAttribute("data-longitude",s?.coordinates.longitude),r.setAttribute("data-id",s?.id),r.setAttribute("data-uid",s.uid));const a=i.querySelector(".pickup_marker__name");a&&s.name&&(a.textContent=s.name);const n=i.querySelector(".pickup_marker__price");n&&s.price&&(n.textContent=s.price);const o=i.querySelector(".pickup_marker__street");o&&s?.address.street&&(o.textContent=""!==s.address.buildingAndHouseNumber?`${s.address.street} ${s.address.buildingAndHouseNumber}`:s.address.street);const c=i.querySelector(".pickup_marker__zipcode");c&&s?.address.postcode&&(c.textContent=s.address.postcode);const u=i.querySelector(".pickup_marker__city");u&&s?.address.city&&(u.textContent=s.address.city);const l=i.querySelector(".pickup_marker__description");l&&s?.location&&""!==s?.location&&(l.textContent=s.location);const d=i.querySelector(".pickup_marker__link.--more");d&&s?.link&&d.setAttribute("href",s.link);const p=i.querySelector(".pickup_marker__link.--directions");return p&&p.setAttribute("href",`https://www.google.com/maps/dir/?api=1&destination=${s?.coordinates.latitude},${s?.coordinates.longitude}`),i.firstElementChild},this.initEventsMarkerInfo=()=>{document.addEventListener("click",(function(e){if(e.target.closest(".pickup_marker__description")&&e.target.closest(".pickup_marker__description").classList.toggle("--active"),e.target.closest(".pickup_marker__choose a"))return e.preventDefault(),t.modal.closeModal(),!1}))},this.updateMarkers=()=>{this.googleVars.key?this.updateGoogleMarkers():this.updateLeafletMarkers()},this.findMarker=e=>this.googleVars.key?this.findGoogleMarker(e):this.findLeafletMarker(e),this.centerMarker=e=>{this.googleVars.key?this.centerGoogleMarker(e):this.centerLeafletMarker(e)},this.updateMap=()=>{this.googleVars.key?this.updateGoogleMap():(this.updateLeafletMap(),this.pickupVars.street=!1)},this.updateGoogleMarkers=()=>{this.googleVars.markerClusters.clearMarkers();const e=this.pickupVars.locations.map(((e,t)=>{this.pickupVars.locations.filter((t=>t.lat===e.lat&&t.lng===e.lng)).length>1&&(this.pickupVars.locations[t]=e.lng+=1e-5,e.lng+=1e-5);const i=new google.maps.Marker({position:e,icon:e.icon});return i.addListener("click",(()=>{this.googleVars.markerInfo.setContent(this.buildMarkerInfo(i.uid)),this.googleVars.markerInfo.open(this.googleVars.map,i);const e=document.querySelector(`.pickup_item[data-uid="${i.uid}"]`);e&&this.activatePickup(e)})),i.uid=e.uid,i}));this.googleVars.markerClusters.addMarkers(e),this.centerGoogleMarker(e[0])},this.findGoogleMarker=e=>this.googleVars.markerClusters.markers.filter((t=>t.uid===e)),this.centerGoogleMarker=e=>{let t=this.googleVars.map.getZoom();const i=()=>{this.googleVars.map.setOptions({center:e.getPosition(),zoom:t})};if(e.map)i();else for(;!e.map&&t<17;)i(t++);this.googleVars.markerInfo.setContent(this.buildMarkerInfo(e.uid)),this.googleVars.markerInfo.open(this.googleVars.map,e),this.vars.mobileView&&setTimeout((()=>{this.googleVars.map.panBy(0,-window.screen.height/5)}),50)},this.updateGoogleMap=()=>{this.googleVars.map.setOptions({center:{lat:+this.pickupVars.location.lat,lng:+this.pickupVars.location.lng},zoom:this.pickupVars.street?15:this.getZoom()})},this.initGoogleMap=()=>{this.googleVars.geocoder=new google.maps.Geocoder,this.googleVars.map=new google.maps.Map(document.querySelector(".pickup_map__wrapper"),{center:{lat:52,lng:19.5},zoom:10,fullscreenControl:!1,mapTypeControl:!1,streetViewControl:!1}),this.googleVars.markerClusters=new markerClusterer.MarkerClusterer({map:this.googleVars.map}),this.googleVars.markerInfo=new google.maps.InfoWindow({disableAutoPan:!0,content:""}),this.googleVars.loaded=!0,this.setInitPosition()},this.getPointIconLeafLet=e=>{const t=this.pickupVars.pickups.filter((t=>t.uid===e));return!!t.length&&t[0].markerIconUrl},this.updateLeafletMarkers=()=>{this.leafletVars.markerClusters.clearLayers(),this.pickupVars.locations.forEach((e=>{const t=this.getPointIconLeafLet(e.uid),i=t?{icon:L.icon({iconUrl:t,
1iconAnchor:[16,20],popupAnchor:[0,-20]})}:"",s=new L.Marker(e,i);s.uid=e.uid,s.bindPopup(this.buildMarkerInfo(e.uid)),this.leafletVars.markerClusters.addLayer(s)})),this.leafletVars.map.addLayer(this.leafletVars.markerClusters);const e=this.pickupVars.locations.find((e=>e.lat&&e.lng));e&&this.centerLeafletMarker(this.findLeafletMarker(e.uid)[0])},this.findLeafletMarker=e=>this.leafletVars.markerClusters.getLayers().filter((t=>t.uid===e)),this.centerLeafletMarker=e=>{e&&this.leafletVars.markerClusters.zoomToShowLayer(e,(()=>{const t=this.vars.mobileView?this.leafletVars.map._size.y/2-50:0;let i=this.leafletVars.map.project(e.getLatLng());i=new L.point(i.x+0,i.y-t);const s=this.leafletVars.map.unproject(i);e.openPopup(),setTimeout((()=>{this.leafletVars.map.setView(s)}),100)}))},this.updateLeafletMap=()=>{this.leafletVars.map.setView({lat:+this.pickupVars.location.lat,lng:+this.pickupVars.location.lng},this.pickupVars.street?15:this.getZoom())},this.initLeafletMap=()=>{this.leafletVars.map=L.map(document.querySelector(".pickup_map__wrapper"),{center:{lat:52,lng:19.5},zoom:10,zoomControl:!1}),L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:18,minZoom:7,attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(this.leafletVars.map),L.control.zoom({position:"bottomright"}).addTo(this.leafletVars.map),this.leafletVars.loaded=!0,this.leafletVars.markerClusters=new L.MarkerClusterGroup({maxClusterRadius:50}),this.leafletVars.markerClusters.on("click",(e=>{const t=document.querySelector(`.pickup_item[data-uid="${e?.layer?.uid}"]`);t&&this.activatePickup(t)})),this.setInitPosition()},this.defaultPosition=()=>{if(this.googleVars.key){if(this.googleVars.loaded){const e=this.googleVars.map?.center?.lat(),t=this.googleVars.map?.center?.lng();if(!e||!t)return;this.pickupVars.street=!1,this.pickupVars.location={lat:e,lng:t}}return}const e=this.leafletVars.map.getCenter().lat,t=this.leafletVars.map.getCenter().lng;e&&t&&(this.pickupVars.street=!1,this.pickupVars.location={lat:e,lng:t})},this.setInitPosition=()=>{const{lat:e,lng:t,address:i,stock:s}=this.vars.initOptions;if(e&&t)this.pickupVars.location={lat:e,lng:t};else{if(i){return document.querySelector(".pickup_search__input").value=i,void this.findAddress()}navigator.geolocation?navigator.geolocation.getCurrentPosition((e=>{const t=e.coords.latitude,i=e.coords.longitude;t&&i&&(this.pickupVars.location={lat:t,lng:i})}),this.defaultPosition):this.defaultPosition()}},this.addLoading=()=>{const e=document.querySelector(".modal");e&&e.classList.add("--loading")},this.removeLoading=()=>{const e=document.querySelector(".modal");e&&e.classList.remove("--loading")},this.afterClose=(e,t)=>{const i=document.querySelector(".pickup_item.--active");if(!i&&this.callback)return this.callback(!1),void this.clearAll();if(!i)return void this.clearAll();const s=i.querySelector(".pickup_item__client_courier_number");if(s&&""===s.value)return this.setListView(),s.closest(".pickup_item").scrollIntoView({behavior:"smooth"}),s.classList.add("--highlight"),setTimeout((()=>{s.classList.remove("--highlight")}),2e3),void s.focus();if(document.querySelector(".pickup_points")?.classList.remove("--open"),!this.callback)return void this.clearAll();const r=i.getAttribute("data-latitude"),a=i.getAttribute("data-longitude"),n=i.getAttribute("data-id"),o=+i.getAttribute("data-courier-id"),c=i.getAttribute("data-courier-full-id"),u=i.getAttribute("data-stock"),{elementCallback:l}=this,d={name:i.querySelector(".pickup_item__name")?.textContent,street:i.querySelector(".pickup_item__street")?.textContent,zipcode:i.querySelector(".pickup_item__zipcode")?.textContent,city:i.querySelector(".pickup_item__city")?.textContent},p={};s&&(p.clientCourierNumber=s.value),this.callback({lat:r,lng:a,id:n,courierId:o,courierFullId:c,details:d,elementCallback:l,stock:!("true"!==u),...p}),this.clearAll()},this.init=e=>{if(this.vars.initOptions=e||{},e){const{lat:t,lng:i,courierId:s,couriers:r,cashOnDelivery:a,address:n,stock:o,elementCallback:c,callback:u,modalOff:l,allCouriersMap:d}=e;
1s&&(this.vars.courierId=s),d&&(this.vars.allCouriersMap=d),r&&(this.vars.couriers=r),l&&(this.vars.modalOff=l),this.vars.cashOnDelivery=a,this.callback="function"==typeof u&&u,this.elementCallback=c instanceof HTMLElement?c:document.documentElement,o?(this.vars.stock=o,document.querySelector(".pickup_points").classList.add("--stock")):(this.vars.stock=!1,document.querySelector(".pickup_points").classList.remove("--stock"))}if(this.vars.modalOff?(document.querySelector(".pickup_points")?.classList.add("--open"),document.querySelector(".pickup_points").closest(".modal")?.classList.add("--pickup","--loading"),this.modal={closeModal:this.afterClose}):this.modal=new Modal({element:document.querySelector(".pickup_points"),classList:"--pickup --large --mobile",afterShow:()=>{this.addLoading()},afterClose:this.afterClose}),this.vars.mobileView=window.screen.width<768,this.createFilters(),this.vars.firstInit){if(this.vars.firstInit=!1,this.pickupVars=this.pickupVarsProxy(this.pickupVars),this.googleVars.key){const e=document.createElement("script");e.src=`https://maps.googleapis.com/maps/api/js?key=${this.googleVars.key}&libraries=places&callback=app_shop.fn.pickupPointsExpChck.initGoogleMap`,e.async=!0,document.body.appendChild(e)}else this.initLeafletMap();return this.initEventsSearchPickupPoints(),this.searchInThisAreaEvent(),this.initEventsPickups(),this.initEventsNav(),this.initEventsMarkerInfo(),void this.initEventsFilters()}this.setInitPosition()},this.reInit=()=>{if(document.querySelector(".pickup_map__wrapper").innerHTML="",this.googleVars.key){const e=document.createElement("script");e.src=`https://maps.googleapis.com/maps/api/js?key=${this.googleVars.key}&libraries=places&callback=app_shop.fn.pickupPointsExpChck.initGoogleMap`,e.async=!0,document.body.appendChild(e)}else this.initLeafletMap()}}app_shop.fn.pickupPointsExpChck=new PickupPointsModal,app_shop.fn.expChck=new ExpressCheckout,app_shop.run((()=>{if(app_shop.fn.expChckViews={payments:new PaymentsExpChck,summary:new SummaryExpChck,client:new ClientExpChck,address:new AddressExpChck,deliveries:new DeliveriesExpChck,pickup:new PickupExpChck,login:new LoginExpChck,loginServices:new LoginServicesExpChck,verifyPin:new VerifyPinExpChck,leavePage:new LeavePageChck},-1!==window.location.href.search("#servicesLogin")){const e=!!document.querySelector(".basketedit_page");let t=!1,i=!1;const s=document.querySelector(".basketedit_express_checkout");return e&&s?(t=s.hasAttribute("data-virtual-product"),i=s.hasAttribute("data-service-product")):product_data&&(t=!("product_virtual"!==product_data.product_type),i=!("product_service"!==product_data.product_type)),window.location.hash="",void(app_shop.vars.isLogged?app_shop.fn.expChck.goStep("summary",{previousStep:null,basketeditCheckout:e,virtualProduct:t,serviceProduct:i}):(app_shop.fn.expChck.clearCache(),app_shop.vars.isLogged=!0,app_shop.fn.expChck.goStep("summary",{previousStep:null,state:{loginFromService:!0},basketeditCheckout:e,virtualProduct:t,serviceProduct:i})))}let e=.01*window.innerHeight;document.documentElement.style.setProperty("--vh_expchck",`${e}px`),window.addEventListener("resize",(()=>{e=.01*window.innerHeight,document.documentElement.style.setProperty("--vh_expchck",`${e}px`)}))}),"all","#expchck_header"),-1!==window.location.href.search("#servicesLogin")&&document.documentElement.classList.add("--expchck-loading");

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.