{"version":3,"file":"resolve-variants.mjs","sources":["../../../../src/render/utils/resolve-variants.ts"],"sourcesContent":["import type {\n    AnimationDefinition,\n    MotionNodeOptions,\n    TargetAndTransition,\n    TargetResolver,\n} from \"../../node/types\"\nimport type { ResolvedValues } from \"../types\"\n\nfunction getValueState(visualElement?: any): [ResolvedValues, ResolvedValues] {\n    const state: [ResolvedValues, ResolvedValues] = [{}, {}]\n\n    visualElement?.values.forEach((value: any, key: string) => {\n        state[0][key] = value.get()\n        state[1][key] = value.getVelocity()\n    })\n\n    return state\n}\n\nexport function resolveVariantFromProps(\n    props: MotionNodeOptions,\n    definition: TargetAndTransition | TargetResolver,\n    custom?: any,\n    visualElement?: any\n): TargetAndTransition\nexport function resolveVariantFromProps(\n    props: MotionNodeOptions,\n    definition?: AnimationDefinition,\n    custom?: any,\n    visualElement?: any\n): undefined | TargetAndTransition\nexport function resolveVariantFromProps(\n    props: MotionNodeOptions,\n    definition?: AnimationDefinition,\n    custom?: any,\n    visualElement?: any\n) {\n    const resolveFunction = (def: any) =>\n        typeof def === \"function\"\n            ? def(\n                  custom !== undefined ? custom : props.custom,\n                  ...getValueState(visualElement)\n              )\n            : def\n\n    /**\n     * Resolve a function, then a variant label (which the function may have\n     * returned), then a function again as the label may point to one. The\n     * final function can only return a target object.\n     */\n    definition = resolveFunction(definition)\n\n    if (typeof definition === \"string\") {\n        definition = props.variants && props.variants[definition]\n    }\n\n    return resolveFunction(definition)\n}\n"],"names":[],"mappings":"AAQA,SAAS,aAAa,CAAC,aAAmB,EAAA;AACtC,IAAA,MAAM,KAAK,GAAqC,CAAC,EAAE,EAAE,EAAE,CAAC;IAExD,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,GAAW,KAAI;QACtD,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE;QAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE;AACvC,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,KAAK;AAChB;AAcM,SAAU,uBAAuB,CACnC,KAAwB,EACxB,UAAgC,EAChC,MAAY,EACZ,aAAmB,EAAA;IAEnB,MAAM,eAAe,GAAG,CAAC,GAAQ,KAC7B,OAAO,GAAG,KAAK;UACT,GAAG,CACC,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,EAC5C,GAAG,aAAa,CAAC,aAAa,CAAC;UAEnC,GAAG;AAEb;;;;AAIG;AACH,IAAA,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;AAExC,IAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAChC,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC7D;AAEA,IAAA,OAAO,eAAe,CAAC,UAAU,CAAC;AACtC;;;;"}