1function isKlaviyoLockUnlocked(){const s=document.cookie.match(new RegExp("(^| )klaviyo_lock_code=([^;]+)")),e=window.__klaviyoLockCustomerSubscribed||!1;return!!(s||e)}class KlaviyoLockCard extends HTMLElement{constructor(){super()}connectedCallback(){if(isKlaviyoLockUnlocked()){this.remove();return}this.addEventListener("click",e=>{e.target.closest(".klaviyo-lock__button")&&(e.preventDefault(),document.dispatchEvent(new Event("klaviyo-lock:open")))}),document.addEventListener("klaviyo-lock:subscribed",()=>{this.remove()})}}class KlaviyoLockPopup extends HTMLElement{constructor(){super()}connectedCallback(){const e=new URLSearchParams(window.location.search).has("customer_posted");if(isKlaviyoLockUnlocked()&&e){this.classList.remove("hidden"),this.showConfirmation(),this.setupCloseButtons(),window.history.replaceState({},"",window.location.pathname+window.location.hash);return}if(isKlaviyoLockUnlocked()){this.remove();return}this._autoOpened=!1,this.addEventListener("click",t=>{t.target.closest(".klaviyo-lock__submit-btn")&&this.handleSubmit()}),this.addEventListener("input",t=>{if(t.target.closest(".klaviyo-lock__input")){const o=this.querySelector(".klaviyo-lock__error");o&&o.classList.add("hidden"),t.target.classList.remove("error")}}),this.setupCloseButtons(),document.addEventListener("klaviyo-lock:open",()=>this.open()),document.querySelector(".klaviyo-lock-auto-open")&&(this._autoOpened=!0,this.open())}setupCloseButtons(){this.addEventListener("click",e=>{(e.target.closest(".klaviyo-lock__close")||e.target.closest(".klaviyo-lock__access-btn"))&&this.close()})}open(){this.classList.remove("hidden")}close(){if(this._autoOpened&&!isKlaviyoLockUnlocked()){window.location.href="/";return}this.classList.add("hidden"),isKlaviyoLockUnlocked()&&(document.querySelectorAll("klaviyo-lock-content").forEach(e=>e.remove()),document.dispatchEvent(new Event("klaviyo-lock:subscribed")))}handleSubmit(){const e=this.querySelector("form"),t=this.querySelector(".klaviyo-lock__input"),o=this.querySelector(".klaviyo-lock__error");if(!e||!t)return;const i=t.value.trim();if(!i||!this.isValidEmail(i)){o&&o.classList.remove("hidden"),t.classList.add("error");return}document.cookie="klaviyo_lock_code=subscribed; path=/; max-age=2592000",e.submit()}showConfirmation(){const e=this.querySelector(".klaviyo-lock__form-view"),t=this.querySelector(".klaviyo-lock__confirmation");e&&e.classList.add("hidden"),t&&t.classList.remove("hidden")}isValidEmail(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}}customElements.define("klaviyo-lock-content",KlaviyoLockCard),customElements.define("klaviyo-lock-popup",KlaviyoLockPopup);
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.