PageSourceSearch

https://www.alpinestars.com/cdn/shop/t/196/assets/klaviyo-bis-dialog.js?v=125402831962841007641788186482

js alpinestars.com collected 2026-10-02 05:47:16 UTC 3,528 bytes, 2 lines download raw bytes

1import{DialogComponent,DialogCloseEvent}from"@theme/dialog";import klaviyo from"@theme/klaviyo";import{getVisibleRegionLabel}from"@theme/utilities";export class KlaviyoBisDialog extends DialogComponent{#variantId=null;#productTitle="";#sizePickTimeout=null;connectedCallback(){super.connectedCallback();const{form,sizeGrid}=this.refs;form?.addEventListener("submit",this.#handleSubmit),sizeGrid?.addEventListener("click",this.#handleSizeGridClick),this.addEventListener(DialogCloseEvent.eventName,this.#cancelPendingSizePick)}openForVariant({variantId,productTitle,variantTitle}){this.#cancelPendingSizePick(),this.#variantId=String(variantId),this.#productTitle=productTitle||"",this.#showEmailStep(variantTitle||""),this.showDialog(),requestAnimationFrame(()=>this.refs.emailInput?.focus())}openForSizeSelection({productTitle,sizeGrid:newSizeGrid}){this.#cancelPendingSizePick(),this.#variantId=null,this.#productTitle=productTitle||"";const{productHeading,sizeGrid,sizeStep,emailStep}=this.refs;productHeading&&(productHeading.textContent=this.#productTitle),sizeGrid&&newSizeGrid&&sizeGrid.replaceChildren(newSizeGrid),sizeStep?.removeAttribute("hidden"),emailStep?.setAttribute("hidden",""),this.showDialog()}#handleSizeGridClick=event=>{const target=event.target instanceof Element?event.target.closest("[data-variant-id]"):null;if(!(target instanceof HTMLElement))return;const variantId=target.getAttribute("data-variant-id");if(!variantId)return;const{sizeGrid}=this.refs;if(sizeGrid)for(const item of sizeGrid.querySelectorAll(".variant-option__grid-item"))item.classList.toggle("is-selected",item===target),item.setAttribute("aria-selected",item===target?"true":"false");const variantTitle=getVisibleRegionLabel(target,target.getAttribute("data-variant-title")||"");this.#cancelPendingSizePick(),this.#sizePickTimeout=setTimeout(()=>{this.#sizePickTimeout=null,this.#variantId=variantId,this.#showEmailStep(variantTitle),requestAnimationFrame(()=>this.refs.emailInput?.focus())},250)};#cancelPendingSizePick=()=>{this.#sizePickTimeout!=null&&(clearTimeout(this.#sizePickTimeout),this.#sizePickTimeout=null)};#showEmailStep(variantTitle){const{productHeading,variantSubtitle,sizeStep,emailStep}=this.refs;productHeading&&(productHeading.textContent=this.#productTitle),variantSubtitle&&(variantSubtitle.textContent=variantTitle),this.#setStatus(""),sizeStep?.setAttribute("hidden",""),emailStep?.removeAttribute("hidden")}#handleSubmit=async event=>{if(event.preventDefault(),!this.#variantId)return;const{emailInput,optinCheckbox,form}=this.refs,email=emailInput?.value.trim()??"",optin=!!optinCheckbox?.checked;this.#setBusy(!0),this.#setStatus("");try{if(await klaviyo.createClientBackInStockSubscription({email,variantId:this.#variantId}),optin)try{await klaviyo.createClientSubscription({email})}catch{}this.#setStatus(this.dataset.successText||"You are on the list!","success"),form?.reset()}catch(err){const message=err instanceof Error?err.message:void 0;this.#setStatus(message||this.dataset.errorText||"Subscription failed.","error")}finally{this.#setBusy(!1)}};#setBusy(busy){this.toggleAttribute("busy",busy);const{submitButton}=this.refs;submitButton&&(submitButton.disabled=busy)}#setStatus(text,variant=""){const{status}=this.refs;status&&(status.textContent=text,status.dataset.variant=variant)}}customElements.get("klaviyo-bis-dialog")||customElements.define("klaviyo-bis-dialog",KlaviyoBisDialog);
2//# sourceMappingURL=/cdn/shop/t/196/assets/klaviyo-bis-dialog.js.map?v=125402831962841007641788186482

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.