{"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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"}