1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[85316],{4156(e){var t=function(e){return r(e)&&!n(e)};function r(e){return!!e&&"object"==typeof e}function n(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||s(e)}var i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function s(e){return e.$$typeof===i}function o(e){return Array.isArray(e)?[]:{}}function a(e,t){return!1!==t.clone&&t.isMergeableObject(e)?f(o(e),e,t):e}function l(e,t,r){return e.concat(t).map(function(e){return a(e,r)})}function u(e,t){if(!t.customMerge)return f;var r=t.customMerge(e);return"function"==typeof r?r:f}function c(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function d(e){return Object.keys(e).concat(c(e))}function h(e,t){try{return t in e}catch(e){return!1}}function p(e,t){return h(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function g(e,t,r){var n={};return r.isMergeableObject(e)&&d(e).forEach(function(t){n[t]=a(e[t],r)}),d(t).forEach(function(i){p(e,i)||(h(e,i)&&r.isMergeableObject(t[i])?n[i]=u(i,r)(e[i],t[i],r):n[i]=a(t[i],r))}),n}function f(e,r,n){(n=n||{}).arrayMerge=n.arrayMerge||l,n.isMergeableObject=n.isMergeableObject||t,n.cloneUnlessOtherwiseSpecified=a;var i=Array.isArray(r);return i!==Array.isArray(e)?a(r,n):i?n.arrayMerge(e,r,n):g(e,r,n)}f.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,r){return f(e,r,t)},{})};var m=f;e.exports=m},4707(e,t,r){r.d(t,{A:()=>n});class n{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 r=n.toUpperCamelCase(e,t);return n.lcFirst(r)}static toUpperCamelCase(e,t){return t?e.split(t).map(e=>n.ucFirst(e.toLowerCase())).join(""):n.ucFirst(e.toLowerCase())}static parsePrimitive(e){try{return/^\d+(.|,)\d+$/.test(e)&&(e=e.replace(",",".")),JSON.parse(e)}catch(t){return e.toString()}}}},5316(__unused_webpack_module,__webpack_exports__,__webpack_require__){__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{default:()=>NfxInspirationModalPlugin});var src_plugin_system_plugin_class__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7220),src_service_http_client_service__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(9068);class NfxInspirationModalPlugin extends src_plugin_system_plugin_class__WEBPACK_IMPORTED_MODULE_0__.A{static #e=this.options={modalSelector:".nfx-inspiration-modal",modalTemplateSelector:".nfx-inspiration-modal-template",loadingClass:"is-loading"};init(){this._client=new src_service_http_client_service__WEBPACK_IMPORTED_MODULE_1__.A,this._modal=null,this._isLoading=!1,this._registerEvents()}_registerEvents(){this.el.addEventListener("click",this._onClick.bind(this))}_onClick(e){if(e.preventDefault(),this._isLoading)return;let t=this.el.dataset.nfxInspirationUrl;if(!t){console.error("Inspiration URL not found");return}let r=this.el.closest("[data-nfx-inspiration-gallery]");if(r){let e=new URLSearchParams,n=r.dataset.sliderSpeed||"500",i="true"===r.dataset.sliderLoop,s="true"===r.dataset.sliderNav,o="true"===r.dataset.sliderControls,a="true"===r.dataset.sliderAutoplay;e.set("sliderSpeed",n),e.set("sliderLoop",i?"1":"0"),e.set("sliderNav",s?"1":"0"),e.set("sliderControls",o?"1":"0"),e.set("sliderAutoplay",a?"1":"0");let l=t.includes("?")?"&":"?";t=t+l+e.toString()}this._openModal(t)}_openModal(url){if(this._isLoading)return;this._isLoading=!0;let modalTemplate=document.querySelector(this.options.modalTemplateSelector);if(!modalTemplate){console.error("Modal template not found"),this._isLoading=!1;return}let modalClone=modalTemplate.cloneNode(!0);modalClone.style.display="block";let modal=modalClone.querySelector(this.options.modalSelector);if(!modal){console.error("Modal element not found in template"),this._isLoading=!1;return}let contentElement=modal.querySelector(".js-pseudo-modal-template-content-element");
1if(!contentElement){console.error("Modal content element not found"),this._isLoading=!1;return}contentElement.innerHTML='<div class="nfx-inspiration-modal-loading"><div class="nfx-inspiration-loading-spinner"></div></div>',document.body.appendChild(modalClone),this._modal=modal;let bsModal=new bootstrap.Modal(modal);bsModal.show(),this._client.get(url,response=>{try{let tempDiv=document.createElement("div");tempDiv.innerHTML=response;let scripts=tempDiv.querySelectorAll("script");scripts.forEach(script=>{let scriptContent=script.textContent;if(scriptContent&&scriptContent.includes("PluginManager"))try{eval(scriptContent)}catch(e){console.warn("Error executing script:",e)}script.remove()}),contentElement.innerHTML=tempDiv.innerHTML,window.PluginManager.initializePlugins()}catch(error){console.error("Error loading inspiration content:",error),contentElement.innerHTML='<div class="alert alert-danger">Error loading inspiration details.</div>'}finally{this._isLoading=!1}}),modal.addEventListener("hidden.bs.modal",()=>{modalClone.remove(),this._modal=null,this._isLoading=!1},{once:!0})}}},7220(e,t,r){r.d(t,{A:()=>a});var n=r(4156),i=r.n(n),s=r(4707),o=r(8308);class a{constructor(e,t={},r=!1){if(!(e instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${r}".`);return}this.el=e,this.$emitter=new o.A(this.el),this._pluginName=this._getPluginName(r),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(){}_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()),i().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=s.A.toDashCase(this._pluginName),r=this.el.getAttribute(`data-${t}-config`);return r?window.PluginConfigManager.get(this._pluginName,r):e}_getOptionsFromDataAttribute(){let e={};if("function"!=typeof this.el.getAttribute)return e;let t=s.A.toDashCase(this._pluginName),r=this.el.getAttribute(`data-${t}-options`);if(r)try{return JSON.parse(r)}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}}},8308(e,t,r){r.d(t,{A:()=>n});class n{constructor(e=document){this._el=e,e.$emitter=this,this._listeners=[]}publish(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=new CustomEvent(e,{detail:t,cancelable:r});return this.el.dispatchEvent(n),n}subscribe(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this,i=e.split("."),s=r.scope?t.bind(r.scope):t;if(r.once&&!0===r.once){let t=s;s=function(r){n.unsubscribe(e),t(r)}}return this.el.addEventListener(i[0],s),this.listeners.push({splitEventName:i,opts:r,cb:s}),!0}unsubscribe(e){let t=e.split(".");return this.listeners=this.listeners.reduce((e,r)=>([...r.splitEventName].sort().toString()===t.sort().toString()?this.el.removeEventListener(r.splitEventName[0],r.cb):e.push(r),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}}},9068(e,t,r){r.d(t,{A:()=>n});class n{constructor(){this._request=null,this._errorHandlingInternal=!1}get(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",n=this._createPreparedRequest("GET",e,r);return this._sendRequest(n,null,t)}post(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(t,n);let i=this._createPreparedRequest("POST",e,n);return this._sendRequest(i,t,r)}delete(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(t,n);let i=this._createPreparedRequest("DELETE",e,n);return this._sendRequest(i,t,r)}patch(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(t,n);let i=this._createPreparedRequest("PATCH",e,n);return this._sendRequest(i,t,r)}
1abort(){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,r){return this._registerOnLoaded(e,r),e.send(t),e}_getContentType(e,t){return e instanceof FormData&&(t=!1),t}_createPreparedRequest(e,t,r){return this._request=new XMLHttpRequest,this._request.open(e,t),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.