1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-18 20:59:39 +02:00
Maybe/vendor/javascript/d3-transition.js

5 lines
13 KiB
JavaScript
Raw Normal View History

// d3-transition@3.0.1 downloaded from https://ga.jspm.io/npm:d3-transition@3.0.1/src/index.js
import{namespace as t,matcher as n,selector as e,selectorAll as r,selection as i,style as o}from"d3-selection";import{dispatch as a}from"d3-dispatch";import{timer as s,timeout as u,now as l}from"d3-timer";import{interpolateNumber as c,interpolateRgb as f,interpolateString as h,interpolateTransformSvg as _,interpolateTransformCss as v}from"d3-interpolate";import{color as d}from"d3-color";import{easeCubicInOut as p}from"d3-ease";var y=a("start","end","cancel","interrupt");var w=[];var m=0;var g=1;var T=2;var x=3;var C=4;var A=5;var N=6;function schedule(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};create(t,e,{name:n,index:r,group:i,on:y,tween:w,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:m})}function init(t,n){var e=get(t,n);if(e.state>m)throw new Error("too late; already scheduled");return e}function set(t,n){var e=get(t,n);if(e.state>x)throw new Error("too late; already running");return e}function get(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function create(t,n,e){var r,i=t.__transition;i[n]=e;e.timer=s(schedule,0,e.time);function schedule(t){e.state=g;e.timer.restart(start,e.delay,e.time);e.delay<=t&&start(t-e.delay)}function start(o){var a,s,l,c;if(e.state!==g)return stop();for(a in i){c=i[a];if(c.name===e.name){if(c.state===x)return u(start);if(c.state===C){c.state=N;c.timer.stop();c.on.call("interrupt",t,t.__data__,c.index,c.group);delete i[a]}else if(+a<n){c.state=N;c.timer.stop();c.on.call("cancel",t,t.__data__,c.index,c.group);delete i[a]}}}u((function(){if(e.state===x){e.state=C;e.timer.restart(tick,e.delay,e.time);tick(o)}}));e.state=T;e.on.call("start",t,t.__data__,e.index,e.group);if(e.state===T){e.state=x;r=new Array(l=e.tween.length);for(a=0,s=-1;a<l;++a)(c=e.tween[a].value.call(t,t.__data__,e.index,e.group))&&(r[++s]=c);r.length=s+1}}function tick(n){var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(stop),e.state=A,1),o=-1,a=r.length;while(++o<a)r[o].call(t,i);if(e.state===A){e.on.call("end",t,t.__data__,e.index,e.group);stop()}}function stop(){e.state=N;e.timer.stop();delete i[n];for(var r in i)return;delete t.__transition}}function interrupt(t,n){var e,r,i,o=t.__transition,a=true;if(o){n=null==n?null:n+"";for(i in o)if((e=o[i]).name===n){r=e.state>T&&e.state<A;e.state=N;e.timer.stop();e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group);delete o[i]}else a=false;a&&delete t.__transition}}function selection_interrupt(t){return this.each((function(){interrupt(this,t)}))}function tweenRemove(t,n){var e,r;return function(){var i=set(this,t),o=i.tween;if(o!==e){r=e=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===n){r=r.slice();r.splice(a,1);break}}i.tween=r}}function tweenFunction(t,n,e){var r,i;if("function"!==typeof e)throw new Error;return function(){var o=set(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:n,value:e},u=0,l=i.length;u<l;++u)if(i[u].name===n){i[u]=s;break}u===l&&i.push(s)}o.tween=i}}function transition_tween(t,n){var e=this._id;t+="";if(arguments.length<2){var r=get(this.node(),e).tween;for(var i,o=0,a=r.length;o<a;++o)if((i=r[o]).name===t)return i.value;return null}return this.each((null==n?tweenRemove:tweenFunction)(e,t,n))}function tweenValue(t,n,e){var r=t._id;t.each((function(){var t=set(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)}));return function(t){return get(t,r).value[n]}}function interpolate(t,n){var e;return("number"===typeof n?c:n instanceof d?f:(e=d(n))?(n=e,f):h)(t,n)}function attrRemove(t){return function(){this.removeAttribute(t)}}function attrRemoveNS(t){return function(){this.removeAttributeNS(t.space,t.local)}}function attrConstant(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}}function attrConstantNS(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}function attrFunction(t,n,e){var r,i,o;return function(){var a,s,u=e(this);if(null!=u){a=this.getAttribute(t);s=u+"";return a===