{"version":3,"file":"visual-element.mjs","sources":["../../../../src/animation/interfaces/visual-element.ts"],"sourcesContent":["import { resolveVariant } from \"../../render/utils/resolve-dynamic-variants\"\nimport type { AnimationDefinition } from \"../../node/types\"\nimport type { VisualElement } from \"../../render/VisualElement\"\nimport type { VisualElementAnimationOptions } from \"./types\"\nimport { animateTarget } from \"./visual-element-target\"\nimport { animateVariant } from \"./visual-element-variant\"\n\nexport function animateVisualElement(\n visualElement: VisualElement,\n definition: AnimationDefinition,\n options: VisualElementAnimationOptions = {}\n) {\n visualElement.notify(\"AnimationStart\", definition)\n\n const animation = Array.isArray(definition)\n ? Promise.all(\n definition.map((variant) =>\n animateVariant(visualElement, variant, options)\n )\n )\n : typeof definition === \"string\"\n ? animateVariant(visualElement, definition, options)\n : Promise.all(\n animateTarget(\n visualElement,\n resolveVariant(visualElement, definition, options.custom),\n options\n )\n )\n\n return animation.then(() => {\n visualElement.notify(\"AnimationComplete\", definition)\n })\n}\n"],"names":[],"mappings":";;;;AAOM,SAAU,oBAAoB,CAChC,aAA4B,EAC5B,UAA+B,EAC/B,UAAyC,EAAE,EAAA;AAE3C,IAAA,aAAa,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC;AAElD,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU;UACpC,OAAO,CAAC,GAAG,CACP,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,KACnB,cAAc,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAClD;AAEP,UAAE,OAAO,UAAU,KAAK;cACtB,cAAc,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO;cACjD,OAAO,CAAC,GAAG,CACP,aAAa,CACT,aAAa,EACb,cAAc,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,EACzD,OAAO,CACV,CACJ;AAEP,IAAA,OAAO,SAAS,CAAC,IAAI,CAAC,MAAK;AACvB,QAAA,aAAa,CAAC,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC;AACzD,IAAA,CAAC,CAAC;AACN;;;;"}