{"version":3,"file":"auth-observer-section-xxxxxxxxxxxxxxxxxxxx.min.js","mappings":"yBACA,IAAAA,EAAA,CAAiBC,WADoB,oBAAXC,QAA0BA,OAAOD,YAAcC,OAAOD,WAAWE,KAAKD,SCAhG,IAAIE,EACJ,MAAMC,EAAQ,IAAIC,WAAW,ICA7B,MAAMC,EAAY,GAClB,IAAK,IAAIC,EAAI,EAAGA,EAAI,MAAOA,EACvBD,EAAUE,MAAMD,EAAI,KAAOE,SAAS,IAAIC,MAAM,IAE3C,SAASC,EAAgBC,EAAKC,GACjC,YADuC,IAANA,IAAAA,EAAS,IAClCP,EAAUM,EAAIC,EAAS,IAC3BP,EAAUM,EAAIC,EAAS,IACvBP,EAAUM,EAAIC,EAAS,IACvBP,EAAUM,EAAIC,EAAS,IACvB,IACAP,EAAUM,EAAIC,EAAS,IACvBP,EAAUM,EAAIC,EAAS,IACvB,IACAP,EAAUM,EAAIC,EAAS,IACvBP,EAAUM,EAAIC,EAAS,IACvB,IACAP,EAAUM,EAAIC,EAAS,IACvBP,EAAUM,EAAIC,EAAS,IACvB,IACAP,EAAUM,EAAIC,EAAS,KACvBP,EAAUM,EAAIC,EAAS,KACvBP,EAAUM,EAAIC,EAAS,KACvBP,EAAUM,EAAIC,EAAS,KACvBP,EAAUM,EAAIC,EAAS,KACvBP,EAAUM,EAAIC,EAAS,MAAMC,aACrC,CCAA,IAAAC,EAvBA,SAAYC,EAASC,EAAKJ,GAAQ,IAAAK,EAAAC,EAC9B,GAAIpB,EAAOC,aAAeiB,IAAQD,EAC9B,OAAOjB,EAAOC,aAGlB,MAAMoB,EAAwC,OAApCF,EAAiB,OAAjBC,GADVH,EAAUA,GAAW,CAAC,GACDK,QAAMF,EAAe,MAAXH,EAAQM,SAAG,EAAXN,EAAQM,OAAOJ,EFNnC,WACX,IAAKf,EAAiB,CAClB,GAAsB,oBAAXF,SAA2BA,OAAOE,gBACzC,MAAM,IAAIoB,MAAM,4GAEpBpB,EAAkBF,OAAOE,gBAAgBD,KAAKD,OAClD,CACA,OAAOE,EAAgBC,EAC3B,CEFsDkB,GAClD,GAAIF,EAAKI,OAAS,GACd,MAAM,IAAID,MAAM,qCAIpB,GAFAH,EAAK,GAAgB,GAAVA,EAAK,GAAa,GAC7BA,EAAK,GAAgB,GAAVA,EAAK,GAAa,IACzBH,EAAK,CAEL,IADAJ,EAASA,GAAU,GACN,GAAKA,EAAS,GAAKI,EAAIO,OAChC,MAAM,IAAIC,WAAW,mBAAmBZ,KAAUA,EAAS,8BAE/D,IAAK,IAAIN,EAAI,EAAGA,EAAI,KAAMA,EACtBU,EAAIJ,EAASN,GAAKa,EAAKb,GAE3B,OAAOU,CACX,CACA,OAAON,EAAgBS,EAC3B,ECbA,SAASM,EAAmBC,GAAgB,IAAAC,EAC1C,MAAMC,EAAWC,OAAOC,uBACxB,GAAKF,GAIgB,OAArBD,EAAII,SAASC,WAATL,EAAmBM,SAAS,0BAA2B,CAGzD,MAAMC,EAAQ,IAAIC,YAAoB,wBAAyB,CAC7DC,OAAQ,CACNC,eAAgBT,EAASU,MACzBC,gBAAiBX,EAASW,gBAC1BC,WAAYZ,EAASY,WACrBC,GAAIb,EAASa,GACbC,MAAOd,EAASc,MAChBC,SAAU7B,IACV8B,UAAWhB,EAASgB,UACpBC,KAAMjB,EAASiB,KACfC,MAAOlB,EAASkB,SAGpBC,cAAcb,EAChB,CACF,CAE4B,aAAxBH,SAASiB,YAAqD,gBAAxBjB,SAASiB,WACjDC,WAAWxB,GAEXyB,iBAAiB,mBAAoBzB","sources":["webpack://lange/../node_modules/uuid/dist/esm-browser/native.js","webpack://lange/../node_modules/uuid/dist/esm-browser/rng.js","webpack://lange/../node_modules/uuid/dist/esm-browser/stringify.js","webpack://lange/../node_modules/uuid/dist/esm-browser/v4.js","webpack://lange/./scripts/sections/auth-observer/index.ts"],"sourcesContent":["const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n    if (!getRandomValues) {\n        if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n            throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n        }\n        getRandomValues = crypto.getRandomValues.bind(crypto);\n    }\n    return getRandomValues(rnds8);\n}\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n    byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n    return (byteToHex[arr[offset + 0]] +\n        byteToHex[arr[offset + 1]] +\n        byteToHex[arr[offset + 2]] +\n        byteToHex[arr[offset + 3]] +\n        '-' +\n        byteToHex[arr[offset + 4]] +\n        byteToHex[arr[offset + 5]] +\n        '-' +\n        byteToHex[arr[offset + 6]] +\n        byteToHex[arr[offset + 7]] +\n        '-' +\n        byteToHex[arr[offset + 8]] +\n        byteToHex[arr[offset + 9]] +\n        '-' +\n        byteToHex[arr[offset + 10]] +\n        byteToHex[arr[offset + 11]] +\n        byteToHex[arr[offset + 12]] +\n        byteToHex[arr[offset + 13]] +\n        byteToHex[arr[offset + 14]] +\n        byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n    const uuid = unsafeStringify(arr, offset);\n    if (!validate(uuid)) {\n        throw TypeError('Stringified UUID is invalid');\n    }\n    return uuid;\n}\nexport default stringify;\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n    if (native.randomUUID && !buf && !options) {\n        return native.randomUUID();\n    }\n    options = options || {};\n    const rnds = options.random ?? options.rng?.() ?? rng();\n    if (rnds.length < 16) {\n        throw new Error('Random bytes length must be >= 16');\n    }\n    rnds[6] = (rnds[6] & 0x0f) | 0x40;\n    rnds[8] = (rnds[8] & 0x3f) | 0x80;\n    if (buf) {\n        offset = offset || 0;\n        if (offset < 0 || offset + 16 > buf.length) {\n            throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n        }\n        for (let i = 0; i < 16; ++i) {\n            buf[offset + i] = rnds[i];\n        }\n        return buf;\n    }\n    return unsafeStringify(rnds);\n}\nexport default v4;\n","import * as uuid from 'uuid';\n\n/**\n * This runs on every page load, looking or whether the page is loaded as a result of logging in on\n * Shopify's hosted new customer accounts website and then returning to browsing.\n *\n * This fires every time someone returns from the new customer accounts website, not only when an\n * actual transition from unauthenticated to authenticated took place. There is no trivial way to\n * detect that.\n *\n * @todo refactor to compare to a session storage value?\n */\nfunction onDOMContentLoaded(_event?: Event) {\n  const customer = window.auth_observer_customer;\n  if (!customer) {\n    return;\n  }\n\n  if (document.referrer?.includes('account.ofirbeauty.com')) {\n    type Detail = WindowEventMap['visitor-authenticated']['detail'];\n\n    const event = new CustomEvent<Detail>('visitor-authenticated', {\n      detail: {\n        customer_token: customer.token,\n        default_address: customer.default_address,\n        first_name: customer.first_name,\n        id: customer.id,\n        email: customer.email,\n        event_id: uuid.v4(),\n        last_name: customer.last_name,\n        name: customer.name,\n        phone: customer.phone\n      }\n    });\n    dispatchEvent(event);\n  }\n}\n\nif (document.readyState === 'complete' || document.readyState === 'interactive') {\n  setTimeout(onDOMContentLoaded);\n} else {\n  addEventListener('DOMContentLoaded', onDOMContentLoaded);\n}\n"],"names":["esm_browser_native","randomUUID","crypto","bind","getRandomValues","rnds8","Uint8Array","byteToHex","i","push","toString","slice","unsafeStringify","arr","offset","toLowerCase","esm_browser_v4","options","buf","_ref","_options$random","rnds","random","rng","Error","length","RangeError","onDOMContentLoaded","_event","_document$referrer","customer","window","auth_observer_customer","document","referrer","includes","event","CustomEvent","detail","customer_token","token","default_address","first_name","id","email","event_id","last_name","name","phone","dispatchEvent","readyState","setTimeout","addEventListener"],"sourceRoot":""}