react-trend
Version:
react-trend React component
6 lines • 8.21 kB
JavaScript
/*!
* react-trend v1.2.5
* MIT Licensed
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.Trend=t(require("react")):e.Trend=t(e.React)}(this,function(e){return function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={exports:{},id:r,loaded:!1};return e[r].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(2);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r(a).default}})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(3);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r(a).default}})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(4),c=r(s),d=n(5),l=r(d),f=n(8),p=n(9),h=n(10),m=n(11),y=n(12),x={data:l.default.arrayOf(l.default.oneOfType([l.default.number,l.default.shape({value:l.default.number})]).isRequired).isRequired,smooth:l.default.bool,autoDraw:l.default.bool,autoDrawDuration:l.default.number,autoDrawEasing:l.default.string,width:l.default.number,height:l.default.number,padding:l.default.number,radius:l.default.number,gradient:l.default.arrayOf(l.default.string)},g={radius:10,stroke:"black",padding:8,strokeWidth:1,autoDraw:!1,autoDrawDuration:2e3,autoDrawEasing:"ease"},v=function(e){function t(n){a(this,t);var r=o(this,e.call(this,n));return r.trendId=(0,m.generateId)(),r.gradientId="react-trend-vertical-gradient-"+r.trendId,r}return i(t,e),t.prototype.componentDidMount=function(){var e=this.props,t=e.autoDraw,n=e.autoDrawDuration,r=e.autoDrawEasing;if(t){this.lineLength=this.path.getTotalLength();var a=(0,y.generateAutoDrawCss)({id:this.trendId,lineLength:this.lineLength,duration:n,easing:r});(0,p.injectStyleTag)(a)}},t.prototype.getDelegatedProps=function(){return(0,f.omit)(this.props,Object.keys(x))},t.prototype.renderGradientDefinition=function(){var e=this.props.gradient;return c.default.createElement("defs",null,c.default.createElement("linearGradient",{id:this.gradientId,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},e.slice().reverse().map(function(t,n){return c.default.createElement("stop",{key:n,offset:(0,h.normalize)({value:n,min:0,max:e.length-1||1}),stopColor:t})})))},t.prototype.render=function(){var e=this,t=this.props,n=t.data,r=t.smooth,a=t.width,o=t.height,i=t.padding,s=t.radius,d=t.gradient;if(!n||n.length<2)return null;var l=n.map(function(e){return"number"==typeof e?e:e.value}),f=a||300,h=o||75,m=a||"100%",x=o||"25%",g=(0,y.normalizeDataset)(l,{minX:i,maxX:f-i,minY:h-i,maxY:i}),v=r?(0,p.buildSmoothPath)(g,{radius:s}):(0,p.buildLinearPath)(g);return c.default.createElement("svg",u({width:m,height:x,viewBox:"0 0 "+f+" "+h},this.getDelegatedProps()),d&&this.renderGradientDefinition(),c.default.createElement("path",{ref:function(t){e.path=t},id:"react-trend-"+this.trendId,d:v,fill:"none",stroke:d?"url(#"+this.gradientId+")":void 0}))},t}(s.Component);v.defaultProps=g,t.default=v},function(t,n){t.exports=e},function(e,t,n){e.exports=n(6)()},function(e,t,n){"use strict";function r(){}function a(){}var o=n(7);a.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,a,i){if(i!==o){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return n.PropTypes=n,n}},function(e,t){"use strict";var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";e.exports=n},function(e,t){"use strict";t.__esModule=!0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.range=function(e){return[].concat(Array(e).keys())},t.pick=function(e,t){return t.reduce(function(t,r){var a;return n({},t,(a={},a[r]=e[r],a))},{})},t.omit=function(e,t){return Object.keys(e).reduce(function(r,a){var o;return t.indexOf(a)!==-1?r:n({},r,(o={},o[a]=e[a],o))},{})}},function(e,t,n){"use strict";t.__esModule=!0,t.injectStyleTag=t.buildSmoothPath=t.buildLinearPath=void 0;var r=n(10),a=(t.buildLinearPath=function(e){return e.reduce(function(e,t,n){var r=t.x,a=t.y,o=0===n,i=o?"M":"L";return""+e+i+" "+r+","+a+"\n"},"")},t.buildSmoothPath=function(e,t){var n=t.radius,a=e[0],o=e.slice(1);return o.reduce(function(e,t,i){var u=o[i+1],s=o[i-1]||a,c=u&&(0,r.checkForCollinearPoints)(s,t,u);if(!u||c)return e+"\nL "+t.x+","+t.y;var d=(0,r.getDistanceBetween)(s,t),l=(0,r.getDistanceBetween)(u,t),f=Math.min(d,l),p=f/2<n,h=p?f/2:n,m=(0,r.moveTo)(s,t,h),y=(0,r.moveTo)(u,t,h);return[e,"L "+m.x+","+m.y,"S "+t.x+","+t.y+" "+y.x+","+y.y].join("\n")},"M "+a.x+","+a.y)},void 0);t.injectStyleTag=function(e){if(null==a&&(a=document.querySelector("style[data-react-trend]"),null==a)){var t=document.head||document.getElementsByTagName("head")[0];a=document.createElement("style"),a.type="text/css",a.setAttribute("data-react-trend",""),t.appendChild(a)}a.appendChild(document.createTextNode(e))}},function(e,t){"use strict";t.__esModule=!0;t.normalize=function(e){var t=e.value,n=e.min,r=e.max,a=e.scaleMin,o=void 0===a?0:a,i=e.scaleMax,u=void 0===i?1:i;return n===r?o:o+(t-n)*(u-o)/(r-n)},t.moveTo=function(e,t,n){var r={x:e.x-t.x,y:e.y-t.y},a=Math.sqrt(r.x*r.x+r.y*r.y),o={x:r.x/a,y:r.y/a};return{x:t.x+o.x*n,y:t.y+o.y*n}},t.getDistanceBetween=function(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},t.checkForCollinearPoints=function(e,t,n){return(e.y-t.y)*(e.x-n.x)===(e.y-n.y)*(e.x-t.x)}},function(e,t){"use strict";t.__esModule=!0;t.generateId=function(){return Math.round(Math.random()*Math.pow(10,16))}},function(e,t,n){"use strict";t.__esModule=!0,t.generateAutoDrawCss=t.normalizeDataset=void 0;var r=n(10);t.normalizeDataset=function(e,t){var n=t.minX,a=t.maxX,o=t.minY,i=t.maxY,u={min:0,max:e.length-1},s={min:Math.min.apply(Math,e),max:Math.max.apply(Math,e)},c=e.map(function(e,t){return{x:(0,r.normalize)({value:t,min:u.min,max:u.max,scaleMin:n,scaleMax:a}),y:(0,r.normalize)({value:e,min:s.min,max:s.max,scaleMin:o,scaleMax:i})}});return s.min===s.max&&(c[0].y+=1e-4),c},t.generateAutoDrawCss=function(e){var t=e.id,n=e.lineLength,r=e.duration,a=e.easing,o="\n @keyframes react-trend-autodraw-"+t+" {\n 0% {\n stroke-dasharray: "+n+";\n stroke-dashoffset: "+n+"\n }\n 100% {\n stroke-dasharray: "+n+";\n stroke-dashoffset: 0;\n }\n 100% {\n stroke-dashoffset: '';\n stroke-dasharray: '';\n }\n }\n ",i="\n @keyframes react-trend-autodraw-cleanup-"+t+" {\n to {\n stroke-dasharray: '';\n stroke-dashoffset: '';\n }\n }\n ";return"\n "+o+"\n\n "+i+"\n\n #react-trend-"+t+" {\n animation:\n react-trend-autodraw-"+t+" "+r+"ms "+a+",\n react-trend-autodraw-cleanup-"+t+" 1ms "+r+"ms\n ;\n }\n "}}])});
//# sourceMappingURL=react-trend.min.js.map