UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 1.71 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":["callback","io","rootMargin","root","console"],"mappings":";;;;;;AAAA,sCAAA,SAAA,OAAA,CAAA,OAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA;AAME,EAAA,IAAA,OAAA,MAAA,KAAA,WAAA,EAAA,OAAA,IAAA,CAAA;AACA,EAAA,IAAA,CAAA,MAAA,IAAA,CAAA,MAAA,CAAA,oBAAA,EAAA;AACWA,IAAAA,QAAAA,EAAAA,CAAAA;AACF,IAAA,OAAA,IAAA,CAAA;AACT,GAAA;;;;AAKM,MAAA,IAAA,KAAA,GAAA,OAAA,CAAA,CAAA,CAAA,CAAA;;AAEWA,QAAAA,QAAAA,EAAAA,CAAAA;AACTC,QAAAA,EAAAA,CAAAA,SAAAA,CAAAA,OAAAA,CAAAA,CAAAA;AACF,OAAA;AACF,KAAA,EAAA;AAEEC,MAAAA,UAAAA,EAAAA,UAAAA,CAAAA,MAAAA,CAAAA,YAAAA,EAAAA,QAAAA,CAAAA;AACAC,MAAAA,IAAAA,EAAAA,IAAAA;AACF,KAAA,CAAA,CAAA;AAEFF,IAAAA,EAAAA,CAAAA,OAAAA,CAAAA,OAAAA,CAAAA,CAAAA;;AAGAG,IAAAA,OAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AACSJ,IAAAA,QAAAA,EAAAA,CAAAA;AACX,GAAA;AACO,EAAA,OAAA,EAAA,CAAA;AACT;;;;"}