{"file":"ServiceLoopFlow-BcBowZhS.js","mappings":";;;AAQO,SAAS,cAAc,UAA6B,IAAI;AAC7D,QAAM,EAAE,QAAQ,GAAG,YAAY,SAAS;AACxC,QAAM,YAAY,IAAI,KAAK;AAC3B,MAAI,WAAwC;AAE5C,WAAS,QAAQ,IAAa,YAA+B,IAAI;AAC/D,UAAM,IAAI,UAAU,SAAS;AAC7B,UAAM,MAAM,UAAU,SAAS;AAC/B,eAAW,IAAI;AAAA,MACb,CAAC,YAAY;AACX,gBAAQ,QAAQ,CAAC,UAAU;AACzB,cAAI,MAAM,gBAAgB;AACxB,uBAAW,MAAM;AACf,oBAAM,OAAO,UAAU,IAAI,GAAG;AAAA,YAChC,GAAG,CAAC;AACJ,sBAAU,UAAU,MAAM,MAAM;AAAA,UAClC;AAAA,QACF,CAAC;AAAA,MACH;AAAA,MACA,EAAE,UAAA;AAAA,IAAU;AAEd,aAAS,QAAQ,EAAE;AAAA,EACrB;AAEA,WAAS,eAAe;AACtB,cAAU,WAAA;AAAA,EACZ;AAIA,SAAO,EAAE,WAAW,SAAS,WAAW,aAAA;AAC1C;;;;;ACnCA,UAAM,QAAQ;AAAA,MACZ,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,mBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,mBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,kBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,iBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,mBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,iBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,oBAAA;AAAA,MAClC,EAAE,KAAK,MAAM,OAAO,QAAQ,MAAM,iBAAA;AAAA,IAAiB;AAGjC,kBAAA;;AASb,YAAA,OAAAA,eAAAC,WAAA,EAAA,OAAM,cAAU,MAAA,CAAA,CAAA,qPAAA;oBAGK,OAAK,CAAd,GAAG,MAAC;8bAGVC,eAAA,EAAE,GAAG,8DAE4BA,eAAA,EAAE,KAAK,oGACiCA,eAAA,EAAE,IAAI;;;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps","_ssrInterpolate"],"sources":["../../../../composables/useScrollAnim.ts","../../../../components/ServiceLoopFlow.vue"],"sourcesContent":["import { ref, onMounted, onBeforeUnmount } from 'vue'\n\ninterface ScrollAnimOptions {\n delay?: number\n class?: string\n threshold?: number\n}\n\nexport function useScrollAnim(options: ScrollAnimOptions = {}) {\n const { delay = 0, threshold = 0.15 } = options\n const isVisible = ref(false)\n let observer: IntersectionObserver | null = null\n\n function observe(el: Element, overrides: ScrollAnimOptions = {}) {\n const d = overrides.delay ?? delay\n const cls = overrides.class ?? 'flow-visible'\n observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n setTimeout(() => {\n entry.target.classList.add(cls)\n }, d)\n observer?.unobserve(entry.target)\n }\n })\n },\n { threshold }\n )\n observer.observe(el)\n }\n\n function unobserveAll() {\n observer?.disconnect()\n }\n\n onBeforeUnmount(() => unobserveAll())\n\n return { isVisible, observe, unobserve: unobserveAll }\n}\n","\n\n\n\n\n"],"version":3}