MCPcopy
hub / github.com/greensock/GSAP / Tween

Function Tween

esm/gsap-core.js:3152–3309  ·  view source on GitHub ↗
(targets, vars, position, skipInherit)

Source from the content-addressed store, hash-verified

3150 _inheritsLoose(Tween, _Animation2);
3151
3152 function Tween(targets, vars, position, skipInherit) {
3153 var _this3;
3154
3155 if (typeof vars === "number") {
3156 position.duration = vars;
3157 vars = position;
3158 position = null;
3159 }
3160
3161 _this3 = _Animation2.call(this, skipInherit ? vars : _inheritDefaults(vars)) || this;
3162 var _this3$vars = _this3.vars,
3163 duration = _this3$vars.duration,
3164 delay = _this3$vars.delay,
3165 immediateRender = _this3$vars.immediateRender,
3166 stagger = _this3$vars.stagger,
3167 overwrite = _this3$vars.overwrite,
3168 keyframes = _this3$vars.keyframes,
3169 defaults = _this3$vars.defaults,
3170 scrollTrigger = _this3$vars.scrollTrigger,
3171 parent = vars.parent || _globalTimeline,
3172 parsedTargets = (_isArray(targets) || _isTypedArray(targets) ? _isNumber(targets[0]) : "length" in vars) ? [targets] : toArray(targets),
3173 tl,
3174 i,
3175 copy,
3176 l,
3177 p,
3178 curTarget,
3179 staggerFunc,
3180 staggerVarsToMerge;
3181 _this3._targets = parsedTargets.length ? _harness(parsedTargets) : _warn("GSAP target " + targets + " not found. https://gsap.com", !_config.nullTargetWarn) || [];
3182 _this3._ptLookup = []; //PropTween lookup. An array containing an object for each target, having keys for each tweening property
3183
3184 _this3._overwrite = overwrite;
3185
3186 if (keyframes || stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) {
3187 vars = _this3.vars;
3188 var easeReverse = vars.easeReverse || vars.yoyoEase;
3189 tl = _this3.timeline = new Timeline({
3190 data: "nested",
3191 defaults: defaults || {},
3192 targets: parent && parent.data === "nested" ? parent.vars.targets : parsedTargets
3193 }); // we need to store the targets because for staggers and keyframes, we end up creating an individual tween for each but function-based values need to know the index and the whole Array of targets.
3194
3195 tl.kill();
3196 tl.parent = tl._dp = _assertThisInitialized(_this3);
3197 tl._start = 0;
3198
3199 if (stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) {
3200 l = parsedTargets.length;
3201 staggerFunc = stagger && distribute(stagger);
3202
3203 if (_isObject(stagger)) {
3204 //users can pass in callbacks like onStart/onComplete in the stagger object. These should fire with each individual tween.
3205 for (p in stagger) {
3206 if (~_staggerTweenProps.indexOf(p)) {
3207 staggerVarsToMerge || (staggerVarsToMerge = {});
3208 staggerVarsToMerge[p] = stagger[p];
3209 }

Callers

nothing calls this directly

Calls 15

callMethod · 0.80
durationMethod · 0.80
reverseMethod · 0.80
pausedMethod · 0.80
_inheritDefaultsFunction · 0.70
_isNumberFunction · 0.70
toArrayFunction · 0.70
_harnessFunction · 0.70
_warnFunction · 0.70
_isFuncOrStringFunction · 0.70
_assertThisInitializedFunction · 0.70
distributeFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…