{"version":3,"file":"browser.mjs","sources":["../src/plugins/browser.ts"],"sourcesContent":["/**\n * TrackX Browser Info Plugin\n *\n * @see https://docs.trackx.app/#/guides/tracking-errors.md#plugins-browser\n */\n\n// WARNING: This file is experimental and may be removed in the future!!!\n\n/* eslint-disable unicorn/no-nested-ternary */\n\nimport type { OnErrorHandler } from 'trackx/types';\n\nexport const screenSize = (): string => {\n  const screenWidth = globalThis.screen.width;\n  return screenWidth < 576\n    ? 'XS'\n    : screenWidth < 992\n      ? 'S'\n      : screenWidth < 1440\n        ? 'M'\n        : screenWidth < 3840\n          ? 'L'\n          : 'XL';\n};\n\nexport const embedded = (): string => {\n  try {\n    const frame = globalThis.frameElement;\n    return (frame && frame.nodeName) || '';\n  } catch (_error) {\n    // Catch SecurityError when parent is cross-origin\n    return 'cross-origin';\n  }\n};\n\nexport const ancestors = (): string[] => {\n  const ancestorList = globalThis.location.ancestorOrigins;\n  return (ancestorList && ancestorList.length > 0 && [...ancestorList]) || [];\n};\n\nexport const auto: OnErrorHandler = (payload) => {\n  if (!('screenSize' in payload.meta)) {\n    // eslint-disable-next-line no-param-reassign\n    payload.meta.screenSize = screenSize();\n  }\n  if (!('embedded' in payload.meta)) {\n    // eslint-disable-next-line no-param-reassign\n    payload.meta.embedded = embedded();\n  }\n  if (!('ancestors' in payload.meta)) {\n    // eslint-disable-next-line no-param-reassign\n    payload.meta.ancestors = ancestors();\n  }\n  return payload;\n};\n"],"names":["screenSize","const","screenWidth","globalThis","screen","width","embedded","frame","frameElement","nodeName","_error","ancestors","ancestorList","location","ancestorOrigins","length","concat","auto","payload","meta"],"mappings":"AAYO,IAAMA,aACLC,IAAAC,EAAcC,WAAWC,OAAOC,MAC/B,OAAAH,EAAc,IACjB,KACAA,EAAc,IACZ,IACAA,EAAc,KACZ,IACAA,EAAc,KACZ,IACA,IACZ,EAEaI,aACP,IACFL,IAAMM,EAAQJ,WAAWK,aACjB,OAAAD,GAASA,EAAME,UAAa,SAC7BC,GAEA,MAAA,cACT,CACF,EAEaC,aACLV,IAAAW,EAAeT,WAAWU,SAASC,gBACjC,OAAAF,GAAgBA,EAAaG,OAAS,GAAK,GAAIC,OAAAJ,IAAkB,EAC3E,EAEaK,EAAuB,SAACC,GAa5B,MAZD,eAAgBA,EAAQC,OAEpBD,EAAAC,KAAKnB,WAAaA,KAEtB,aAAckB,EAAQC,OAElBD,EAAAC,KAAKb,SAAWA,KAEpB,cAAeY,EAAQC,OAEnBD,EAAAC,KAAKR,UAAYA,KAEpBO,CACT"}