&e instanceof Request)t=e.url;else if("function"==typeof e?.toString)t=e.toString();else throw Error("Unsupported type for url");try{return new URL(t).pathname}catch{return(r=t.replace(/#.+/gi,"").split("?").shift()).startsWith("/")?r:`/${r}`}}(e));return o&&t.some(e=>o.includes(e))&&(r=!1),r}let d=["true","new","b","enabled"],y=(e,t)=>d.includes(`${e[t]}`.toLowerCase());performance.mark("overrideGlobals started");let{experiments:b}=window.viewerModel,h=y(b,"specs.thunderbolt.securityExperiments");try{let e,t,r,n,i,l=globalThis.open,d=document.open;function v(e,t,r){var o;let n="string"!=typeof e,i=l.call(window,e,t,r);return n||e&&((o=e).startsWith("//")&&/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/g.test(`${location.protocol}:${o}`)&&(o=`${location.protocol}${o}`),!o.startsWith("http")||new URL(o).hostname===location.hostname)?{}:i}o({property:"open",value:v,context:globalThis,enumerable:!0}),o({property:"open",value:function(e,t,r){return e?v(e,t,r):d.call(document,e||"",t||"",r||"")},context:document,enumerable:!0}),h&&(e=document.createElement,t=Element.prototype.setAttribute,r=Element.prototype.setAttributeNS,o({property:"createElement",context:document,value:function(n,i){let c=e.call(document,n,i);return"iframe"===s(n)&&(o({property:"srcdoc",context:c,get:()=>"",set:()=>{console.warn("`srcdoc` is not allowed in iframe elements.")}}),c.setAttribute=function(e,r){"srcdoc"===e.toLowerCase()?console.warn("`srcdoc` attribute is not allowed to be set."):t.call(c,e,r)},c.setAttributeNS=function(e,t,o){"srcdoc"===t.toLowerCase()?console.warn("`srcdoc` attribute is not allowed to be set."):r.call(c,e,t,o)}),c},enumerable:!0})),y(b,"specs.thunderbolt.hardenFetchAndXHR")&&h&&function(e,t,r){let n=fetch,i=XMLHttpRequest,c=new Set(t);function a(){let t=new i,o=t.open,n=t.setRequestHeader;return t.open=function(){let n=Array.from(arguments),i=n[1];if(n.length<2||f(i,e))return o.apply(t,n);throw Error(r||`Request not allowed for path ${i}`)},t.setRequestHeader=function(e,r){p(decodeURIComponent(e),c)&&n.call(t,e,r)},t}o({property:"fetch",value:function(){var t;let o=(t=arguments,globalThis.Request&&t[0]instanceof Request&&t[0]?.headers?u(t[0].headers,c):t[1]?.headers&&u(t[1].headers,c),t);return f(arguments[0],e)?n.apply(globalThis,Array.from(o)):new Promise((e,t)=>{let o=Error(r||`Request not allowed for path ${arguments[0]}`);t(o)})},enumerable:!0}),o({property:"XMLHttpRequest",value:a,enumerable:!0}),Object.keys(i).forEach(e=>{a[e]=i[e]})}(["/_api/v1/access-tokens","/_api/v2/dynamicmodel","/_api/one-app-session-web/v3/businesses"],["client-binding"]),function(){if(navigator&&"serviceWorker"in navigator)navigator.serviceWorker.register,o({context:navigator.serviceWorker,property:"register",value:function(){console.log("Service worker registration is not allowed")},enumerable:!0})}(),n=[],i=(i=[]).concat(["TextEncoder","TextDecoder"]),h&&(i=i.concat(["XMLHttpRequestEventTarget","EventTarget"])),i=i.concat(["URL","JSON"]),h&&(n=n.concat(["addEventListener","removeEventListener"])),n=n.concat(["encodeURI","encodeURIComponent","decodeURI","decodeURIComponent"]),i=i.concat(["String","Number"]),h&&i.push("Object"),i=i.concat(["Reflect"]),n.forEach(e=>{a(e),["addEventListener","removeEventListener"].includes(e)&&a(e,document)}),i.forEach(e=>{c({property:e})}),h&&function(){return e("setTimeout",0,globalThis),e("setInterval",0,globalThis);function e(e,t,r){let n=r||globalThis,i=n[e];if(!i||"function"!=typeof i)throw Error(`Function ${e} not found or is not a function`);o({property:e,value:function(){let r=Array.from(arguments);if("string"!=typeof r[t])return i.apply(n,r);console.warn(`Calling ${e} with a String Argument at index ${t} is not allowed`)},context:r,enumerable:!0})}}()}catch(t){window?.viewerModel?.mode.debug&&console.error(t);let e=Error("TB006");window.fedops?.reportError(e,"security_overrideGlobals"),window.Sentry?window.Sentry.captureException(e):globalThis.defineStrictProperty("sentryBuffer",[e],window,!1)}performance.mark("overrideGlobals ended")})(); //# sourceMappingURL=https://static.parastorage.com/services/wix-thunderbolt/dist/overrideGlobals.inline.eddf8782.bundle.min.js.map
top of page
Blog Banner for Website Content.png

Luxury You Can Feel. Color You Can Trust.

SHOP OUR PRODUCTS

Salty Luxe Website (1).png
Salty Luxe Website (5).png

Be our partner!

Grow your business with our exclusive Salon Partnership Program for hair extensions professionals. We help salon owners elevate their brand, attract new clients, and deliver top-tier results with our premium human hair extensions and expert support.

Salty Luxe Website (2).png

Subscribe 

Promotions, new products and sales.

Directly to your inbox.

bottom of page