PageSourceSearch

https://www.trafalgarstore.com/cdn/shop/t/241/assets/algolia-search.js?v=161555160232052161241785943335

js trafalgarstore.com collected 2026-09-25 18:41:18 UTC 10,218 bytes, 2 lines download raw bytes

1(function(){"use strict";var cfg=window.algoliaConfig,theme=window.AlgoliaTheme||{},collection=theme.collection,root=document.querySelector("[data-algolia-search]");if(!root)return;if(!cfg||!cfg.app_id||!cfg.search_api_key||!cfg.index_prefix){console.warn("[algolia] missing app_id / search_api_key / index_prefix in shop metafields");return}var algoliaLite=window["algoliasearch/lite"];if(typeof instantsearch=="undefined"||!algoliaLite||typeof algoliaLite.liteClient!="function"){console.warn("[algolia] vendored libraries failed to load");return}var w=instantsearch.widgets,baseIndex=cfg.index_prefix+"products",searchClient=algoliaLite.liteClient(cfg.app_id,cfg.search_api_key),distinct=!!cfg.show_products,filters=[];collection&&filters.push(cfg.collection_id_indexing?'collection_ids:"'+collection.id+'"':'collections:"'+collection.handle+'"'),cfg.stock_policy==="deny"?filters.push("inventory_quantity > 0"):cfg.stock_policy==="continue"&&filters.push("inventory_available:true");function isActive(side){return side&&(side.active===!0||side.active==="1")}var sortItems=[{label:"Relevance",value:baseIndex}];(cfg.sort_orders||[]).forEach(function(so){isActive(so.asc)&&sortItems.push({label:so.asc.title,value:baseIndex+"_"+so.key+"_asc"}),isActive(so.desc)&&sortItems.push({label:so.desc.title,value:baseIndex+"_"+so.key+"_desc"})});var facets=(cfg.facets||[]).filter(function(f){var enabled=f.enabled===!0||parseInt(f.enabled,10)===1;return enabled&&f.type!=="hidden"});function prettyRange(value){return String(value).split(":").map(function(n){return theme.money(Number(n)).replace(/\.\d+/,"")}).join("-")}function isPriceRange(facet){return facet.type==="price_range"||facet.name==="price_range"}function panelFor(facet){return w.panel({templates:{header:function(){return facet.title}},hidden:function(options){return!options.items||options.items.length===0}})}function facetWidget(facet,container){var common={container:container,attribute:facet.name},Panel=panelFor(facet);if(facet.type==="slider")return Panel(w.rangeInput)(common);if(facet.type==="menu")return Panel(w.menu)(Object.assign({limit:10,showMore:!0},common));var params=Object.assign({operator:facet.type==="conjunctive"?"and":"or",limit:12,showMore:!0,showMoreLimit:100,sortBy:["isRefined","name:asc"]},common);return isPriceRange(facet)&&(params.transformItems=function(items){return items.map(function(item){var label=prettyRange(item.value);return Object.assign({},item,{label:label,highlighted:label})})},params.sortBy=function(a,b){return Number(String(a.name).split(":")[0])-Number(String(b.name).split(":")[0])}),facet.searchable&&(params.searchable=!0,params.searchablePlaceholder="Search "+facet.title,params.templates={searchableSubmit:function(){return'<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="6.75" cy="6.75" r="5"></circle><line x1="10.5" y1="10.5" x2="15" y2="15"></line></svg>'}}),Panel(w.refinementList)(params)}var facetsRoot=root.querySelector("[data-algolia-facets]"),widgets=[];facets.forEach(function(facet){var section=document.createElement("div");section.className="algolia-facet",section.setAttribute("data-facet-name",facet.name),facetsRoot.appendChild(section),widgets.push(facetWidget(facet,section))});var routing=!0;!collection&&instantsearch.routers&&instantsearch.routers.history&&(routing={router:instantsearch.routers.history({createURL:function(opts){var url=new URL(opts.location.href);return opts.routeState&&opts.routeState.query?url.searchParams.set("q",opts.routeState.query):url.searchParams.delete("q"),url.toString()},parseURL:function(opts){return{query:new URLSearchParams(opts.location.search).get("q")||""}}}),stateMapping:{stateToRoute:function(uiState){var idx=uiState[baseIndex]||{};return{query:idx.query||""}},routeToState:function(routeState){var s={};return s[baseIndex]={query:routeState&&routeState.query||""},s}}});var search=instantsearch({indexName:baseIndex,searchClient:searchClient,routing:routing,future:{preserveSharedStateOnUnmount:!0}}),searchboxEl=root.querySelector("[data-algolia-searchbox]");search.addWidgets([w.configure({hitsPerPage:cfg.collections_full_results_hits_per_page||cfg.products_full_results_hits_per_page||24,distinct:distinct,facetingAfterDistinct:distinct,maxValuesPerFacet:100,clickAnalytics:!!cfg.anal
1ytics_enabled,filters:filters.join(" AND "),ruleContexts:collection?[String(cfg.collection_id_query_rules?collection.id:collection.handle)]:[]}),w.searchBox({container:searchboxEl,placeholder:searchboxEl.dataset.placeholder||"Search "+(collection?collection.title:"products"),showReset:!0,showSubmit:!0,showLoadingIndicator:!0,templates:{submit:function(){return'<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="6.75" cy="6.75" r="5"></circle><line x1="10.5" y1="10.5" x2="15" y2="15"></line></svg>'}}}),w.stats({container:root.querySelector("[data-algolia-stats]"),templates:{text:function(data){return data.nbHits.toLocaleString()+" "+(data.nbHits===1?"result":"results")}}}),w.currentRefinements({container:root.querySelector("[data-algolia-current-refinements]"),transformItems:function(items){var labelMap={},priceFacets={};facets.forEach(function(f){labelMap[f.name]=f.title,isPriceRange(f)&&(priceFacets[f.name]=!0)});var out=[];return items.forEach(function(item){var title=labelMap[item.attribute]||item.label;(item.refinements||[]).forEach(function(refinement){var r=priceFacets[item.attribute]?Object.assign({},refinement,{label:prettyRange(refinement.label)}):refinement;out.push(Object.assign({},item,{label:title,refinements:[r]}))})}),out}}),w.clearRefinements({container:root.querySelector("[data-algolia-clear-refinements]"),templates:{resetLabel:"Clear all"}}),w.hits({container:root.querySelector("[data-algolia-hits]"),templates:{item:function(hit){return theme.productHitHTML(hit)},empty:function(data){return'<div class="algolia-empty">No results for <q>'+theme.escapeHtml(data.query)+"</q></div>"}}}),w.pagination({container:root.querySelector("[data-algolia-pagination]")})]),sortItems.length>1&&search.addWidgets([w.sortBy({container:root.querySelector("[data-algolia-sort]"),items:sortItems})]),widgets.length&&search.addWidgets(widgets),search.start();var hitsEl=root.querySelector("[data-algolia-hits]");root.querySelectorAll("[data-algolia-layout]").forEach(function(btn){btn.addEventListener("click",function(){var mode=btn.getAttribute("data-algolia-layout");hitsEl.classList.toggle("algolia-hits--list",mode==="list"),root.querySelectorAll("[data-algolia-layout]").forEach(function(b){b.classList.toggle("is-active",b===btn)})})});var variantCache={},variantInFlight={};function variantsQuery(id){return{indexName:baseIndex,params:{filters:"id="+id,distinct:!1,hitsPerPage:80,attributesToRetrieve:["option1","option2","option3","image","product_image","handle","objectID"]}}}
1function renderSwatches(el){var variants=variantCache[el.getAttribute("data-product-id")];if(variants){var colorIndex=parseInt(el.getAttribute("data-color-index"),10)||0,seen={},items=[];if(variants.forEach(function(v){var color=[v.option1,v.option2,v.option3][colorIndex],img=v.image||v.product_image;!color||!img||seen[color]||(seen[color]=!0,items.push({color:color,image:img,handle:v.handle,variant:v.objectID}))}),items.length<2){el.innerHTML="";return}var max=6,html=items.slice(0,max).map(function(s){var thumb=s.image+(s.image.indexOf("?")===-1?"?":"&")+"width=80";return'<button type="button" class="algolia-swatch" title="'+theme.escapeHtml(s.color)+'" data-image="'+theme.escapeHtml(s.image)+'" data-handle="'+theme.escapeHtml(s.handle)+'" data-variant="'+theme.escapeHtml(String(s.variant))+'" style="background-image:url('+theme.escapeHtml(thumb)+')"></button>'});items.length>max&&html.push('<span class="algolia-swatch__more">+'+(items.length-max)+"</span>"),el.innerHTML=html.join("")}}function loadSwatches(){var els=Array.prototype.slice.call(hitsEl.querySelectorAll("[data-algolia-swatches]"));if(els.length){var need={};els.forEach(function(el){var id=el.getAttribute("data-product-id");variantCache[id]?renderSwatches(el):variantInFlight[id]||(need[id]=!0)});var ids=Object.keys(need);ids.length&&(ids.forEach(function(id){variantInFlight[id]=!0}),searchClient.search(ids.map(variantsQuery)).then(function(response){(response.results||[]).forEach(function(r,i){variantCache[ids[i]]=r.hits||[]}),ids.forEach(function(id){delete variantInFlight[id]}),Array.prototype.slice.call(hitsEl.querySelectorAll("[data-algolia-swatches]")).forEach(function(el){variantCache[el.getAttribute("data-product-id")]&&renderSwatches(el)})}).catch(function(){ids.forEach(function(id){delete variantInFlight[id]})}))}}search.on("render",loadSwatches),hitsEl.addEventListener("click",function(e){var btn=e.target.closest?e.target.closest(".algolia-swatch"):null;if(btn){e.preventDefault();var card=btn.closest(".product-card");if(card){var img=card.querySelector(".product-card__image--main img");if(img){var src=btn.getAttribute("data-image");img.src=src+(src.indexOf("?")===-1?"?":"&")+"width=450"}var handle=btn.getAttribute("data-handle"),variant=btn.getAttribute("data-variant");card.querySelectorAll('a[href^="/products/"]').forEach(function(a){a.href="/products/"+encodeURIComponent(handle)+"?variant="+encodeURIComponent(variant)}),card.querySelectorAll(".algolia-swatch").forEach(function(s){s.classList.toggle("is-active",s===btn)})}}});var DRAWER_OPEN_CLASS="algolia-filters-open";function setDrawer(open){root.classList.toggle(DRAWER_OPEN_CLASS,open),document.body.style.overflow=open?"hidden":""}var toggle=root.querySelector("[data-algolia-filter-toggle]");toggle&&toggle.addEventListener("click",function(){setDrawer(!root.classList.contains(DRAWER_OPEN_CLASS))});for(var closeEls=root.querySelectorAll("[data-algolia-filter-close]"),c=0;c<closeEls.length;c++)closeEls[c].addEventListener("click",function(){setDrawer(!1)});document.addEventListener("keydown",function(e){e.key==="Escape"&&root.classList.contains(DRAWER_OPEN_CLASS)&&setDrawer(!1)})})();
2//# sourceMappingURL=/cdn/shop/t/241/assets/algolia-search.js.map?v=161555160232052161241785943335

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.