https://langehair.com/cdn/shop/t/7328/assets/product-recommendatio…?v=140038468280072233121790891626
1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},i=(new e.Error).stack;i&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[i]="e34f0b45-0064-4831-9a1d-5d9b2e8f1b0c",e._sentryDebugIdIdentifier="sentry-dbid-e34f0b45-0064-4831-9a1d-5d9b2e8f1b0c")}catch(e){}}(),function(){var e={"./lib/webpack-path.ts"(e,i,t){t.p=window.shopify_assets_path}};let i={};function t(n){let s=i[n];if(void 0!==s)return s.exports;let o=i[n]={exports:{}};return e[n](o,o.exports,t),o.exports}t.m=e,t.d=function(e,i){if(Array.isArray(i))for(var n=0;n<i.length;){var s=i[n++],o=i[n++];t.o(e,s)?0===o&&n++:0===o?Object.defineProperty(e,s,{enumerable:!0,value:i[n++]}):Object.defineProperty(e,s,{enumerable:!0,get:o})}else for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce((function(i,n){return t.f[n](e,i),i}),[]))},t.u=function(e){return e+"-2373f79aece719a9b3d8.min.js"},t.miniCssF=function(e){},t.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},function(){let e={},i="lange:";t.l=function(n,s,o,r){if(e[n])return void e[n].push(s);let d,l;if(void 0!==o){let e=document.getElementsByTagName("script");for(var a=0;a<e.length;a++){let t=e[a];if(t.getAttribute("src")==n||t.getAttribute("data-webpack")==i+o){d=t;break}}}d||(l=!0,d=document.createElement("script"),d.charset="utf-8",t.nc&&d.setAttribute("nonce",t.nc),d.setAttribute("data-webpack",i+o),d.src=n),e[n]=[s];let p=function(i,t){d.onerror=d.onload=null,clearTimeout(c);let s=e[n];if(delete e[n],d.parentNode&&d.parentNode.removeChild(d),s&&s.forEach((function(e){return e(t)})),i)return i(t)},c=setTimeout(p.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=p.bind(null,d.onerror),d.onload=p.bind(null,d.onload),l&&document.head.appendChild(d)}}(),t.r=function(e){Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.p="",function(){let e={"product-recommendations-section":0};t.f.j=function(i,n){let s=t.o(e,i)?e[i]:void 0;if(0!==s)if(s)n.push(s[2]);else{let o=new Promise((function(t,n){s=e[i]=[t,n]}));n.push(s[2]=o);let r=t.p+t.u(i),d=new Error,l=function(n){if(t.o(e,i)&&(s=e[i],0!==s&&(e[i]=void 0),s)){let e=n&&("load"===n.type?"missing":n.type),t=n&&n.target&&n.target.src;d.message="Loading chunk "+i+" failed.\n("+e+": "+t+")",d.name="ChunkLoadError",d.type=e,d.request=t,d.event=n,s[1](d)}};t.l(r,l,"chunk-"+i,i)}};let i=function(i,n){let s=n[0],o=n[1],r=n[2];var d,l,a=0;if(s.some((function(i){return 0!==e[i]}))){for(d in o)t.o(o,d)&&(t.m[d]=o[d]);if(r)r(t)}for(i&&i(n);a<s.length;a++)l=s[a],t.o(e,l)&&e[l]&&e[l][0](),e[l]=0},n=self["webpackChunklange"]=self["webpackChunklange"]||[];n.forEach(i.bind(null,0)),n.push=i.bind(null,n.push.bind(n))}(),function(){"use strict";function e(e,i,t){try{e[i]=t}catch(t){let n;n=t instanceof Error?t.message:`${t}`,console.log("Failed to assign error property",{key:i,name:null==e?void 0:e.name,tag:Object.prototype.toString.call(e),reason:n})}}function i(e){return{mount:n.bind(null,e),destroy:s.bind(null,e)}}function n(e){const i=o.bind(null,e);e.on("mounted",i),e.on("refresh",i),e.on("visible",r),e.on("hidden",d)}function s(e){for(const i of e.Components.Slides.get())i.slide.inert=!1}function o(e){for(const i of e.Components.Slides.get())i.slide.inert=!i.slide.classList.contains("is-visible")}function r(e){e.slide.inert=!1}function d(e){e.slide.inert=!0}t("./lib/webpack-path.ts");function l(e,i,t){let n,s,o,r,d=!1,l=0,a=0;function p(){d||i.Elements.root.appendChild(n),n.hidden=!1,setTimeout(S),e.is("fade")||e.on("dragging.slidebar",C),e.on("move.slidebar",M),e.on("resized.slidebar",S),s.addEventListener("mousedown",v),s.addEventListener("touchstart",x,{passive:!0}),s.addEventListener("transitionend",z),n.addEventListener("click",E)}function c(){n.hidden=!0,e.off("move.slidebar"),e.off("resized.slidebar"),e.off("dragging.slidebar"),s.removeEventListener("mousedown",v),s.removeEventListener("touchstart",x),s.removeEventListener("transitionend",z),n.removeEventListener("click",E)}function u(){let n;return n=e.is("fade")?t.perPage/i.Slides.getLength()*100:i.Layout.listSize()/i.Layout.sliderSize()*100,`${n}%`}function h(t){const n=f(t);if(l!==n){if(l=f(t),!e.is("fade")){const e=I(l);i.Move.translate(e)}requestAnimationFrame((()=>{s.style.transform=`translateX(${l}px)`}))}}function f(e){let i=e;return i<=0?i=0:i>=o&&(i=o),i}function _(){let t;if(e.is("fade"))t=Math.round(l/(o/i.Slides.getLength()));else{const e=i.Move.getPosition();t=i.Move.toIndex(e)}i.Controller.go(t,!0)}function g(e){b()}function m(){b()}function b(){t.slidebar&&i.Slides.isEnough()&&i.Layout.isOverflow()?p():c()}function v(){addEventListener("mousemove",w),addEventListener("mouseup",y)}function y(){_(),removeEventListener("mousemove",w),removeEventListener("mouseup",y)}function w(e){h(l+e.movementX)}function x(e){const i=e.touches[0];a=i.clientX,addEventListener("touchmove",L),addEventListener("touchend",k)}function k(e){a=0,_(),removeEventListener("touchmove",L),removeEventListener("touchend",k)}function L(e){const i=e.touches[0],t=i.clientX-a,n=l+t;a=i.clientX,h(n)}function z(){s.style.transition=""}function E(t){if(t.target!==t.currentTarget)return;const n=t.offsetX-s.offsetWidth/2;let r;if(e.is("fade"))r=Math.round(n/(o/i.Slides.getLength()));else{const e=I(n);r=i.Move.toIndex(e)}i.Controller.go(r,!0)}function S(){s.style.width=u(),o=n.offsetWidth-s.offsetWidth,r=i.Layout.sliderSize()-i.Layout.listSize(),i.Controller.go(e.index,!0)}function P(e){e?p():c()}function M(n,r,d){let a;if(e.is("fade"))a=t.perPage/(i.Slides.getLength()-1)*o*n;else{a=j(i.Move.toPosition(n))}l=f(a),s.style.transform=`translateX(${l}px)`,s.style.transition="transform 400ms cubic-bezier(0.25, 1, 0.5, 1)"}function C(){const e=j();l=f(e),s.style.transform=`translateX(${l}px)`}function j(e){return-1*(null!=e?e:i.Move.getPosition())/r*o}function I(e){return-1*(e/o)*r}return{mount:function(){n=i.Elements.root.querySelector(".splide__slider"),s=i.Elements.root.querySelector(".splide__slider-handle"),n&&s?d=!0:(n=document.createElement("div"),n.classList.add("splide__slider"),s=document.createElement("div"),s.classList.add("splide__slider-handle"),s.style.width=u(),n.appendChild(s)),e.on("ready",m),e.on("updated",g),e.on("overflow",P)}}}class ProductRecommendations extends HTMLElement{renderBound=this.render.bind(this);onIntersectedBound=this.onIntersected.bind(this);connectedCallback(){this.initializeShadowRoot(),this.observer=new IntersectionObserver(this.onIntersectedBound,{rootMargin:"0px 0px 200px 0px"}),this.observer.observe(this)}initializeShadowRoot(){this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML='<style>.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}
1.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__sr{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}.header{padding:13px 9px}@media only screen and (min-width:768px){.header{padding:14px 13px}}.header h2{font-size:1.5rem;line-height:1.4;font-weight:700}@media only screen and (min-width:768px){.header h2{font-size:1.875rem;line-height:1.2}}.splide{margin:16px}.splide:not(.is-overflow) .splide__arrows{display:none}.splide__footer{display:flex;align-items:center;gap:30px;margin-top:32px}.splide__arrows{gap:14px;flex-shrink:0}.splide__arrows,.splide__arrows .splide__arrow{display:flex;justify-content:center;align-items:center}.splide__arrows .splide__arrow{background:none;cursor:pointer;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid #313131;outline-offset:4px}.splide__arrows .splide__arrow:hover{opacity:.7}.splide__arrows .splide__arrow[disabled]{cursor:not-allowed;opacity:.3}.splide__arrows .splide__arrow:first-child{transform:rotate(180deg)}.splide__slider{width:100%;position:relative;height:5px;border-radius:5px;background-color:#f5f5f5;-webkit-user-select:none;-moz-user-select:none;user-select:none}.splide__slider:after{content:"";position:absolute;top:-12px;right:0;bottom:-12px;left:0}.splide__slider-handle{position:absolute;left:0;top:0;bottom:0;width:30%;background-color:#313131;border-radius:5px;z-index:1}.splide__slider-handle:after{content:"";position:absolute;top:-12px;right:0;bottom:-12px;left:0}.splide:not(.is-initialized){visibility:visible}.splide:not(.is-initialized) .splide__track{padding-right:15%}.splide:not(.is-initialized) .splide__list{gap:8px}.splide:not(.is-initialized) .splide__slide{flex:0 0 100%}.splide:not(.is-initialized) .splide__slide:nth-child(n+3){display:none}@media only screen and (min-width:425px){.splide:not(.is-initialized) .splide__slide{flex:0 0 calc(50% - 4px)}.splide:not(.is-initialized) .splide__slide:nth-child(n+3){display:block}.splide:not(.is-initialized) .splide__slide:nth-child(n+4){display:none}}@media only screen and (min-width:768px){.splide:not(.is-initialized) .splide__track{padding-right:0}.splide:not(.is-initialized) .splide__list{gap:16px}.splide:not(.is-initialized) .splide__slide{flex:0 0 calc(33.33% - 10.67px)}.splide:not(.is-initialized) .splide__slide:nth-child(n+4){display:none}}@media only screen and (min-width:1024px){.splide:not(.is-initialized) .splide__slide{flex:0 0 calc(25% - 12px)}.splide:not(.is-initialized) .splide__slide:nth-child(n+4){display:block}.splide:not(.is-initialized) .splide__slide:nth-child(n+5){display:none}}</style><div class="splide" hidden role="group"><div class="header"><h2></h2></div><div class="carousel"></div><div class="splide__footer"><div class="splide__slider"><div class="splide__slider-handle"></div></div><div class="splide__arrows"><button aria-label="Previous" class="splide__arrow splide__arrow--prev"><svg role="presentation" xmlns="http://www.w3.org/2000/svg" width="19" height="18" viewBox="0 0 19 18" fill="none"><path d="M4.25 9H14.75" stroke="#313131" stroke-linecap="round" stroke-linejoin="round"/><path d="M9.5 14.25L14.75 9L9.5 3.75" stroke="#313131" stroke-linecap="round" stroke-linejoin="round"/></svg></button><button aria-label="Next" class="splide__arrow splide__arrow--next"><svg role="presentation" xmlns="http://www.w3.org/2000/svg" width="19" height="18" viewBox="0 0 19 18" fill="none"><path d="M4.25 9H14.75" stroke="#313131" stroke-linecap="round" stroke-linejoin="round"/><path d="M9.5 14.25L14.75 9L9.5 3.75" stroke="#313131" stroke-linecap="round" stroke-linejoin="round"/></svg></button></div></div></div>')}onIntersected(e){e[0].isIntersecting&&(this.observer.disconnect(),this.fetchProductSlides().then(this.renderBound).c
1atch(console.warn))}async fetchProductSlides(){this.content=await async function(i){const t=new URL(i.url,location.origin);let n,s;i.product_id&&t.searchParams.set("product_id",i.product_id),i.section_id&&t.searchParams.set("section_id",i.section_id),i.intent&&t.searchParams.set("intent",i.intent);try{n=await fetch(t.href)}catch(n){throw e(n,"input",i),e(n,"url",t.href),n}if(!n.ok){const t=new Error(`Received status ${n.status} fetching recommendations`);throw e(t,"code",n.status),e(t,"input",i),e(t,"url",n.url),t}try{s=await n.text()}catch(t){throw e(t,"input",i),e(t,"status",n.status),e(t,"url",n.url),t}return s}({intent:this.dataset.intent,product_id:this.dataset.productId,section_id:this.dataset.sectionId,url:this.dataset.url})}render(){if(!this.isConnected)return;if(this.splide)return;const e=this.shadowRoot.querySelector("h2");this.dataset.title?e.textContent=this.dataset.title:"related"===this.dataset.intent?e.textContent="You may also like":e.textContent="Pair it with";this.shadowRoot.querySelector(".carousel").innerHTML=this.content;const i=this.shadowRoot.querySelector("section");if(!i)return;i.classList.add("splide__track");const t=this.shadowRoot.querySelector(".splide");t.querySelectorAll(".splide__slide").length>0&&(t.hidden=!1),this.renderCarousel().catch(console.warn)}async renderCarousel(){const e=this.shadowRoot.querySelector(".splide"),n=await async function(){let e;for(let i=0;i<3;i++)try{const{Splide:e}=await t.e("lib_splidejs_index_ts").then(t.bind(t,"./lib/splidejs/index.ts"));return e}catch(i){e=i}throw e}();this.isConnected&&(this.splide=new n(e,{type:"slide",slidebar:!0,rewind:!1,arrows:!0,pagination:!1,perPage:1,perMove:1,gap:8,padding:{right:"15%"},keyboard:!0,mediaQuery:"min",breakpoints:{1024:{perPage:4,perMove:4},768:{perPage:3,perMove:3,gap:16,padding:0},425:{perPage:2,perMove:2}}}),this.splide.mount({splideA11yExtension:i,splideSlidebarExtension:l}),this.splide.refresh())}}customElements.get("product-recommendations")||customElements.define("product-recommendations",ProductRecommendations)}()}(); 2//# sourceMappingURL=product-recommendations-section-24afd0f143e3dd0f307a2ef320016825.map.json
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.