Edit File: themifyGradient.min.js
/* ThemifyGradient Enhanced version of ClassyGradient, with RGBA support Original script written by Marius Stanciu - Sergiu <marius@vox.space> Licensed under the MIT license https://vox.SPACE/LICENSE-MIT Version 1.1.1 */ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,d,l){a instanceof String&&(a=String(a));for(var k=a.length,m=0;m<k;m++){var x=a[m];if(d.call(l,x,m,a))return{i:m,v:x}}return{i:-1,v:void 0}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(a,d,l){a!=Array.prototype&&a!=Object.prototype&&(a[d]=l.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a}; $jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,d,l,k){if(d){l=$jscomp.global;a=a.split(".");for(k=0;k<a.length-1;k++){var m=a[k];m in l||(l[m]={});l=l[m]}a=a[a.length-1];k=l[a];d=d(k);d!=k&&null!=d&&$jscomp.defineProperty(l,a,{configurable:!0,writable:!0,value:d})}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,l){return $jscomp.findInternal(this,a,l).v}},"es6-impl","es3");$jscomp.SYMBOL_PREFIX="jscomp_symbol_"; $jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(a){return $jscomp.SYMBOL_PREFIX+(a||"")+$jscomp.symbolCounter_++}; $jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var d=0;return $jscomp.iteratorPrototype(function(){return d<a.length?{done:!1,value:a[d++]}:{done:!0}})}; $jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.iteratorFromArray=function(a,d){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var l=0,k={next:function(){if(l<a.length){var m=l++;return{value:d(m,a[m]),done:!1}}k.next=function(){return{done:!0,value:void 0}};return k.next()}};k[Symbol.iterator]=function(){return k};return k}; $jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6-impl","es3"); (function(a,d,l){a.ThemifyGradient=function(k,m){var x={gradient:a.ThemifyGradient["default"],width:173,height:15,point:8,angle:180,circle:!1,type:"linear",onChange:function(){},onInit:function(){}},t=a(k),p,u,q,v,r,y,w,h=[];this.initSwatchesFlag=this.isInit=!1;this.settings={};this.__constructor=function(){this.settings=a.extend({},x,m);this.update();this.settings.onInit();this.isInit=!0;return this};this.updateSettings=function(c){this.settings=a.extend({},x,c);this.update();return this};this.update= function(){this._setupPoints();this._setup();this._render()};this.getCSSvalue=function(){var c=this.settings.angle+"deg,";"radial"===this.settings.type&&(c=this.settings.circle?"circle,":"");for(var b=[],a=0,e=h.length;a<e;++a)b.push(h[a][1]+" "+h[a][0]);return this.settings.type+"-gradient("+c+b.join(", ")+")"};this.getString=function(){for(var c="",b=0,a=h.length;b<a;++b)c+=h[b][0]+" "+h[b][1]+"|";return c=c.substr(0,c.length-1)};this.setType=function(c){this.settings.type=c;this.settings.onChange(this.getString(), this.getCSSvalue())};this.setAngle=function(c){this.settings.angle=c;this.settings.onChange(this.getString(),this.getCSSvalue())};this.setRadialCircle=function(c){this.settings.circle=c;this.settings.onChange(this.getString(),this.getCSSvalue())};this._setupPoints=function(){h=[];h=a.isArray(this.settings.gradient)?this.settings.gradient:this._getGradientFromString(this.settings.gradient)};this._setup=function(){var c=this,b=d.createDocumentFragment(),f=d.createDocumentFragment(),e=d.createElement("div"), g=d.createElement("div"),z=d.createElement("span"),n=d.createElement("canvas"),m=d.createElement("span");r=d.createElement("a");q=d.createElement("div");v=d.createElement("input");p=d.createElement("div");u=d.createElement("div");e.className="themifyGradient";n.width=this.settings.width;n.height=this.settings.height;p.style.width=this.settings.width+Math.round(this.settings.point/2+1)+"px";p.className="points";q.className="point-color";z.className="gradient_delimiter";m.className="gradient_percent"; m.innerHTML="%";v.type="text";v.className="point-position";r.className="gradient-point-delete";r.href="#";g.className="gradient-pointer-info";u.className="content";q.insertAdjacentHTML("afterbegin",'<div style="background-color: #00ff00"></div>');r.insertAdjacentHTML("afterbegin",'<i class="ti-close"></i>');g.insertAdjacentHTML("afterbegin",'<div class="gradient-pointer-arrow"></div>');f.appendChild(q);f.appendChild(z);f.appendChild(v);f.appendChild(m);f.appendChild(r);u.appendChild(f);b.appendChild(p); b.appendChild(n);g.appendChild(u);b.appendChild(g);e.appendChild(b);for(f=z=m=b=null;k.firstChild;)k.removeChild(k.firstChild);k.appendChild(e);this.initSwatchesFlag||(k.parentNode.appendChild(this.swatchesHTML()),this.initSwatches(),this.initSwatchesFlag=!0);e=g=null;u=a(u);q=a(q);v=a(v);r=a(r);p=a(p);y=n.getContext("2d");n=a(n);n.off("click").on("click",function(b){var a=n.offset(),f="rgba(0,0,0, 1)",e=999999999999;b=b.pageX-a.left;b=Math.round(100*b/c.settings.width);for(var a=0,g=h.length;a<g;++a)h[a][0]= parseInt(h[a][0]),h[a][0]<b&&b-h[a][0]<e?(e=b-h[a][0],f=h[a][1]):h[a][0]>b&&h[a][0]-b<e&&(e=h[a][0]-b,f=h[a][1]);h.push([b+"%",f]);h.sort(c._sortByPosition);c._render();a=0;for(g=h.length;a<g;++a)h[a][0]===b+"%"&&c._selectPoint(p.find(".point:eq("+a+")"));"visual"===l.mode&&setTimeout(c._colorPickerPosition,315)});this.pointEvents();t[0].addEventListener("keyup",function(c){var a=c.keyCode||c.which||0;8!==a&&46!==a||"INPUT"===window.top.document.activeElement.tagName||(q.siblings(".point-position").focus(), this.removePoint(c))}.bind(this),{passive:!1})};this.pointEvents=function(){for(var c=this,b=k.getElementsByClassName("point-position"),f=function(b){var f=parseInt(a.trim(this.value));isNaN(f)?f=0:0>f?f=Math.abs(f):98<=f&&(f=98);"focusout"!==b.type?(f=Math.round(f*c.settings.width/100),a(this).closest(".themifyGradient").find(".themify_current_point").css("left",f),c._renderCanvas()):this.value=f},e=0,g=b.length;e<g;++e)b[e].addEventListener("focusout",f,{passive:!0}),b[e].addEventListener("keyup", f,{passive:!0})};this._render=function(){this._initGradientPoints();this._renderCanvas()};this._colorPickerPosition=function(){var c=ThemifyBuilderCommon.Lightbox.$lightbox,a=u.find(".minicolors"),f=a.find(".minicolors-panel");c.offset().left+c.width()<=f.offset().left+f.width()?a.addClass("tb_minicolors_right"):a.removeClass("tb_minicolors_right")};this._initGradientPoints=function(){for(var c=this,b=d.createDocumentFragment(),f=[],e=function(){c._selectPoint(this);"visual"===l.mode&&(c._colorPickerPosition(), a(d).trigger("mouseup"))};p[0].firstChild;)p[0].removeChild(p[0].firstChild);for(var g=0,k=h.length;g<k;++g){var n=d.createElement("div");n.className="point";n.style.backgroundColor=h[g][1];n.style.left=parseInt(h[g][0])*c.settings.width/100+"px";n.removeEventListener("click",e,{passive:!0});n.addEventListener("click",e,{passive:!0});b.appendChild(n);f[g]=n}p[0].appendChild(b);g=0;for(k=f.length;g<k;++g)a(f).draggable({axis:"x",containment:"parent",start:function(c,a){t.addClass("tb_gradient_drag").focus()}, stop:function(c,b){t.removeClass("tb_gradient_drag").focus();"visual"===l.mode&&a(d).trigger("mouseup")},drag:function(a,b){c._selectPoint(this,!0);c._renderCanvas()}});f=null};this.hexToRgb=function(c){c=c.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(c,a,e,g){return a+a+e+e+g+g});return(c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(c))?{r:parseInt(c[1],16),g:parseInt(c[2],16),b:parseInt(c[3],16)}:null};this._selectPoint=function(c,b){var f=this;w=a(c);var e=parseInt(w.css("left"));v.val(Math.round(e/ this.settings.width*100));e-=30;0>e&&window.top.document.body.classList.contains("tb_module_panel_docked")&&(e=3);t.find(".gradient-pointer-info").css("marginLeft",e+"px");if(b)return!1;t.focus();w.addClass("themify_current_point").siblings().removeClass("themify_current_point");var g=w.css("backgroundColor"),e=g.substr(4,g.length),e=e.substr(0,e.length-1);t.find(".point-color div").remove();e=q.find(".themify-color-picker");0===e.length&&(e=a('<input type="text" class="themify-color-picker" />'), e.appendTo(q).minicolors({opacity:!0,changeDelay:10,change:function(c,a){var b=f.hexToRgb(c);b||(b={r:255,g:255,b:255},a=1);w.css("backgroundColor","rgba("+b.r+","+b.g+","+b.b+","+a+")");f._renderCanvas()}}),t.find(".minicolors").first().addClass("minicolors-focus"),r.off("click").on("click",this.removePoint.bind(this)));var g=g.replace(/^rgba?\(|\s+|\)$/g,"").split(","),d=4===g.length?g.pop():1,g=this._rgbToHex(g);e.val(g).attr("data-opacity",d).data("opacity",d).minicolors("settings",{value:g})}; this._renderCanvas=function(){var a=k.getElementsByClassName("point");h=[];for(var b=0,f=a.length;b<f;++b){var e=Math.round(parseInt(a[b].style.left)/this.settings.width*100);h.push([e+"%",a[b].style.backgroundColor])}h.sort(this._sortByPosition);this._renderToCanvas();if(this.isInit)this.settings.onChange(this.getString(),this.getCSSvalue())};this._renderToCanvas=function(){for(var a=y.createLinearGradient(0,0,this.settings.width,0),b=0,f=h.length;b<f;++b)a.addColorStop(parseInt(h[b][0])/100,h[b][1]); y.clearRect(0,0,this.settings.width,this.settings.height);y.fillStyle=a;y.fillRect(0,0,this.settings.width,this.settings.height)};this._getGradientFromString=function(a){var b=[];a=a.split("|");for(var c=0,e=a.length;c<e;++c){var g=a[c];var d=g.indexOf("%");var h=g.substr(d-3,d);"100"===h||"100%"===h?d="100%":(d=1<d?parseInt(g.substr(d-2,d)):parseInt(g.substr(d-1,d)),d+="%");b.push([d,g.replace(d,"")])}return b};this._rgbToHex=function(a){function b(a){a=parseInt(a,10);if(isNaN(a))return"00";a=Math.max(0, Math.min(a,255));return"0123456789ABCDEF".charAt((a-a%16)/16)+"0123456789ABCDEF".charAt(a%16)}var c=a[1],e=a[2];return"#"+b(a[0])+b(c)+b(e)};this._sortByPosition=function(a,b){a=parseInt(a[0]);b=parseInt(b[0]);return a<b?-1:a>b?1:0};this.removePoint=function(a){a.preventDefault();1<h.length&&(h.splice(w.index(),1),this._render())};this.swatchesHTML=function(){var a=d.createDocumentFragment(),b=d.createElement("a");b.className="tb_gradient_add_swatch ti-plus";b.href="#";b.addEventListener("click", this.saveSwatch.bind(this));a.appendChild(b);b=d.createElement("div");b.className="tb_cm_dropdown_icon ti-import";b.tabIndex=1;var f=themifyColorManager.makeImportExportDropdown();f.addEventListener("click",this.swatchesDropdownClicked.bind(this));b.appendChild(f);a.appendChild(b);b=d.createElement("ul");b.className="tb_gradient_swatches";b.addEventListener("click",this.swatchClicked.bind(this));a.appendChild(b);return a};this.swatchesDropdownClicked=function(a){a.preventDefault();a.stopPropagation(); a=a.target;var b=a.classList;b.contains("tb_cm_export")?(a.parentNode.parentNode.parentNode.blur(),d.location.assign(themifyCM.exportGradientsURL)):b.contains("tb_cm_import")&&(a.parentNode.parentNode.parentNode.blur(),themifyColorManager.importColors("gradients"))};this.saveSwatch=function(){if(""===this.getString()||""===this.getCSSvalue())return!1;for(var a=Object.keys(themifyCM.gradients),b=this.getCSSvalue(),f=0;f<a.length;f++)if(themifyCM.gradients[a[f]].css===b)return null;a=themifyColorManager.UID(); b={id:a,setting:JSON.parse(JSON.stringify(this.settings)),gradient:this.getString(),css:b,points:h};themifyCM.gradients[a]=b;this.addSwatch(b);themifyColorManager.updateColorSwatches("gradients")};this.addSwatch=function(a,b){var c=d.createElement("li");c.className="tb_gradient_swatch";c.style.background=a.css;c.dataset.id=a.id;var e=d.createElement("span");e.className="tb_delete_swatch ti-close";c.appendChild(e);if(b)e=k.parentElement.getElementsByClassName("tb_gradient_swatches")[0],e.insertBefore(c, e.firstChild);else for(var e=ThemifyBuilderCommon.Lightbox.$lightbox[0].getElementsByClassName("tb_gradient_swatches"),g=0;g<e.length;g++)e[g].insertBefore(c.cloneNode(!0),e[g].firstChild)};this.swatchClicked=function(a){a.preventDefault();a=a.target;var b=a.classList;b.contains("tb_gradient_swatch")?this.selectSwatch(a.dataset.id):b.contains("tb_delete_swatch")&&(this.removeSwatch(a.parentNode.dataset.id),themifyColorManager.updateColorSwatches("gradients"))};this.removeSwatch=function(a){for(var b= ThemifyBuilderCommon.Lightbox.$lightbox[0].querySelectorAll('.tb_gradient_swatch[data-id="'+a+'"]'),c=0;c<b.length;c++)b[c].parentNode.removeChild(b[c]);delete themifyCM.gradients[a]};this.selectSwatch=function(a){a=themifyCM.gradients[a];this.setAngle(a.setting.angle);this.setRadialCircle(a.setting.circle);this.setType(a.setting.type);this.settings.gradient=a.gradient;this.update();var b=k.parentElement,c=b.getElementsByClassName("themify-gradient-type")[0],e=b.querySelector('input[type="checkbox"]'), b=b.getElementsByClassName("themify-gradient-angle")[0];c.value=a.setting.type;Themify.triggerEvent(c,"change");e.checked=a.setting.circle;Themify.triggerEvent(e,"change");b.value=a.setting.angle;Themify.triggerEvent(b,"change")};this.initSwatches=function(){var a=Object.keys(themifyCM.gradients);themifyCM.gradients=a.length?themifyCM.gradients:{};for(var b=0;b<a.length;b++)this.addSwatch(themifyCM.gradients[a[b]],!0)};return this.__constructor()};a.ThemifyGradient["default"]="0% rgba(0,0,0, 1)|100% rgba(255,255,255,1)"; a.fn.ThemifyGradient=function(d){return this.each(function(){void 0===a(this).data("themifyGradient")&&a(this).data("themifyGradient",new a.ThemifyGradient(this,d))})}})(jQuery,document,tb_app);
Back to File Manager