{"version":3,"file":"index.mjs","sources":["../../../../../src/render/dom/scroll/index.ts"],"sourcesContent":["import { AnimationPlaybackControls } from \"motion-dom\"\nimport { noop } from \"motion-utils\"\nimport { attachToAnimation } from \"./attach-animation\"\nimport { scrollInfo } from \"./track\"\nimport { OnScroll, ScrollOptions } from \"./types\"\n\nexport function scroll(\n    onScroll: OnScroll | AnimationPlaybackControls,\n    {\n        axis = \"y\",\n        source,\n        container = document.scrollingElement as Element,\n        ...options\n    }: ScrollOptions = {}\n): VoidFunction {\n    if (!container) return noop as VoidFunction\n\n    const optionsWithDefaults = {\n        axis,\n        container: source || container,\n        ...options,\n    }\n\n    return typeof onScroll === \"function\"\n        ? scrollInfo(\n              (info) => onScroll(info[axis].progress, info),\n              optionsWithDefaults\n          )\n        : attachToAnimation(onScroll, optionsWithDefaults)\n}\n"],"names":[],"mappings":";;;;AAMM,SAAU,MAAM,CAClB,QAA8C,EAC9C,EACI,IAAI,GAAG,GAAG,EACV,MAAM,EACN,SAAS,GAAG,QAAQ,CAAC,gBAA2B,EAChD,GAAG,OAAO,EAAA,GACK,EAAE,EAAA;AAErB,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,IAAoB;AAE3C,IAAA,MAAM,mBAAmB,GAAG;QACxB,IAAI;QACJ,SAAS,EAAE,MAAM,IAAI,SAAS;AAC9B,QAAA,GAAG,OAAO;KACb;IAED,OAAO,OAAO,QAAQ,KAAK;UACrB,UAAU,CACN,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAC7C,mBAAmB;AAEzB,UAAE,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AAC1D;;;;"}