PageSourceSearch

https://www.innocentdrinks.co.uk/etc.clientlibs/core/wcm/component…-5cd5790fe0e322208efbd7dba3f87b8c-lc.min.js

js innocentdrinks.co.uk collected 2026-10-03 21:19:53 UTC 7,731 bytes, 15 lines download raw bytes

1(function(){function k(a){a=a.dataset;var b=[],c="search";c=c.charAt(0).toUpperCase()+c.slice(1);c=["is","hook"+c];for(var d in a)if(Object.prototype.hasOwnProperty.call(a,d)){var e=a[d];0===d.indexOf("cmp")&&(d=d.slice(3),d=d.charAt(0).toLowerCase()+d.substring(1),-1===c.indexOf(d)&&(b[d]=e))}return b}function f(a,b){a&&(!1!==b?(a.style.display="block",a.setAttribute("aria-hidden",!1)):(a.style.display="none",a.setAttribute("aria-hidden",!0)))}function p(a){var b=[];if(a&&a.elements)for(var c=0;c<
2a.elements.length;c++){var d=a.elements[c];!d.disabled&&d.name&&(d=[d.name,encodeURIComponent(d.value)],b.push(d.join("\x3d")))}return b.join("\x26")}function l(a,b){if(a&&b)if(3===a.nodeType){var c=a.nodeValue;b=b.exec(c);if(c&&b){c=document.createElement("mark");c.className="cmp-search__item-mark";c.appendChild(document.createTextNode(b[0]));var d=a.splitText(b.index);d.nodeValue=d.nodeValue.substring(b[0].length);a.parentNode.insertBefore(c,d)}}else if(a.hasChildNodes())for(c=0;c<a.childNodes.length;c++)l(a.childNodes[c],
3b)}function e(a){a.element&&a.element.removeAttribute("data-cmp-is");this._cacheElements(a.element);this._setupProperties(a.options);this._action=this._elements.form.getAttribute("action");this._resultsOffset=0;this._hasMoreResults=!0;this._elements.input.addEventListener("input",this._onInput.bind(this));this._elements.input.addEventListener("focus",this._onInput.bind(this));this._elements.input.addEventListener("keydown",this._onKeydown.bind(this));this._elements.clear.addEventListener("click",
4this._onClearClick.bind(this));document.addEventListener("click",this._onDocumentClick.bind(this));this._elements.results.addEventListener("scroll",this._onScroll.bind(this));this._makeAccessible()}function m(){for(var a=document.querySelectorAll(g.self),b=0;b<a.length;b++)new e({element:a[b],options:k(a[b])});a=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;b=document.querySelector("body");(new a(function(a){a.forEach(function(a){a=[].slice.call(a.addedNodes);
50<a.length&&a.forEach(function(a){a.querySelectorAll&&[].slice.call(a.querySelectorAll(g.self)).forEac
5h(function(a){new e({element:a,options:k(a)})})})})})).observe(b,{subtree:!0,childList:!0,characterData:!0})}var g={self:'[data-cmp-is\x3d"search"]',item:{self:'[data-cmp-hook-search\x3d"item"]',title:'[data-cmp-hook-search\x3d"itemTitle"]',focused:".cmp-search__item--is-focused"}},h={minLength:{"default":3,transform:function(a){a=parseFloat(a);return isNaN(a)?null:a}},resultsSize:{"default":10,transform:function(a){a=
6parseFloat(a);return isNaN(a)?null:a}}},n=0;e.prototype._displayResults=function(){0===this._elements.input.value.length?(f(this._elements.clear,!1),this._cancelResults()):(this._elements.input.value.length<this._properties.minLength||this._updateResults(),f(this._elements.clear,!0))};e.prototype._onScroll=function(a){this._elements.results.scrollTop+2*this._elements.results.clientHeight>=this._elements.results.scrollHeight&&(this._resultsOffset+=this._properties.resultsSize,this._displayResults())};
7e.prototype._onInput=function(a){var b=this;b._cancelResults();this._timeout=setTimeout(function(){b._displayResults()},300)};e.prototype._onKeydown=function(a){switch(a.keyCode){case 9:this._resultsOpen()&&(f(this._elements.results,!1),this._elements.input.setAttribute("aria-expanded","false"));break;case 13:a.preventDefault();this._resultsOpen()&&(a=this._elements.results.querySelector(g.item.focused))&&a.click();break;case 27:this._cancelResults();break;case 38:this._resultsOpen()&&(a.preventDefault(),
8this._stepResultFocus(!0));break;case 40:this._resultsOpen()?(a.preventDefault(),this._stepResultFocus()):this._onInput()}};e.prototype._onClearClick=function(a){a.preventDefault();this._elements.input.value="";f(this._elements.clear,!1);f(this._elements.results,!1);this._elements.input.setAttribute("aria-expanded","false")};e.prototype._onDocumentClick=function(a){var b=this._elements.input.contains(a.target);a=this._elements.results.contains(a.target);b||a||(f(this._elements.results,!1),this._elements.input.setAttribute("aria-expanded",
9"false"))};e.prototype._resultsOpen=function(){return"none"!==this._elements.results.style.display};e.prototype._makeAccessible=function(){var a="cmp-search-results-"+n;this._elements.input.setAttribute("aria-owns",a);this._elements.results.id=a;n++};e.prototype._generateItems=function(a,b){var c=this;a.forEach(function(a){var d=document.createElement("span");d.innerHTML=c._elements.itemTemplate.innerHTML;d.querySelectorAll(g.item.title)[0].appendChild(document.createTextNode(a.title));d.querySelectorAll(g.item.self)[0].setAttribute("href",
10c._safeHref(a.url));b.innerHTML+=d.innerHTML})};e.prototype._safeHref=function(a){var b=document.createElement("a");b.href=a;return b.pathname};e.prototype._markResults=function(){var a=this._elements.results.querySelectorAll(g.item.self),b=this._elements.input.value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$\x26");b=new RegExp("("+b+")","gi");for(var c=this._resultsOffset-1;c<a.length;++c)l(a[c],b)};e.prototype._stepResultFocus=function(a){var b=this._elements.results.querySelectorAll(g.item.self),
11c=this._elements.results.querySelector(g.item.focused);c=Array.prototype.indexOf.call(b,c);if(0<b.length)if(a){if(1<=c&&(b[c].classList.remove("cmp-search__item--is-focused"),b[c].setAttribute("aria-selected","false"),b[c-1].classList.add("cmp-search__item--is-focused"),b[c-1].setAttribute("aria-selected","true")),a=this._elements.results.querySelector(g.item.focused))a=this._elements.results.scrollTop-a.offsetTop,0<a&&(this._elements.results.scrollTop-=a)}else if(0>c?(b[0].classList.add("cmp-search__item--is-focused"),
12b[0].setAttribute("aria-selected","true")):c+1<b.length&&(b[c].classList.remove("cmp-search__item--is-focused"),b[c].setAttribute("aria-selected","false"),b[c+1].classList.add("cmp-search__item--is-focused"),b[c+1].setAttribute("aria-selected","true")),a=this._elements.results.querySelector(g.item.focused))a=a.offsetTop+a.offsetHeight-this._elements.results.scrollTop-this._elements.results.clientHeight,0<a?this._elements.results.scrollTop+=a:this._onScroll()};e.prototype._updateResults=function(){var a=
13this;if(a._hasMoreResults){var b=new XMLHttpRequest,c=a._action+"?"+p(a._elements.form)+"\x26resultsOffset\x3d"+a._resultsOffset;b.open("GET",c,!0);b.onload=function(){setTimeout(function(){f(a._elements.loadingIndicator,!1);f(a._elements.icon,!0)},300);if(200<=b.status&&400>b.status){var c=JSON.parse(b.responseText);0<c.length?(a._generateItems(c,a._elements.results),a._markResults(),f(a._elements.results,!0),a._elements.input.setAttribute("aria-expanded","true")):a._hasMoreResults=!1;0<a._elements.results.querySelectorAll(g.item.self).length%
14a._properties.resultsSize&&(a._hasMoreResults=!1)}};f(a._elements.loadingIndicator,!0);f(a._elements.icon,!1);b.send()}};e.prototype._cancelResults=function(){clearTimeout(this._timeout);this._resultsOffset=this._elements.results.scrollTop=0;this._hasMoreResults=!0;this._elements.results.innerHTML="";
14this._elements.input.setAttribute("aria-expanded","false")};e.prototype._cacheElements=function(a){this._elements={};this._elements.self=a;a=this._elements.self.querySelectorAll("[data-cmp-hook-search]");
15for(var b=0;b<a.length;b++){var c=a[b],d="search";d=d.charAt(0).toUpperCase()+d.slice(1);this._elements[c.dataset["cmpHook"+d]]=c}};e.prototype._setupProperties=function(a){this._properties={};for(var b in h)if(Object.prototype.hasOwnProperty.call(h,b)){var c=h[b];this._properties[b]=a&&null!=a[b]?c&&"function"===typeof c.transform?c.transform(a[b]):a[b]:h[b]["default"]}};"loading"!==document.readyState?m():document.addEventListener("DOMContentLoaded",m)})();

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.