UNPKG

tdesign-mobile-vue

Version:
1 lines 1.91 kB
{"version":3,"file":"observe.mjs","sources":["../../../../src/_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;;;;"}