PageSourceSearch

https://langehair.com/cdn/shop/t/7328/assets/notify-me-modal-section.min.js?v=2174172164772848531790891626

js langehair.com collected 2026-10-02 14:31:23 UTC 12,804 bytes, 2 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fdc723b5-1a5b-4dd3-921d-906b4638ae61",e._sentryDebugIdIdentifier="sentry-dbid-fdc723b5-1a5b-4dd3-921d-906b4638ae61")}catch(e){}}(),function(){"use strict";class AssertionError extends Error{constructor(e){void 0===e&&(e="Assertion error"),super(e),this.name=this.constructor.name}}function e(e){return/^[\w!#\$%&\'\*\+\/\=\?\^`\{\|\}~\-]+(:?\.[\w!#\$%&\'\*\+\/\=\?\^`\{\|\}~\-]+)*@(?:[a-z0-9](?:[a-z0-9\-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9\-]*[a-z0-9])?$/i.test(e)}class NotifyMeModal extends HTMLElement{onModalDisplayClickBound=this.onModalDisplayClick.bind(this);onFormSubmitBound=this.onFormSubmit.bind(this);onEmailInputBound=this.onEmailInput.bind(this);onEmailBlurBound=this.onEmailBlur.bind(this);validateEmailBound=this.validateEmail.bind(this);onCloseButtonClickBound=this.onCloseButtonClick.bind(this);onContinueButtonClickBound=this.onContinueButtonClick.bind(this);onModalDismissRequestedBound=this.onModalDismissRequested.bind(this);onClearButtonClickBound=this.onClearButtonClick.bind(this);connectedCallback(){this.initializeShadowRoot();const e=this.shadowRoot.querySelector(".email input");e.addEventListener("input",this.onEmailInputBound),e.addEventListener("blur",this.onEmailBlurBound);this.shadowRoot.querySelector(".before-submit form").addEventListener("submit",this.onFormSubmitBound);this.shadowRoot.querySelector('div[role="dialog"] > button').addEventListener("click",this.onCloseButtonClickBound);this.shadowRoot.querySelector(".clear").addEventListener("click",this.onClearButtonClickBound),addEventListener("notify-me-clicked",this.onModalDisplayClickBound)}disconnectedCallback(){removeEventListener("notify-me-clicked",this.onModalDisplayClickBound);const e=this.shadowRoot.querySelector(".email input");null==e||e.removeEventListener("input",this.onEmailInputBound),null==e||e.removeEventListener("blur",this.onEmailBlurBound);const t=this.shadowRoot.querySelector(".before-submit form");null==t||t.removeEventListener("submit",this.onFormSubmitBound);const o=this.shadowRoot.querySelector('div[role="dialog"] > button');null==o||o.removeEventListener("click",this.onCloseButtonClickBound);const i=this.shadowRoot.querySelector(".clear");null==i||i.removeEventListener("click",this.onClearButtonClickBound)}initializeShadowRoot(){this.shadowRoot||(this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML='<style>div[role=dialog]{box-sizing:border-box;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1000;background-color:#faf6f2;border:1px solid #767676;border-radius:10px;max-width:374px;max-height:600px;width:calc(100% - 32px);padding:56px 24px 40px;box-shadow:0 6px 4px rgba(0,0,0,.14)}@media only screen and (min-width:768px){div[role=dialog]{max-width:536px;padding:56px 100px 40px}}@media only screen and (min-width:1280px){div[role=dialog]{max-width:406px;padding:56px 36px 40px}}div[role=dialog] *,div[role=dialog] :after,div[role=dialog] :before{box-sizing:inherit;font-family:inherit}div[role=dialog]>button{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;cursor:pointer}div[role=dialog]>button:focus{outline:none}div[role=dialog]>button:focus-visible span{border:2px solid var(--focus-color,#265dc5)}div[role=dialog]>button span{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:32px;height:32px;border:1px solid #313131;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25)}div[role=dialog]>button svg{display:block;width:16px;height:16px}.content{display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.content h2{font-size:1.875rem;font-weight:400;margin:0}.content>div:first-of-type{width:100%;margin-top:32px}.after-submit>div,.content form{display:flex;flex-flow:column nowrap;justify-content:flex-start;align-items:flex-start}.content form{width:100%;position:relative}.after-submit>div>*,.content form>*{width:100%}.content form input,.content form label{display:block;width:100%}.content form .email{position:relative}.content form .email label{font-size:.875rem;font-weight:500}.content form .email label span{color:#931f3b}.content form .email input{font-size:.875rem;margin-top:8px;height:50px;padding:16px;outline:none}.content form .email input:focus{box-shadow:inset 0 0 0 2px var(--focus-color,#265dc5)}.content form .email input.error{border-color:transparent;box-shadow:0 0 0 1px #931f3b;color:#931f3b}.content form .email .check,.content form .email .clear{background-color:transparent;border:none;position:absolute;right:16px;bottom:16px;cursor:pointer}
1.content form .email .check{cursor:auto}.content form .marketing{position:relative;margin-top:12px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.content form .marketing input{width:auto;position:absolute;left:0}.content form .marketing label{text-indent:24px}.after-submit button,.content form button[type=submit]{cursor:pointer;margin-top:40px;font-size:.875rem;font-weight:700;height:50px;color:#fff;background-color:#1e1e1e;padding:8px}.content form .submit-error-message,.content form .validation-error-message{color:#931f3b;font-size:1rem;font-weight:600;position:absolute;bottom:58px;left:0;text-align:center}.content form .submit-error-message{font-size:.875rem;line-height:1.143;font-weight:500;padding:0 24px}.content>div+div{margin-top:16px}.content p{text-align:center;font-size:.875rem;font-weight:400}[hidden]{display:none}</style><div role="dialog" aria-modal="true" inert hidden aria-label="Notify Me Window"><button aria-label="Close"><span><svg role="presentation" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M3.99988 4L11.9999 12M11.9999 12L19.9999 20M11.9999 12L3.99988 20M11.9999 12L19.9999 4" stroke="#313131" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="bevel"/></svg></span></button><div class="content before-submit"><h2>Keep me updated.</h2><div><form><div class="email"><label for="email">Email<span>*</span></label><input type="email" id="email" autocomplete="email" spellcheck="false" autocapitalize="off" autocorrect="off" data-lp-ignore="true" required><button type="button" class="clear" hidden>&times;</button><span class="check" hidden><svg role="presentation" width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 4.24329L4.8314 8.125L11 1.875" stroke="black" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/></svg></span></div><div class="marketing"><input id="marketing-consent" type="checkbox"><label for="marketing-consent">Yes, notify me about other news, sales and offers too by email!*</label></div><span class="validation-error-message" role="alert" aria-live="assertive"></span><button type="submit">Notify Me</button><span class="submit-error-message" role="alert" aria-live="assertive"></span></form></div><div><slot name="disclaimer"></slot></div></div><div class="content after-submit" hidden aria-live="assertive"><h2>You\'re all set.</h2><div><p>If your product comes back in stock, we\'ll notify you by email.</p><button>Continue Shopping</button></div></div></div>')}onCloseButtonClick(e){this.closeModal()}onContinueButtonClick(e){this.closeModal()}onModalDismissRequested(e){this.closeModal()}closeModal(){const e=this.shadowRoot.querySelector('div[role="dialog"]');e.hidden=!0,e.inert=!0,removeEventListener("modal-dismiss-requested",this.onModalDismissRequestedBound),this.email="",this.productId=0,this.productTitle="",this.productUrl="",this.sku="",this.variantId=0,this.variantTitle="";const t=this.shadowRoot.querySelector(".email input");t.classList.remove("error"),t.value="";this.shadowRoot.querySelector(".validation-error-message").textContent="";this.shadowRoot.querySelector(".submit-error-message").textContent="";this.shadowRoot.querySelector(".clear").hidden=!0;this.shadowRoot.querySelector(".check").hidden=!0;const o=new Event("modal-close-requested",{bubbles:!0,composed:!0});e.dispatchEvent(o)}onEmailInput(e){if(e.currentTarget instanceof HTMLInputElement){this.shadowRoot.querySelector(".validation-error-message").textContent="",e.currentTarget.classList.remove("error"),clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout(this.validateEmailBound,500)}}onEmailBlur(e){this.validateEmail()}validateEmail(){const t=this.shadowRoot.querySelector(".email input"),o=t.value.trim(),i=this.shadowRoot.querySelector(".validation-error-message"),n=this.shadowRoot.querySelector(".clear"),r=this.shadowRoot.querySelector(".check");e(o)?(i.textContent="",t.classList.remove("error"),n.hidden=!0,r.hidden=!1):(i.textContent="Please enter valid email.",t.classList.add("error"),r.hidden=!0,""===t.value?n.hidden=!0:n.hidden=!1)}onClearButtonClick(e){this.shadowRoot.querySelector(".email input").value="";this.shadowRoot.querySelector(".clear").hidden=!0}onModalDisplayClick(e){this.email=e.detail.email,this.productId=e.detail.productId,this.productTitle=e.detail.productTitle,this.productUrl=e.detail.productUrl,this.sku=e.detail.sku,this.variantId=e.detail.variantId,this.variantTitle=e.detail.variantTitle,this.renderFirstView();const t=this.shadowRoot.querySelector('div[role="dialog"]');t.inert=!1,t.hidden=!1,addEventListener("modal-dismiss-requested",this.onModalDismissRequestedBound);const o=new Event("modal-show-requested",{bubbles:!0,composed:!0});t.dispatchEvent(o);this.shadowRoot.querySelector(".email input").focus()}renderFirstView(){this.shadowRoot.querySelector(".before-submit").hidden=!1;this.shadowRoot.querySelector(".after-submit").hidden=!0;const e=this.shadowRoot.querySelector(".email input");!e.value&&this.email&&(e.value=this.email),e.focus()}async subscribe(){const t=this.shadowRoot.querySelector(".email input"),o=this.shadowRoot.querySelector("#marketing-consent"),i=this.shadowRoot.querySelector(".submit-error-message");if(i.textContent="",this.email=t.value.trim(),!e(this.email))return void(i.textContent="Invalid email address");const n={acceptsMarketing:!!o.checked,currency_code:this.dataset.currencyCode,email:this.email,productId:this.productId,productTitle:this.productTitle,productUrl:this.productUrl,sku:this.sku,variantId:this.variantId,variantTitle:this.variantTitle};o.checked=!1;const r=await this.submitSubscribe(n);if("OK"===r.status)i.textContent="",t.value="",this.renderSecondView();else{const e=function(e){var t,o;if(Array.isArray(null==(t=e.errors)?void 0:t.base)&&e.errors.base.length>0&&"string"==typeof e.errors.base[0]&&e.errors.base[0].length>0)return e.errors.base[0];if(Array.isArray(null==(o=e.errors)?void 0:o.email)&&e.errors.email.length>0&&"string"==typeof e.errors.email[0]&&e.errors.email[0].length)return e.errors.email.join("\n")}(r);e?(i.textContent=e,setTimeout((()=>i.textContent=""),5e3)):(i.textContent="Uh oh! Something went wrong. Please try again later.",console.warn("Unexpected Back in Stock response body",r))}}onFormSubmit(e){e.preventDefault(),this.subscribe().catch(console.warn)}renderSecondView(){this.shadowRoot.querySelector(".before-submit").hidden=!0;this.shadowRoot.querySelector(".after-submit").hidden=!1;const e=this.shadowRoot.querySelector(".after-submit button");e.addEventListener("click",this.onContinueButtonClickBound),e.focus({focusVisible:!0})}async submitSubscribe(e){if("string"!=typeof e.email||0===e.email.length)return{status:"Error",errors:{base:["Invalid email address"]}};const t={accepts_marketing:e.acceptsMarketing?e.acceptsMarketing:void 0};let o;try{o=await async function(e,t,o,i){var n;return function(e,t){if(!e)throw new AssertionError(t)}("function"==typeof(null==(n=window.BIS)?void 0:n.create),"BIS.create is not a function"),window.BIS.create(e,t,o,i)}(e.email,e.variantId,e.productId,t)}catch(e){return{status:"Error",errors:{base:["Uh oh! Something went wrong. Please try again later."]}}}const i="Default Title"===e.variantTitle?e.productTitle:`${e.productTitle} - ${e.variantTitle}`,n=new CustomEvent("form-submit",{bubbles:!0,composed:!0,detail:{currency_code:e.currency_code,email_provided:!!e.email,form_name:i,form_location:location.href,form_type:"back-in-stock",phone_provided:!1}});if(this.dispatchEvent(n),e.email){const t=new CustomEvent("identity-captured",{bubbles:!0,composed:!0,detail:{email:e.email}});this.dispatchEvent(t)}return o}}customElements.get("notify-me-modal")||customElements.define("notify-me-modal",NotifyMeModal)}();
2//# sourceMappingURL=notify-me-modal-section-034156069dd8ce0bd003bb2d26634e36.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.