1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[67577],{156:t=>{var e=function(t){var e;return!!t&&"object"==typeof t&&"[object RegExp]"!==(e=Object.prototype.toString.call(t))&&"[object Date]"!==e&&t.$$typeof!==r},r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function i(t,e){return!1!==e.clone&&e.isMergeableObject(t)?a(Array.isArray(t)?[]:{},t,e):t}function n(t,e,r){return t.concat(e).map(function(t){return i(t,r)})}function s(t){return Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[])}function o(t,e){try{return e in t}catch(t){return!1}}function a(t,r,l){(l=l||{}).arrayMerge=l.arrayMerge||n,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=i;var u,c,d=Array.isArray(r);return d!==Array.isArray(t)?i(r,l):d?l.arrayMerge(t,r,l):(c={},(u=l).isMergeableObject(t)&&s(t).forEach(function(e){c[e]=i(t[e],u)}),s(r).forEach(function(e){(!o(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(o(t,e)&&u.isMergeableObject(r[e])?c[e]=(function(t,e){if(!e.customMerge)return a;var r=e.customMerge(t);return"function"==typeof r?r:a})(e,u)(t[e],r[e],u):c[e]=i(r[e],u))}),c)}a.all=function(t,e){if(!Array.isArray(t))throw Error("first argument should be an array");return t.reduce(function(t,r){return a(t,r,e)},{})},t.exports=a},577:(t,e,r)=>{r.r(e),r.d(e,{default:()=>o});var i=r(737),n=r(68),s=r(795);class o extends i.A{static #t=this.options={id:null,lineItemId:null,label:{select:"Choose gift wrap",cancel:"Close selection",sliderTitle:""},onProductDetailPage:!1,inOffcanvas:!1,repertusGiftWrapContainerId:"",modalOn:!1,redirectTo:"",giftWrapAction:"",wrapScope:"position"};init(){if(!this.options.id){console.log("failed to init TonurGiftWrapSelectorPlugin: id is missing");return}this._client=new n.A(window.accessKey,window.contextToken),this.giftwrapContainer=s.A.querySelector(document,"#"+this.options.repertusGiftWrapContainerId),this.selectionContainer=s.A.querySelector(document,"#tonur-giftoption-selection-container"),this.sliderTitles=s.A.querySelectorAll(document,".tonur-giftoption-selection-container-info-header"),this.selectButton=s.A.querySelector(this.giftwrapContainer,"button.tonur-select-giftwrap"),this.selectButtonInner=s.A.querySelector(this.giftwrapContainer,"button.tonur-select-giftwrap span.tonur-select-giftwrap-inner"),this.wrapForm=s.A.querySelector(document,"form#tonur-giftoption-wrap"),this.wrapProductInput=s.A.querySelector(this.wrapForm,'input[name="giftWrapProduct"]'),this.wrapLineItemInput=this.wrapForm.querySelector('input[name="lineItem"]'),this.redirectToInput=this.wrapForm.querySelector('input[name="redirectTo"]'),this.slider=s.A.querySelector(document,"[data-tonur-gift-wrap-slider]"),this.options.onProductDetailPage?this.mode="detail":this.options.inOffcanvas?this.mode="offcanvas":this.mode="normal",this._registerEvents()}_registerEvents(){let t=null,e=null;this.options.modalOn&&(e=document.getElementById("tonur-giftwrap-selection-modal"),t=bootstrap.Modal.getOrCreateInstance(e,{backdrop:"false"}),e.addEventListener("hidden.bs.modal",()=>{"detail"!==this.mode&&this._unsetFormValues(),this.selectionContainer.querySelector(".tonur-giftoption-slider-container").appendChild(this.slider)})),this.selectButton.addEventListener("click",r=>{r.preventDefault(),r.stopPropagation(),this.slider.setAttribute("data-tonur-slider-mode",this.mode),window.PluginManager.getPluginInstances("TonurGiftWrapSelector").forEach(t=>t._unsetFormValues()),this._setFormValues();let i=window.PluginManager.getPluginInstanceFromElement(this.slider,"TonurGiftWrapSlider");if(i.autoSelectPossible()){i.autoSelect();return}if(this.options.modalOn)this.selectionContainer.classList.add("d-none"),e.querySelector(".tonur-giftoption-slider-container").appendChild(this.slider),t.show();else{let t=this.giftwrapContainer.contains(this.selectionContainer),e=this.selectionContainer.classList.contains("d-none");t||(this.giftwrapContainer.appendChild(this.selectionContainer),e=!0),e?this.selectionContainer.classList.remove("d-none"):(this.selectionContainer.classList.add("d-none"),this._unsetFormValues())}i.rebuild()})}_setFormValues(){this.selectButtonInner.innerHTML=this.options.label.cancel,this.sliderTitles.forEac
1h(t=>{t.innerHTML=this.options.label.sliderTitle}),this.wrapProductInput.value=this.options.id,this.wrapLineItemInput.value=this.options.lineItemId,this.redirectToInput.value=this.options.redirectTo,this.wrapForm.action=this.options.giftWrapAction,this.wrapForm.dataset.tonurGiftWrapScope=this.options.wrapScope}_unsetFormValues(){this.selectButtonInner.innerHTML=this.options.label.select,this.sliderTitles.forEach(t=>{t.innerHTML=""}),this.wrapProductInput.value=null,this.wrapLineItemInput.value=null,this.redirectToInput.value=null,this.wrapForm.action=null,delete this.wrapForm.dataset.tonurGiftWrapScope}}},795:(t,e,r)=>{r.d(e,{A:()=>n});var i=r(707);class n{static isNode(t){return"object"==typeof t&&null!==t&&(t===document||t===window||t instanceof Node)}static hasAttribute(t,e){if(!n.isNode(t))throw Error("The element must be a valid HTML Node!");return"function"==typeof t.hasAttribute&&t.hasAttribute(e)}static getAttribute(t,e){let r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(r&&!1===n.hasAttribute(t,e))throw Error(`The required property "${e}" does not exist!`);if("function"!=typeof t.getAttribute){if(r)throw Error("This node doesn't support the getAttribute function!");return}return t.getAttribute(e)}static getDataAttribute(t,e){let r=!(arguments.length>2)||void 0===arguments[2]||arguments[2],s=e.replace(/^data(|-)/,""),o=i.A.toLowerCamelCase(s,"-");if(!n.isNode(t)){if(r)throw Error("The passed node is not a valid HTML Node!");return}if(void 0===t.dataset){if(r)throw Error("This node doesn't support the dataset attribute!");return}let a=t.dataset[o];if(void 0===a){if(r)throw Error(`The required data attribute "${e}" does not exist on ${t}!`);return a}return i.A.parsePrimitive(a)}static querySelector(t,e){let r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(r&&!n.isNode(t))throw Error("The parent node is not a valid HTML Node!");let i=t.querySelector(e)||!1;if(r&&!1===i)throw Error(`The required element "${e}" does not exist in parent node!`);return i}static querySelectorAll(t,e){let r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(r&&!n.isNode(t))throw Error("The parent node is not a valid HTML Node!");let i=t.querySelectorAll(e);if(0===i.length&&(i=!1),r&&!1===i)throw Error(`At least one item of "${e}" must exist in parent node!`);return i}static getFocusableElements(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body,e=` 2 input:not([tabindex^="-"]):not([disabled]):not([type="hidden"]), 3 select:not([tabindex^="-"]):not([disabled]), 4 textarea:not([tabindex^="-"]):not([disabled]), 5 button:not([tabindex^="-"]):not([disabled]), 6 a[href]:not([tabindex^="-"]):not([disabled]), 7 [tabindex]:not([tabindex^="-"]):not([disabled]) 8 `;return t.querySelectorAll(e)}static getFirstFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return this.getFocusableElements(t)[0]}static getLastFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=this.getFocusableElements(t);return e[e.length-1]}}},707:(t,e,r)=>{r.d(e,{A:()=>i});class i{static ucFirst(t){return t.charAt(0).toUpperCase()+t.slice(1)}static lcFirst(t){return t.charAt(0).toLowerCase()+t.slice(1)}static toDashCase(t){return t.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(t,e){let r=i.toUpperCamelCase(t,e);return i.lcFirst(r)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>i.ucFirst(t.toLowerCase())).join(""):i.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}},737:(t,e,r)=>{r.d(e,{A:()=>a});var i=r(156),n=r.n(i),s=r(707);class o{constructor(t=document){this._el=t,t.$emitter=this,this._listeners=[]}publish(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=new CustomEvent(t,{detail:e,cancelable:r});return this.el.dispatchEvent(i),i}subscribe(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this,n=t.split("."),s=r.scope?e.bind(r.scope):e;if(r.once&&!0===r.once){let e=s;s=function(r){i.unsubscribe(t),e(r)}}return this.el.addEventListener(n[0],s),this.listeners.push({splitEventName:n,opts:r,cb:s}),!0}unsubscribe(t){let e=t.split(".");return this.listeners=this.listeners.reduce((t,r)=>([...r.splitEventName].sort().toString()===e.sort().toString()?this.el.removeEventListener(r.splitEventName[0],r.cb):t.push(r),t),[]),!0}
8reset(){return this.listeners.forEach(t=>{this.el.removeEventListener(t.splitEventName[0],t.cb)}),this.listeners=[],!0}get el(){return this._el}set el(t){this._el=t}get listeners(){return this._listeners}set listeners(t){this._listeners=t}}class a{constructor(t,e={},r=!1){if(!(t instanceof Node))throw Error("There is no valid element given.");this.el=t,this.$emitter=new o(this.el),this._pluginName=this._getPluginName(r),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}init(){throw Error(`The "init" method for the plugin "${this._pluginName}" is not defined.`)}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(t){let e=[this.constructor.options,this.options,t];return e.push(this._getConfigFromDataAttribute()),e.push(this._getOptionsFromDataAttribute()),n().all(e.filter(t=>t instanceof Object&&!(t instanceof Array)).map(t=>t||{}))}_getConfigFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=s.A.toDashCase(this._pluginName),r=this.el.getAttribute(`data-${e}-config`);return r?window.PluginConfigManager.get(this._pluginName,r):t}_getOptionsFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=s.A.toDashCase(this._pluginName),r=this.el.getAttribute(`data-${e}-options`);if(r)try{return JSON.parse(r)}catch(t){console.error(`The data attribute "data-${e}-options" could not be parsed to json: ${t.message}`)}return t}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(t){return t||(t=this.constructor.name),t}}},68:(t,e,r)=>{r.d(e,{A:()=>i});class i{constructor(){this._request=null,this._errorHandlingInternal=!1}get(t,e){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",i=this._createPreparedRequest("GET",t,r);return this._sendRequest(i,null,e)}post(t,e,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(e,i);let n=this._createPreparedRequest("POST",t,i);return this._sendRequest(n,e,r)}delete(t,e,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(e,i);let n=this._createPreparedRequest("DELETE",t,i);return this._sendRequest(n,e,r)}patch(t,e,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(e,i);let n=this._createPreparedRequest("PATCH",t,i);return this._sendRequest(n,e,r)}
8abort(){if(this._request)return this._request.abort()}setErrorHandlingInternal(t){this._errorHandlingInternal=t}_registerOnLoaded(t,e){e&&(!0===this._errorHandlingInternal?(t.addEventListener("load",()=>{e(t.responseText,t)}),t.addEventListener("abort",()=>{console.warn(`the request to ${t.responseURL} was aborted`)}),t.addEventListener("error",()=>{console.warn(`the request to ${t.responseURL} failed with status ${t.status}`)}),t.addEventListener("timeout",()=>{console.warn(`the request to ${t.responseURL} timed out`)})):t.addEventListener("loadend",()=>{e(t.responseText,t)}))}_sendRequest(t,e,r){return this._registerOnLoaded(t,r),t.send(e),t}_getContentType(t,e){return t instanceof FormData&&(e=!1),e}_createPreparedRequest(t,e,r){return this._request=new XMLHttpRequest,this._request.open(t,e),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),r&&this._request.setRequestHeader("Content-type",r),this._request}}}}]);
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.