UNPKG

@zsoltc/gradient-generator

Version:
1 lines 2.31 kB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.GradientGenerator=e():t.GradientGenerator=e()}(this,function(){return function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return t[n].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function i(t){if(t.length<2)throw"At least 2 colors are needed to create a gradient.";return new a["default"](t)}Object.defineProperty(e,"__esModule",{value:!0}),e.createGradient=void 0;var o=r(1),a=n(o);e.createGradient=i},function(t,e){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,r,n){return r&&t(e.prototype,r),n&&t(e,n),e}}(),i=function(){function t(e){r(this,t),this._width=8192,this._init(e)}return n(t,[{key:"getColorBytesAt",value:function(t){var e=4*Math.floor(t*(this._width-1));return{r:this._pixels[e],g:this._pixels[e+1],b:this._pixels[e+2],a:this._pixels[e+3]}}},{key:"getColorAt",value:function(t){var e=this.getColorBytesAt(t);return{r:e.r/255,g:e.g/255,b:e.b/255,a:e.a/255}}},{key:"getColorHexAt",value:function(t){var e=this.getColorBytesAt(t),r=e.r.toString(16),n=e.g.toString(16),i=e.b.toString(16);return r=1==r.length?"0"+r:r,n=1==n.length?"0"+n:n,i=1==i.length?"0"+i:i,"#"+r+n+i}},{key:"getColorRGBAStringAt",value:function(t){var e=this.getColorBytesAt(t);return"rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")"}},{key:"_init",value:function(t){var e=1/(t.length-1),r=document.createElement("canvas");r.setAttribute("width",this._width),r.setAttribute("height",1);for(var n=r.getContext("2d"),i=n.createLinearGradient(0,0,this._width,1),o=0;o<t.length;++o){var a=t[o].split(":");a[1]=a[1]?a[1]:o*e,i.addColorStop(parseFloat(a[1]),a[0])}n.fillStyle=i,n.fillRect(0,0,this._width,1),this._pixels=n.getImageData(0,0,this._width,1).data}}]),t}();e["default"]=i}])});