{ "version": 3, "sources": ["src/app/shared/animations/utilities.ts"], "sourcesContent": ["\r\nexport interface IAnimationStepsInfo {\r\n key: string;\r\n from: number;\r\n to: number;\r\n type?: 's' | 't';\r\n}\r\nexport interface IAnimationStepData {\r\n step: number;\r\n inverse: number;\r\n}\r\n\r\nexport const getAnimationSteps = (ranges: IAnimationStepsInfo[], reverse = false, frames: number): Map[] => {\r\n const ease = (v, pow = 4) => {\r\n return 1 - Math.pow(1 - v, pow);\r\n };\r\n const steps = Array(frames)\r\n .fill(null)\r\n .map((e, i) => (reverse ? i + 1 : frames - (i + 1)))\r\n .map((keyFrame, i, arr) => {\r\n const obj = new Map();\r\n for (const range of ranges) {\r\n let step;\r\n let inverseStep;\r\n if (range.type === 't') {\r\n const r = (range.to - range.from) / frames;\r\n step = range.from + (r * keyFrame);\r\n inverseStep = range.to - (r * keyFrame);\r\n } else {\r\n const r = range.to / range.from;\r\n const easedStep = ease(keyFrame / frames);\r\n step = r + (1 - r) * easedStep;\r\n step = r + (1 - r) * keyFrame / frames;\r\n inverseStep = 1 / step;\r\n }\r\n obj.set(range.key, {step: step, inverse: inverseStep});\r\n }\r\n return obj;\r\n });\r\n\r\n return steps;\r\n};\r\n"], "mappings": "AAYO,IAAQA,EAAoBA,CAACC,EAA+BC,EAAU,GAAOC,IAAqD,CACvI,IAAOC,EAAOA,CAACC,EAAGC,EAAM,IACf,EAAIC,KAAKD,IAAI,EAAID,EAAGC,CAAG,EA0BhC,OAxBcE,MAAML,CAAM,EACvBM,KAAK,IAAI,EACTC,IAAI,CAACC,EAAGC,IAAOV,EAAUU,EAAI,EAAIT,GAAUS,EAAI,EAAG,EAClDF,IAAI,CAACG,EAAUD,EAAGE,IAAO,CACxB,IAAMC,EAAM,IAAIC,IAChB,QAAWC,KAAShB,EAAQ,CAC1B,IAAIiB,EACAC,EACJ,GAAIF,EAAMG,OAAS,IAAK,CACtB,IAAMC,GAAKJ,EAAMK,GAAKL,EAAMM,MAAQpB,EACpCe,EAAOD,EAAMM,KAAQF,EAAIR,EACzBM,EAAcF,EAAMK,GAAMD,EAAIR,CAChC,KAAO,CACL,IAAMQ,EAAIJ,EAAMK,GAAKL,EAAMM,KACrBC,EAAYpB,EAAKS,EAAWV,CAAM,EACxCe,EAAOG,GAAK,EAAIA,GAAKG,EACrBN,EAAOG,GAAK,EAAIA,GAAKR,EAAWV,EAChCgB,EAAc,EAAID,CACpB,CACAH,EAAIU,IAAIR,EAAMS,IAAK,CAACR,KAAMA,EAAMS,QAASR,CAAW,CAAC,CACvD,CACA,OAAOJ,CACT,CAAC,CAGL", "names": ["getAnimationSteps", "ranges", "reverse", "frames", "ease", "v", "pow", "Math", "Array", "fill", "map", "e", "i", "keyFrame", "arr", "obj", "Map", "range", "step", "inverseStep", "type", "r", "to", "from", "easedStep", "set", "key", "inverse"] }