PageSourceSearch

https://www.eileenfisherrenew.com/cdn/shop/t/223/assets/overlay-sizes.js?v=81770663972985937061789498335

js eileenfisherrenew.com collected 2026-10-02 17:03:56 UTC 2,887 bytes, 13 lines download raw bytes

1class OverlaySizes extends HTMLElement{constructor(){super(),this.data=[],this.sizes=[],this.overlay=this.querySelector(".overlay-sizes"),this.menu=this.overlay.querySelector(".overlay-sizes__menu"),this.addEventListener("variants-ready",this.onMount.bind(this)),this.handleOverlaySizesHidden(),this.setupEventListeners()}connectedCallback(){this.setData()}onMount(){this.setSizes(),this.render()}setupEventListeners(){this.addEventListener("click",this.handleOverlaySizesDisplay),this.addEventListener("mouseover",this.handleOverlaySizesDisplay),this.addEventListener("mouseout",this.handleOverlaySizesHidden)}handleOverlaySizesDisplay=()=>{this.overlay&&(this.overlay.classList.remove("hidden"),this.overlay.setAttribute("aria-hidden",!1))};handleOverlaySizesHidden=()=>{this.overlay&&(this.overlay.classList.add("hidden"),this.overlay.setAttribute("aria-hidden",!0))};setData(){const data=JSON.parse(this.dataset.variants).availableVariants;if(!data||!data?.length)return;this.data=data.filter(variant=>variant.productId===`gid://shopify/Product/${this.dataset.productId}`);const event=new CustomEvent("variants-ready");this.dispatchEvent(event)}setSizes(){const sortedVariants=this.sortSizes(this.data),removedVariants=this.removeDuplicateSizes(sortedVariants),formattedSizes=this.formatSizes(removedVariants);this.sizes=formattedSizes}sortSizes(variants=[]){return variants.toSorted((a,b)=>{const aSizeRank=a.variant_data.size.rank,aConditionRank=a.variant_data.condition.rank,bSizeRank=b.variant_data.size.rank,bConditionRank=b.variant_data.condition.rank;return aSizeRank===bSizeRank?aConditionRank===bConditionRank?0:aConditionRank<bConditionRank?-1:1:aSizeRank<bSizeRank?-1:1})}removeDuplicateSizes(variants=[]){const unique=[];for(const variant of variants)unique.find(element=>element.variant_data.size.code===variant.variant_data.size.code)||unique.push(variant);return unique}formatSizes(variants=[]){return variants.map(variant=>{const formattedVariant={};return formattedVariant.handle=variant.handle,formattedVariant.display=variant.variant_data.size.display,formattedVariant.code=variant.variant_data.size.code,formattedVariant.rank=variant.variant_data.size.rank,formattedVariant.variantId=variant.variantId.split("/").slice(-1)[0],formattedVariant})}render(){if(!!this.menu.children.length)return;const sizes=this.sizes;let markup="";
1sizes&&sizes.forEach(size=>{markup+=`
2        <li>
3          <a
4            href="/products/${size.handle}/?variant=${size.variantId}"
5            class="overlay-sizes__size"
6            id="overlay-sizes__size-${size.code}"
7            role="menuitem"
8          >
9            ${size.display}
10          </a>
11        </li>
12        `}),this.menu.insertAdjacentHTML("beforeend",markup)}}customElements.define("overlay-sizes",OverlaySizes);
13//# sourceMappingURL=/cdn/shop/t/223/assets/overlay-sizes.js.map?v=81770663972985937061789498335

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.