1"use strict";(self.webpackChunkquote_management=self.webpackChunkquote_management||[]).push([[67998],{632(e,t,o){o.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":s.isIEBrowser(),"is-edge":s.isEdgeBrowser()}}}},998(e,t,o){o.r(t),o.d(t,{default:()=>p});var s=o(220),i=o(632);let a="modal-backdrop",n="modal-backdrop-open",l="no-scroll",r={ON_CLICK:"backdrop/onclick"};class d{constructor(){return d.instance||(d.instance=this),d.instance}create(e){this._removeExistingBackdrops(),document.body.insertAdjacentHTML("beforeend",this._getTemplate());let t=document.body.lastChild;document.documentElement.classList.add(l),setTimeout(function(){t.classList.add(n),"function"==typeof e&&e()},75),this._dispatchEvents()}remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;this._getBackdrops().forEach(e=>e.classList.remove(n)),setTimeout(this._removeExistingBackdrops.bind(this),e),document.documentElement.classList.remove(l)}_dispatchEvents(){let e=i.A.isTouchDevice()?"touchstart":"click";document.addEventListener(e,function(e){e.target.classList.contains(a)&&document.dispatchEvent(new CustomEvent(r.ON_CLICK))})}_getBackdrops(){return document.querySelectorAll(`.${a}`)}_removeExistingBackdrops(){!1!==this._exists()&&this._getBackdrops().forEach(e=>e.remove())}_exists(){return document.querySelectorAll(`.${a}`).length>0}_getTemplate(){return`<div class="${a}"></div>`}}Object.freeze(new d);let c="js-pseudo-modal",m="js-pseudo-modal-template-root-element";class h{constructor(e,t=!0,o=".js-pseudo-modal-template",s=".js-pseudo-modal-template-content-element",i=".js-pseudo-modal-template-title-element"){this._content=e,this._useBackdrop=t,this._templateSelector=o,this._templateContentSelector=s,this._templateTitleSelector=i}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(),window.focusHandler._removeFocusTrapGuard()}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("hidden.bs.modal",()=>window.focusHandler._removeFocusTrapGuard()),this._modal.addEventListener("hide.bs.modal",()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()}),this._modalInstance.show(),window.focusHandler._addFocusTrapGuard(this._modalWrapper)}_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))}
1_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 o=t.querySelector(`.${m}`);if(o){this._modalWrapper.querySelector(`.${m}`).replaceChildren(o);return}try{let e=t.querySelector(this._templateTitleSelector);e&&(this._setModalTitle(e.innerHTML),e.parentNode.removeChild(e))}catch(e){}}}class p extends s.A{static #e=this.options={actionMethod:"DELETE",actionUrl:"",actions:{cancel:"b2b-confirm-modal-cancel",confirm:"b2b-confirm-modal-confirm"},backdrop:!0,cancelLabel:"",closeLabel:"",closeOnConfirm:!0,context:{},confirmButtonClass:"btn-danger",confirmLabel:"",message:"",modalClass:"quote-confirm-modal",reloadOnComplete:!0,title:""};init(){this.el.addEventListener("click",this._openModal.bind(this))}_openModal(e){if(e.cancelable&&(e.preventDefault(),e.stopPropagation()),this._isModalOpen)return;this._isModalOpen=!0;let t=new h(this._buildModalMarkup(),this.options.backdrop);t.open(this._onModalOpen.bind(this,t),0),t.getModal().addEventListener("hidden.bs.modal",()=>{this._isModalOpen=!1,this.el.focus()})}_onModalOpen(e){let t=e.getModal();this._addModalClasses(t),t.querySelector("[data-b2b-confirm-modal-cancel]")?.addEventListener("click",()=>{this._dispatchAction("cancel",t,e)}),t.querySelector("[data-b2b-confirm-modal-confirm]")?.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation();let s=this._dispatchAction("confirm",t,e);s&&s&&this.options.closeOnConfirm&&e.close()}),window.PluginManager.initializePluginsInParentElement(t),t?.focus()}_dispatchAction(e,t,o){let s=this.options.actions?.[e];return!s||this.el.dispatchEvent(new CustomEvent(s,{bubbles:!0,cancelable:!0,detail:{action:e,close:()=>o.close(),context:this.options.context||{},modal:t,trigger:this.el}}))}_addModalClasses(e){let t=this.options.modalClass||"";t&&e.classList.add(...t.split(" ").filter(Boolean))}_buildModalMarkup(){return` 2 <div class="js-pseudo-modal-template-root-element quote-confirm-modal__content"> 3 <div class="modal-header quote-confirm-modal__header"> 4 <h2 class="modal-title quote-confirm-modal__title" id="pseudo-modal-title"> 5 ${this._escapeHtml(this.options.title||"")} 6 </h2> 7 <button 8 type="button" 9 class="btn-close quote-confirm-modal__close" 10 data-bs-dismiss="modal" 11 aria-label="${this._escapeHtml(this.options.closeLabel||"")}" 12 ></button> 13 </div> 14 <div class="modal-body quote-confirm-modal__body"> 15 ${this._escapeHtml(this.options.message||"")} 16 </div> 17 <div class="modal-footer quote-confirm-modal__footer"> 18 <button 19 type="button" 20 class="btn btn-outline-secondary quote-confirm-modal__cancel" 21 data-bs-dismiss="modal" 22 data-b2b-confirm-modal-cancel 23 > 24 ${this._escapeHtml(this.options.cancelLabel||"")} 25 </button> 26 <button 27 type="button" 28 class="btn ${this._escapeHtml(this.options.confirmButtonClass||"")} quote-confirm-modal__confirm" 29 data-b2b-confirm-modal-confirm 30 > 31 ${this._escapeHtml(this.options.confirmLabel||"")} 32 </button> 33 </div> 34 </div> 35 `}_escapeHtml(e){let t=document.createElement("span");return t.textContent=e,t.innerHTML}constructor(...e){super(...e),this._isModalOpen=!1}}}}]);
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.