{"version":3,"file":"index.mjs","sources":["../../../../src/effects/prop/index.ts"],"sourcesContent":["import { isObject } from \"motion-utils\"\nimport { MotionValue } from \"../../value\"\nimport { MotionValueState } from \"../MotionValueState\"\nimport { createEffect } from \"../utils/create-effect\"\n\ninterface PropSubject {\n [key: string]: any\n}\n\n/**\n * Writes motion values to the properties of any object. This is\n * animate()'s fallback for subjects no registered effect claims.\n */\nexport const propEffect = /*@__PURE__*/ createEffect(\n (\n subject: PropSubject,\n state: MotionValueState,\n key: string,\n value: MotionValue\n ) => {\n return state.set(\n key,\n value,\n () => {\n subject[key] = value.get()\n }\n )\n },\n {\n test: (subject: unknown): subject is PropSubject => isObject(subject),\n read: (subject, key) => {\n const value = subject[key]\n return typeof value === \"string\" || typeof value === \"number\"\n ? value\n : undefined\n },\n }\n)\n"],"names":[],"mappings":";;;AASA;;;AAGG;AACI,MAAM,UAAU,iBAAiB,YAAY,CAChD,CACI,OAAoB,EACpB,KAAuB,EACvB,GAAW,EACX,KAAkB,KAClB;IACA,OAAO,KAAK,CAAC,GAAG,CACZ,GAAG,EACH,KAAK,EACL,MAAK;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE;AAC9B,IAAA,CAAC,CACJ;AACL,CAAC,EACD;IACI,IAAI,EAAE,CAAC,OAAgB,KAA6B,QAAQ,CAAC,OAAO,CAAC;AACrE,IAAA,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAI;AACnB,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;QAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK;AACjD,cAAE;cACA,SAAS;IACnB,CAAC;AACJ,CAAA;;;;"}