keyframe-interpolate.js 698 B

1234567891011121314151617
  1. import { __assign } from "tslib";
  2. import { interpolate } from './interpolate';
  3. export function keyframeInterpolate(element, from, to, options) {
  4. if (!options) {
  5. element.attr('__keyframe_data__', to);
  6. return null;
  7. }
  8. var _a = options.duration, duration = _a === void 0 ? 0 : _a;
  9. var int = interpolate(from, to);
  10. var count = Math.ceil(+duration / 16);
  11. var keyframes = new Array(count)
  12. .fill(0)
  13. .map(function (datum, index, array) { return ({ __keyframe_data__: int(index / (array.length - 1)) }); });
  14. // @ts-ignore
  15. return element.animate(keyframes, __assign({ fill: 'both' }, options));
  16. }
  17. //# sourceMappingURL=keyframe-interpolate.js.map