UNPKG

uploadcare-widget-tab-effects

Version:

Effects Tab for Uploadcare Widget. Edit images in desktop and mobile browsers.

9 lines (7 loc) 32.5 kB
/** * uploadcareTabEffects 1.7.2 * Effects Tab for Uploadcare Widget. Edit images in desktop and mobile browsers. * https://github.com/uploadcare/uploadcare-widget-tab-effects#readme * Date: 2023-06-02 */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("uploadcare-widget/uploadcare.min")):"function"==typeof define&&define.amd?define(["uploadcare-widget/uploadcare.min"],t):e.uploadcareTabEffects=t(e.uploadcare)}(this,function(e){"use strict";t='\n.uploadcare-tab-effects--crops{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;max-width:100%}\n.uploadcare-tab-effects--effect-button{-ms-flex-negative:1;flex-shrink:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;padding:0;width:45px;height:45px;border-color:transparent;background:transparent;color:#212121;fill:#212121}.uploadcare-tab-effects--effect-button:active,.uploadcare-tab-effects--effect-button:focus,.uploadcare-tab-effects--effect-button:hover{fill:#0969ee;color:#0969ee}.uploadcare-tab-effects--effect-button:focus,.uploadcare-tab-effects--effect-button:hover{border-color:transparent;background:transparent}.uploadcare-tab-effects--effect-button[aria-disabled=true]{border-color:transparent!important;background:transparent!important;color:#d4d2d2!important;fill:#d4d2d2!important}.uploadcare-tab-effects--effect-button:before{content:"";display:block;-ms-flex-order:1;order:1;margin:1px 0;width:6px;height:6px;background:transparent;border-radius:50%}.uploadcare-tab-effects--effect-button_applied:before{background:#157cfc}@media (min-width:760px){.uploadcare-tab-effects--effect-button:focus,.uploadcare-tab-effects--effect-button:hover{position:relative;overflow:visible}.uploadcare-tab-effects--effect-button:focus:after,.uploadcare-tab-effects--effect-button:hover:after{content:attr(aria-label);display:block;position:absolute;top:0;left:50%;width:auto;height:auto;background:#e3e1e1;color:#212121;transform:translateX(-50%) translateY(-100%);padding:12px;border-radius:6px;line-height:1;min-width:100%}}\n.uploadcare-tab-effects--icon{height:32px}\n.uploadcare-tab-effects--effects{display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;max-width:100%}\n.uploadcare-tab-effects--additions{-ms-flex-positive:1;flex-grow:1}\n\n\n.uploadcare-tab-effects--range{-ms-flex-positive:1;flex-grow:1}input[type=range].uploadcare-tab-effects--range__input{box-sizing:border-box;margin:0;padding:0;width:100%;height:40px;line-height:1}input[type=range].uploadcare-tab-effects--range__input:focus{outline:2px solid rgba(21,124,252,.5);outline-offset:1px}input[type=range].uploadcare-tab-effects--range__input::-moz-range-track{background:#d4d2d2}input[type=range].uploadcare-tab-effects--range__input::-moz-range-progress{background:#157cfc}input[type=range].uploadcare-tab-effects--range__input::-moz-range-thumb{border:none;background:#212121;box-shadow:none}input[type=range].uploadcare-tab-effects--range__input::-moz-range-thumb:focus,input[type=range].uploadcare-tab-effects--range__input::-moz-range-thumb:hover{background:#000}input[type=range].uploadcare-tab-effects--range__input::-moz-range-thumb:active{background:#000}input[type=range].uploadcare-tab-effects--range__input::-ms-track{background:#d4d2d2}input[type=range].uploadcare-tab-effects--range__input::-ms-fill-lower{background:#157cfc}input[type=range].uploadcare-tab-effects--range__input::-ms-thumb{background:#212121}input[type=range].uploadcare-tab-effects--range__input::-ms-thumb:active,input[type=range].uploadcare-tab-effects--range__input:focus::-ms-thumb{background:#000}',r=(r=void 0===(r={})?{}:r).insertAt,t&&"undefined"!=typeof document&&(n=document.head||document.getElementsByTagName("head")[0],(a=document.createElement("style")).type="text/css","top"===r&&n.firstChild?n.insertBefore(a,n.firstChild):n.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))),e=e&&"default"in e?e.default:e;function T(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function l(e){return-1<Object.keys(p).indexOf(e)}function U(e){return(new DOMParser).parseFromString(e,"text/html").body.firstChild}var t,r,n,a,p=Object.freeze({be:{effects:{captions:{blur:"Размыццё",crop:"Абрэзка",enhance:"Паляпшэнне",flip:"Адлюстраваць па вертыкалі",grayscale:"Адценні шэрага",invert:"Інвертаваць",mirror:"Адлюстраваць па гарызанталі",rotate:"Павярнуць",sharp:"Выразнасць"},apply:"Ужыць"}},en:{effects:{captions:{blur:"Blur",crop:"Crop",enhance:"Enhance",flip:"Flip",grayscale:"Grayscale",invert:"Invert",mirror:"Mirror",rotate:"Rotate",sharp:"Sharpen"},apply:"Apply"}},fr:{effects:{captions:{blur:"Flouter",crop:"Recadrer",enhance:"Effets",flip:"Retourner",grayscale:"Noir et blanc",invert:"Inverser",mirror:"Mirroir",rotate:"Tourner",sharp:"Netteté"},apply:"Appliquer"}},it:{effects:{captions:{blur:"Sfoca",crop:"Ritaglia",enhance:"Accentua",flip:"Capovolgi",grayscale:"Bianconero",invert:"Inverti",mirror:"Specchia",rotate:"Ruota",sharp:"Nitidezza"},apply:"Applica"}},ja:{effects:{captions:{blur:"ぼかし",crop:"トリミング",enhance:"補正",flip:"反転",grayscale:"グレースケール",invert:"階調反転",mirror:"ミラー",rotate:"回転",sharp:"シャープ"},apply:"適用"}},nl:{effects:{captions:{blur:"Vervagen",crop:"Bijknippen",enhance:"Verbeteren",flip:"Omkeren",grayscale:"Zwart-wit",invert:"Inverteren",mirror:"Spiegelen",rotate:"Roteren",sharp:"Verscherpen"},apply:"Toepassen"}},ru:{effects:{captions:{blur:"Размытие",crop:"Обрезка",enhance:"Улучшение",flip:"Отразить по вертикали",grayscale:"Оттенки серого",invert:"Инвертировать",mirror:"Отразить по горизонтали",rotate:"Повернуть",sharp:"Резкость"},apply:"Применить"}},vi:{effects:{captions:{blur:"Mờ",crop:"Cắt",enhance:"Tinh chỉnh",flip:"Lật",grayscale:"Xám",invert:"Âm bản",mirror:"Gương",rotate:"Xoay",sharp:"Làm nét"},apply:"Áp dụng"}},es:{effects:{captions:{blur:"Desenfocar",crop:"Recortar",enhance:"Mejorar",flip:"Voltear",grayscale:"Escala de grises",invert:"Invertir",mirror:"Reflejar",rotate:"Rotar",sharp:"Nitidez"},apply:"Aplicar"}},sv:{effects:{captions:{blur:"Suddig",crop:"Beskära",enhance:"Öka",flip:"Flip",grayscale:"Grayscale",invert:"Invertera",mirror:"Återspegla",rotate:"Rotera",sharp:"Skärpa"},apply:"Använda"}}}),o=["crop","rotate","enhance","sharp","grayscale"],f="en",u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var r=t,n=[],i=!0,t=!1,a=void 0;try{for(var o,c=e[Symbol.iterator]();!(i=(o=c.next()).done)&&(n.push(o.value),!r||n.length!==r);i=!0);}catch(e){t=!0,a=e}finally{try{!i&&c.return&&c.return()}finally{if(t)throw a}}return n}throw new TypeError("Invalid attempt to destructure non-iterable instance")},g=function(e,t){function r(e){return a.hasOwnProperty(e)}var n,i,a=d({},e),o=l(t),c=p[f];for(n in a)r(n)&&(r(t)?o||l(n)?a[n]=d({},a[n],p[n]):a[n]=d({},a[n],c):(i=a[t],a[t]=d({},i,c)));return a};var b={blur:["number",10],enhance:["number",50],flip:["boolean"],grayscale:["boolean"],invert:["boolean"],mirror:["boolean"],rotate:["number"],sharp:["number",5]},v={blur:/-\/blur\/(([0-9]+)\/|)/i,crop:/-\/crop\/([0-9]+)x([0-9]+)(\/(center|([0-9]+),([0-9]+)))?\/(-\/resize\/([0-9]+)x([0-9]+)\/)?/i,enhance:/-\/enhance\/(([0-9]+)\/|)/i,flip:/-\/flip\//i,grayscale:/-\/grayscale\//i,invert:/-\/invert\//i,mirror:/-\/mirror\//i,rotate:/-\/rotate\/(([0-9]+)\/)/i,sharp:/-\/sharp\/(([0-9]+)\/|)/i};function D(e){var t,r,n,i,a,o,c,l,p,f=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],d=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],s="";for(t in e)if(e[t])switch(u(e[t])){case"boolean":!d&&~["flip","mirror"].indexOf(t)||(s+="-/"+t+"/");break;case"number":!d&&"rotate"===t||(s+="-/"+t+"/"+e[t]+"/");break;case"object":"crop"===t&&f&&(s+=(r=e[t],p=i=l=c=o=a=i=n=void 0,n=r.originalSize,i=r.coords,a=i.width,o=i.height,c=i.center,l=i.left,i=i.top,p="",n?a===n[0]&&o===n[1]||(p+="-/crop/"+a+"x"+o+"/"+l+","+i+"/"):(p+="-/crop/"+a+"x"+o+"/",c?p+="center/":void 0!==l&&void 0!==i&&(p+=l+","+i+"/")),r.resizeTo?p+="-/resize/"+r.resizeTo.join("x")+"/":p+="-/preview/",p))}return s=s?e.crop&&f?s:"-/preview/"+s:""}function j(e,t){var r=(t=s(t,2))[0],t=t[1],n=e.downscale&&(r>e.preferedSize[0]||t>e.preferedSize[1]),r=e.upscale&&(r<e.preferedSize[0]||t<e.preferedSize[1]);return n||r?e.preferedSize:null}function h(e){function t(t,e){return a[e].push(t),function(){a[e]=a[e].filter(function(e){return e!==t})}}var i=e,a={view:[],imageLoad:[],appliedEffects:[],image:[]};return{getState:function(){return i},setView:function(e){i=d({},i,{view:e}),a.view.forEach(function(e){return e()})},setImageLoad:function(e){i=d({},i,{imageLoad:e}),a.imageLoad.forEach(function(e){return e()})},setAppliedEffect:function(e){e=d({},i.appliedEffects,e);i=d({},i,{appliedEffects:e}),a.appliedEffects.forEach(function(e){return e()})},rebuildImage:function(){var e,t=i,r=t.appliedEffects,t=t.image,n=D(r)+i.otherModifiers,r=(r=r.crop)?(e=r.coords,r=r.resizeTo,e={width:e.width,height:e.height,left:e.left,top:e.top},r&&(e.sw=r[0],e.sh=r[1]),e):null;i.image=d({},t,{cdnUrl:t.originalUrl+(n||""),cdnUrlModifiers:n,crop:r}),a.image.forEach(function(e){return e()})},subscribeToView:function(e){return t(e,"view")},subscribeToImageLoad:function(e){return t(e,"imageLoad")},subscribeToImage:function(e){return t(e,"image")},subscribeToAppliedEffects:function(e){return t(e,"appliedEffects")}}}function B(){function e(){t=U('<div class="uploadcare--tab__content uploadcare--preview__content uploadcare--preview__content_crop"></div>\n')}var t=void 0;return{getElement:function(){return t||e(),t},appendChild:function(e){t&&t.appendChild(e)}}}function m(e){function t(){var e;n=U('<div role="button" tabindex="0" class="uploadcare--button uploadcare--button_icon uploadcare--crop-sizes__item '+(e={title:r,cn:C}).cn["crop-button"]+'" data-caption="'+e.title+'">\n <div class="uploadcare--crop-sizes__icon '+e.cn["crop-button__icon"]+'"></div>\n</div>\n'),c(),o.applied&&n.classList.add(_),n.addEventListener("click",l)}var n=void 0,i=e.size,r=e.title,a=e.onClick,o={applied:e.applied||!1,disabled:e.disabled||!1},c=function(){var e=n.querySelector("."+C["crop-button__icon"]),t=i.width,r=i.height;t&&r?(e.style.width=t,e.style.height=r):(e.innerHTML='\n<svg width="32" height="32" role="presentation" class="uploadcare--icon">\n <use xlink:href="#uploadcare--icon-crop-free"/>\n</svg>\n ',e.classList.add("uploadcare--crop-sizes__icon_free"))},l=function(){!o.disabled&&a&&a()};return{getElement:function(){return n||t(),n},toggleApplied:function(e){n&&o.applied!==e&&(o.applied=e,n.classList[e?"add":"remove"](_))},toggleDisabled:function(e){n&&o.disabled!==e&&(o.disabled=e,n.setAttribute("aria-disabled",e),n.setAttribute("tabindex",e?"-1":"0"))}}}function O(e){function t(){r=U('<div class="'+N.crops+'"></div>\n'),n.forEach(function(e){var t=e.index,r=e.size,n=e.title;i[t]=new m({size:r,title:n,applied:o.currentCrop===t,onClick:function(){o.currentCrop!==t&&(c(t),a(e))}})}),i.forEach(function(e){return r.appendChild(e.getElement())})}var r=void 0,i=[],n=e.crops,a=e.onCropClick,o={currentCrop:e.currentCrop||0},c=function(r){i&&(o.currentCrop=r,i.forEach(function(e,t){return e.toggleApplied(t===r)}))};return{getElement:function(){return r||t(),r},toggleDisabled:function(t){i&&i.forEach(function(e){return e.toggleDisabled(t)})},updateApplied:c}}function L(e){var t,r,n=e.name;if(c[n])return t=void 0,r=function(){(t=U(c[n]())).setAttribute("class",t.getAttribute("class")+" "+X)},{getElement:function(){return t||r(),t}};throw new Error('Icon with name "'+n+"\" doesn't exist.")}function w(e){function t(){var e,t=new L({name:n});(r=U('<div role="button" tabindex="0" class="uploadcare--button uploadcare--button_icon '+(e={title:i,cn:x}).cn["effect-button"]+'" aria-label="'+e.title+'"></div>\n')).appendChild(t.getElement()),o.applied&&r.classList.add(x["effect-button_applied"]),r.addEventListener("click",c),r.addEventListener("keypress",function(e){"Enter"===e.code&&(r.dispatchEvent(new Event("click")),e.preventDefault(),e.stopPropagation())})}var r=void 0,n=e.effect,i=e.title,a=e.onClick,o={applied:e.applied||!1,disabled:e.disabled||!1},c=function(){!o.disabled&&a&&a()};return{getElement:function(){return r||t(),r},getEffect:function(){return n},toggleApplied:function(e){r&&o.applied!==e&&(o.applied=e,r.classList[e?"add":"remove"](x["effect-button_applied"]))},toggleDisabled:function(e){r&&o.disabled!==e&&(o.disabled=e,r.setAttribute("aria-disabled",e),r.setAttribute("tabindex",e?-1:0))}}}function R(e){function t(){r=U('<div class="'+H.effects+'"></div>\n'),i.forEach(function(e){var t=a[e];n.push(new w({effect:e,title:t,applied:!!c.appliedEffects[e],onClick:function(){return o(e)}}))}),n.forEach(function(e){return r.appendChild(e.getElement())})}var r=void 0,n=[],i=e.effects,a=e.titles,o=e.onEffectClick,c={appliedEffects:e.appliedEffects};return{getElement:function(){return r||t(),r},toggleDisabled:function(t){n&&n.forEach(function(e){return e.toggleDisabled(t)})},updateApplied:function(t){n&&(c.appliedEffects=t,n.forEach(function(e){return e.toggleApplied(!!t[e.getEffect()])}))}}}function V(e){function t(){var e;r=U('<div class="uploadcare--footer uploadcare--tab__footer">\n <div class="uploadcare--footer__additions '+(e={cn:E,locale:o}).cn.additions+'"></div>\n\n <button type="button" class="uploadcare--button uploadcare--footer__button uploadcare--preview__back '+e.cn.cancel+'">\n '+e.locale.cancel+'\n </button>\n\n <button type="button" class="uploadcare--button uploadcare--button_primary uploadcare--footer__button uploadcare--preview__done '+e.cn.done+'">\n '+e.locale.done+"\n </button>\n</div>\n"),n=r.querySelector("."+E.additions),i=r.querySelector("."+E.done),a=r.querySelector("."+E.cancel),i.addEventListener("click",c),a.addEventListener("click",l)}var r=void 0,n=void 0,i=void 0,a=void 0,o=e.locale,c=e.onDone,l=e.onCancel;return{getElement:function(){return r||t(),r},empty:function(){if(r)for(;n.firstChild;)n.removeChild(n.firstChild)},appendChild:function(e){r&&n.appendChild(e)},toggleDisabled:function(e){i&&(i.disabled=e)},updateDoneTitle:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;i.innerText=e||o.done}}}function q(e){function t(){var e;r=U('<div class="uploadcare--tab__header">\n <div class="uploadcare--text uploadcare--text_size_large uploadcare--tab__title uploadcare--preview__title '+(e={title:i,cn:S}).cn.title+'">\n '+e.title+"\n </div>\n</div>\n"),n=r.querySelector("."+S.title)}var r=void 0,n=void 0,i=e.title;return{getElement:function(){return r||t(),r},updateTitle:function(e){n&&(n.innerText=e)}}}function F(e){function t(){var e;r=U('<div class="uploadcare--media '+(e={cn:k,imageUrl:i}).cn["image-container"]+'">\n <img src="'+e.imageUrl+'" alt="" class="uploadcare--media__image uploadcare--preview__image '+e.cn.image+'">\n</div>\n'),(n=r.querySelector("."+k.image)).addEventListener("load",function(){return o()}),n.addEventListener("error",function(){n.complete&&c()}),n.addEventListener("abort",function(){return c()})}var r=void 0,n=void 0,i=e.imageUrl,a=e.onUpdate,o=e.onLoad,c=e.onFail;return{getElement:function(){return r||t(),r},getImg:function(){return n},updateImageUrl:function(e){n.src===e&&n.removeAttribute("src"),n.src=e,a()}}}function G(e){function t(){var e;(r=U('<div class="'+(e={cn:Q,min:i,max:a,step:o,value:c}).cn.range+'">\n <input type="range" class="'+e.cn.range__input+'" min="'+e.min+'" max="'+e.max+'" step="'+e.step+'" value="'+e.value+'">\n</div>\n')).addEventListener("change",function(e){return l(e.target.value)})}var r=void 0,n=e.min,i=void 0===n?0:n,a=void 0===(n=e.max)?100:n,o=void 0===(n=e.step)?1:n,c=void 0===(n=e.value)?50:n,l=e.onChange;return{getElement:function(){return r||t(),r}}}var y={view:"preview",image:{},appliedEffects:{blur:0,crop:null,enhance:0,flip:!1,grayscale:!1,invert:!1,mirror:!1,rotate:0,sharp:0},otherModifiers:""},P=[0,270,180,90],M=["crop","rotate","mirror","flip","blur","sharp","enhance","grayscale","invert"],z=function(e){e=window["UPLOADCARE_"+e.toUpperCase()];return void 0===e?null:e},A=function(e,t,r){var t=t.crop,n=e.getState().image;!t||t.some(function(e){return!e.preferedSize})||!n.isImage||n.cdnUrlModifiers||n.crop||(n=n.originalImageInfo,r=r.utils.fitSize(t[0].preferedSize,[n.width,n.height],!0),t={originalSize:[n.width,n.height],settings:t[0],resizeTo:j(t[0],r),coords:{left:Math.round((n.width-r[0])/2),top:Math.round((n.height-r[1])/2),width:r[0],height:r[1]}},e.setAppliedEffect({crop:t}),e.rebuildImage())},I=function(e){r=e.effects,t=[];var t,r="string"==typeof r&&"all"===r?M:~(r=(t="string"==typeof r?r.replace(/\s/g,"").split(","):Array.isArray(r)?r:o).indexOf("crop"))&&0!==r?["crop"].concat(i(t.slice(0,r)),i(t.slice(r+1))):t,n=(t=e.crop,n=r,t||!~n.indexOf("crop")?t:[{downscale:!1,notLess:!1,preferedSize:void 0,upscale:!1}]);return d({},e,{crop:n},{effects:r},{locale:e.locale||f})},Z=function(e,t){var r,n,o,c,l,p,i=t.effects,t=t.crop,a=(r=y.appliedEffects,n={},i.forEach(function(e){void 0!==r[e]&&(n[e]=r[e])}),n),t=(o=e.cdnUrlModifiers,i=i,c=t,o?(l={},p=o.replace(/-\/preview\//g,""),i.forEach(function(e){var t,n,i,r,a;v[e]&&(t=o.match(v[e]))&&(a=void 0,"crop"===e?(r=t[7]&&[t[8],t[9]],n=parseInt(t[1]),i=parseInt(t[2]),a={resizeTo:r,index:0<=(r=c.findIndex(function(e){var t,r;return void 0===e.preferedSize||(r=(e=s(e.preferedSize,2))[0],e=e[1],t=n===r&&i===e,r=(r/e).toPrecision(2)===(n/i).toPrecision(2),t)||r}))?r:null,coords:{width:n,height:i,center:"center"===t[4],left:void 0===t[5]?void 0:parseInt(t[5]),top:void 0===t[6]?void 0:parseInt(t[6])}}):("boolean"===b[e][0]&&(a=!0),"number"===b[e][0]&&(a=void 0===t[2]?b[e][1]:parseInt(t[2]))),l[e]=a,p=p.replace(t[0],""))}),{effects:l,otherModifiers:p}):{effects:{},otherModifiers:""});return h(d({},y,{image:e},{appliedEffects:d({},a,t.effects)},{otherModifiers:t.otherModifiers}))},C={"crop-button":"uploadcare-tab-effects--crop-button","crop-button__icon":"uploadcare-tab-effects--crop-button__icon"},_="uploadcare--crop-sizes__item_current",N={crops:"uploadcare-tab-effects--crops"},x={"effect-button":"uploadcare-tab-effects--effect-button","effect-button_applied":"uploadcare-tab-effects--effect-button_applied"},X="uploadcare-tab-effects--icon",c=Object.freeze({blur:function(e){return'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n <defs>\n <filter id="filter-blur" width="200%" height="200%" x="-50%" y="-50%" filterUnits="objectBoundingBox">\n <feGaussianBlur stdDeviation="3" in="SourceGraphic"></feGaussianBlur>\n </filter>\n </defs>\n <circle cx="16" cy="16" r="8" filter="url(#filter-blur)"></circle>\n</svg>\n'},crop:function(e){return'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n <path d="M21,23 L10.9999602,23 C9.8967381,23 9,22.0989187 9,21.0000398 L9,11 L5,11 L5,9 L9,9 L9,5 L11,5 C11,5 11.0034766,21 10.9999602,21 L27,21 L27,23 L23,23 L23,27 L21,27 L21,23 Z M13,11 L13,9 L21.0046024,9 C22.1100735,9 23,9.89939484 23,11.0081317 L23,19.1279297 L21,19.1279297 L21,11.0081317 C21,11.00117 13,11 13,11 Z"></path>\n</svg>\n'},enhance:function(e){return'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n <path d="M4.29289322,24.0082521 L16.3137085,11.9874369 C16.7042328,11.5969126 17.3373978,11.5969126 17.7279221,11.9874369 L20.5563492,14.815864 C20.9468735,15.2063883 20.9468735,15.8395533 20.5563492,16.2300776 L8.53553391,28.2508928 C8.14500961,28.6414171 7.51184464,28.6414171 7.12132034,28.2508928 L4.29289322,25.4224657 C3.90236893,25.0319414 3.90236893,24.3987764 4.29289322,24.0082521 Z M14.7175144,16.4120581 L16.131728,17.8262716 L18.4350288,15.5229708 L17.0208153,14.1087572 L14.7175144,16.4120581 L14.7175144,16.4120581 Z M16.3411081,7.13592111 L13.8054564,6.33578644 L16.3411081,5.53565177 L17.1412428,3 L17.9413775,5.53565177 L20.4770292,6.33578644 L17.9413775,7.13592111 L17.1412428,9.67157288 L16.3411081,7.13592111 Z M24.5356518,13.8304648 L22,13.0303301 L24.5356518,12.2301954 L25.3357864,9.69454365 L26.1359211,12.2301954 L28.6715729,13.0303301 L26.1359211,13.8304648 L25.3357864,16.3661165 L24.5356518,13.8304648 Z M9.53565177,10.8304648 L7,10.0303301 L9.53565177,9.23019541 L10.3357864,6.69454365 L11.1359211,9.23019541 L13.6715729,10.0303301 L11.1359211,10.8304648 L10.3357864,13.3661165 L9.53565177,10.8304648 Z M22.5356518,21.8304648 L20,21.0303301 L22.5356518,20.2301954 L23.3357864,17.6945436 L24.1359211,20.2301954 L26.6715729,21.0303301 L24.1359211,21.8304648 L23.3357864,24.3661165 L22.5356518,21.8304648 Z"></path>\n</svg>\n'},flip:function(e){return'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n <path d="M15.3492086,13.7592566 L8.34920863,7.7592566 C7.64431003,7.15505781 8.07159372,6 9,6 L23,6 C23.9284063,6 24.35569,7.15505781 23.6507914,7.7592566 L16.6507914,13.7592566 C16.2763016,14.0802478 15.7236984,14.0802478 15.3492086,13.7592566 Z M15.3492086,18.2407434 C15.7236984,17.9197522 16.2763016,17.9197522 16.6507914,18.2407434 L23.6507914,24.2407434 C24.35569,24.8449422 23.9284063,26 23,26 L9,26 C8.07159372,26 7.64431003,24.8449422 8.34920863,24.2407434 L15.3492086,18.2407434 Z M11.7032574,24 L20.2967426,24 L16,20.3170778 L11.7032574,24 Z M27,15 L27,17 L25,17 L25,15 L27,15 Z M23,15 L23,17 L21,17 L21,15 L23,15 Z M19,15 L19,17 L17,17 L17,15 L19,15 Z M15,15 L15,17 L13,17 L13,15 L15,15 Z M11,15 L11,17 L9,17 L9,15 L11,15 Z M7,15 L7,17 L5,17 L5,15 L7,15 Z"></path>\n</svg>\n'},grayscale:function(e){return'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n <path d="M19.3596223,12.0563396 L21.926451,14.6231683 C21.8411716,15.2691808 21.6833431,15.8923164 21.4614188,16.484122 L17.1233611,12.1460643 C16.660957,12.2457748 16.2168493,12.3946804 15.7967877,12.5870314 L20.8981472,17.688391 C20.6220708,18.1749895 20.2993732,18.6316689 19.936127,19.0523568 L14.3668527,13.4830825 C14.0447797,13.7487243 13.7487243,14.0447797 13.4830825,14.3668527 L19.0523568,19.936127 C18.6316689,20.2993732 18.1749895,20.6220708 17.688391,20.8981472 L12.5870314,15.7967877 C12.3946804,16.2168493 12.2457748,16.660957 12.1460643,17.1233611 L16.484122,21.4614188 C15.8923164,21.6833431 15.2691808,21.8411716 14.6231683,21.926451 L12.0563396,19.3596223 C12.4769606,22.5431547 15.2015668,25 18.5,25 C22.0898509,25 25,22.0898509 25,18.5 C25,15.2015668 22.5431547,12.4769606 19.3596223,12.0563396 Z M10.5324038,21.4675962 C7.30134737,20.2636648 5,17.1505866 5,13.5 C5,8.80557963 8.80557963,5 13.5,5 C17.1505866,5 20.2636648,7.30134737 21.4675962,10.5324038 C24.6986526,11.7363352 27,14.8494134 27,18.5 C27,23.1944204 23.1944204,27 18.5,27 C14.8494134,27 11.7363352,24.6986526 10.5324038,21.4675962 L10.5324038,21.4675962 Z"></path>\n</svg>\n'},invert:function(e){return'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" xmlns:xlink="http://www.w3.org/1999/xlink">\n <path d="M5,6.99180311 C5,5.89386312 5.90087297,5 6.99180311,5 L25.0081969,5 C26.1061369,5 27,5.90087297 27,6.99180311 L27,25.0081969 C27,26.1061369 26.099127,27 25.0081969,27 L6.99180311,27 C5.89386312,27 5,26.099127 5,25.0081969 L5,6.99180311 Z M25,7 L7,7 L7,25 L12.071629,19.928371 C13.0769868,20.9337288 14.4658757,21.5555556 16,21.5555556 C19.0682486,21.5555556 21.5555556,19.0682486 21.5555556,16 C21.5555556,14.4658757 20.9337288,13.0769868 19.928371,12.071629 L25,7 L25,7 Z M12.071629,19.928371 C11.0662712,18.9230132 10.4444444,17.5341243 10.4444444,16 C10.4444444,12.9317514 12.9317514,10.4444444 16,10.4444444 C17.5341243,10.4444444 18.9230132,11.0662712 19.928371,12.071629 L12.071629,19.928371 L12.071629,19.928371 Z"></path>\n</svg>\n'},mirror:function(e){return'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n <path d="M13.7592566,16.6507914 L7.7592566,23.6507914 C7.15505781,24.35569 6,23.9284063 6,23 L6,9 C6,8.07159372 7.15505781,7.64431003 7.7592566,8.34920863 L13.7592566,15.3492086 C14.0802478,15.7236984 14.0802478,16.2763016 13.7592566,16.6507914 Z M18.2407434,16.6507914 C17.9197522,16.2763016 17.9197522,15.7236984 18.2407434,15.3492086 L24.2407434,8.34920863 C24.8449422,7.64431003 26,8.07159372 26,9 L26,23 C26,23.9284063 24.8449422,24.35569 24.2407434,23.6507914 L18.2407434,16.6507914 Z M24,20.2967426 L24,11.7032574 L20.3170778,16 L24,20.2967426 Z M15,5 L17,5 L17,7 L15,7 L15,5 Z M15,9 L17,9 L17,11 L15,11 L15,9 Z M15,13 L17,13 L17,15 L15,15 L15,13 Z M15,17 L17,17 L17,19 L15,19 L15,17 Z M15,21 L17,21 L17,23 L15,23 L15,21 Z M15,25 L17,25 L17,27 L15,27 L15,25 Z"></path>\n</svg>\n'},rotate:function(e){return'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n <path d="M22.8449302,10.1550698 L22.8449302,10.1550698 C21.1616077,8.18356972 18.6836184,7 16,7 C11.0294373,7 7,11.0294373 7,16 C7,20.9705627 11.0294373,25 16,25 C18.6610655,25 21.131472,23.8397191 22.8318195,21.8591349 L24.3493086,23.1619115 C22.2729281,25.5805032 19.2506133,27 16,27 C9.92486775,27 5,22.0751322 5,16 C5,9.92486775 9.92486775,5 16,5 C19.224943,5 22.2084802,6.39983031 24.2627348,8.73726518 L27,6 L27,11.9970707 C27,12.5509732 26.5621186,13 25.9970707,13 L20,13 L22.8449302,10.1550698 Z M15,14 L17,14 C17.5522847,14 18,14.4477153 18,15 L18,17 C18,17.5522847 17.5522847,18 17,18 L15,18 C14.4477153,18 14,17.5522847 14,17 L14,15 C14,14.4477153 14.4477153,14 15,14 Z"></path>\n</svg>\n'},sharp:function(e){return'<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">\n <polygon points="16 6 25 26 7 26"></polygon>\n</svg>\n'}}),H={effects:"uploadcare-tab-effects--effects"},E={additions:"uploadcare-tab-effects--additions",done:"uploadcare-tab-effects--done",cancel:"uploadcare-tab-effects--cancel"},S={title:"uploadcare-tab-effects--title"},k={image:"uploadcare-tab-effects--image","image-container":"uploadcare-tab-effects--image-container"},Q={range:"uploadcare-tab-effects--range",range__input:"uploadcare-tab-effects--range__input"},W={enhance:[0,100],sharp:[0,20],blur:[0,100,5]},Y=function(e){function t(){var e=(r=g.getState()).view,t=r.appliedEffects,r=r.image,e=(o=U("<div></div>\n"),c=new q({title:C(e)}),p=new V({locale:{done:L("dialog.tabs.preview.done"),cancel:L("dialog.tabs.preview.image.change")},onDone:E,onCancel:S}),l=new B,r.cdnUrl+y);b.previewUrlCallback&&(e=b.previewUrlCallback(e,r)),f=new F({imageUrl:e,onUpdate:function(){return g.setImageLoad("start")},onLoad:function(){return g.setImageLoad("load")},onFail:function(){return g.setImageLoad("fail")}}),o.appendChild(c.getElement()),o.appendChild(l.getElement()),o.appendChild(p.getElement()),l.appendChild(f.getElement());e=(r=b.effects).reduce(function(e,t){return e[t]=_(t),e},{});d=new R({effects:r,titles:e,appliedEffects:t,onEffectClick:k}),p.appendChild(d.getElement()),g.subscribeToAppliedEffects(M),g.subscribeToView(z),g.subscribeToImage(A),g.subscribeToImageLoad(I)}function i(e){var t=g.getState().view;g.setAppliedEffect(T({},t,parseInt(e)))}function a(){var e=b.crop,t=g.getState().appliedEffects.crop;m.currentCrop=t&&void 0!==t.index?t.index:0,s=new O({crops:e.map(function(e,t){var r=Z(e);return{index:t,settings:e,title:r.description,size:{width:r.width,height:r.height}}}),currentCrop:m.currentCrop,onCropClick:function(e){m.currentCrop=e.index,m.cropWidget&&m.cropWidget.setCrop(e.settings)}}),p.appendChild(s.getElement())}function r(){var e=b.crop,t=(r=g.getState()).appliedEffects,r=r.image,t=t.crop,r=[(r=r.originalImageInfo).width,r.height];m.cropWidget=new w(u.jQuery(f.getImg()),r,e[m.currentCrop]),t&&t.coords&&m.cropWidget.setSelection(t.coords)}function n(){var e=(t=m.cropWidget).crop,t=t.originalSize,r=m.cropWidget.getSelection();x(),g.setAppliedEffect({crop:{originalSize:t,coords:r,resizeTo:j(e,[r.width,r.height]),settings:e,index:m.currentCrop}})}var o=void 0,c=void 0,l=void 0,p=void 0,f=void 0,d=void 0,s=void 0,u=e.uc,g=e.store,b=e.settings,v=e.onDone,h=e.onFail,m={cropWidget:null,currentCrop:0},L=u.locale.t,w=u.crop.CropWidget,y="-/preview/1162x693/-/setfill/ffffff/-/format/jpeg/-/progressive/yes/",C=function(e){return"preview"===e?L("dialog.tabs.preview.image.title"):_(e)},_=function(e){return L("effects.captions."+e)},x=function(){m.cropWidget&&m.cropWidget.__api&&(m.cropWidget.__api.release(),m.cropWidget.__api.destroy(),f.getImg().removeAttribute("style"))},E=function(e){var t=g.getState().view;"preview"===t?v():(e.stopPropagation(),"crop"===t&&n(),g.setView("preview"))},S=function(e){var t=g.getState(),r=t.view,t=t.appliedEffects,n=b.crop;"preview"!==r&&(e.stopPropagation(),e=0,"crop"===r&&(e=n.some(function(e){return!e.preferedSize})?null:t[r],x()),g.setAppliedEffect(T({},r,e)),g.setView("preview"))},k=function(e){var t=g.getState().appliedEffects;"rotate"===e?g.setAppliedEffect({rotate:function(e){e=P.indexOf(e);return~e&&e!==P.length-1?P[e+1]:P[0]}(t.rotate)}):"boolean"==typeof t[e]?g.setAppliedEffect(T({},e,!t[e])):"crop"!==e&&"number"!=typeof t[e]||g.setView(e)},M=function(){g.rebuildImage();var e=g.getState().appliedEffects;d.updateApplied(e)},z=function(){var e,t=g.getState(),r=t.view,n=t.appliedEffects,t=t.image;c.updateTitle(C(r)),"preview"===r?p.updateDoneTitle():p.updateDoneTitle(L("effects.apply")),p.empty(),"preview"===r?p.appendChild(d.getElement()):"crop"===r?(a(),e=t.originalUrl+(D([{crop:null}],!1,!1)||"")+y,b.previewUrlCallback&&(e=b.previewUrlCallback(e,t)),f.updateImageUrl(e)):W[r]&&(0===(t=n[r])&&(t=W[r][1]/2,g.setAppliedEffect(T({},r,t))),e=new G({min:W[r][0],max:W[r][1],step:W[r][2],value:t,onChange:i}),p.appendChild(e.getElement()))},A=function(){var e=g.getState().image,t=e.cdnUrl+y;b.previewUrlCallback&&(t=b.previewUrlCallback(t,e)),f.updateImageUrl(t)},I=function(){var e=g.getState(),t=e.view;switch(e.imageLoad){case"start":p.toggleDisabled(!0),"preview"===t&&d.toggleDisabled(!0),"crop"===t&&s.toggleDisabled(!0);break;case"load":p.toggleDisabled(!1),"preview"===t?d.toggleDisabled(!1):"crop"===t&&(r(),s.toggleDisabled(!1));break;case"fail":h()}},Z=function(e){var t,r,e=e.preferedSize,n=L("dialog.tabs.preview.crop.free"),i=void 0,a=void 0;return e&&(t=u.utils.gcd(e[0],e[1]),r=u.utils.fitSize(e,[30,30],!0),n=e[0]/t+":"+e[1]/t,i=Math.max(20,r[0])+"px",a=Math.max(12,r[1])+"px"),{description:n,width:i,height:a}};return{getElement:function(){return o||t(),o}}};function J(e,c){var t,r=l,n=e;for(t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t]);function i(){this.constructor=r}function l(e,t,r,n,i){l.__super__.constructor.call(this,e,t,r,n,i)}return i.prototype=n.prototype,r.prototype=new i,r.__super__=n.prototype,l.prototype.__setState=function(e,t){var r,i,n,a,o=this;"image"===e?t.info&&(r=z("effects"),void 0===this.settings.effects&&r&&(this.settings.effects=r),r=I(this.settings),i=Z(t.info,r),A(i,r,c),n=r.locale,c.locale.translations=g(c.locale.translations,n),c.locale.rebuild(),n=new Y({uc:c,store:i,settings:r,onDone:function(){var e=o.file.then(function(e){var t=i.getState().image,r=t.cdnUrl,n=t.cdnUrlModifiers,t=t.crop;return d({},e,{cdnUrl:r,cdnUrlModifiers:n,crop:t})});o.dialogApi.fileColl.replace(o.file,e)},onFail:function(){o.file=null,o.__setState("error",{error:"loadImage"})}}),(a=this.container[0]).innerHTML="",Array.prototype.slice.call(n.getElement().children).forEach(function(e){return a.appendChild(e)}),i.setImageLoad("start")):l.__super__.__setState.call(this,e,t)},l.prototype.initImage=function(){},l}return function(t,r,n,i,a){e.plugin(function(e){return new(i.multiple?e.widget.tabs.PreviewTabMultiple:J(e.widget.tabs.PreviewTab,e))(t,r,n,i,a)})}});