{"version":3,"file":"CustomAnimation.cjs","sources":["../../../src/animations/CustomAnimation.js"],"sourcesContent":["import { Animation } from './Animation.js';\n\nexport class CustomAnimation extends Animation {\n  constructor(config = {}) {\n    super(config);\n    this.type = 'custom';\n    this.updateFn = config.update || null;\n  }\n\n  getStateAtTime(time, currentState = {}) {\n    if (!this.updateFn) return {};\n\n    const progress = this.getEasedProgress(time);\n    const changes = {};\n\n    const proxy = new Proxy(currentState, {\n      get: (target, prop) => {\n        return target[prop];\n      },\n      set: (target, prop, value) => {\n        target[prop] = value;\n        changes[prop] = value;\n        return true;\n      }\n    });\n\n    try {\n      this.updateFn(progress, proxy);\n    } catch (err) {\n      console.warn('[CustomAnimation] Error in update function:', err);\n    }\n\n    return changes;\n  }\n}\n"],"names":["Animation"],"mappings":";;;;AAEO,MAAM,eAAe,SAASA,8BAAS,CAAC;AAC/C,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE;AAC3B,IAAI,KAAK,CAAC,MAAM,CAAC;AACjB,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ;AACxB,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI;AACzC,EAAE;;AAEF,EAAE,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,EAAE,EAAE;AAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;;AAEjC,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAChD,IAAI,MAAM,OAAO,GAAG,EAAE;;AAEtB,IAAI,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,EAAE;AAC1C,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK;AAC7B,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC;AAC3B,MAAM,CAAC;AACP,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,KAAK;AACpC,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK;AAC5B,QAAQ,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK;AAC7B,QAAQ,OAAO,IAAI;AACnB,MAAM;AACN,KAAK,CAAC;;AAEN,IAAI,IAAI;AACR,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;AACpC,IAAI,CAAC,CAAC,OAAO,GAAG,EAAE;AAClB,MAAM,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,GAAG,CAAC;AACtE,IAAI;;AAEJ,IAAI,OAAO,OAAO;AAClB,EAAE;AACF;;;;"}