PageSourceSearch

https://www.peter-wagner.at/theme/a4e8cb019a7cc2f303da95ccbfb43175…/crehler-place-to-place.js?1790310092

js peter-wagner.at collected 2026-09-25 09:19:39 UTC 48,289 bytes, 29 lines download raw bytes

1(()=>{"use strict";var e={156:e=>{var t=function(e){var t;return!!e&&"object"==typeof e&&"[object RegExp]"!==(t=Object.prototype.toString.call(e))&&"[object Date]"!==t&&e.$$typeof!==s},s="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function i(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a(Array.isArray(e)?[]:{},e,t):e}function n(e,t,s){return e.concat(t).map(function(e){return i(e,s)})}function o(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function r(e,t){try{return t in e}catch(e){return!1}}function a(e,s,d){(d=d||{}).arrayMerge=d.arrayMerge||n,d.isMergeableObject=d.isMergeableObject||t,d.cloneUnlessOtherwiseSpecified=i;var l,c,p=Array.isArray(s);return p!==Array.isArray(e)?i(s,d):p?d.arrayMerge(e,s,d):(c={},(l=d).isMergeableObject(e)&&o(e).forEach(function(t){c[t]=i(e[t],l)}),o(s).forEach(function(t){(!r(e,t)||Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))&&(r(e,t)&&l.isMergeableObject(s[t])?c[t]=(function(e,t){if(!t.customMerge)return a;var s=t.customMerge(e);return"function"==typeof s?s:a})(t,l)(e[t],s[t],l):c[t]=i(s[t],l))}),c)}a.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,s){return a(e,s,t)},{})},e.exports=a}},t={};function s(i){var n=t[i];if(void 0!==n)return n.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,s),o.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);class i{static isTouchDevice(){return"ontouchstart"in document.documentElement}static isIOSDevice(){return i.isIPhoneDevice()||i.isIPadDevice()}static isNativeWindowsBrowser(){return i.isIEBrowser()||i.isEdgeBrowser()}static isIPhoneDevice(){return!!navigator.userAgent.match(/iPhone/i)}static isIPadDevice(){return!!navigator.userAgent.match(/iPad/i)}static isIEBrowser(){return -1!==navigator.userAgent.toLowerCase().indexOf("msie")||!!navigator.userAgent.match(/Trident.*rv:\d+\./)}static isEdgeBrowser(){return!!navigator.userAgent.match(/Edge\/\d+/i)}static getList(){return{"is-touch":i.isTouchDevice(),"is-ios":i.isIOSDevice(),"is-native-windows":i.isNativeWindowsBrowser(),"is-iphone":i.isIPhoneDevice(),"is-ipad":i.isIPadDevice(),"is-ie":i.isIEBrowser(),"is-edge":i.isEdgeBrowser()}}}var n=s(156),o=s.n(n);class r{static ucFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}static lcFirst(e){return e.charAt(0).toLowerCase()+e.slice(1)}static toDashCase(e){return e.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(e,t){let s=r.toUpperCamelCase(e,t);return r.lcFirst(s)}static toUpperCamelCase(e,t){return t?e.split(t).map(e=>r.ucFirst(e.toLowerCase())).join(""):r.ucFirst(e.toLowerCase())}static parsePrimitive(e){try{return/^\d+(.|,)\d+$/.test(e)&&(e=e.replace(",",".")),JSON.parse(e)}catch(t){return e.toString()}}}class a{constructor(e=document){this._el=e,e.$emitter=this,this._listeners=[]}publish(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=new CustomEvent(e,{detail:t,cancelable:s});return this.el.dispatchEvent(i),i}subscribe(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this,n=e.split("."),o=s.scope?t.bind(s.scope):t;if(s.once&&!0===s.once){let t=o;o=function(s){i.unsubscribe(e),t(s)}}return this.el.addEventListener(n[0],o),this.listeners.push({splitEventName:n,opts:s,cb:o}),!0}unsubscribe(e){let t=e.split(".");return this.listeners=this.listeners.reduce((e,s)=>([...s.splitEventName].sort().toString()===t.sort().toString()?this.el.removeEventListener(s.splitEventName[0],s.cb):e.push(s),e),[]),!0}reset(){return this.listeners.forEach(e=>{this.el.removeEventListener(e.splitEventName[0],e.cb)}),this.listeners=[],!0}get el(){return this._el}set el(e){this._el=e}get listeners(){return this._listeners}set listeners(e){this._listeners=e}}class d{constructor(e,t={},s=!1){if(!(e instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${s}".`);return}this.el=e,this.$emitter=new a(this.el),this._pluginName=this._getPluginName(s),this.options=this._mergeOptions(t),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}
1_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(e){let t=[this.constructor.options,this.options,e];return t.push(this._getConfigFromDataAttribute()),t.push(this._getOptionsFromDataAttribute()),o().all(t.filter(e=>e instanceof Object&&!(e instanceof Array)).map(e=>e||{}))}_getConfigFromDataAttribute(){let e={};if("function"!=typeof this.el.getAttribute)return e;let t=r.toDashCase(this._pluginName),s=this.el.getAttribute(`data-${t}-config`);return s?window.PluginConfigManager.get(this._pluginName,s):e}_getOptionsFromDataAttribute(){let e={};if("function"!=typeof this.el.getAttribute)return e;let t=r.toDashCase(this._pluginName),s=this.el.getAttribute(`data-${t}-options`);if(s)try{return JSON.parse(s)}catch(e){console.error(`The data attribute "data-${t}-options" could not be parsed to json: ${e.message}`)}return e}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(e){return e||(e=this.constructor.name),e}}class l{constructor(){this._request=null,this._errorHandlingInternal=!1}get(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",i=this._createPreparedRequest("GET",e,s);return this._sendRequest(i,null,t)}post(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(t,i);let n=this._createPreparedRequest("POST",e,i);return this._sendRequest(n,t,s)}delete(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(t,i);let n=this._createPreparedRequest("DELETE",e,i);return this._sendRequest(n,t,s)}patch(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(t,i);let n=this._createPreparedRequest("PATCH",e,i);return this._sendRequest(n,t,s)}abort(){if(this._request)return this._request.abort()}setErrorHandlingInternal(e){this._errorHandlingInternal=e}_registerOnLoaded(e,t){t&&(!0===this._errorHandlingInternal?(e.addEventListener("load",()=>{t(e.responseText,e)}),e.addEventListener("abort",()=>{console.warn(`the request to ${e.responseURL} was aborted`)}),e.addEventListener("error",()=>{console.warn(`the request to ${e.responseURL} failed with status ${e.status}`)}),e.addEventListener("timeout",()=>{console.warn(`the request to ${e.responseURL} timed out`)})):e.addEventListener("loadend",()=>{t(e.responseText,e)}))}_sendRequest(e,t,s){return this._registerOnLoaded(e,s),e.send(t),e}_getContentType(e,t){return e instanceof FormData&&(t=!1),t}_createPreparedRequest(e,t,s){return this._request=new XMLHttpRequest,this._request.open(e,t),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),s&&this._request.setRequestHeader("Content-type",s),this._request}}let c="loader",p={BEFORE:"before",INNER:"inner"};class h{constructor(e,t=p.BEFORE){this.parent=e instanceof Element?e:document.body.querySelector(e),this.position=t}create(){if(!this.exists()){if(this.position===p.INNER){this._previousHTML=this.parent.innerHTML,this.parent.innerHTML=h.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),h.getTemplate())}}remove(){if(this.position===p.INNER){this.parent.innerHTML=this._previousHTML;return}this.parent.querySelectorAll(`.${c}`).forEach(e=>e.remove())}exists(){return this.parent.querySelectorAll(`.${c}`).length>0}_getPosition(){return this.position===p.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return`<div class="${c}" role="status">
2                    <span class="visually-hidden">Loading...</span>
3                </div>`}static SELECTOR_CLASS(){return c}}let u="modal-backdrop",m="modal-backdrop-open",g="no-scroll",_={ON_CLICK:"backdrop/onclick"};class f{constructor(){return f.instance||(f.instance=this),f.instance}create(e){this._removeExistingBackdrops(),document.body.insertAdjacentHTML("beforeend",this._getTemplate());let t=document.body.lastChild;document.documentElement.classList.add(g),setTimeout(function(){t.classList.add(m),"function"==typeof e&&e()},75),this._dispatchEvents()}remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;
3this._getBackdrops().forEach(e=>e.classList.remove(m)),setTimeout(this._removeExistingBackdrops.bind(this),e),document.documentElement.classList.remove(g)}_dispatchEvents(){let e=i.isTouchDevice()?"touchstart":"click";document.addEventListener(e,function(e){e.target.classList.contains(u)&&document.dispatchEvent(new CustomEvent(_.ON_CLICK))})}_getBackdrops(){return document.querySelectorAll(`.${u}`)}_removeExistingBackdrops(){!1!==this._exists()&&this._getBackdrops().forEach(e=>e.remove())}_exists(){return document.querySelectorAll(`.${u}`).length>0}_getTemplate(){return`<div class="${u}"></div>`}}let y=Object.freeze(new f);class b{static create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;y.create(e)}static remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;y.remove(e)}static SELECTOR_CLASS(){return u}}let v=Object.freeze(new class extends h{constructor(){super(document.body)}create(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];!this.exists()&&e&&(b.create(),document.querySelector(`.${b.SELECTOR_CLASS()}`).insertAdjacentHTML("beforeend",h.getTemplate()))}remove(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];super.remove(),e&&b.remove()}});class w{static create(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];v.create(e)}static remove(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];v.remove(e)}}class P{constructor(e){this.container=e,this.debounce=null}change(){null!==this.debounce&&clearTimeout(this.debounce),this.debounce=setTimeout(this._doChange.bind(this),250)}_doChange(){this.debounce=null,this.container.querySelectorAll("a").forEach(e=>{"_blank"!==e.target&&(e.target="_blank"),"noopener"!==e.rel&&(e.rel="noopener")})}}class k{constructor(e,t,s,i=!0){this.httpClient=e,this.emitter=t,this.addressId=s.shippingAddress.id,this.pointName=s.pointName,this.billingAddress=s.billingAddress,this.addresses=[],this.options=s,this.reloadAfterSave=i,this._isSaving=!1}
3async init(){return this.initHandler(),new Promise(e=>{let t=new URLSearchParams({"point-type":Object.getPrototypeOf(this).constructor.getName(),_:Date.now().toString()});this.httpClient.get(`${this.options.router.read}?${t.toString()}`,t=>{this.addresses=JSON.parse(t).addresses,this.findValidPointId().then(t=>{e(t)})})})}async findValidPointId(){return new Promise(e=>{let t=null;this.addresses.forEach(e=>{e.id===this.addressId&&(t=e)}),null===t?e(null):this.checkAddress([t]).then(s=>{void 0!==s[t.id]?e(s[t.id]):e(null)})})}async checkAddress(){let e={};return new Promise(t=>{this.addresses.forEach(t=>{let s=t.id,i=Math.abs(new Date(null!==t.updatedAt?t.updatedAt:t.createdAt).getTime()-new Date().getTime())/864e5;try{e[s]=i<1&&null!==t.customFields.crehler_place_to_place_point_id?t.customFields.crehler_place_to_place_point_id:null}catch(t){e[s]=null}}),t(e)})}static getName(){throw Error("Method 'getName()' must be implemented.")}getName(){return Object.getPrototypeOf(this).constructor.getName()}openMap(){throw this.emitter.emit("openModal"),Error("Method 'openMap()' must be implemented.")}adapterMutationObserveCallback(){}_onOpenMap(e){this.emitter.emit("onOpenMap",{handler:this.name,element:e}),this._addBodyClass(),void 0!==e&&(this.linkChanger=new P(e),new MutationObserver(this._mutationObserveCallback.bind(this,e)).observe(e,{attributes:!0,childList:!0,subtree:!0}))}_mutationObserveCallback(e,t,s){null!==this.linkChanger&&this.linkChanger.change(),this.adapterMutationObserveCallback(e,t,s)}async saveAddress(e,t,s,i,n,o){this._isSaving=!0,this.emitter.emit("saveAddress"),this.emitter.emit("pointChange",o);let r=(n??"").toString();n=r.includes(this.pointName)?r:`${this.pointName} ${r}`;let a={salutationId:this.billingAddress.salutationId,additionalAddressLine1:o.substring(0,255),additionalAddressLine2:n.substring(0,255),city:e,street:t,zipcode:s,firstName:this.billingAddress.firstName,lastName:this.billingAddress.lastName,phoneNumber:this.billingAddress.phoneNumber,pointType:this.getName(),pointId:o,country:i};this.httpClient.post(this.options.router.write,JSON.stringify(a),e=>{if((e=JSON.parse(e)).success){this.emitter.emit("changeAddress",a),this.emitter.emit("updateAddress",a);let t=new FormData;for(let[s,i]of(t.append("shippingAddressId",e.id),Object.entries(this.options.addressbookAdditionalParams)))t.append(s,i);this._removeBodyClass(),this.httpClient.post(this.options.router.addressbookSwitch,t,e=>{this.emitter.emit("switchContext",e),this.reloadAfterSave&&location.reload()},"application/x-www-form-urlencoded",()=>{this.showError()})}else this.showError()})}_addBodyClass(){document.querySelector("body").classList.add("place-to-place--is-ma
3p-open"),document.querySelector("body").classList.add(`place-to-place--is-map-open-${this.getName()}`)}_removeBodyClass(){document.querySelector("body").classList.remove("place-to-place--is-map-open"),document.querySelector("body").classList.remove(`place-to-place--is-map-open-${this.getName()}`)}initHandler(){}loadScript(e,t){if(null!=t){let e=document.createElement("link");e.setAttribute("href",t),e.setAttribute("rel","stylesheet"),document.body.appendChild(e)}if(null==e)return new Promise(e=>e());{let t=document.querySelector(`script[src="${e}"]`);return new Promise(null!==t?e=>e(t):function(t,s){let i=document.createElement("script");i.setAttribute("src",e),i.setAttribute("async",""),i.onload=function(){t(i)},i.onerror=function(){s()},document.body.appendChild(i)})}}showError(){this.emitter.emit("showError");let e=document.querySelector("[data-place-to-place-error-template]");e&&document.querySelector(".flashbags")?.append(e.content.cloneNode(!0)),this._removeBodyClass()}async getPointInfo(e){throw Error("Method 'getPointInfo()' must be implemented.")}getSuggestedPoints(){return Promise.resolve([])}selectPoint(e){throw Error("Method 'selectPoint()' must be implemented.")}}let C="js-pseudo-modal",S="js-pseudo-modal-template-root-element";class E{constructor(e,t=!0,s=".js-pseudo-modal-template",i=".js-pseudo-modal-template-content-element",n=".js-pseudo-modal-template-title-element"){this._content=e,this._useBackdrop=t,this._templateSelector=s,this._templateContentSelector=i,this._templateTitleSelector=n}open(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:350;this._hideExistingModal(),this._create(),setTimeout(this._open.bind(this,e),t)}close(){let e=this.getModal();this._modalInstance=bootstrap.Modal.getInstance(e),this._modalInstance.hide()}getModal(){return this._modal||this._create(),this._modal}updatePosition(){this._modalInstance.handleUpdate()}updateContent(e,t){this._content=e,this._setModalContent(e),this.updatePosition(),"function"==typeof t&&t.bind(this)()}_hideExistingModal(){try{let e=document.querySelector(`.${C} .modal`);if(!e)return;let t=bootstrap.Modal.getInstance(e);if(!t)return;t.hide()}catch(e){console.warn(`[PseudoModalUtil] Unable to hide existing pseudo modal before opening pseudo modal: ${e.message}`)}}_open(e){this.getModal(),this._modal.addEventListener("hidden.bs.modal",this._modalWrapper.remove),this._modal.addEventListener("shown.bs.modal",e),this._modal.addEventListener("hide.bs.modal",()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()}),this._modalInstance.show()}_create(){this._modalMarkupEl=document.querySelector(this._templateSelector),this._createModalWrapper(),this._modalWrapper.innerHTML=this._content,this._modal=this._createModalMarkup(),this._modalInstance=new bootstrap.Modal(this._modal,{backdrop:this._useBackdrop}),document.body.insertAdjacentElement("beforeend",this._modalWrapper)}_createModalWrapper(){this._modalWrapper=document.querySelector(`.${C}`),this._modalWrapper||(this._modalWrapper=document.createElement("div"),this._modalWrapper.classList.add(C))}_createModalMarkup(){let e=this._modalWrapper.querySelector(".modal");if(e)return e;let t=this._modalWrapper.innerHTML;return this._modalWrapper.innerHTML=this._modalMarkupEl.innerHTML,this._setModalContent(t),this._modalWrapper.querySelector(".modal")}_setModalTitle(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{this._modalWrapper.querySelector(this._templateTitleSelector).innerHTML=e}catch(e){}}_setModalContent(e){let t=this._modalWrapper.querySelector(this._templateContentSelector);t.innerHTML=e;let s=t.querySelector(`.${S}`);if(s){this._modalWrapper.querySelector(`.${S}`).replaceChildren(s);return}try{let e=t.querySelector(this._templateTitleSelector);e&&(this._setModalTitle(e.innerHTML),e.parentNode.removeChild(e))}catch(e){}}}class A extends k{initHandler(){this.prices={R:0,P:0,U:0,A:0},this._loadData()}_loadAntiqueShop(){return this.loadScript("https://code.jquery.com/jquery-1.12.4.min.js",null)}_loadOrlenWidget(){return this.loadScript("https://ruch-osm.sysadvisors.pl/widget.js","https://ruch-osm.sysadvisors.pl/widget.css")}_loadPrices(){let e=this;return new Promise(t=>{e.prices={R:e.options.shippingCost,P:e.options.shippingCost,U:e.options.shippingCost,A:e.options.shippingCost},t()})}_loadData(){let e=this;e.scriptReady=!1,Promise.all([this._loadAntiqueShop(),this._loadOrlenWidget(),this._loadPrices()]).then(()=>{e.scriptReady=!0})}static getName(){return"orlen"}openMap(){if(!this.scriptReady){setTimeout(this.openMap.bind(this),250);return}let e=new E('<div id="orlen-paczka-map"></div>');e.open(this._onOpen.bind(this,e))}_onOpen(e){e._modal.classList.add("is--orlen-modal"),e._modal.addEventListener("hide.bs.modal",this._onModalClose.bind(this)),this.wid=new RuchWidget("orlen-paczka-map",{loadCb:this._onLoad.bind(this),readyCb:this._onReady.bind(this),selectCb:this._onSelect.bind(this),initialAddress:this.billingAddress.zipcode,sandbox:0,showCodFilter:0,showPointTypeFilter:0,initialDelivery:"",initialType:""}),this.wid.init(),this._onOpenMap(e._modal)}_onModalClose(){this._removeBodyClass()}_onLoad(){return 0}_onReady(){this.wid.showWidget(0,this.prices,{R:"ruch",P:"partner",U:"partner",A:"orlen"})}_onSelect(e){return e&&this.saveAddress(e.a_c,e.a_al,e.a_pc,"PL",`${e.h} ${e.a}`,e.p),0}}let M="https://geowidget.inpost-group.com/inpost-geowidget.js",L="https://geowidget.inpost-group.com/inpost-geowidget.css",I=null;class T{static loadSdk(){return I||(I=new Promise((e,t)=>
3{if(!document.querySelector(`link[href="${L}"]`)){let e=document.createElement("link");e.rel="stylesheet",e.href=L,document.head.appendChild(e)}if(document.querySelector(`script[src="${M}"]`)){e();return}let s=document.createElement("script");s.src=M,s.defer=!0,s.onload=()=>e(),s.onerror=e=>t(e),document.head.appendChild(s)}))}static async openModal(e){let{token:t,config:s,language:i,country:n}=e;return await this.loadSdk(),new Promise((e,o)=>{let r=document.createElement("div");r.className="crehler-p2p-inpost-v5-overlay",r.style.cssText="position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;";let a=document.createElement("div");a.style.cssText="background:#fff;width:100%;max-width:1400px;height:100%;max-height:900px;position:relative;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;";let d=document.createElement("button");d.type="button",d.setAttribute("aria-label","Close"),d.textContent="✕",d.style.cssText="position:absolute;top:8px;right:12px;z-index:10;background:#fff;border:1px solid #ccc;border-radius:50%;width:36px;height:36px;font-size:20px;cursor:pointer;line-height:1;";let l=document.createElement("inpost-geowidget");l.setAttribute("token",t),l.setAttribute("config",s),i&&l.setAttribute("language",i),n&&l.setAttribute("country",n),l.style.cssText="flex:1;display:block;width:100%;height:100%;";let c=!1,p=t=>{let s=t.detail??t.details;s&&u(()=>e(s))},h=()=>{l.removeEventListener("onpointselect",p),document.removeEventListener("onpointselect",p),r.parentNode&&r.parentNode.removeChild(r)},u=e=>{c||(c=!0,h(),e())};d.onclick=()=>u(()=>o(Error("closed"))),a.appendChild(d),l.addEventListener("onpointselect",p),document.addEventListener("onpointselect",p),a.appendChild(l),r.appendChild(a),r.addEventListener("click",e=>{e.target===r&&u(()=>o(Error("closed")))}),document.body.appendChild(r)})}}class N extends k{_v5Config(){return"parcelCollect"}_hasV5Token(){return!!(this.options.inpost&&this.options.inpost.geowidgetToken)}async _openV5Map(){try{let e=await T.openModal({token:this.options.inpost.geowidgetToken,config:this._v5Config(),language:(this.options.countryCode||"pl-PL").split("-")[0],country:(this.options.countryCode||"pl-PL").split("-")[1]||"PL"});this._onSelectPoint(e)}catch(e){e&&"closed"!==e.message&&console.error("[CrehlerPlaceToPlace] InPost GeoWidget v5 error",e)}}initHandler(){let e=this;e.scriptReady=!1,e.loadScript("https://geowidget.easypack24.net/js/sdk-for-javascript.js","https://geowidget.easypack24.net/css/easypack.css").then(()=>{e.scriptReady=!0})}static getName(){return"paczkomaty"}_mapPointResponseToInfo(e){return{id:e.name,majorInfo:`${e.address.line1}, ${e.address.line2}`,minorInfo:`(Paczkomat ${e.name}, Godziny otwarcia: ${e.opening_hours})`}}async getPointInfo(e){let t=(await this._findPointsByNames([e])).at(0);if(!t)throw Error(`Point with id ${e} not found.`);return this._mapPointResponseToInfo(t)}async checkAddress(e){let t={},s=[],i={};return e.forEach(e=>{t[e.customFields.crehler_place_to_place_point_id]=e.id,s.push(this._checkOneAddress(e.customFields.crehler_place_to_place_point_id))}),new Promise(e=>{Promise.all(s).then(s=>{s.forEach(e=>{i[t[e.name]]=e.status?e.name:null}),e(i)})})}_checkOneAddress(e){return new Promise(t=>{fetch(`https://api-pl-points.easypack24.net/v1/points?source=geov4_pl&status=Operating&functions=parcel,parcel_collect&name=${encodeURIComponent(e)}`,{method:"GET",headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(s=>{t({name:e,status:s.count>=1})}).catch(()=>{t({name:e,status:!1})})})}async _findPointsForPostalCode(e){return new Promise(t=>{fetch(`https://api-pl-points.easypack24.net/v1/points?source=geov4_pl&status=Operating&functions=parcel,parcel_collect&relativePostCode=${encodeURIComponent(e)}&sort_by=distance_to_relative_point`,{method:"GET",headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(e=>{t(e.items||[])}).catch(()=>{t([])})})}async _findPointsByNames(e){return new Promise(t=>
3{fetch(`https://api-pl-points.easypack24.net/v1/points?source=geov4_pl&status=Operating&functions=parcel,parcel_collect&name=${encodeURIComponent(e.join(","))}`,{method:"GET",headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(e=>{t(e?.items??[])}).catch(()=>{t([])})})}async getSuggestedPoints(){let e=this.options.shippingAddress?.zipcode||this.options.billingAddress.zipcode;if(!e)return[];if(e&&!e.includes("-")&&5===e.length){if(!/^\d{5}$/.test(e))return[];e=e.substring(0,2)+"-"+e.substring(2)}let t=await this._findPointsForPostalCode(e);return(t&&0!==t.length||e===this.options.billingAddress?.zipcode||(e=this.billingAddress.zipcode,t=await this._findPointsForPostalCode(e)),t)?t.map(e=>this._mapPointResponseToInfo(e)):[]}openMap(){if(this._hasV5Token()){this._openV5Map();return}let e=this;if(!e.scriptReady){setTimeout(e.openMap.bind(e),250);return}window.easyPack.init({});let t=window.innerWidth;t<1920?t-=10:t>1920&&(t=1920);let s=window.innerHeight;s<1080?s-=10:s>1080&&(s=1080),window.easyPack.modalMap(function(t,s){s.closeModal(),e._onSelectPoint(t)},{width:t,height:s}),e._waitingForMap()}async selectPoint(e){let t=(await this._findPointsByNames([e])).at(0);if(!t)throw Error(`Point with id ${e} not found.`);this._onSelectPoint(t)}_onSelectPoint(e){if(!e?.address_details)throw this.showError(),Error("Selected point is missing address details.");this.saveAddress(e.address_details.city,`${e.address_details.street} ${e.address_details.building_number}`,e.address_details.post_code,"PL",e.location_description,e.name)}_waitingForMap(){let e=document.querySelector("#widget-modal");if(null===e){setTimeout(this._waitingForMap.bind(this),250);return}e.parentElement.classList.add("is--paczkomaty-map"),this._onOpenMap(e.parentElement)}adapterMutationObserveCallback(){this._isSaving||null!==document.querySelector("#widget-modal")&&"none"!==document.querySelector(".is--paczkomaty-map").style.display||this.showError()}}class O extends N{static getName(){return"paczkomaty-weekend"}_v5Config(){return"parcelCollect247"}openMap(){if(!this._hasV5Token()){console.error("[CrehlerPlaceToPlace] PaczkomatWeekend requires the InPost GeoWidget v5 API token. Configure it in admin: Settings → Extensions → CrehlerPlaceToPlace → InPost GeoWidget API token."),window.alert("Konfiguracja: metoda 'Paczka w Weekend' wymaga tokena InPost GeoWidget v5. Skontaktuj się z administratorem sklepu.");return}this._openV5Map()}_checkOneAddress(e){return new Promise(t=>{fetch(`https://api-pl-points.easypack24.net/v1/points?source=geov4_pl&status=Operating&type=parcel_locker_only&functions=parcel,parcel_collect&name=${encodeURIComponent(e)}`,{method:"GET",headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(s=>{t({name:e,status:s.count>=1})}).catch(()=>{t({name:e,status:!1})})})}async _findPointsForPostalCode(e){return new Promise(t=>{fetch(`https://api-pl-points.easypack24.net/v1/points?source=geov4_pl&status=Operating&type=parcel_locker_only&functions=parcel,parcel_collect&relativePostCode=${encodeURIComponent(e)}&sort_by=distance_to_relative_point`,{method:"GET",headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(e=>{t(e.items||[])}).catch(()=>{t([])})})}async _findPointsByNames(e){return new Promise(t=>{fetch(`https://api-pl-points.easypack24.net/v1/points?source=geov4_pl&status=Operating&type=parcel_locker_only&functions=parcel,parcel_collect&name=${encodeURIComponent(e.join(","))}`,{method:"GET",headers:{"Content-Type":"application/json"}}).then(e=>e.json()).then(e=>{t(e?.items??[])}).catch(()=>{t([])})})}}class x extends k{static getName(){return"packeta"}initHandler(){this.scriptReady=!1,this.country=[],this.vendors=[],this.parseVendors(),Promise.all([this.loadCountries(),this.loadScript("https://widget.packeta.com/v6/www/js/library.js")]).then(()=>{this.scriptReady=!0})}openMap(){if(!this.scriptReady){setTimeout(this.openMap.bind(this),250);return}Packeta.Widget.pick(this.options.packeta.apiKey,this.selectPoint.bind(this),this.getPacketaOptions()),this._onOpenMap()}parseVendors(){Array.isArray(this.options.packeta.vendors)&&this.options.packeta.vendors.forEac
3h(e=>{try{e=atob(e),e=JSON.parse(e),this.vendors.push(e)}catch(e){}})}loadCountries(){return new Promise(e=>{this.httpClient.get(this.options.router.countries,t=>{for(let[e,s]of Object.entries((t=JSON.parse(t)).counturies))this.country.push(s.iso.toLowerCase());e()})})}selectPoint(e){e?this.saveAddress(e.city,e.street,e.zip,e.country.toUpperCase(),e.name,e.id):this.showError()}getPacketaOptions(){return{valueFormat:'"Packeta",id,carrierId,carrierPickupPointId,name,city,street',view:"modal",country:this.country.join(","),language:this.getLanguage(),vendors:this.vendors}}getLanguage(){let e=this.options.countryCode.split("-")[0];return["en","cs","bg","hu","pl","ro","sk","fr","uk","de","sl","lv","it","hr","fi","et","da","es","el","lt","nl","pt","ru","sv"].includes(e)?e:"en"}}class q extends k{static getName(){return"pocztex"}openMap(){let e=this;PPWidgetApp.toggleMap({callback:e._pointSelected.bind(e)}),setTimeout(()=>{e._onOpenMap(document.getElementById("pp-widget-iframe").closest("#overlay"))})}_pointSelected(e){e&&this.saveAddress(e.city,e.street,e.zipCode,"PL",e.description.replaceAll("#","\n"),e.name)}adapterMutationObserveCallback(){(null===document.getElementById("pp-widget-iframe")||null===document.getElementById("pp-widget-iframe").closest("#overlay"))&&this._removeBodyClass()}}class j extends k{static getName(){return"dpd"}initHandler(){this.script=null}openMap(){let e=new E('<script id="dpd-widget" type="text/javascript">');e.open(this._onOpen.bind(this,e))}_onOpen(e){e._modal.classList.add("is--dpd-modal"),e._modal.addEventListener("hide.bs.modal",this._onModalClose.bind(this,e)),window.pointSelected=this.onPointSelected.bind(this,e);let t=`//pudofinder.dpd.com.pl/source/dpd_widget.js?&query=lt&key=${this.options.dpdApiKey}`;this.options.isPolishLanguage||"pl-PL"===this.options.countryCode||(t+=`&lang=en&query=${this.options.countryCode}`),this.loadScript(t).then(t=>{this.script=t,this.emitter.emit("openModal"),this._onOpenMap(e._modal)})}onPointSelected(e,t){this._onModalClose(e);let{0:s}=this.options.countryCode.split("-");this.saveAddress("DPD","DPD","00-000",`${s}`,t,t)}_onModalClose(e){e.close(),null!==this.script&&(this.script.remove(),this.script=null)}}let $=/\b\d{2}-\d{3}\b/g,B=/(?:[A-Za-zÀ-ÖØ-öø-ÿąćęłńóśźżĄĆĘŁŃÓŚŹŻ]+(?:\.|[\s]+))?[A-Za-zÀ-ÖØ-öø-ÿąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s]+\s\d+[a-zA-Z]?(\/[a-zA-Z0-9]+)?/,R=/\d{2}-\d{3}\s([A-Za-zÀ-ÖØ-öø-ÿąćęłńóśźżĄĆĘŁŃÓŚŹŻ\s]+)/;class F{static getPostalCodeByPattern(e){let t=e.match($);return t?t[0]:null}static getStreetByPattern(e){let t=e.match(B);return t?t[0]:null}static getCityByPattern(e){let t=e.match(R);return t?t[1].trim():null}static getStreetAsFirstPartOfString(e){return e.split(",")[0].trim()}static getCityAsSecondPartOfString(e){return e.split(",")[1].trim()}}class H extends k{courierServices(){return["inpost","orlen","poczta","ups","dpd","dhl","meest","fedex","gls"]}addressPlaceholder(){return"Furgonetka"}openMap(){let e=this.options.furgonetka?.apiKey;e||console.warn("Furgonetka map API key is not configured. Set it in the app settings (Furgonetka - Klucz API mapy)."),this.loadScript("https://furgonetka.pl/js/dist/map/map.js").then(t=>{new window.Furgonetka.Map({apiKey:e,courierServices:this.courierServices(),callback:this.onPointSelected.bind(this),closeModalCallback:this._removeBodyClass.bind(this)}).show(),this._onOpenMap()})}onPointSelected(e){let t="00-000",s=this.addressPlaceholder(),i=this.addressPlaceholder(),n="PL",o=e.point.name,r=e.point.code;switch(e.point.type){case"inpost":case"dhl":case"fedex":case"poczta":case"ups":t=F.getPostalCodeByPattern(e.point.name),s=F.getStreetByPattern(e.point.name),i=F.getCityByPattern(e.point.name),n=e.point.country_code;break;case"dpd":t=F.getPostalCodeByPattern(e.point.name),s=F.getStreetAsFirstPartOfString(e.point.name),i=F.getCityByPattern(e.point.name),n=e.point.country_code;break;case"orlen":case"gls":s=F.getStreetAsFirstPartOfString(e.point.name),i=F.getCityAsSecondPartOfString(e.point.name),n=e.point.country_code}this.saveAddress(i,s,t,n,o,r)}}class z extends H{static getName(){return"furgonetka-multi-map"}courierServices(){return this.options.furgonetka.operators}addressPlaceholder(){return"Punkt odbioru"}}class W extends H{static getName(){return"furgonetka-paczkomat"}courierServices(){return["inpost"]}addressPlaceholder(){return"Paczkomat ®"}}class D extends H{static getName(){return"furgonetka-dhl"}courierServices(){return["dhl"]}addressPlaceholder(){return"DHL Parcelshop"}}class U extends H{static getName(){return"furgonetka-dpd"}courierServices(){return["dpd"]}addressPlaceholder(){return"DPD Pickup"}}class G extends H{static getName(){return"furgonetka-fedex"}courierServices(){return["fedex"]}addressPlaceholder(){return"Fedex Punkt"}}class K extends H{static getName(){return"furgonetka-gls"}courierServices(){return["gls"]}addressPlaceholder(){return"GLS Pickup"}}class J extends H{static getName(){return"furgonetka-meest"}courierServices(){return["meest"]}addressPlaceholder(){return"Meest"}}class V extends H{static getName(){return"furgonetka-orlen"}courierServices(){return["orlen"]}addressPlaceholder(){return"ORLEN Paczka"}}class Z extends H{static getName(){return"furgonetka-poczta"}courierServices(){return["poczta"]}addressPlaceholder(){return"Poczta Polska"}}class X extends H{static getName(){return"furgonetka-ups"}courierServices(){return["ups"]}addressPlaceholder(){return"UPS Access Point"}}class Q{static iterate(e,t){if(e instanceof Map||Array.isArray(e))return e.forEach(t);if(e instanceof FormData){for(var s of e.entries())t(s[1],s[0]);return}if(e instanceof NodeList)return e.forEach(t);if(e instanceof HTMLCollection)return Array.from(e).forEach(t);if(e instanceof Object)return Object.keys(e).forEach(s=>{t(e[s],s)});throw Error(`The element type ${typeof e} is not iterable!`)}}class Y extends k{static getName(){return"paxy"}initHandler(){this.scriptReady=!1,this.registerEventListeners(),this.loadScript(this.options.paxy.js,this.options.paxy.css).then(()=>{this.scriptReady=!0})}registerEventListeners(){window.addEventListener("paxyWidgetReadyForBootstraping",this.onPaxyWidgetReadyForBootstraping.bind(this)),window.addEventListener("paxyWidgetInitialized",this.onPaxyWidgetInitialized.bind(this)),window.addEventListener("paxyWidgetPointSelected",this.onPaxyWidgetPointSelected.bind(this)),window.addEventListener("paxyWidgetClose",this.showError.bind(this))}onPaxyWidgetReadyForBootstraping(){window.dispatchEvent(new CustomEvent("paxyWidgetBootstrap"))}onPaxyWidgetInitialized(){window.paxyWidget.setWidgetConfig({componentType:"modal",apiUrl:"https://iai-bridge.paxy.pl/api/v1",couriers:this.options.paxy.pickupPoints,language:this.getLanguage(),token:this.options.paxy.apiKey,showCouriersSelectInput:!!this.showCouriersSelectInput,assetsPathPrefix:this.options.paxy.assetsPathPrefix})}onPaxyWidgetPointSelected(e){this.saveAddress(e.detail.city,e.detail.address,e.detail.postCode,e.detail.country,e.detail.name,e.detail.id)}openMap(){if(!this.scriptReady){setTimeout(this.openMap.bind(this),250);return}window.dispatchEvent(new CustomEvent("paxyWidgetOpen")),this._onOpenMap()}getLanguage(){let e=this.options.countryCode.split("-")[0];return["en","pl","hu","sk","ro","cz","bg","hr","ee","lv"].includes(e)?e:"en"}}class ee extends d{static #e=this.options={handler:"",pointName:"",shippingAddress:{},shippingCost:0,currencyCode:"EUR",snippets:{buttonDisabled:"Wybierz punktu odbioru",changePackagesStation:"Zmień punkt odbioru",addressChangeError:"Wystąpił błąd podczas zmiany punktu odbioru",notChosen:"Nie wybrano punktu odbioru",providerTos:"",selectOtherBtn:""},dpdApiKey:"",router:{read:"/storefront/script/place-to-place-read",write:"/storefront/script/place-to-place-write",addressbookWrite:"/widgets/account/address-manager",addressbookSwitch:"/widgets/account/address-manager/switch",countries:"/storefront/script/place-to-place-countries"},placeToPlaceShippingMethodIds:[],autoOpen:!1,paxy:{apiKey:null,pickupPoints:null,js:null,css:null},packeta:{apiKey:null,vendors:[]},furgonetka:{operators:[],apiKey:null}};init(){var e;let t;switch(this._client=new l,this._emitter={all:e=e||new Map,on:function(t,s){var i=e.get(t);i?i.push(s):e.set(t,[s])},off:function(t,s){var i=e.get(t);i&&(s?i.splice(i.indexOf(s)>>>0,1):e.set(t,[]))},emit:function(t,s){var i=e.get(t);i&&i.slice().map(function(e){e(s)}),(i=e.get("*"))&&i.slice().map(function(e){e(t,s)})}},this.globalChangeButton=null,this._currentPointId=null,this.pointSelectorInsideShippingMethod=!0,this.options.handler){case N.getName():t=new N(this._client,this._emitter,this.options);break;case O.getName():t=new O(this._client,this._emitter,this.options);break;case q.getName():t=new q(this._client,this._emitter,this.options);break;case A.getName():t=new A(this._client,this._emitter,this.options);break;case j.getName():t=new j(this._client,this._emitter,this.options);break;case z.getName():t=new z(this._client,this._emitter,this.options);break;case W.getName():t=new W(this._client,this._emitter,this.options);break;case D.getName():t=new D(this._client,this._emitter,this.options);break;case U.getName():t=new U(this._client,this._emitter,this.options);break;case G.getName():t=new G(this._client,this._emitter,this.options);break;case K.getName():t=new K(this._client,this._emitter,this.options);break;case J.getName():t=new J(this._client,this._emitter,this.options);break;case V.getName():t=new V(this._client,this._emitter,this.options);break;case Z.getName():t=new Z(this._client,this._emitter,this.options);break;case X.getName():t=new X(this._client,this._emitter,this.options);break;case x.getName():t=new x(this._client,this._emitter,this.options);break;case Y.getName():t=new Y(this._client,this._emitter,this.options)}if([N.getName(),O.getName()].includes(this.options.handler)||(this.pointSelectorInsideShippingMethod=!1),!t){console.warn(`Not found handler for ${this.options.handler}`);return}this.initHandler(t),this._emitter.on("saveAddress",function(){w.create()}),this._emitter.on("showError",function(){w.remove()});let s=document.querySelector(".confirm-shipping-address [data-address-manager], .subscription-info__shipping-address button");this._addCssClassToCheckout(),this._addNotChosenInfo(),s&&this._changeTitleButton(s),this._registerEvents(s)}_registerEvents(e){let t=i.isTouchDevice()?"touchstart":"click",
3s=e.cloneNode(!0);e.parentNode.replaceChild(s,e),s.addEventListener(t,this._openMap.bind(this));let n=document.querySelector(".shipping-methods");if(!n)return;let o=n.querySelectorAll(".shipping-method-input");Q.iterate(o,e=>{e.addEventListener(t,this._onClickShippingMethod.bind(this))})}_onClickShippingMethod(e){let t;e.preventDefault(),t=!this.options.placeToPlaceShippingMethodIds.includes(e.target.value)&&this.options.customer?.customFields?.crehler_place_to_place_default_shipping_address_id?this.options.customer.customFields.crehler_place_to_place_default_shipping_address_id:this._getCustomerAddressId(e)??this.options.shippingAddress.id;let s=new FormData;s.append("shippingAddressId",t),this._client.post(this.options.router.addressbookSwitch,s,t=>{this._emitter.emit("switchContext",t),e.target.checked=!0,e.target.form.submit()},"application/x-www-form-urlencoded")}_getCustomerAddressId(e){if(this.options.customer&&this.options.customer.customFields&&this.options.customer.customFields.crehler_place_to_place_percel_machine_shipping_address_id)return this.options.placeToPlaceShippingMethodIds.filter((e,t,s)=>s.indexOf(e)===t).includes(e.target.value)?this.options.customer.customFields.crehler_place_to_place_percel_machine_shipping_address_id:this.options.customer.customFields.crehler_place_to_place_default_shipping_address_id}_changeTitleButton(e){e.innerHTML=this.options.snippets.changePackagesStation}_addCssClassToCheckout(){let e=document.querySelector(".checkout");e&&e.classList.add("cr-place-to-place")}_addNotChosenInfo(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this.options.shippingAddress?.pointId&&!e)return;let t=document.querySelector(".confirm-address-shipping");t&&(t.innerHTML=`<p>${this.options.snippets.notChosen}</p>`)}_openMap(e){e?.preventDefault(),this._handler.openMap()}async initHandler(e){if(this._handler=e,this.confirmButton=document.querySelector("#confirmFormSubmit"),this.disableConfirmButton(),this._currentPointId=await this._handler.init(),this._currentPointId)this.enableConfirmButton();else{this._addNotChosenInfo(!0);let e=document.querySelector(".cr-place-to-place-invalid-alert");e?.classList.remove("d-none")}this.options.autoOpen&&this._openMap(),this._renderPickupPointSelectorInsideShippingMethod()}async _renderPickupPointSelectorInsideShippingMethod(){if(!this.options.pickupPointSelectorInsideShippingMethod)return;if(!this.pointSelectorInsideShippingMethod){this._renderMapOpenerInsideShippingMethod();return}let e=document.querySelector("input[name='shippingMethodId']:checked"),t=e?.closest(".shipping-form-group"),s=this._handler.getSuggestedPoints(),i=this._currentPointId?this._handler.getPointInfo(this._currentPointId):Promise.resolve(null),[n,o]=await Promise.all([s,i]),r=n.filter(e=>e.id!==o?.id).slice(0,o?2:3);t&&(t.insertAdjacentHTML("beforeend",`
4        <div class="cr-place-to-place-pickup-point-selector">
5          <div class="cr-place-to-place-pickup-point-selector__list">
6            ${(o?[o,...r]:r).map(e=>`
7              <div class="d-flex items-center gap-2 form-check">
8                <input class="form-check-input" type="radio" id="cr-place-to-place-pickup-point-${e.id}" name="cr-place-to-place-pickup-point" value="${e.id}" ${e.id===o?.id?"checked":""}>
9                <label class="form-label form-check-label" for="cr-place-to-place-pickup-point-${e.id}">
10                  <span class="cr-place-to-place-pickup-point-selector__point-major-info">${e.majorInfo}</span>
11                  <span class="cr-place-to-place-pickup-point-selector__point-minor-info">${e.minorInfo}</span>
12                </label>
13              </div>`).join("")}
14          </div>
15          <button class="btn btn-primary cr-place-to-place-pickup-point-selector__select-other-btn">
16            ${this.options.snippets.selectOtherBtn}
17          </button>
18          <div class="d-flex items-center gap-2 form-check">
19            <input class="form-check-input" type="checkbox" form="confirmOrderForm" required="required" id="cr-place-to-place-tos-check" name="cr-place-to-place-tos-check" value="1">
20            <label class="form-label form-check-label" for="cr-place-to-place-tos-check">${this.options.snippets.providerTos}<span class="required-star">*</span></label>
21          </div>
22        </div>
23      `),t.removeEventListener("click",this._handleShippingMethodFormGroupClick),t.addEventListener("click",this._handleShippingMethodFormGroupClick))}async _renderMapOpenerInsideShippingMethod(){let e=document.querySelector("input[name='shippingMethodId']:checked"),t=e?.closest(".shipping-form-group");t&&(t.insertAdjacentHTML("beforeend",`
24        <div class="cr-place-to-place-pickup-point-selector">
25          <div class="cr-place-to-place-pickup-point-selector__list">
26          ${this.options.shippingAddress.pointType===this.options.handler&&this._currentPointId?`<span class="cr-place-to-place-pickup-point-selector__point-major-info">${(this.options.snippets.chosenPoint||"Wybrany punkt:")+" "+(this.options.shippingAddress?.comment||"")}</span>
27              </div><button class="btn btn-primary cr-place-to-place-pickup-point-selector__select-other-btn">${this.options.snippets.changePackagesStation}</button>`:`</div><button class="btn btn-primary cr-place-to-place-pickup-point-selector__select-other-btn">${this.options.snippets.buttonDisabled}</button>`}
28        </div>
29      `),t.removeEventListener("click",this._handleShippingMethodFormGroupClick),t.addEventListener("click",this._handleShippingMethodFormGroupClick))}disableConfirmButton(){this.confirmButton&&(this.confirmButton.hidden=!0,null===this.globalChangeButton&&this.createGlobalChangeButton(),this.globalChangeButton.hidden=!1)}enableConfirmButton(){this.confirmButton&&(this.confirmButton.hidden=!1,null!==this.globalChangeButton&&(this.globalChangeButton.hidden=!0))}createGlobalChangeButton(){if(!this.confirmButton)return;let e=document.createElement("button");e.className=this.confirmButton.className,e.innerHTML=this.options.snippets.buttonDisabled,e.addEventListener("click",this._openMap.bind(this)),this.globalChangeButton=e,this.confirmButton.parentNode.insertBefore(e,this.confirmButton)}constructor(...e){super(...e),this._handleShippingMethodFormGroupClick=e=>{if(e.target.classList.contains("cr-place-to-place-pickup-point-selector__select-other-btn")){e.preventDefault(),e.stopPropagation(),this._handler.openMap();return}let t=e.target.closest(".form-check")?.querySelector('input[name="cr-place-to-place-pickup-point"]');t&&t.value!==this._currentPointId&&(e.preventDefault(),e.stopPropagation(),w.create(),this._handler.selectPoint(t.value))}}}class et extends d{static #e=this.options={selectors:{accountAddress:".account-address",accountAddressHeader:".account-address__header",accountAddressList:".account-address .address-list",accountAddressListContainer:".account-address .address-list__container",accountAddressCard:".account-address .address-list__container .address-card",editAddressButton:".address-action-button .btn",addressEditorList:"#billing-address-list, #shipping-address-list",addressEditorListWrapper:".address-editor-list-wrapper",addressEditorCard:".address-editor-card",addressEditorCardIdInput:"[name='selectAddress[id]']",addressEditorSelectCollapse:"#billing-address-list, #shipping-address-list",addressEditorEditCollapse:"#billing-address-create-edit, #shipping-address-create-edit",addressEditorSelectTab:".address-editor-select"}
29,cssClasses:{addressHidden:"cr-place-to-place-address-hidden"},localStorageCacheKey:"cr-place-to-place-address-ids-to-hide",addressHidingMode:"remove"};init(){this._hideCached(),this._hideFresh(),this._watchForAddressEditorModal()}_hideCached(){let e=window.localStorage.getItem(this.options.localStorageCacheKey);e&&(this._addressIdsToHide=JSON.parse(e)),this._hideInAccountAddresses()}_hideFresh(){this._client=new l,this._client.get(`/storefront/script/place-to-place-hide-addresses?_=${Date.now()}`,e=>{let t=JSON.parse(e),s=t?.addressIds;s&&(window.localStorage.setItem(this.options.localStorageCacheKey,JSON.stringify(s)),this._addressIdsToHide=s,this._hideInAccountAddresses())})}_hideInAccountAddresses(){if(!document.querySelector(this.options.selectors.accountAddress))return;document.querySelectorAll(this.options.selectors.editAddressButton).forEach(e=>{let t=e.getAttribute("href")?.split("/").pop();if(this._addressIdsToHide.includes(t)){let t=e.closest(this.options.selectors.accountAddressCard);t&&this._hideAddressNode(t)}});let e=document.querySelector(this.options.selectors.accountAddressListContainer).querySelectorAll(`${this.options.selectors.accountAddressCard}:not(.${this.options.cssClasses.addressHidden})`),t=document.querySelector(this.options.selectors.accountAddressHeader),s=document.querySelector(this.options.selectors.accountAddressList);e.length<1&&(t.classList.toggle("d-none",!0),s.classList.toggle("d-none",!0))}_watchForAddressEditorModal(){let e=document.body,t=()=>{let t=e.querySelector(".js-pseudo-modal .modal");t&&this._patchAddressEditorModalBeforeOpened(t)};new MutationObserver(t).observe(e,{childList:!0}),t()}_patchAddressEditorModalBeforeOpened(e){e.querySelectorAll(this.options.selectors.addressEditorCardIdInput).forEach(e=>{let t=e.closest(this.options.selectors.addressEditorCard);if(!t)return;let s=e.value;this._addressIdsToHide.includes(s)&&this._hideAddressNode(t)});let t=e.querySelector(this.options.selectors.addressEditorListWrapper);if(!t||t.querySelectorAll(`${this.options.selectors.addressEditorCard}:not(.${this.options.cssClasses.addressHidden})`).length>0)return;t.classList.toggle("d-none",!0);let s=bootstrap.Collapse.getOrCreateInstance(e.querySelector(this.options.selectors.addressEditorSelectCollapse)),i=bootstrap.Collapse.getOrCreateInstance(e.querySelector(this.options.selectors.addressEditorEditCollapse));s&&i&&(s.hide(),i.show());let n=e.querySelector(this.options.selectors.addressEditorSelectTab);n&&n.parentElement.classList.toggle("d-none",!0)}_hideAddressNode(e){"remove"===this.options.addressHidingMode?e.remove():(e.classList.toggle("d-none",!0),e.classList.toggle(this.options.cssClasses.addressHidden,!0))}constructor(...e){super(...e),this._addressIdsToHide=[]}}let es=window.PluginManager;es.register("PlaceToPlacePlugin",ee,"[data-place-to-place]"),es.register("HidePlaceToPlaceAddressesPlugin",et,"[data-hide-place-to-place-addresses], .address-list, .js-confirm-overview-addresses, .subscription-info__block.addresses")})();

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.