1(function(){"use strict";var STORAGE_KEY="hillmalaya:recently-viewed",MAX_HISTORY=20,memoryStore=null,LAST_ADDED_KEY="hillmalaya:last-added",lastAddedMemory=null;function readRaw(){try{var raw=window.localStorage.getItem(STORAGE_KEY);if(!raw)return[];var parsed=JSON.parse(raw);return Array.isArray(parsed)?parsed:[]}catch(e){return Array.isArray(memoryStore)?memoryStore:[]}}function writeRaw(list){memoryStore=list;try{window.localStorage.setItem(STORAGE_KEY,JSON.stringify(list))}catch(e){}}function sanitize(list){for(var seen={},out=[],i=0;i<list.length;i++){var e=list[i];if(!(!e||typeof e.handle!="string")){var id=Number(e.id);if(!(!id||seen[id])&&(seen[id]=!0,out.push({handle:e.handle,id:id,ts:Number(e.ts)||0}),out.length>=MAX_HISTORY))break}}return out}function getAll(){return sanitize(readRaw())}function record(entry){if(!(!entry||typeof entry.handle!="string")){var id=Number(entry.id);if(id){var list=getAll().filter(function(e){return e.id!==id});list.unshift({handle:entry.handle,id:id,ts:Date.now()}),writeRaw(sanitize(list))}}}function getHandles(){return getAll().map(function(e){return e.handle})}function getIds(){return getAll().map(function(e){return e.id})}function recordAdded(entry){if(!(!entry||typeof entry.handle!="string")){var id=Number(entry.id);if(id){var rec={handle:entry.handle,id:id,ts:Date.now()};lastAddedMemory=rec;try{window.localStorage.setItem(LAST_ADDED_KEY,JSON.stringify(rec))}catch(e){}}}}function getLastAdded(){try{var raw=window.localStorage.getItem(LAST_ADDED_KEY);if(raw){var parsed=JSON.parse(raw);if(parsed&&typeof parsed.handle=="string"&&Number(parsed.id))return parsed}}catch(e){}return lastAddedMemory}function resolveSeed(){var added=getLastAdded();if(added&&added.id)return added.id;var all=getAll();return all.length&&all[0]&&all[0].id?all[0].id:null}window.HillmalayaRecentlyViewed={record:record,recordAdded:recordAdded,getLastAdded:getLastAdded,getAll:getAll,getHandles:getHandles,getIds:getIds,resolveSeed:resolveSeed};function captureCurrent(){var el=document.getElementById("recently-viewed-current");if(el)try{var data=JSON.parse(el.textContent);data&&data.handle&&data.id&&record({handle:data.handle,id:data.id})}catch(e){}}function parseExcludeIds(str){var map={};return str&&str.split(/\s+/).forEach(function(s){var n=Number(s);n&&(map[n]=!0)}),map}function fetchCard(handle){var root=window.Shopify&&window.Shopify.routes&&window.Shopify.routes.root||"/";root.charAt(root.length-1)!=="/"&&(root+="/");var url=root+"products/"+encodeURIComponent(handle)+"?view=card";return fetch(url,{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(r){return r.ok?r.text():null}).catch(function(){return null})}function injectResults(root,listEl,layout,htmlList){var parser=new DOMParser,injected=0;return htmlList.forEach(function(html){if(html){var doc=parser.parseFromString(html,"text/html"),card=doc.querySelector("[data-recently-viewed-card]");if(card){for(var cell=card.firstElementChild;cell;){var next=cell.nextElementSibling;layout==="slider"&&cell.classList.add("gallery-cell"),listEl.appendChild(cell),cell=next}injected++}}}),injected}function revealSection(root){root.removeAttribute("hidden"),root.classList.add("rv--ready");var wrapper=root.closest?root.closest(".shopify-section"):null;wrapper&&wrapper.classList.add("rv--ready");try{typeof Shopify!="undefined"&&Shopify.PaymentButton&&Shopify.PaymentButton.init()}catch(e){}try{window.PXUTheme&&window.PXUTheme.currencyConverter&&window.PXUTheme.currencyConverter.convertCurrencies()}catch(e){}}function initSlider(listEl){var $=window.jQuery;if(!(!$||!$.fn||!$.fn.flickity)){var perSlide=parseInt(listEl.getAttribute("data-products-per-slide"),10)||1,limit=parseInt(listEl.getAttribute("data-products-limit"),10)||perSlide,available=parseInt(listEl.getAttribute("data-products-available"),10)||0,$slider=$(listEl);if(available<perSlide||limit<perSlide){$slider.addClass("container is-justify-center"),$slider.find(".gallery-cell").addClass("column");return}var wrapAround=available>perSlide&&limit>perSlide;$slider.flickity({lazyLoad:2,freeScroll:!0,imagesLoaded:!0,draggable:!0,cellAlign:"center",wrapAround:wrapAround,pageDots:!1,contain:!0,prevNextButtons:limit>perSlide,initialIndex:0,arrowShape:window.arrowShape}),$slider.on("settle.flickity",function(){$slider.flickity("resize")}),$(window).on("load",function(){$slider.flickity("resize")})}}function hydrateSection(root){if(!(!root||root.getAttribute("data-rv-hydrated")==="true")){root.setAttribute("data-rv-hydrated","true");var layout=root.getAttribute("data-layout")||"grid",limit=parseInt(root.getAttribute("data-limit"),10)||6,excludeIds=parseExcludeIds(root.getAttribute("data-exclude-ids")),listEl=root.querySelector("[data-recently-viewed-list]");if(listEl){var entries=getAll().filter(function(e){return!excludeIds[e.id]}).slice(0,limit);entries.length!==0&&Promise.all(entries.map(function(e){return fetchCard(e.handle)})).then(function(htmlList){var injected=injectResults(root,listEl,layout,htmlList);injected!==0&&(layout==="slider"&&(listEl.setAttribute("data-products-available",injected),initSlider(listEl)),revealSection(root))})}}}function hydrateAll(){for(var sections=document.querySelectorAll("[data-recently-viewed]"),i=0;i<sections.length;i++)hydrateSection(sections[i])}
1function init(){captureCurrent(),hydrateAll()}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),document.addEventListener("shopify:section:load",function(evt){var sectionEl=evt.target&&evt.target.querySelector?evt.target.querySelector("[data-recently-viewed]"):null;if(sectionEl){var listEl=sectionEl.querySelector("[data-recently-viewed-list]");if(listEl){if(listEl.classList.contains("flickity-enabled")&&window.jQuery)try{window.jQuery(listEl).flickity("destroy")}catch(e){}for(;listEl.firstChild;)listEl.removeChild(listEl.firstChild)}sectionEl.removeAttribute("data-rv-hydrated"),hydrateSection(sectionEl)}})})(); 2//# sourceMappingURL=/cdn/shop/t/40/assets/recently-viewed.js.map?v=58103471821648060491786161862
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.