| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.ZoomIn = void 0;
- const utils_1 = require("./utils");
- const ZoomIn = (options) => {
- // Small enough to hide or show very small part of mark,
- // but bigger enough to not cause bug.
- const ZERO = 0.0001;
- return (from, to, value, coordinate, defaults) => {
- const [shape] = from;
- const { transform: prefix = '', fillOpacity = 1, strokeOpacity = 1, opacity = 1, } = shape.style;
- const keyframes = [
- {
- transform: `${prefix} scale(${ZERO})`.trimStart(),
- fillOpacity: 0,
- strokeOpacity: 0,
- opacity: 0,
- },
- {
- transform: `${prefix} scale(${ZERO})`.trimStart(),
- fillOpacity,
- strokeOpacity,
- opacity,
- offset: 0.01,
- },
- {
- transform: `${prefix} scale(1)`.trimStart(),
- fillOpacity,
- strokeOpacity,
- opacity,
- },
- ];
- const { width, height } = shape.getBoundingClientRect();
- // Change transform origin for correct transform.
- shape.setOrigin([width / 2, height / 2]);
- const animation = shape.animate(keyframes, (0, utils_1.effectTiming)(defaults, value, options));
- // Reset transform origin to eliminate side effect for following animations.
- animation.finished.then(() => shape.setOrigin(0, 0));
- return animation;
- };
- };
- exports.ZoomIn = ZoomIn;
- //# sourceMappingURL=zoomIn.js.map
|