1"use strict";(self.webpackChunkquote_management=self.webpackChunkquote_management||[]).push([[21044],{44(e,t,i){i.r(t),i.d(t,{default:()=>g});var s=i(220),n=i(68),r=i(105),o=i(683);class a extends r.A{static open(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"left",n=!(arguments.length>4)||void 0===arguments[4]||arguments[4],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:r.A.REMOVE_OFF_CANVAS_DELAY(),a=arguments.length>6&&void 0!==arguments[6]&&arguments[6],c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"";if(!e)throw Error("A url must be given!");r.r._removeExistingOffCanvas();let u=r.r._createOffCanvas(s,a,c,n);this.setContent(e,t,i,n,o),r.r._openOffcanvas(u)}static setContent(e,t,i,s,n){super.setContent(`<div class="offcanvas-body">${o.A.getTemplate()}</div>`,n);let r=e=>{super.setContent(e,n),"function"==typeof i&&i(e)};t?fetch(e,{method:"POST",body:t instanceof FormData?t:JSON.stringify(t),headers:{"X-Requested-With":"XMLHttpRequest"}}).then(e=>e.text()).then(e=>a.executeCallback(r,e)):fetch(e,{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(e=>e.text()).then(e=>a.executeCallback(r,e))}static executeCallback(e,t){"function"==typeof e&&e(t);let i=r.A.getOffCanvas();i.length>0&&window.PluginManager.initializePluginsInParentElement(i[0])}}var c=i(632);class u{static serialize(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if("FORM"!==e.nodeName){if(t)throw Error("The passed element is not a form!");return{}}return new FormData(e)}static serializeJson(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],i=u.serialize(e,t);if(!(i instanceof FormData)&&0===Object.keys(i).length||i instanceof FormData&&0===Array.from(i.entries()).length)return{};let s={};for(let[e,t]of i.entries())s[e]=t;return s}}var d=i(724),h=i(59);class l extends s.A{static #e=this.options={removeProductTriggerSelector:".js-offcanvas-cart-remove-product",changeProductQuantityTriggerSelector:".js-offcanvas-cart-change-quantity",changeProductQuantityTriggerNumberSelector:".js-offcanvas-cart-change-quantity-number",changeQuantityInputDelay:800,addPromotionTriggerSelector:".js-offcanvas-cart-add-promotion",cartItemSelector:".js-cart-item",cartPromotionSelector:".js-offcanvas-cart-promotion",offcanvasPosition:"right",shippingContainerSelector:".offcanvas-shipping-preference",shippingToggleSelector:".js-toggle-shipping-selection",additionalOffcanvasClass:"cart-offcanvas",autoFocus:!1,focusHandlerKey:"offcanvas-cart"};init(){this.client=new n.A,this._registerOpenTriggerEvents()}openOffCanvas(e,t,i){a.open(e,t,this._onOffCanvasOpened.bind(this,i),this.options.offcanvasPosition,!0),a.setAdditionalClassName(this.options.additionalOffcanvasClass)}_registerOpenTriggerEvents(){let e=c.A.isTouchDevice()?"touchstart":"click";this.el.addEventListener(e,this._onOpenOffCanvasCart.bind(this))}_onOpenOffCanvasCart(e){e.preventDefault(),this.openOffCanvas(window.router["frontend.cart.offcanvas"],!1)}_registerRemoveProductTriggerEvents(){let e=document.querySelectorAll(this.options.removeProductTriggerSelector);e&&e.forEach(e=>e.addEventListener("submit",this._onRemoveProductFromCart.bind(this)))}_registerChangeQuantityProductTriggerEvents(){let e=document.querySelectorAll(this.options.changeProductQuantityTriggerSelector),t=document.querySelectorAll(this.options.changeProductQuantityTriggerNumberSelector);e&&e.forEach(e=>e.addEventListener("change",this._onChangeProductQuantity.bind(this))),t&&t.forEach(e=>{e.addEventListener("change",h.A.debounce(this._onChangeProductQuantity.bind(this),this.options.changeQuantityInputDelay))})}_registeraddPromotionTriggerEvents(){let e=document.querySelectorAll(this.options.addPromotionTriggerSelector);e&&e.forEach(e=>e.addEventListener("submit",this._onAddPromotionToCart.bind(this)))}_registerUpdateShippingEvents(){let{shippingContainerSelector:e}=this.options,t=document.querySelector(`${e} select`);t&&t.addEventListener("input",this._onChangeShippingMethod.bind(this))}_registerToggleShippingSelection(){let{shippingToggleSelector:e,shippingContainerSelector:t}=this.options,i=document.querySelector(e);i&&i.addEventListener("click",()=>{let e=document.querySelector(t),i="offcanvas-shipping-preference--hidden";e.classList.contains(i)?e.classList.remove(i):e.classList.add(i)})}_registerEvents(){this._registerRemoveProductTriggerEvents(),this._registerChangeQuantityProductTriggerEvents(),this._registeraddPromotionTriggerEvents(),this._isShippingAvailable()&&(this._registerUpdateShippingEvents(),this._registerToggleShippingSelection()),this.$emitter.publish("registerEvents")}_onOffCanvasOpened(e,t){"function"==typeof e&&e(t),this.$emitter.publish("offCanvasOpened",{response:t}),this._fetchCartWidgets(),this._registerEvents()}_fireRequest(e,t,i){d.A.create(e.closest(t));let s=i?i.bind(this):this._onOffCanvasOpened.bind(this,this._updateOffCanvasContent.bind(this)),n=e.getAttribute("action"),r=u.serialize(e);this.$emitter.publish("beforeFireRequest"),fetch(n,{method:"POST",body:r,headers:{"X-Requested-With":"XMLHttpRequest"}}).then(e=>e.text()).then(e=>s(e))}_onRemoveProductFromCart(e){e.preventDefault();let t=e.target,i=this.options.cartItemSelector;this.$emitter.publish("onRemoveProductFromCart"),this._fireRequest(t,i)}_onChangeProductQuantity(e){let t=e.target,i=t.closest("form"),s=this.options.cartItemSelector;this.$emitter.publish("onChangeProductQuantity"),this._saveFocusState(t),this._fireRequest(i,s)}_onAddPromotionToCart(e){e.preventDefault();let t=e.target,i=this.options.cartPromotionSelector;this.$emitter.publish("onAddPromotionToCart"),this._saveFocusState("#addPromotionOffcanvasCart"),this._fireRequest(t,i)}_fetchCartWidgets(){window.PluginManager.getPluginInstances("CartWidget").forEach(e
1=>e.fetch()),this.$emitter.publish("fetchCartWidgets")}_updateOffCanvasContent(e){r.A.setContent(e,!0,this._registerEvents.bind(this));let t=r.A.getOffCanvas();t.length>0&&window.PluginManager.initializePluginsInParentElement(t[0]),this._resumeFocusState()}_isShippingAvailable(){let{shippingContainerSelector:e}=this.options;return!!document.querySelector(e)}_onChangeShippingMethod(e){e.preventDefault(),this.$emitter.publish("onShippingMethodChange");let t=window.router["frontend.cart.offcanvas"];this._fireRequest(e.target.form,".offcanvas-summary",()=>{fetch(t,{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(e=>e.text()).then(e=>{this._updateOffCanvasContent(e),this._registerEvents()})})}_saveFocusState(e){if(this.options.autoFocus){if("string"==typeof e){window.focusHandler.saveFocusState(this.options.focusHandlerKey,e);return}window.focusHandler.saveFocusState(this.options.focusHandlerKey,`[data-focus-id="${e.dataset.focusId}"]`)}}_resumeFocusState(){this.options.autoFocus&&window.focusHandler.resumeFocusState(this.options.focusHandlerKey)}}class g extends l{init(){super.init(),this.$emitter.subscribe("offCanvasOpened",()=>{window.PluginManager.initializePlugin("B2bQuoteRequestPlugin","[data-b2b-quote-request-plugin]")})}}},59(e,t,i){i.d(t,{A:()=>s});class s{static debounce(e,t){let i,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];s&&!i&&setTimeout(e.bind(e,...r),0),clearTimeout(i),i=setTimeout(e.bind(e,...r),t)}}}},68(e,t,i){i.d(t,{A:()=>s});class s{constructor(){this._request=null,this._errorHandlingInternal=!1}get(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",s=this._createPreparedRequest("GET",e,i);return this._sendRequest(s,null,t)}post(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(t,s);let n=this._createPreparedRequest("POST",e,s);return this._sendRequest(n,t,i)}delete(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(t,s);let n=this._createPreparedRequest("DELETE",e,s);return this._sendRequest(n,t,i)}patch(e,t,i){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(t,s);let n=this._createPreparedRequest("PATCH",e,s);return this._sendRequest(n,t,i)}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,i){return this._registerOnLoaded(e,i),e.send(t),e}_getContentType(e,t){return e instanceof FormData&&(t=!1),t}_createPreparedRequest(e,t,i){return this._request=new XMLHttpRequest,this._request.open(e,t),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),i&&this._request.setRequestHeader("Content-type",i),this._request}}},632(e,t,i){i.d(t,{A:()=>s});class s{static isTouchDevice(){return"ontouchstart"in document.documentElement}static isIOSDevice(){return s.isIPhoneDevice()||s.isIPadDevice()}static isNativeWindowsBrowser(){return s.isIEBrowser()||s.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":s.isTouchDevice(),"is-ios":s.isIOSDevice(),"is-native-windows":s.isNativeWindowsBrowser(),"is-iphone":s.isIPhoneDevice(),"is-ipad":s.isIPadDevice(),"is-ie"
1:s.isIEBrowser(),"is-edge":s.isEdgeBrowser()}}}}}]);
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.