{"version":3,"file":"create-dom-effect.mjs","sources":["../../../../src/effects/utils/create-dom-effect.ts"],"sourcesContent":["import {\n    ElementOrSelector,\n    resolveElements,\n} from \"../../utils/resolve-elements\"\nimport { MotionValue } from \"../../value\"\n\nexport function createSelectorEffect<T>(\n    subjectEffect: (\n        subject: T,\n        values: Record<string, MotionValue>\n    ) => VoidFunction\n) {\n    return (\n        subject: ElementOrSelector,\n        values: Record<string, MotionValue>\n    ) => {\n        const elements = resolveElements(subject)\n        const subscriptions: VoidFunction[] = []\n\n        for (const element of elements) {\n            const remove = subjectEffect(element as T, values)\n            subscriptions.push(remove)\n        }\n\n        return () => {\n            for (const remove of subscriptions) remove()\n        }\n    }\n}\n"],"names":[],"mappings":";;AAMM,SAAU,oBAAoB,CAChC,aAGiB,EAAA;AAEjB,IAAA,OAAO,CACH,OAA0B,EAC1B,MAAmC,KACnC;AACA,QAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QACzC,MAAM,aAAa,GAAmB,EAAE,CAAA;AAExC,QAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,OAAY,EAAE,MAAM,CAAC,CAAA;AAClD,YAAA,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC7B;AAED,QAAA,OAAO,MAAK;YACR,KAAK,MAAM,MAAM,IAAI,aAAa;AAAE,gBAAA,MAAM,EAAE,CAAA;AAChD,SAAC,CAAA;AACL,KAAC,CAAA;AACL;;;;"}