{"version":3,"sources":["../../src/third-parties/meta-pixel.ts"],"sourcesContent":["import { type FBQ, type PixelId, mapFBEvent } from '../track/fbq';\nimport type { EventName, TrackName, TrackProperties } from '../track/types';\nimport { getFirst } from '../utils/field';\nimport type { UpdateVisitorDTO } from '../visitor/types';\n\ndeclare global {\n  // oxlint-disable-next-line typescript/no-empty-object-type\n  interface Window extends FBQ {}\n}\n\nconst metrics = ['CLS', 'FCP', 'FID', 'INP', 'LCP', 'TTFB'];\n\nexport function sendFBEvent<T extends EventName>(\n  name: TrackName<T>,\n  properties?: TrackProperties<T>,\n  event_id?: string\n) {\n  if (typeof window === 'undefined' || !window.fbq) {\n    console.warn('fbq has not been initialized');\n    return;\n  }\n  if (metrics.includes(name)) return;\n  if (window.location.host.includes('127.0.0.1')) return;\n  if (window.location.host.includes('localhost')) return;\n\n  const options = { eventID: event_id };\n  const [type, fbEventName, fbEventProperties] = mapFBEvent(name, properties);\n  if (type === 'track') {\n    window.fbq(type, fbEventName, fbEventProperties, options);\n  } else {\n    window.fbq(type, fbEventName, fbEventProperties, options);\n  }\n}\n\nexport function setFBUser(pixelId: PixelId) {\n  return ({ user_id, data }: UpdateVisitorDTO) => {\n    if (typeof window === 'undefined' || !window.fbq) {\n      console.warn('fbq has not been initialized');\n      return;\n    }\n\n    const address = getFirst(data?.address);\n\n    window.fbq('init', pixelId, {\n      em: getFirst(data?.email),\n      fn: address?.first_name,\n      ln: address?.last_name,\n      ph: getFirst(data?.phone_number),\n      external_id: user_id,\n      ct: address?.city,\n      st: address?.street,\n      zp: address?.postal_code,\n      country: address?.country,\n    });\n  };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAmD;AAEnD,mBAAyB;AAQzB,IAAM,UAAU,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,MAAM;AAEnD,SAAS,YACd,MACA,YACA,UACA;AACA,MAAI,OAAO,WAAW,eAAe,CAAC,OAAO,KAAK;AAChD,YAAQ,KAAK,8BAA8B;AAC3C;AAAA,EACF;AACA,MAAI,QAAQ,SAAS,IAAI,EAAG;AAC5B,MAAI,OAAO,SAAS,KAAK,SAAS,WAAW,EAAG;AAChD,MAAI,OAAO,SAAS,KAAK,SAAS,WAAW,EAAG;AAEhD,QAAM,UAAU,EAAE,SAAS,SAAS;AACpC,QAAM,CAAC,MAAM,aAAa,iBAAiB,QAAI,uBAAW,MAAM,UAAU;AAC1E,MAAI,SAAS,SAAS;AACpB,WAAO,IAAI,MAAM,aAAa,mBAAmB,OAAO;AAAA,EAC1D,OAAO;AACL,WAAO,IAAI,MAAM,aAAa,mBAAmB,OAAO;AAAA,EAC1D;AACF;AAEO,SAAS,UAAU,SAAkB;AAC1C,SAAO,CAAC,EAAE,SAAS,KAAK,MAAwB;AAC9C,QAAI,OAAO,WAAW,eAAe,CAAC,OAAO,KAAK;AAChD,cAAQ,KAAK,8BAA8B;AAC3C;AAAA,IACF;AAEA,UAAM,cAAU,uBAAS,6BAAM,OAAO;AAEtC,WAAO,IAAI,QAAQ,SAAS;AAAA,MAC1B,QAAI,uBAAS,6BAAM,KAAK;AAAA,MACxB,IAAI,mCAAS;AAAA,MACb,IAAI,mCAAS;AAAA,MACb,QAAI,uBAAS,6BAAM,YAAY;AAAA,MAC/B,aAAa;AAAA,MACb,IAAI,mCAAS;AAAA,MACb,IAAI,mCAAS;AAAA,MACb,IAAI,mCAAS;AAAA,MACb,SAAS,mCAAS;AAAA,IACpB,CAAC;AAAA,EACH;AACF;","names":[]}