{"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;;;;"}