PageSourceSearch

https://thepoopcoffee.com/cdn/shop/t/20/assets/variant-picker.min.js?v=136606433664096189681786805834

js thepoopcoffee.com collected 2026-10-06 15:07:56 UTC 16,962 bytes, 1 lines download raw bytes

1(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(e){var i=function(e,i){if("object"!==t(e)||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var s=a.call(e,i||"default");if("object"!==t(s))return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===i?String:Number)(e)}(e,"string");return"symbol"===t(i)?i:String(i)}function i(t,i,a){return(i=e(i))in t?Object.defineProperty(t,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[i]=a,t}function a(t,e){return s(t),function(t){if(Array.isArray(t)&&"object"==typeof t[0])throw new Error(t+"is not a valid array of options.")}(e),t.variants.filter((function(t){return e.every((function(e,i){return t.options[i]===e}))}))[0]||null}function s(t){if("object"!=typeof t)throw new TypeError(t+" is not an object.");if(0===Object.keys(t).length&&t.constructor===Object)throw new Error(t+" is empty.")}function r(t,e){if(null===e)return t;if("master"===e)return n(t);const i=t.match(/\.(jpg|jpeg|gif|png|bmp|bitmap|tiff|tif)(\?v=\d+)?$/i);if(i){const a=t.split(i[0]),s=i[0];return n(`${a[0]}_${e}${s}`)}return null}function n(t){return t.replace(/http(s)?:/,"")}if(!customElements.get("variant-picker")){class t extends HTMLElement{constructor(){super(),i(this,"_getBaseUnit",(()=>1===this.currentVariant.unit_price_measurement.reference_value?this.currentVariant.unit_price_measurement.reference_unit:this.currentVariant.unit_price_measurement.reference_value+this.currentVariant.unit_price_measurement.reference_unit)),i(this,"hideSoldOutAndUnavailableOptions",(()=>{const t="variant-picker__option--soldout",e="variant-picker__option--unavailable",i=this.currentVariant,{optionNodes:s}=this.domNodes,{productData:r,productData:{variants:n,options:{length:o}}}=this;s.forEach((s=>{const{optionPosition:d,value:l}=s.dataset,u=Number(d),c="OPTION"===s.tagName;let h=[];if(u===o){const t=Array.from(i.options);t[o-1]=l,h.push(a(r,t))}else h=n.filter((t=>t.options[u-1]===l&&t.options[u-2]===i["option"+(u-1)]));if(h=h.filter(Boolean),h.length){s.classList.remove(e),c&&s.removeAttribute("disabled");const i=h.every((t=>!1===t.available))?"add":"remove";s.classList[i](t)}else s.classList.add(e),c&&s.setAttribute("disabled","true")}))})),this.selectors={container:"[data-variant-picker]",productInfo:".sf-prod__info",error:".prod__form-error",variantIdInput:'[name="id"]',pickerFields:["[data-picker-field]"],optionNodes:[".variant-picker__option"],productSku:"[data-variant-sku]",productAvailability:"[data-availability]",shareUrlInput:"[data-share-url]",stockCountdown:".prod__stock-countdown",productWrapper:".sf-product-wrapper"},this.container=this.closest(this.selectors.container),this.productWrapper=this.closest(this.selectors.productWrapper),this.productInfo=this.closest(this.selectors.productInfo),this.domNodes=queryDomNodes(this.selectors,this.productInfo)}connectedCallback(){this.setupData()}async setupData(){var t,e;let i=(window._themeProducts||{})[this.container.dataset.productId];this.productId=this.container.dataset.productId,this.sectionId=this.container.dataset.section,this.productUrl=this.container.dataset.productUrl,this.productHandle=this.container.dataset.productHandle,this.section=this.container.closest(`[data-section-id="${this.sectionId}"]`),this.variantData=this.getVariantData(),this.productData=Object.assign(await this.getProductJson(),i),this.showFeaturedMedia="true"===this.dataset.showFeaturedMedia,this.enableVariantGroupImages="true"===this.container.dataset.enableVariantGroupImages,this.enableVariantGroupImages&&(this.variantGroupImages=this.getVariantGroupImageData());const a=null===(t=this.section)||void 0===t?void 0:t.querySelector(this.selectors.variantIdInput).value;this.currentVariant=this.productData.variants.find((t=>t.id===Number(a))),this.productData.current_variant_id=null===(e=this.currentVariant)||void 0===e?void 0:e.id,this.productData.initialVariant=this.currentVariant,this.currentVariant&&(this.getDataImageVariant(this.currentVariant.id),this.hideSoldOutAndUnavailableOptions(),this.updateStockCountdownByVariant(this.currentVariant),this.updateButton(!this.currentVariant.available,"",!1)),this.getMediaGallery(),document.addEventListener("matchMobile",(()=>{this.getMediaGallery()})),document.addEventListener("unmatchMobile",(()=>{this.getMediaGallery()})),this.initOptionSwatches(),this.addEventListener("change",this.onVariantChange)}getMediaGallery(){this.mediaGallery=this.section.querySelectorAll("media-gallery"),this.check=setInterval((()=>{var t;this.mediaGallery&&(null===(t=this.mediaGallery)||void 0===t||t.forEach((t=>{if("none"!==window.getComputedStyle(t).display){var e,i,a;if(clearInterval(this.check),this.layout=t.layout,this.media=t,"slider"===t.mediaMode)this.slides=null===(i=t.slider)||void 0===i?void 0:i.slides,this.slidesNav=null===(a=t.navSlider)||void 0===a?void 0:a.slides;else this.mediaItems=t.querySelectorAll(".sf-prod-media-item");
1(!this.showFeaturedMedia||this.enableVariantGroupImages&&null!==(e=this.variantGroupImages)&&void 0!==e&&e.enable)&&this.updateMedia()}})))}),100)}onVariantChange(){this.getSelectedOptions(),this.getSelectedVariant(),this.updateButton(!0,"",!1),this.updatePickupAvailability(),this.removeErrorMessage(),this.currentVariant?(this.getDataImageVariant(this.currentVariant.id),this.updateMedia(),this.updateBrowserHistory(),this.updateVariantInput(),this.updateProductMeta(),this.updatePrice(),this.updateButton(!this.currentVariant.available,window.MinimogStrings.soldOut),this.hideSoldOutAndUnavailableOptions(),this.updateStockCountdownByVariant(this.currentVariant)):(this.updateButton(!0,"",!0),this.setUnavailable()),window.MinimogEvents.emit(`${this.productId}__VARIANT_CHANGE`,this.currentVariant,this)}getDataImageVariant(t){var e,i;this.variantGroupImages&&this.variantGroupImages.enable&&(this.currentVariantMedia=null===(e=this.variantGroupImages)||void 0===e||null===(i=e.mapping.find((e=>Number(e.id)===t)))||void 0===i?void 0:i.media)}getProductJson(){return fetch(this.productUrl+".js").then((function(t){return t.json()}))}getSelectedVariant(){let t=a(this.productData,this.options),e=[...this.options];var i;t||(e.pop(),t=a(this.productData,e),t||(e.pop(),t=a(this.productData,e)),this.options=[...null===(i=t)||void 0===i?void 0:i.options],this.updateSelectedOptions());this.currentVariant=t}getSelectedOptions(){const t=Array.from(this.querySelectorAll("[data-picker-field]"));this.options=t.map((t=>{var e,i;return"radio"===t.dataset.pickerField?null===(e=Array.from(t.querySelectorAll("input")).find((t=>t.checked)))||void 0===e?void 0:e.value:null===(i=t.querySelector("select"))||void 0===i?void 0:i.value}))}updateSelectedOptions(){this.domNodes.pickerFields.forEach(((t,e)=>{if(t.dataset.selectedValue!==this.options[e]){const i=t.querySelector(`input[value="${this.options[e]}"]`);i&&(i.checked=!0,t.updateSelectedValue())}}))}updateMedia(){var t,e,i;if(!this.currentVariant)return;let a=[],s=[],r=0,n=0,o=0,d=0;if(this.variantGroupImages&&this.variantGroupImages.enable)if("slider"===this.media.mediaMode){var l,u,c,h,p,v,m,f,y,g,b;if(null===(l=this.slides)||void 0===l||l.forEach((t=>{var e;const i=null===(e=t.querySelector("[data-media-id]"))||void 0===e?void 0:e.dataset.mediaId;this.currentVariantMedia.length>0?(this.currentVariantMedia.includes(i)&&(t.dataset.swiperSlideIndex=r++,t.dataset.index=n++,"0"===t.dataset.swiperSlideIndex&&t.classList.add("swiper-slide-active"),a.push(t)),t.classList.contains("media-type-image")||(t.dataset.swiperSlideIndex=r++,t.dataset.index=n++,a.push(t))):(t.dataset.swiperSlideIndex=r++,t.dataset.index=n++,a.push(t))})),null===(u=this.media.slider)||void 0===u||u.removeAllSlides(),null===(c=this.media.slider)||void 0===c||c.appendSlide(a),"layout-7"==this.layout)null===(g=this.media.slider)||void 0===g||g.slideToLoop(1);else null===(b=this.media.slider)||void 0===b||b.slideToLoop(0);null===(h=this.media)||void 0===h||h.handleSlideChange(),null===(p=this.slidesNav)||void 0===p||p.forEach((t=>{var e;const i=null===(e=t.querySelector("[data-media-id]"))||void 0===e?void 0:e.dataset.mediaId;this.currentVariantMedia.length>0?(this.currentVariantMedia.includes(i)&&(t.dataset.swiperSlideIndex=o++,t.dataset.index=d++,"0"===t.dataset.swiperSlideIndex&&t.classList.add("swiper-slide-thumb-active"),s.push(t)),t.classList.contains("media-type-image")||(t.dataset.swiperSlideIndex=o++,t.dataset.index=d++,s.push(t))):(t.dataset.swiperSlideIndex=o++,t.dataset.index=d++,t.classList.remove("swiper-slide-thumb-active"),"0"===t.dataset.swiperSlideIndex&&t.classList.add("swiper-slide-thumb-active"),s.push(t))})),null===(v=this.media.navSlider)||void 0===v||v.removeAllSlides(),null===(m=this.media.navSlider)||void 0===m||m.appendSlide(s),null===(f=this.media.navSlider)||void 0===f||f.slideToLoop(0),null===(y=this.media)||void 0===y||y.removeAttribute("data-media-loading"),this.media.firstElementChild.style.opacity=1}else{var S,w,I;let t=0;const e=null===(S=this.media)||void 0===S?void 0:S.querySelector(".sf__product-media-lists");
1null===(w=this.mediaItems)||void 0===w||w.forEach((i=>{var s;const r=null===(s=i.querySelector("[data-media-id]"))||void 0===s?void 0:s.dataset.mediaId;this.currentVariantMedia.length>0?(this.currentVariantMedia.includes(r)&&(i.dataset.index=t++,a.push(i)),i.classList.contains("media-type-image")||(i.dataset.index=t++,a.push(i))):(i.dataset.index=t++,a.push(i)),e.innerHTML="",a.forEach((t=>{if("layout-2"==this.layout){t.classList.remove("col-span-2");0==t.dataset.index%3&&t.classList.add("col-span-2")}e.append(t)}))})),null===(I=this.media)||void 0===I||I.removeAttribute("data-media-loading"),this.media.firstElementChild.style.opacity=1}else{var V,_,M;parseInt(null==this||null===(V=this.media)||void 0===V||null===(_=V.dataset)||void 0===_?void 0:_.mediaSize)>0&&(null===(M=this.media)||void 0===M||M.setActiveMedia(this.currentVariant))}const L=[];a.length>0&&a.forEach(((t,e)=>{if("image"===t.dataset.mediaType){const e=t.querySelector(".sf-prod-media").dataset;L.push({src:e.mediaSrc,width:parseInt(e.mediaWidth),height:parseInt(e.mediaHeight),alt:e.mediaAlt,id:t.dataset.index})}else L.push({html:`<div class="pswp__${t.dataset.mediaType}">${t.innerHTML}</div>`,type:t.dataset.mediaType,id:t.dataset.index})})),this.media&&this.media.lightbox&&(null===(t=this.media)||void 0===t||t.lightbox.destroy()),null===(e=this.media)||void 0===e||e.handlePhotoswipe(L),null===(i=this.media)||void 0===i||i.initPhotoswipe()}updateBrowserHistory(){this.currentVariant&&"false"!==this.dataset.updateUrl&&window.history.replaceState({},"",`${this.productUrl}?variant=${this.currentVariant.id}`)}updateVariantInput(){document.querySelectorAll(`#product-form-${this.sectionId}, #product-form-installment`).forEach((t=>{const e=t.querySelector(this.selectors.variantIdInput);e.value=this.currentVariant.id,e.dispatchEvent(new Event("change",{bubbles:!0}))}))}updatePickupAvailability(){var t;const e=null===(t=this.section)||void 0===t?void 0:t.querySelector("pickup-availability");e&&(this.currentVariant&&this.currentVariant.available?e.fetchAvailability(this.currentVariant.id):(e.removeAttribute("available"),e.innerHTML=""))}removeErrorMessage(){const t=this.closest("section");if(!t)return;const e=t.querySelector("product-form");e&&e.handleErrorMessage()}updatePrice(){const t="f-price--on-sale",e="f-price--sold-out",i=window.MinimogSettings.money_format,{priceWrapper:a,salePrice:s,unitPrice:r,compareAtPrice:n,saleBadge:o,saleAmount:d}=queryDomNodes({priceWrapper:".f-price",salePrice:".f-price-item--sale",compareAtPrice:[".f-price-item--regular"],unitPrice:".f-price__unit",saleBadge:".f-price__badge-sale",saleAmount:"[data-saved-price]"},this.productInfo),{compare_at_price:l,price:u,unit_price_measurement:c}=this.currentVariant,h=l&&l>u,p=!this.currentVariant.available;if(h?null==a||a.classList.add(t):null==a||a.classList.remove(t),p?null==a||a.classList.add(e):null==a||a.classList.remove(e),a&&a.classList.remove("visibility-hidden"),s&&(s.innerHTML=formatMoney(u,i)),null!=n&&n.length&&l>u?n.forEach((t=>t.innerHTML=formatMoney(l,i))):n.forEach((t=>t.innerHTML=formatMoney(u,i))),o&&l>u){let t;const e=100*(l-u)/l;t=Math.round(e)+"%",d.textContent=t}if(c&&r){r.classList.remove("f-hidden");const t=`<span>${formatMoney(this.currentVariant.unit_price,i)}</span>/<span data-unit-price-base-unit>${this._getBaseUnit()}</span>`;r.innerHTML=t}else null==r||r.classList.add("f-hidden")}updateButton(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1?arguments[1]:void 0;const i=document.querySelectorAll(`.product-form-${this.sectionId}`);i&&i.forEach((i=>{const a=i.querySelector('[name="add"]'),s=i.querySelector(".prod__dynamic_checkout"),r=i.querySelector('[name="add"] > span.atc-text');i.dataset.preorder;var n,o,d,l;a&&(t?(a.setAttribute("disabled","disabled"),a.classList.add("disabled"),null==s||null===(n=s.classList)||void 0===n||null===(o=n.add)||void 0===o||o.call(n,"disabled"),e&&(r.textContent=e)):(a.removeAttribute("disabled"),a.classList.remove("disabled"),null==s||null===(d=s.classList)||void 0===d||null===(l=d.remove)||void 0===l||l.call(d,"disabled"),r.textContent=window.MinimogStrings.addToCart))}))}updateProductMeta(){var t,e;const{available:i,sku:a}=this.currentVariant,{inStock:s,outOfStock:r}=window.MinimogStrings,n=null===(t=this.section)||void 0===t?void 0:t.querySelector(this.selectors.productAvailability),o=null===(e=this.section)||void 0===e?void 0:e.querySelector(this.selectors.productSku);if(o&&(o.textContent=a||"N/A"),n){const t=i?"remove":"add";n.textContent=i?s:r,n.classList[t]("prod__availability--outofstock")}}setUnavailable(){const t=document.getElementById(`product-form-${this.sectionId}`),e=t.querySelector('[name="add"]'),i=t.querySelector('[name="add"] > span.atc-text'),a=this.section.querySelector(".f-price");e&&(i.textContent=window.MinimogStrings.unavailable,a&&a.classList.add("visibility-hidden"))}updateStockCountdownByVariant(t){const{stockCountdown:e}=this.domNodes;if(e){var i,a;const s=t.available?"remove":"add";if(null==e||null===(i=e.classList)||void 0===i||null===(a=i[s])||void 0===a||a.call(i,"hidden"),"use_quantity"===e.dataset.countdownType){const i=e.querySelector("[data-countdown-number]");i&&(i.textContent=t.inventory_quantity>0?t.inventory_quantity:t.id.toString().split("")[13]- -1)}}}getVariantData(){return this.variantData=this.variantData||JSON.parse(this.container.querySelector('#productVariants[type="application/json"]').textContent),this.variantData}getVariantGroupImageData(){return this.variantGroupImages=this.variantGroupImages||JSON.parse(this.container.querySelector('#variantGroup[type="application/json"]').textContent),this.variantGroupImages}initOptionSwatches(){const{_colorSwatches:t=[],_imageSwatches:e=[]}=window.MinimogSettings;
1this.domNodes.optionNodes.forEach((i=>{var a,s,n,o,d;const{optionType:l,optionPosition:u,value:c}=null==i?void 0:i.dataset,h=null==c?void 0:c.toLowerCase(),p=this.variantData.find((t=>t[`option${u}`]===c)),v=null!=p&&null!==(a=p.featured_image)&&void 0!==a&&a.src?r(null==p||null===(s=p.featured_image)||void 0===s?void 0:s.src,"100x"):"",m=null===(n=e.find((t=>t.key===h)))||void 0===n?void 0:n.value,f=null===(o=t.find((t=>t.key===h)))||void 0===o?void 0:o.value;switch((v||m)&&(null===(d=i.querySelector("label"))||void 0===d||d.classList.add("has-bg-img")),l){case"default":i.querySelector("label").style.backgroundImage=`url(${m||v||""})`;break;case"image":i.querySelector("label").style.backgroundImage=`url(${v||m||""})`;break;case"color":i.querySelector("label").style.backgroundColor=f||h,m&&(i.querySelector("label").style.backgroundImage=`url(${m})`)}}))}}customElements.define("variant-picker",t)}if(!customElements.get("variant-button")){class t extends HTMLElement{constructor(){super(),this.selectedSpan=this.querySelector(".selected-value"),this.addEventListener("change",this.updateSelectedValue)}updateSelectedValue(){this.value=Array.from(this.querySelectorAll("input")).find((t=>t.checked)).value,this.setAttribute("data-selected-value",this.value),this.selectedSpan&&(this.selectedSpan.textContent=this.value)}}if(customElements.define("variant-button",t),!customElements.get("variant-select")){class e extends t{constructor(){super()}updateSelectedValue(){this.value=this.querySelector("select").value,this.setAttribute("data-selected-value",this.value),this.selectedSpan&&(this.selectedSpan.textContent=this.value)}}customElements.define("variant-select",e)}if(!customElements.get("variant-image")){class e extends t{constructor(){super()}}customElements.define("variant-image",e)}if(!customElements.get("variant-color")){class e extends t{constructor(){super()}}customElements.define("variant-color",e)}}})();

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.