{"version":3,"file":"intersectionObserverMixin-COkdYm5d.js","sources":["../../../../Coloplast.UI/src/shared/mixins/intersectionObserverMixin.js"],"sourcesContent":["export default {\r\n\tdata() {\r\n\t\treturn {\r\n\t\t\tobserver: null,\r\n\t\t}\r\n\t},\r\n\r\n\tunmounted() {\r\n\t\tthis.observer?.disconnect();\r\n\t},\r\n\r\n\tmethods: {\r\n\t\tregisterWithObserver(htmlElement) {\r\n\t\t\tthis.observer.observe(htmlElement);\r\n\t\t},\r\n\r\n\t\tunregisterFromObserver(htmlElement) {\r\n\t\t\tthis.observer.unobserve(htmlElement);\r\n\t\t},\r\n\r\n\t\tintializeObserver(callback, options) {\r\n\t\t\tif (!!this.observer) {\r\n\t\t\t\tthis.observer.disconnect();\r\n\t\t\t}\r\n\t\t\t// Add an intersectionobserver to ensure product cards are only tracked as they are viewed\r\n\t\t\t// Call this in the created lifecycle hook if you want child components\r\n\t\t\t// to be able to register themselves\r\n\t\t\tthis.observer = new IntersectionObserver(\r\n\t\t\t\tcallback,\r\n\t\t\t\toptions,\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n};\r\n"],"names":["intersectionObserverMixin","_a","htmlElement","callback","options"],"mappings":"AAAA,MAAeA,EAAA,CACd,MAAO,CACN,MAAO,CACN,SAAU,IACV,CACD,EAED,WAAY,CAPb,IAAAC,GAQEA,EAAA,KAAK,WAAL,MAAAA,EAAe,YACf,EAED,QAAS,CACR,qBAAqBC,EAAa,CACjC,KAAK,SAAS,QAAQA,CAAW,CACjC,EAED,uBAAuBA,EAAa,CACnC,KAAK,SAAS,UAAUA,CAAW,CACnC,EAED,kBAAkBC,EAAUC,EAAS,CAC9B,KAAK,UACV,KAAK,SAAS,aAKf,KAAK,SAAW,IAAI,qBACnBD,EACAC,CACJ,CACG,CACD,CACF"}