PageSourceSearch

https://www.1000lenti.it/theme/83311c4b2ea4c7bee87c860a3a0e95db/js…heme-webshop.search-widget.plugin.9b554e.js

js 1000lenti.it collected 2026-10-07 08:24:22 UTC 13,259 bytes, 3 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[87502],{4059(e,t,s){s.d(t,{A:()=>i});class i{static debounce(e,t){let s,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var r=arguments.length,n=Array(r),o=0;o<r;o++)n[o]=arguments[o];i&&!s&&setTimeout(e.bind(e,...n),0),clearTimeout(s),s=setTimeout(e.bind(e,...n),t)}}}},4156(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 r(e,t,s){return e.concat(t).map(function(e){return i(e,s)})}function n(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function o(e,t){try{return t in e}catch(e){return!1}}function a(e,s,l){(l=l||{}).arrayMerge=l.arrayMerge||r,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=i;var u,c,h=Array.isArray(s);return h!==Array.isArray(e)?i(s,l):h?l.arrayMerge(e,s,l):(c={},(u=l).isMergeableObject(e)&&n(e).forEach(function(t){c[t]=i(e[t],u)}),n(s).forEach(function(t){(!o(e,t)||Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))&&(o(e,t)&&u.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,u)(e[t],s[t],u):c[t]=i(s[t],u))}),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},4707(e,t,s){s.d(t,{A:()=>i});class i{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=i.toUpperCamelCase(e,t);return i.lcFirst(s)}static toUpperCamelCase(e,t){return t?e.split(t).map(e=>i.ucFirst(e.toLowerCase())).join(""):i.ucFirst(e.toLowerCase())}static parsePrimitive(e){try{return/^\d+(.|,)\d+$/.test(e)&&(e=e.replace(",",".")),JSON.parse(e)}catch(t){return e.toString()}}}},5683(e,t,s){s.d(t,{A:()=>n});let i="loader",r={BEFORE:"before",INNER:"inner"};class n{constructor(e,t=r.BEFORE){this.parent=e instanceof Element?e:document.body.querySelector(e),this.position=t}create(){if(!this.exists()){if(this.position===r.INNER){this._previousHTML=this.parent.innerHTML,this.parent.innerHTML=n.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),n.getTemplate())}}remove(){if(this.position===r.INNER){this.parent.innerHTML=this._previousHTML;return}this.parent.querySelectorAll(`.${i}`).forEach(e=>e.remove())}exists(){return this.parent.querySelectorAll(`.${i}`).length>0}_getPosition(){return this.position===r.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return`<div class="${i}" role="status">
2                    <span class="visually-hidden">Loading...</span>
3                </div>`}static SELECTOR_CLASS(){return i}}},7220(e,t,s){s.d(t,{A:()=>a});var i=s(4156),r=s.n(i),n=s(4707),o=s(8308);class a{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 o.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(){}_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()),r().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=n.A.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=n.A.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}}}
3,7502(e,t,s){s.r(t),s.d(t,{default:()=>u});var i=s(7220),r=s(4059),n=s(9068),o=s(5683);let a="product:search-performed";class l extends i.A{static #e=this.options={searchWidgetSelector:".js-search-form",searchWidgetResultSelector:".js-search-result",searchWidgetResultItemSelector:".js-result",searchWidgetInputFieldSelector:"input[type=search]",searchWidgetButtonFieldSelector:"button[type=submit]",searchWidgetResultListboxSelector:"#search-suggest-listbox",searchWidgetResultInfoSelector:"#search-suggest-result-info",searchWidgetUrlDataAttribute:"data-url",searchWidgetCollapseButtonSelector:".js-search-toggle-btn",searchWidgetCollapseClass:"collapsed",searchWidgetCloseButtonSelector:".js-search-close-btn",searchWidgetDelay:250,searchWidgetMinChars:3};init(){try{this._inputField=this.el.querySelector(this.options.searchWidgetInputFieldSelector),this._submitButton=this.el.querySelector(this.options.searchWidgetButtonFieldSelector),this._closeButton=this.el.querySelector(this.options.searchWidgetCloseButtonSelector),this._url=this.el.getAttribute(this.options.searchWidgetUrlDataAttribute)}catch(e){return}this._client=new n.A,this.searchSuggestLinks=[],this._registerEvents()}_registerEvents(){this._inputField.addEventListener("input",r.A.debounce(this._handleInputEvent.bind(this),this.options.searchWidgetDelay),{capture:!0,passive:!0}),this._inputField.addEventListener("keydown",this._handleKeyEvent.bind(this)),this.el.addEventListener("submit",this._handleSearchEvent.bind(this)),document.body.addEventListener("click",this._onBodyClick.bind(this)),this._registerInputFocus(),this._closeButton.addEventListener("click",this._onCloseButtonClick.bind(this))}_handleSearchEvent(e){let t=this._inputField.value.trim();if(t.length<this.options.searchWidgetMinChars){e.preventDefault(),e.stopPropagation();return}document.dispatchEvent(new CustomEvent(a,{detail:{term:t}}))}_handleInputEvent(){let e=this._inputField.value.trim();if(e.length<this.options.searchWidgetMinChars){this._clearSuggestResults();return}this._suggest(e),this.$emitter.publish("handleInputEvent",{value:e})}_handleKeyEvent(e){"ArrowDown"===e.key&&""!==this._inputField.value.trim()&&(e.preventDefault(),this.searchSuggestLinks&&this.searchSuggestLinks.length&&window.focusHandler.setFocus(this.searchSuggestLinks[0],{focusVisible:!0}))}_handleSearchItemKeyEvent(e,t){("ArrowDown"===t.key||"ArrowUp"===t.key)&&(t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),"ArrowDown"===t.key&&this._moveFocusDown(e),"ArrowUp"===t.key&&this._moveFocusUp(e))}_moveFocusUp(e){if(0===e)window.focusHandler.setFocus(this._inputField,{focusVisible:!0});else{let t=this.searchSuggestLinks[e-1];window.focusHandler.setFocus(t,{focusVisible:!0})}}_moveFocusDown(e){if(e<this.searchSuggestLinks.length){let t=this.searchSuggestLinks[e+1];window.focusHandler.setFocus(t,{focusVisible:!0})}}_suggest(e){let t=this._url+encodeURIComponent(e),s=new o.A(this._submitButton);s.create(),this.$emitter.publish("beforeSearch"),fetch(t,{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(e=>e.text()).then(t=>{this._clearSuggestResults(),s.remove(),this.el.querySelector(this.options.searchWidgetButtonFieldSelector).insertAdjacentHTML("afterend",t),this._setAccessibilityAttributes(),this._inputField.setAttribute("aria-expanded","true");let i=document.querySelector(this.options.searchWidgetResultSelector);this.searchSuggestLinks=Array.from(window.focusHandler.getFocusableElements(i)),this.searchSuggestLinks.forEach((e,t)=>{e.addEventListener("keydown",this._handleSearchItemKeyEvent.bind(this,t))}),i.addEventListener("click",this._handleSuggestResultClick.bind(this)),document.dispatchEvent(new CustomEvent("product:search-suggestion-shown",{detail:{term:e}})),this.$emitter.publish("afterSuggest")}).catch(()=>{s.remove(),this._clearSuggestResults()})}_handleSuggestResultClick(e){if(!e.target.closest("a[href]"))return;let t=this._inputField.value.trim(),s=e.target.closest(".search-suggest-total")?a:"product:search-suggestion-product-viewed";document.dispatchEvent(new CustomEvent(s,{detail:{term:t}}))}_clearSuggestResults(){document.querySelectorAll(this.options.searchWidgetResultSelector).forEach(e
3=>e.remove()),this._removeAccessibilityAttributes(),this._inputField.setAttribute("aria-expanded","false"),this.$emitter.publish("clearSuggestResults")}_setAccessibilityAttributes(){let e=document.querySelector(this.options.searchWidgetResultListboxSelector);e&&this._inputField.setAttribute("aria-controls",e.id);let t=document.querySelector(this.options.searchWidgetResultInfoSelector);t&&this._inputField.setAttribute("aria-describedby",t.id)}_removeAccessibilityAttributes(){this._inputField.removeAttribute("aria-controls"),this._inputField.removeAttribute("aria-describedby")}_onBodyClick(e){e.target.closest(this.options.searchWidgetSelector)||e.target.closest(this.options.searchWidgetResultSelector)||(this._clearSuggestResults(),this.$emitter.publish("onBodyClick"))}_onCloseButtonClick(){this._inputField.value="",this._inputField.focus(),this._clearSuggestResults()}_registerInputFocus(){this._toggleButton=document.querySelector(this.options.searchWidgetCollapseButtonSelector),this._toggleButton&&this._toggleButton.addEventListener("click",this._focusInput.bind(this))}_focusInput(){this._toggleButton&&!this._toggleButton.classList.contains(this.options.searchWidgetCollapseClass)&&(this._toggleButton.blur(),this._inputField.focus()),this.$emitter.publish("focusInput")}}class u extends l{init(){}}},8308(e,t,s){s.d(t,{A:()=>i});class i{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,r=e.split("."),n=s.scope?t.bind(s.scope):t;if(s.once&&!0===s.once){let t=n;n=function(s){i.unsubscribe(e),t(s)}}return this.el.addEventListener(r[0],n),this.listeners.push({splitEventName:r,opts:s,cb:n}),!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}}},9068(e,t,s){s.d(t,{A:()=>i});class i{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 r=this._createPreparedRequest("POST",e,i);return this._sendRequest(r,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 r=this._createPreparedRequest("DELETE",e,i);return this._sendRequest(r,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 r=this._createPreparedRequest("PATCH",e,i);return this._sendRequest(r,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}}}}]);

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.