PageSourceSearch

https://www.sleekspace.com.au/cdn/shop/t/29/assets/ss-real-installs.js?v=14238705779359036571783781205

js sleekspace.com.au collected 2026-10-02 14:10:25 UTC 14,887 bytes, 2 lines download raw bytes

1window.SSRealInstalls=window.SSRealInstalls||(function(){var ENDPOINT="https://zepxdcuapsylogshaawd.supabase.co/functions/v1/projects-read",GALLERY="https://app.sleekspace.com.au/projects",WIDTHS=[400,600,800],_promise=null;function galleryUrl(handle){return GALLERY+(handle?"/"+encodeURIComponent(handle):"")+"?from=store"}function fetchProjects(){return _promise||(_promise=fetch(ENDPOINT,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}).then(function(r){if(!r.ok)throw new Error("projects-read HTTP "+r.status);return r.json()}).then(function(d){return d&&Array.isArray(d.projects)?d.projects:[]}).catch(function(e){return window.console&&console.warn&&console.warn("[ss-real-installs]",e),[]}),_promise)}function isHex(s){return typeof s=="string"&&/^#?[0-9a-fA-F]{3,8}$/.test(s)}function normSku(s){return String(s==null?"":s).trim().toUpperCase().replace(/(CTN|BAG)$/,"")}function projSkus(p){var out=Array.isArray(p.baseSkus)?p.baseSkus.slice():[];return Array.isArray(p.products)&&p.products.forEach(function(e){e&&Array.isArray(e.baseSkus)&&(out=out.concat(e.baseSkus))}),out}function srcset(stem,fmt){return WIDTHS.map(function(w){return stem+"-"+w+"."+fmt+" "+w+"w"}).join(", ")}function hasVideo(p){return Array.isArray(p.media)&&p.media.some(function(m){return m&&m.type==="video"})}function afterPhotos(p){var ph=p&&p.photos||[],out=ph.filter(function(x){return x&&x.role!=="before"});return out.length?out:ph}function initMarquee(track){if(window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;var paused=!1,last=0,resume,pos=0;function hold(ms){paused=!0,clearTimeout(resume),ms&&(resume=setTimeout(function(){paused=!1},ms))}var down=!1,startX=0,startScroll=0,moved=0;track.style.cursor="grab",track.style.userSelect="none",track.addEventListener("dragstart",function(e){e.preventDefault()}),track.addEventListener("pointerenter",function(e){e.pointerType==="mouse"&&hold(0)}),track.addEventListener("pointerleave",function(){down||(paused=!1)}),track.addEventListener("pointerdown",function(e){if(e.pointerType==="mouse"&&(down=!0,moved=0,startX=e.clientX,startScroll=track.scrollLeft,hold(0),track.style.cursor="grabbing",track.setPointerCapture))try{track.setPointerCapture(e.pointerId)}catch(x){}}),track.addEventListener("pointermove",function(e){if(down){var dx=e.clientX-startX;moved=Math.abs(dx),track.scrollLeft=startScroll-dx,pos=track.scrollLeft}});function endDrag(){if(down&&(down=!1,track.style.cursor="grab",hold(1500),moved>6)){var sw=function(ev){ev.stopPropagation(),ev.preventDefault()};track.addEventListener("click",sw,!0),setTimeout(function(){track.removeEventListener("click",sw,!0)},60)}}track.addEventListener("pointerup",endDrag),track.addEventListener("pointercancel",endDrag),track.addEventListener("touchstart",function(){hold(0)},{passive:!0}),track.addEventListener("touchend",function(){hold(2500)},{passive:!0}),track.addEventListener("wheel",function(){hold(1500)},{passive:!0});function step(ts){last||(last=ts);var dt=ts-last;last=ts;var half=track.scrollWidth/2;!paused&&dt<100&&half>0?(pos+=dt*.05,pos>=half&&(pos-=half),track.scrollLeft=pos):pos=track.scrollLeft,requestAnimationFrame(step)}requestAnimationFrame(step)}function buildCard(p,tpl,opts){if(opts=opts||{},!p||!p.handle)return null;var photos=afterPhotos(p),photo=photos[0]||null;if(!photo||!photo.renderUrl)return null;var root=tpl.content.firstElementChild.cloneNode(!0),stem=photo.renderUrl;root.href=galleryUrl(p.handle);var media=root.querySelector("[data-ri-media]");media&&isHex(photo.placeholder)&&(media.style.backgroundColor=photo.placeholder.charAt(0)==="#"?photo.placeholder:"#"+photo.placeholder);var avif=root.querySelector("[data-ri-avif]"),webp=root.querySelector("[data-ri-webp]"),img=root.querySelector("[data-ri-img]");avif&&(avif.srcset=srcset(stem,"avif")),webp&&(webp.srcset=srcset(stem,"webp")),img&&(img.onerror=function(){var sec=root.closest?root.closest("[data-ss-ri]"):null,grp=root.closest?root.closest("[data-group]"):null;root.parentNode&&root.parentNode.removeChild(root),grp&&!grp.querySelector(".ss-ri-card")&&(grp.hidden=!0),sec&&!sec.querySelector(".ss-ri-card")&&(sec.hidden=!0)},img.src=stem+"-800.jpg",img.alt=photo.alt||(p.firstName?p.firstName+"'s ":"")+"garage");var name=root.querySelector("[data-ri-name]");
1if(name){var bits=[];p.firstName&&bits.push(p.firstName),p.state&&bits.push(p.state),name.textContent=bits.join(" \xB7 ")}if(p.kind==="ambassador"){var amb=root.querySelector("[data-ri-amb]");if(amb){var an=amb.querySelector("[data-ri-amb-name]"),ab=amb.querySelector("[data-ri-amb-bio]");an&&(an.textContent=p.firstName||""),ab&&(p.bio?ab.textContent=p.bio:ab.hidden=!0),amb.hidden=!1}}return root.__ri=p,root}function renderInto(track,projects,opts){if(!track)return 0;var tpl=document.getElementById("ss-ri-card-tpl");if(!tpl||!tpl.content)return 0;var frag=document.createDocumentFragment(),n=0;return projects.forEach(function(p){var card=buildCard(p,tpl,opts);card&&(frag.appendChild(card),n++)}),track.appendChild(frag),n}function initPDP(root){var range=root.getAttribute("data-range")||"",colour=root.getAttribute("data-colour")||"",max=parseInt(root.getAttribute("data-max"),10)||12,featuredTag=root.getAttribute("data-featured-tag")==="true",rangeOnly=root.getAttribute("data-range-only")==="true",productSkus={};(root.getAttribute("data-skus")||"").split(",").forEach(function(s){var k=normSku(s);k&&(productSkus[k]=!0)}),fetchProjects().then(function(all){if(!all.length)return;var seen={};function fresh(list){return list.filter(function(p){return!p.handle||seen[p.handle]?!1:(seen[p.handle]=!0,!0)})}function inRange(p){return range&&p.ranges&&p.ranges.indexOf(range)>-1}function inColour(p){return colour&&p.colours&&p.colours.indexOf(colour)>-1}function skuExact(p){var bs=projSkus(p);return bs.length?bs.some(function(s){return productSkus[normSku(s)]}):!1}function primaryMatch(p){return projSkus(p).length?skuExact(p):inRange(p)&&(colour?inColour(p):!0)}var groups;if(rangeOnly)groups=range?[{key:"primary",label:"Real "+range+" installs",items:all.filter(inRange)}]:[];else{var primaryLabel=colour?"Real installs in "+colour:range?"Real "+range+" installs":"Real installs with this product";groups=[{key:"primary",label:primaryLabel,items:all.filter(primaryMatch)}],range&&groups.push({key:"topa",label:"More "+range+" installs",items:all.filter(function(p){return inRange(p)&&!primaryMatch(p)})})}var total=0;groups.forEach(function(g){var el=root.querySelector('[data-group="'+g.key+'"]');if(el){var items=fresh(g.items).slice(0,Math.max(0,max-total));if(items.length){var n=renderInto(el.querySelector("[data-ri-track]"),items,{featuredTag:featuredTag});if(n>0){var lab=el.querySelector("[data-ri-label]");lab&&(lab.textContent=g.label),el.hidden=!1,total+=n}}}}),total>0&&(root.hidden=!1)})}function hasCI(arr,val){return!arr||!val?!1:(val=String(val).toLowerCase(),arr.some(function(x){return String(x).toLowerCase()===val}))}function initRow(root){var source=root.getAttribute("data-source")||"featured",layout=root.getAttribute("data-layout")||"masonry",space=root.getAttribute("data-space")||"",pin=root.getAttribute("data-pin")||"",max=parseInt(root.getAttribute("data-max"),10)||8,featuredTag=root.getAttribute("data-featured-tag")==="true",category=root.getAttribute("data-category")||"",range=root.getAttribute("data-range")||"",handles=(root.getAttribute("data-handles")||"").split(/[\s,]+/).map(function(s){return s.trim()}).filter(Boolean);fetchProjects().then(function(all){if(all.length){var chosen;if(source==="handpicked"||source==="single"){var byHandle={};all.forEach(function(p){p.handle&&(byHandle[p.handle]=p)});var seen={};chosen=handles.map(function(h){return byHandle[h]}).filter(function(p){return!p||seen[p.handle]?!1:(seen[p.handle]=!0,!0)})}else if(source==="category")chosen=all.filter(function(p){return hasCI(p.categories,category)});else if(source==="range")chosen=all.filter(function(p){return hasCI(p.ranges,range)});else if(source==="spaceType"){if(chosen=all.filter(function(p){return hasCI([p.spaceType],space)}),chosen.length<max&&space.toLowerCase()!=="garage"){var have={};chosen.forEach(function(p){p.handle&&(have[p.handle]=!0)}),chosen=chosen.concat(all.filter(function(p){return hasCI([p.spaceType],"garage")&&!(p.handle&&have[p.handle])}))}}else chosen=all.filter(function(p){return p.featured});if(pin){for(var pk=0;pk<chosen.length;pk++)if(chosen[pk].handle===pin){chosen.unshift(chosen.splice(pk,1)[0]);break}}if(source==="single"&&(max=1),chosen=chosen.slice(0,max),!!chosen.length){var track=root.querySelector("[data-ri-track]"),opts={featuredTag:featuredTag};
1if(layout==="hero"){for(var fi=0,i=0;i<chosen.length;i++)if(chosen[i].quote){fi=i;break}var feat=chosen[fi],featWrap=document.createElement("div");if(featWrap.className="ss-rib__feature",renderInto(featWrap,[feat],opts),track.appendChild(featWrap),feat.quote){var q=document.createElement("div");q.className="ss-rib__quote";var rr=Math.round(feat.rating||0),stars=rr>0?'<span class="ss-rib__quote-stars" aria-label="'+rr+' out of 5 stars">'+new Array(rr+1).join("\u2605")+"</span>":"";q.innerHTML='<span class="ss-rib__quote-mark" aria-hidden="true">\u201C</span><p class="ss-rib__quote-txt"></p><div class="ss-rib__quote-foot"><span class="ss-rib__quote-who"></span>'+stars+"</div>",q.querySelector(".ss-rib__quote-txt").textContent=feat.quote;var who=[];feat.firstName&&who.push(feat.firstName),feat.state&&who.push(feat.state),q.querySelector(".ss-rib__quote-who").textContent=who.join(" \xB7 "),track.appendChild(q)}var thumbs=document.createElement("div");thumbs.className="ss-rib__thumbs";var tn=renderInto(thumbs,chosen.filter(function(_,j){return j!==fi}).slice(0,6),opts);track.appendChild(thumbs),(featWrap.querySelector(".ss-ri-card")||tn>0)&&(root.hidden=!1);return}var n=renderInto(track,chosen,opts);n>0&&(layout==="marquee"&&(renderInto(track,chosen,opts),initMarquee(track)),root.hidden=!1)}}})}function initRoot(root){if(!root.__ssriInit){root.__ssriInit=!0;var kind=root.getAttribute("data-ss-ri");kind==="pdp"?initPDP(root):kind==="row"&&initRow(root)}}function boot(scope){var nodes=(scope||document).querySelectorAll("[data-ss-ri]");Array.prototype.forEach.call(nodes,initRoot)}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",function(){boot()}):boot(),document.addEventListener("shopify:section:load",function(e){boot(e.target)});var _modal=null,_lastFocus=null;function ensureModal(){if(_modal)return _modal;var el=document.getElementById("ss-ri-modal");return el||(el=document.createElement("div"),el.className="ss-rimodal",el.id="ss-ri-modal",el.setAttribute("role","dialog"),el.setAttribute("aria-modal","true"),el.setAttribute("aria-label","Real customer install"),el.hidden=!0,el.innerHTML='<div class="ss-rimodal__overlay" data-ri-close></div><div class="ss-rimodal__panel" tabindex="-1"><button class="ss-rimodal__x" type="button" data-ri-close aria-label="Close"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></button><div class="ss-rimodal__media"><picture><source data-ri-m-avif type="image/avif"><source data-ri-m-webp type="image/webp"><img data-ri-m-img alt="" decoding="async"></picture></div><div class="ss-rimodal__thumbs" data-ri-thumbs></div><div class="ss-rimodal__body"><p class="ss-rimodal__name" data-ri-m-name></p><p class="ss-rimodal__sub" data-ri-m-sub></p><a class="ss-rimodal__cta" data-ri-m-cta href="#">See the full project<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></svg></a></div></div>',document.body.appendChild(el)),el._riBound||(el.addEventListener("click",function(e){(e.target.closest("[data-ri-close]")||!e.target.closest(".ss-rimodal__panel"))&&closeModal()}),el._riBound=!0),_modal=el,el}function setModalPhoto(m,photo,altText){var stem=photo&&photo.renderUrl;if(stem){var avif=m.querySelector("[data-ri-m-avif]"),webp=m.querySelector("[data-ri-m-webp]"),img=m.querySelector("[data-ri-m-img]");avif&&(avif.srcset=srcset(stem,"avif")),webp&&(webp.srcset=srcset(stem,"webp")),img&&(img.src=stem+"-800.jpg",img.alt=altText||"")}}function openModal(p){if(p){var m=ensureModal(),photos=afterPhotos(p),alt=(p.firstName?p.firstName+"'s ":"")+"garage";photos[0]&&setModalPhoto(m,photos[0],alt);var name=m.querySelector("[data-ri-m-name]");if(name){var bits=[];p.firstName&&bits.push(p.firstName),p.state&&bits.push(p.state),name.textContent=bits.join(" \xB7 ")||"Real install"}var sub=m.querySelector("[data-ri-m-sub]");if(sub){var parts=[];p.ranges&&p.ranges.length&&parts.push(p.ranges.join(", ")),p.colours&&p.colours.length&&parts.push(p.colours.join(", ")),sub.textContent=parts.join(" \xB7 ")}var cta=m.querySelector("[data-ri-m-cta]");cta&&p.handle&&(cta.href=galleryUrl(p.handle));var thumbs=m.querySelector("[data-ri-thumbs]");thumbs&&(thumbs.innerHTML="",photos.length>
11&&photos.slice(0,6).forEach(function(ph){if(!(!ph||!ph.renderUrl)){var b=document.createElement("button");b.type="button",b.className="ss-rimodal__thumb",b.setAttribute("aria-current",ph===photos[0]?"true":"false"),b.innerHTML='<picture><source type="image/avif" srcset="'+ph.renderUrl+'-400.avif"><source type="image/webp" srcset="'+ph.renderUrl+'-400.webp"><img src="'+ph.renderUrl+'-800.jpg" alt="" decoding="async"></picture>',b.addEventListener("click",function(){setModalPhoto(m,ph,alt),Array.prototype.forEach.call(thumbs.querySelectorAll(".ss-rimodal__thumb"),function(t){t.setAttribute("aria-current","false")}),b.setAttribute("aria-current","true")}),thumbs.appendChild(b)}})),_lastFocus=document.activeElement,m.hidden=!1,document.body.classList.add("ss-ri-modal-open");var panel=m.querySelector(".ss-rimodal__panel");panel&&panel.focus()}}function closeModal(){!_modal||_modal.hidden||(_modal.hidden=!0,document.body.classList.remove("ss-ri-modal-open"),_lastFocus&&_lastFocus.focus&&_lastFocus.focus(),_lastFocus=null)}return document.addEventListener("keydown",function(e){(e.key==="Escape"||e.keyCode===27)&&closeModal()}),document.addEventListener("click",function(e){if(!(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button&&e.button!==0)){var card=e.target.closest&&e.target.closest(".ss-ri-card");!card||!card.__ri||(e.preventDefault(),openModal(card.__ri))}}),{fetchProjects:fetchProjects,buildCard:buildCard,renderInto:renderInto,hasVideo:hasVideo,boot:boot,openModal:openModal,closeModal:closeModal,GALLERY:GALLERY}})();
2//# sourceMappingURL=/cdn/shop/t/29/assets/ss-real-installs.js.map?v=14238705779359036571783781205

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.