{"version":3,"file":"search-header-865a97d6.js","sources":["../../src/scripts/helpers/search.ts","../../src/scripts/modules/search-header.ts"],"sourcesContent":["const setCookie = (cname: string, cvalue: string, exdays: number) => {\n const d = new Date();\n d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);\n const expires = `expires=${d.toUTCString()}`;\n document.cookie = `${cname}=${cvalue};${expires};path=/`;\n};\n\nconst getCookie = (cname: string) => {\n const name = `${cname}=`;\n const decodedCookie = decodeURIComponent(document.cookie);\n const ca = decodedCookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while(c.charAt(0) === ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) === 0) {\n return c.substring(name.length, c.length);\n }\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n};\n\nfunction digit2string(i: number) {\n // 0-9 -> 0-9; 10-35 > a-z; 36-61 -> A-Z\n return String.fromCharCode(i < 10 ? i + 48 : i < 36 ? i + 87 : i + 29);\n}\n\nconst generateUUID = (domainId: string) => {\n const uuidx = 'xx-xx-4x-1p-';\n let uuid = uuidx.replace(/[x]/g, () => digit2string((Math.random() * 36) | 0));\n\n for (let i = 0; i < 5; i++) {\n uuid += ('0000' + ((Math.random() * 1679615) | 0).toString(36)).slice(-4);\n }\n\n let value = domainId;\n value += '-' + uuid + '-' + Date.now();\n return value;\n}\n\nexport const getIp = async () => {\n let currentIp;\n\n try {\n currentIp = getCookie('currentIp');\n if (currentIp) {\n return currentIp;\n }\n const ip = await fetch('https://api.ipify.org?format=json');\n const ipJson = await ip.json();\n currentIp = ipJson.ip;\n setCookie('currentIp', currentIp, 1);\n return currentIp;\n } catch (error) {\n console.error('Error:', error);\n }\n\n return currentIp;\n};\n\nexport const getDomainId = () => {\n let uuid = getCookie('__ruid');\n if (uuid) {\n return uuid;\n }\n uuid = generateUUID('242495364');\n setCookie('__ruid', uuid, 1);\n return uuid;\n};\n\nexport const context = async () => ({\n page: {\n uri: window.location.pathname\n },\n user: {\n cuid: getDomainId()\n },\n geo: {\n ip: await getIp()\n },\n browser: {\n user_agent: navigator.userAgent,\n },\n locale: {\n language: 'en',\n country: 'us'\n }\n});\n\nexport const entityPageView = async (rfk_id: string, entities: any[]) => {\n return {\n name: 'entity_page',\n action: 'view',\n uuid: getDomainId(),\n client_time_ms: Date.now(),\n value: {\n context: await context(),\n entities,\n rfk_id\n }\n };\n};\n\nexport const publishEvent = async (data: any) => {\n return await fetch(\n 'https://discover.sitecorecloud.io/event/63296762-242495364/v4/publish',\n {\n method: 'POST',\n headers: {\n Authorization: '01-72ba0ed0-1cffd67943e2b831f72d43242686d9412ff1efb3',\n 'Content-type': 'application/json; charset=UTF-8'\n },\n body: JSON.stringify(data)\n }\n );\n};","import { Component } from '@verndale/core';\nimport { entityPageView, publishEvent } from '../helpers/search';\n\nclass SearchHeader extends Component {\n setupDefaults() {\n this.dom = {\n input: this.el.querySelector('[name=\"Keyword\"]') as HTMLInputElement,\n };\n\n this.triggerPageView();\n }\n\n addListeners() {\n this.el.addEventListener('submit', this.onSubmit.bind(this));\n }\n\n async triggerPageView() {\n const { sourceId = \"872980\", rkfId = 'rfkid_7' } = this.el.dataset\n const { title } = document;\n const id = `${window.location.origin}${window.location.pathname}`.replaceAll('/', '_').replaceAll('.', '_').replaceAll(':', '_');\n\n await publishEvent(await entityPageView(rkfId, [{\n // entity_subtype: \"article\",\n entity_type: \"content\",\n id,\n source_id: sourceId,\n title,\n }]));\n }\n\n onSubmit(e: Event) {\n e.preventDefault();\n window.location.href = `/search?q=${(this.dom.input as HTMLInputElement).value}`;\n }\n\n}\n\nexport default SearchHeader;\n"],"names":["setCookie","cname","cvalue","exdays","d","expires","getCookie","name","ca","i","c","digit2string","generateUUID","domainId","uuid","value","getIp","currentIp","error","getDomainId","context","entityPageView","rfk_id","entities","publishEvent","data","SearchHeader","Component","sourceId","rkfId","title","id","e"],"mappings":"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"}