{"version":3,"sources":["../../src/hooks/use-outbound-click-analytics.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { track } from '../track/index';\n\n/**\n * Tracks outbound link clicks - when a user clicks a link that leads away\n * from the current domain to another website.\n */\nexport function useOutboundClickAnalytics() {\n  useEffect(() => {\n    const onClick = (event: MouseEvent) => {\n      // Find the closest anchor element from the clicked target\n      const target = event.target as HTMLElement;\n      const anchor = target.closest('a');\n      if (!anchor || !anchor.href) return;\n\n      try {\n        const url = new URL(anchor.href, window.location.origin);\n\n        // Check if it's an external link (different hostname)\n        if (url.hostname !== window.location.hostname) {\n          track('click', {\n            outbound: true,\n            link_id: anchor.id || '',\n            link_url: anchor.href,\n            link_text: anchor.textContent?.trim() || '',\n            link_domain: url.hostname,\n            link_classes: anchor.className || '',\n          });\n        }\n      } catch {\n        // Invalid URL, ignore\n      }\n    };\n\n    document.addEventListener('click', onClick, { passive: true, capture: true });\n    return () => document.removeEventListener('click', onClick, { capture: true });\n  }, []);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,mBAAsB;AAMf,SAAS,4BAA4B;AAC1C,8BAAU,MAAM;AACd,UAAM,UAAU,CAAC,UAAsB;AAT3C;AAWM,YAAM,SAAS,MAAM;AACrB,YAAM,SAAS,OAAO,QAAQ,GAAG;AACjC,UAAI,CAAC,UAAU,CAAC,OAAO,KAAM;AAE7B,UAAI;AACF,cAAM,MAAM,IAAI,IAAI,OAAO,MAAM,OAAO,SAAS,MAAM;AAGvD,YAAI,IAAI,aAAa,OAAO,SAAS,UAAU;AAC7C,kCAAM,SAAS;AAAA,YACb,UAAU;AAAA,YACV,SAAS,OAAO,MAAM;AAAA,YACtB,UAAU,OAAO;AAAA,YACjB,aAAW,YAAO,gBAAP,mBAAoB,WAAU;AAAA,YACzC,aAAa,IAAI;AAAA,YACjB,cAAc,OAAO,aAAa;AAAA,UACpC,CAAC;AAAA,QACH;AAAA,MACF,QAAQ;AAAA,MAER;AAAA,IACF;AAEA,aAAS,iBAAiB,SAAS,SAAS,EAAE,SAAS,MAAM,SAAS,KAAK,CAAC;AAC5E,WAAO,MAAM,SAAS,oBAAoB,SAAS,SAAS,EAAE,SAAS,KAAK,CAAC;AAAA,EAC/E,GAAG,CAAC,CAAC;AACP;","names":[]}