{"version":3,"file":"dep-ad47ed1a.mjs","sources":["../../../common/js/utils/observe.ts"],"sourcesContent":["export default function observe(\n  element: HTMLElement,\n  root: HTMLElement,\n  callback: Function,\n  marginBottom: number\n): IntersectionObserver {\n  if (typeof window === 'undefined') return null;\n  if (!window || !window.IntersectionObserver) {\n    callback();\n    return null;\n  }\n  let io: IntersectionObserver = null;\n  try {\n    io = new window.IntersectionObserver(\n      (entries) => {\n        const entry = entries[0];\n        if (entry.isIntersecting) {\n          callback();\n          io.unobserve(element);\n        }\n      },\n      {\n        rootMargin: `0px 0px ${marginBottom}px 0px`,\n        root,\n      }\n    );\n    io.observe(element);\n  } catch (e) {\n    // eslint-disable-next-line no-console\n    console.error(e);\n    callback();\n  }\n  return io;\n}\n"],"names":["observe","element","root","callback","marginBottom","window","IntersectionObserver","io","entries","entry","isIntersecting","unobserve","rootMargin","e","console","error"],"mappings":";;;;;;AAAA,SAAwBA,OACtBA,CAAAC,OAAA,EACAC,IACA,EAAAC,QAAA,EACAC,YACsB,EAAA;AACtB,EAAA,IAAI,OAAOC,MAAW,KAAA,WAAA,EAAoB,OAAA,IAAA,CAAA;AAC1C,EAAA,IAAI,CAACA,MAAA,IAAU,CAACA,MAAA,CAAOC,oBAAsB,EAAA;AAClCH,IAAAA,QAAA,EAAA,CAAA;AACF,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;EACA,IAAII,EAA2B,GAAA,IAAA,CAAA;EAC3B,IAAA;IACFA,EAAA,GAAK,IAAIF,MAAO,CAAAC,oBAAA,CACd,UAACE,OAAY,EAAA;AACX,MAAA,IAAMC,QAAQD,OAAQ,CAAA,CAAA,CAAA,CAAA;MACtB,IAAIC,MAAMC,cAAgB,EAAA;AACfP,QAAAA,QAAA,EAAA,CAAA;AACTI,QAAAA,EAAA,CAAGI,UAAUV,OAAO,CAAA,CAAA;AACtB,OAAA;AACF,KAAA,EACA;AACEW,MAAAA,8BAAuBR,YAAA,EAAA,QAAA,CAAA;AACvBF,MAAAA,IAAA,EAAAA,IAAAA;AACF,KACF,CAAA,CAAA;AACAK,IAAAA,EAAA,CAAGP,QAAQC,OAAO,CAAA,CAAA;WACXY,CAAP,EAAA;AAEAC,IAAAA,OAAA,CAAQC,MAAMF,CAAC,CAAA,CAAA;AACNV,IAAAA,QAAA,EAAA,CAAA;AACX,GAAA;AACO,EAAA,OAAAI,EAAA,CAAA;AACT;;;;"}