{"version":3,"file":"CRaY5ylK.js","sources":["../../../../composables/useIntersectionObserver.ts"],"sourcesContent":["const initObserver = (\n target: Element | null,\n callback: IntersectionObserverCallback,\n options: IntersectionObserverInit,\n) => {\n const observer = new IntersectionObserver(callback, options)\n\n if (target) {\n observer.observe(target)\n }\n\n return { observer }\n}\n\nexport const useIntersectionObserver = (\n element: Element | string | null,\n options: IntersectionObserverInit = {\n root: null,\n rootMargin: '0px',\n threshold: 1.0,\n },\n callback?: IntersectionObserverCallback,\n) => {\n // Если не передан элемент - выходим\n if (!element || !document) return\n\n const isVisible = ref(false)\n\n /* Дефолтный callback для изменения флага видимости элемента */\n let callbackObserver: IntersectionObserverCallback = (\n entries: IntersectionObserverEntry[],\n ) => {\n const firstEntry = entries[0]\n isVisible.value = firstEntry.isIntersecting\n }\n\n /* Если передали callback */\n if (callback) {\n callbackObserver = callback\n }\n\n let observer = null\n\n switch (typeof element) {\n case 'string':\n {\n /* Если переданный элемент - селектор */\n const target = document.querySelector(element)\n\n observer = initObserver(target, callbackObserver, options)\n }\n break\n case 'object':\n /* Если переданный элемент - HTML элемент */\n observer = initObserver(element, callbackObserver, options)\n break\n default:\n onMounted(() => {\n console.warn('нет')\n })\n }\n\n return {\n isVisible,\n observer,\n }\n}\n"],"names":["initObserver","target","callback","options","observer","useIntersectionObserver","element","isVisible","ref","callbackObserver","entries","firstEntry","onMounted"],"mappings":";;gWAAA,MAAMA,EAAe,CACnBC,EACAC,EACAC,IACG,CACH,MAAMC,EAAW,IAAI,qBAAqBF,EAAUC,CAAO,EAE3D,OAAIF,GACFG,EAAS,QAAQH,CAAM,EAGlB,CAAE,SAAAG,CAAS,CACpB,EAEaC,EAA0B,CACrCC,EACAH,EAAoC,CAClC,KAAM,KACN,WAAY,MACZ,UAAW,CACb,EACAD,IACG,CAEC,GAAA,CAACI,GAAW,CAAC,SAAU,OAErB,MAAAC,EAAYC,EAAI,EAAK,EAGvB,IAAAC,EACFC,GACG,CACG,MAAAC,EAAaD,EAAQ,CAAC,EAC5BH,EAAU,MAAQI,EAAW,cAAA,EAI3BT,IACiBO,EAAAP,GAGrB,IAAIE,EAAW,KAEf,OAAQ,OAAOE,EAAS,CACtB,IAAK,SACH,CAEQ,MAAAL,EAAS,SAAS,cAAcK,CAAO,EAElCF,EAAAJ,EAAaC,EAAQQ,EAAkBN,CAAO,CAC3D,CACA,MACF,IAAK,SAEQC,EAAAJ,EAAaM,EAASG,EAAkBN,CAAO,EAC1D,MACF,QACES,EAAU,IAAM,CACd,QAAQ,KAAK,KAAK,CAAA,CACnB,CACL,CAEO,MAAA,CACL,UAAAL,EACA,SAAAH,CAAA,CAEJ","debug_id":"1bcb57e4-7610-5400-b54b-68235ff86074"}