{"version":3,"file":"viewed_element_controller-5dJm6mOu.js","sources":["../../app/assets/javascript/controllers/heap/viewed_element_controller.js"],"sourcesContent":["import { Controller } from \"@hotwired/stimulus\"\nimport { track } from './track'\n\nexport default class extends Controller {\n static values = {\n id: String,\n label: String\n }\n\n connect() {\n this.observer = new IntersectionObserver(\n this.observerCallback.bind(this),\n { threshold: 0.75 }\n )\n this.observer.observe(this.element)\n }\n\n disconnect() {\n if (!this.observer) {\n return\n }\n\n this.observer.disconnect()\n }\n\n observerCallback(entries, observer) {\n entries.forEach(entry => {\n if (entry.intersectionRatio < 0.75) {\n return\n }\n\n track({\n id: this.idValue,\n eventName: `Viewed Element - ${this.labelValue}`,\n })\n\n observer.disconnect()\n })\n }\n}\n"],"names":["viewed_element_controller","Controller","entries","observer","entry","track","__publicField"],"mappings":"0UAGe,MAAKA,UAASC,CAAW,CAMtC,SAAU,CACR,KAAK,SAAW,IAAI,qBAClB,KAAK,iBAAiB,KAAK,IAAI,EAC/B,CAAE,UAAW,GAAI,CACvB,EACI,KAAK,SAAS,QAAQ,KAAK,OAAO,CACtC,CAEE,YAAa,CACN,KAAK,UAIV,KAAK,SAAS,WAAU,CAC5B,CAEE,iBAAiBC,EAASC,EAAU,CAClCD,EAAQ,QAAQE,GAAS,CACnBA,EAAM,kBAAoB,MAI9BC,EAAM,CACJ,GAAI,KAAK,QACT,UAAW,oBAAoB,YAAK,WACrC,CAAA,EAEDF,EAAS,WAAU,EACpB,CAAA,CACL,CACA,CAnCEG,EADkBN,EACX,SAAS,CACd,GAAI,OACJ,MAAO,MACX"}