10 lines
20 KiB
JavaScript
10 lines
20 KiB
JavaScript
/*!
|
|
* cropme v1.4.0
|
|
* https://shpontex.github.io/cropme
|
|
*
|
|
* Copyright 2019 shpontex
|
|
* Released under the MIT license
|
|
*
|
|
* Date: 2019-10-28T17:18:45.700Z
|
|
*/
|
|
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Cropme=e()}(this,function(){"use strict";function Z(t){return(Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function p(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function a(t){return t&&"object"===Z(t)&&!Array.isArray(t)}function h(t){for(var e=arguments.length,i=new Array(1<e?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];if(!i.length)return t;var o,n=i.shift();if(Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var e=Object(t),i=1;i<arguments.length;i++){var r=arguments[i];if(null!=r){r=Object(r);for(var o=Object.keys(Object(r)),n=0,s=o.length;n<s;n++){var p=o[n],a=Object.getOwnPropertyDescriptor(r,p);void 0!==a&&a.enumerable&&(e[p]=r[p])}}}return e}}),a(t)&&a(n))for(var s in n)a(n[s])?(t[s]||Object.assign(t,p({},s,{})),h(t[s],n[s])):(o=n[s])&&Array.isArray(o)?(t[s]||Object.assign(t,p({},s,[])),t[s]=t[s].concat(n[s])):Object.assign(t,p({},s,n[s]));return h.apply(void 0,[t].concat(i))}function w(){return"translate3d("+this.properties.x+"px,"+this.properties.y+"px, 0) scale("+this.properties.scale+") rotate("+this.properties.deg+"deg)"}function d(t,e){return t+"px "+e+"px"}function l(){if(this.properties.rotation_slider)this.options.rotation.slider?this.properties.rotation_slider.disabled=!this.options.rotation.enable:(this.properties.wrapper.removeChild(this.properties.rotation_slider.parentNode),delete this.properties.rotation_slider),this.properties.rotation_slider&&(this.properties.rotation_slider.style.width=this.properties.container.offsetWidth+"px");else if(this.options.rotation.slider){var t=document.createElement("div");t.classList.add("cropme-rotation-slider");var e=this.properties.rotation_slider=document.createElement("input");e.type="range",e.setAttribute("min",-180),e.setAttribute("max",180),e.setAttribute("step",1),e.value=0,e.style.width=this.properties.container.offsetWidth+"px",t.appendChild(e),this.properties.wrapper.appendChild(t);var i=this;this.properties.rotation_slider.addEventListener(o()?"change":"input",function(t){i.rotate(t.target.value)}),this.properties.rotation_slider.disabled=!this.options.rotation.enable}}function o(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(0<e)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(0<t.indexOf("Trident/")){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}var r=t.indexOf("Edge/");return 0<r&&parseInt(t.substring(r+5,t.indexOf(".",r)),10)}function u(){function t(){var t=(this.properties.wrapper.offsetWidth-this.properties.container.offsetWidth)/2,e=this.properties.container.offsetWidth/2+12+t;"left"===this.options.rotation.position&&(e=-this.properties.container.offsetWidth/2-20+t);var i=(this.properties.container.offsetWidth-this.properties.container.offsetHeight)/2,r=this.properties.container.offsetHeight/2+12-i;this.properties.sliderContainer.style.transform="translate3d("+e+"px, "+r+"px, 0) rotate(-90deg)";var o=this.properties.container.offsetWidth/2;this.properties.sliderContainer.style.transformOrigin=o+"px 12px",this.properties.sliderContainer.style.marginTop="-24px",this.properties.slider.disabled=!this.options.zoom.enable}if(this.properties.slider)this.options.zoom.slider?t.call(this):(this.properties.wrapper.removeChild(this.properties.slider.parentNode),delete this.properties.slider);else if(this.options.zoom.slider){var e=this,i=this.properties.sliderContainer=document.createElement("div");i.classList.add("cropme-slider");var r=this.properties.slider=document.createElement("input");r.type="range",r.setAttribute("min",this.options.zoom.min),r.setAttribute("max",this.options.zoom.max),r.setAttribute("step",1e-6),r.style.width=this.properties.container.offsetHeight+"px",i.style.width=this.properties.container.offsetHeight+"px",i.appendChild(r),this.properties.wrapper.insertBefore(i,this.properties.wrapper.firstChild),this.properties.slider.value=this.properties.scale,this.properties.slider.addEventListener(o()?"change":"input",function(t){e.properties.scale=parseFloat(t.target.value),e.properties.image.style.transform=w.call(e)}),t.call(this)}}function e(){var t=this.properties.container;t||(t=this.properties.container=document.createElement("div"),this.properties.wrapper.appendChild(t)),t.classList.add("cropme-container"),t.style.width=this.options.container.width+("string"==typeof this.options.container.width?"":"px"),t.style.height=this.options.container.height+"px"}function f(){var t=this.properties.viewport=this.properties.viewport||document.createElement("div"),e=this.properties.container,i=this.options,r=i.viewport.border.width;if(e.style.width=i.viewport.width>e.offsetWidth?i.viewport.width+2*r+"px":e.offsetWidth,e.style.height=i.viewport.height>e.offsetHeight?i.viewport.height+2*r+"px":e.offsetHeight,t.style.width=i.viewport.width+"px",t.style.height=i.viewport.height+"px",t.className="viewport","circle"===i.viewport.type&&(t.className="viewport circle"),i.viewport.border.enable){var o=(e.offsetWidth-i.viewport.width)/2;i.viewport.border.width=o<i.viewport.border.width?o:i.viewport.border.width}else i.viewport.border.width=0;this.properties.viewport.style.borderWidth=i.viewport.border.width+"px",this.properties.viewport.style.borderColor=i.viewport.border.color,this.properties.container.appendChild(t)}function m(){var t=this.properties.image.style.transformOrigin.split("px ");return{x:parseFloat(t[0]),y:parseFloat(t[1])}}function g(){var t=m.call(this),e=t.x,i=t.y,r=-parseInt(this.properties.deg)*Math.PI/180;if("viewport"===this.options.transformOrigin){var o=this.properties.deg;this.properties.deg=0,this.properties.image.style.transform=w.call(this);var n,s,p=this.properties.scale,a=this.properties.container,h=this.properties.image.getBoundingClientRect(),c=this.properties.viewport.getBoundingClientRect(),l=c.top-h.top+c.height/2,u=(c.left-h.left+c.width/2)/p-e,f=l/p-i;n=e+(u*Math.cos(r)-f*Math.sin(r)),s=i+(u*Math.sin(r)+f*Math.cos(r)),this.properties.x=a.offsetWidth/2-n,this.properties.y=a.offsetHeight/2-s,this.properties.image.style.transformOrigin=d.call(this,n,s),this.properties.deg=o,this.properties.image.style.transform=w.call(this)}else this.properties.x-=this.properties.origin_x-e,this.properties.y-=this.properties.origin_y-i,this.properties.image.style.transformOrigin=d.call(this,this.properties.origin_x,this.properties.origin_y),this.properties.image.style.transform=w.call(this)}function n(){e.call(this),l.call(this),u.call(this),function(){this.properties.image||(this.properties.image=new Image),this.properties.image.ondragstart=function(){return!1},this.properties.container.appendChild(this.properties.image)}.call(this),f.call(this);function t(t){t.preventDefault();var e=t.pageX,i=t.pageY;t.touches&&(e=t.touches[0].pageX,i=t.touches[0].pageY),r=c.properties.x||r,o=c.properties.y||o,a=e-r,h=i-o,document.addEventListener("mousemove",n),document.addEventListener("touchmove",n),document.addEventListener("mouseup",s),document.addEventListener("touchend",s)}var a,h,r=0,o=0,c=this;c.properties.image.addEventListener("mousedown",t),c.properties.image.addEventListener("touchstart",t);var n=function(t){t.preventDefault();var e=t.pageX,i=t.pageY;if(t.touches&&(e=t.touches[0].pageX,i=t.touches[0].pageY),t.touches&&1<t.touches.length){var r=t.touches[1],o=e-r.pageX,n=i-r.pageY;if(c.options.rotation.enable){var s=90-180*Math.atan2(o,n)/Math.PI;c.properties.odeg||(c.properties.odeg=s-c.properties.deg),c.properties.deg=s-c.properties.odeg}if(c.options.zoom.enable){var p=Math.sqrt(Math.pow(o,2)+Math.pow(n,2));c.properties.od||(c.properties.od=p/c.properties.scale),c.properties.scale=p/c.properties.od,c.properties.slider&&(c.properties.slider.value=c.properties.scale)}}else c.properties.x=e-a,c.properties.y=i-h;c.properties.image.style.transform=w.call(c)},s=function t(){document.removeEventListener("touchmove",n),document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",t),document.removeEventListener("touchend",t),c.properties.od=0,c.properties.odeg=0,g.call(c)};c.properties.container.addEventListener("mousewheel",function(t){t.preventDefault();var e=c.properties.scale+t.wheelDelta/1200*c.properties.scale;e>c.options.zoom.min&&e<c.options.zoom.max&&c.options.zoom.mouseWheel&&c.options.zoom.enable&&(c.options.zoom.slider&&(c.properties.slider.value=e),c.properties.scale=e,c.properties.image.style.transform=w.call(c))})}(function(K){function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return i[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}var i,o;o={},r.m=i={100:function(t,e,i){(function(t){var e=i(5);try{t.Promise=e,window.Promise=e}catch(t){}}).call(e,i(2))},2:function(t,e){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(t){"object"==("undefined"==typeof window?"undefined":Z(window))&&(i=window)}t.exports=i},5:function(J,t,e){(function(G){!function(){function r(){return $[S][H]||"Symbol(species)"}function o(t){return t&&"object"==Z(t)}function a(t){return"function"==typeof t}function h(t,e){return t instanceof e}function e(t,e,i){if(!e(t))throw l(i)}function i(){try{return j.apply(O,arguments)}catch(t){return X.e=t,X}}function c(t,e){return j=t,O=e,i}function t(e,i){function r(){for(var t=0;t<n;)i(o[t],o[t+1]),o[t++]=_,o[t++]=_;n=0,o.length>e&&(o.length=e)}var o=P(e),n=0;return function(t,e){o[n++]=t,o[n++]=e,2===n&&$.nextTick(r)}}function p(t,e){var i,r,o,n,s=0;if(!t)throw l(B);var p=t[$[S].iterator];if(a(p))r=p.call(t);else{if(!a(t.next)){if(h(t,P)){for(i=t.length;s<i;)e(t[s],s++);return s}throw l(B)}r=t}for(;!(o=r.next()).done;)if((n=c(e)(o.value,s++))===X)throw a(r.return)&&r.return(),n.e;return s}function l(t){return new TypeError(t)}function n(t){return(t?"":D)+(new M).stack}function s(t,e){var i="on"+t.toLowerCase(),r=z[i];k&&k.listeners(t).length?t===U?k.emit(t,e._v,e):k.emit(t,e):r?r({reason:e._v,promise:e}):$[t](e._v,e)}function u(t){return t&&t._s}function f(t){return u(t)?new t(x):(i=new t(function(t,e){if(i)throw l();r=t,o=e}),e(r,a),e(o,a),i);var i,r,o}function d(e,i){var r=!1;return function(t){r||(r=!0,W&&(e[N]=n(!0)),i===A?w(e,t):v(e,i,t))}}function m(t,e){function i(t){return r.push(t.replace(/^\s+|\s+$/g,""))}var r=[];return W&&(e[N]&&i(e[N]),function t(e){e&&T in e&&(t(e._next),i(e[T]+""),t(e._p))}(e)),(t&&t.stack?t.stack:t)+("\n"+r.join("\n")).replace(q,"")}function g(t,e){return t(e)}function v(t,e,i){var r=0,o=t._c;if(t._s===F)for(t._s=e,t._v=i,e===R&&(W&&function(t){return h(t,M)}(i)&&(i.longStack=m(i,t)),V(t));r<o;)Q(t,t[r++]);return t}function w(t,e){if(e===t&&e)return v(t,R,l(Y)),t;if(e!==C&&(a(e)||o(e))){var i=c(y)(e);if(i===X)return v(t,R,i.e),t;a(i)?(W&&u(e)&&(t._next=e),u(e)?b(t,e,i):$.nextTick(function(){b(t,e,i)})):v(t,A,e)}else v(t,A,e);return t}function y(t){return t.then}function b(e,i,t){var r=c(t,i)(function(t){i&&(i=C,w(e,t))},function(t){i&&(i=C,v(e,R,t))});r===X&&i&&(v(e,R,r.e),i=C)}function x(){}var _,j,O,C=null,E="object"==("undefined"==typeof self?"undefined":Z(self)),z=E?self:G,L=z.Promise,k=z.process,I=z.console,W=!1,P=Array,M=Error,R=1,A=2,F=3,S="Symbol",H="species",T="_pt",N="_st",B="Invalid argument",D="\nFrom previous ",Y="Chaining cycle detected for promise",U="unhandledRejection",X={e:C},q=/^.+\/node_modules\/yaku\/.+\n?/gm,$=function(t){var e,i=this;if(!o(i)||i._s!==_)throw l("Invalid this");if(i._s=F,W&&(i[T]=n()),t!==x){if(!a(t))throw l(B);(e=c(t)(d(i,A),d(i,R)))===X&&v(i,R,e.e)}};(function(t,e){for(var i in e)t[i]=e[i]})(($.default=$).prototype,{then:function(t,e){if(this._s===K)throw l();return function(t,e,i,r){return a(i)&&(e._onFulfilled=i),a(r)&&(t._uh&&s("rejectionHandled",t),e._onRejected=r),W&&(e._p=t),t[t._c++]=e,t._s!==F&&Q(t,e),e}(this,f($.speciesConstructor(this,$)),t,e)},catch:function(t){return this.then(_,t)},finally:function(e){return this.then(function(t){return $.resolve(e()).then(function(){return t})},function(t){return $.resolve(e()).then(function(){throw t})})},_c:0,_p:C}),$.resolve=function(t){return u(t)?t:w(f(this),t)},$.reject=function(t){return v(f(this),R,t)},$.race=function(t){function e(t){v(o,A,t)}function i(t){v(o,R,t)}var r=this,o=f(r),n=c(p)(t,function(t){r.resolve(t).then(e,i)});return n===X?r.reject(n.e):o},$.all=function(t){function i(t){v(n,R,t)}var r,o=this,n=f(o),s=[];return(r=c(p)(t,function(t,e){o.resolve(t).then(function(t){s[e]=t,--r||v(n,A,s)},i)}))===X?o.reject(r.e):(r||v(n,A,[]),n)},$.Symbol=z[S]||{},c(function(){Object.defineProperty($,r(),{get:function(){return this}})})(),$.speciesConstructor=function(t,e){var i=t.constructor;return i&&i[r()]||e},$.unhandledRejection=function(t,e){I&&I.error("Uncaught (in promise)",W?e.longStack:m(t,e))},$.rejectionHandled=x,$.enableLongStackTrace=function(){W=!0},$.nextTick=E?function(t){L?new L(function(t){t()}).then(t):setTimeout(t)}:k.nextTick,$._s=1;var Q=t(999,function(t,e){var i,r;return(r=t._s!==R?e._onFulfilled:e._onRejected)===_?void v(e,t._s,t._v):(i=c(g)(r,t._v))===X?void v(e,R,i.e):void w(e,i)}),V=t(9,function(t){!function t(e){if(e._umark)return!0;e._umark=!0;for(var i,r=0,o=e._c;r<o;)if((i=e[r++])._onRejected||t(i))return!0}(t)&&(t._uh=1,s(U,t))});try{J.exports=$}catch(t){z.Yaku=$}}()}).call(t,e(2))}},r.c=o,r.i=function(t){return t},r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=100)}).call("object"===("undefined"==typeof window?"undefined":Z(window))&&window||"object"===("undefined"==typeof self?"undefined":Z(self))&&self||"object"===("undefined"==typeof global?"undefined":Z(global))&&global||{}),window.jQuery&&(jQuery.fn.cropme=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=1<arguments.length?arguments[1]:void 0;if("object"===Z(e))return this.each(function(){var t=new s(this,e);$(this).data("cropme",t)});if("string"!=typeof e)throw"Error: the argument must be an object or a string";var i=$(this).data("cropme");switch(e){case"position":return i.position();case"bind":return i.bind(t);case"crop":return i.crop(t);case"rotate":return i.rotate(t);case"reload":return i.reload(t);case"destroy":return i.destroy();default:throw"Error: "+e+" method not found"}});var s=function(){function i(t,e){if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,i),-1<t.className.indexOf("cropme-wrapper"))throw"Error: Cropme is already initialized";if(this.properties={},this.options=h(c,e),this.options.viewport.width>this.options.container.width)throw"Error: Viewport width cannot be greater that container width";if(this.options.viewport.height>this.options.container.height)throw"Error: Viewport height cannot be greater that container height";"img"===(this.properties.wrapper=t).tagName.toLowerCase()&&(this.properties.image=new Image,this.properties.image.src=t.src,this.properties.wrapper=document.createElement("div"),t.parentNode.insertBefore(this.properties.wrapper,t.previousSibling),t.parentNode.removeChild(t)),this.properties.wrapper.className+=" cropme-wrapper "+this.options.customClass,n.call(this),this.properties.image.src&&this.bind({url:this.properties.image.src})}return function(t,e,i){e&&r(t.prototype,e),i&&r(t,i)}(i,[{key:"resize",value:function(){var t=this.properties.container,e=this.properties.container_w-t.offsetWidth,i=this.properties.container_h-t.offsetHeight;t.style.width=this.options.container.width+("string"==typeof this.options.container.width?"":"px"),t.offsetWidth>this.options.viewport.width?(this.properties.x-=e/2,this.properties.y-=i/2,this.properties.container_w=t.offsetWidth,this.properties.container_h=t.offsetHeight,this.properties.ox-=e/2,this.properties.oy-=i/2,this.properties.image.style.transform=w.call(this),u.call(this),l.call(this)):t.style.width=this.options.viewport.width+2*this.options.viewport.border.width+"px"}},{key:"bind",value:function(a){var t=this;window.onresize=this.resize.bind(this),this.properties.image.src=a.url;var h=this.properties,c=this.options,l=this;return new Promise(function(p){t.properties.image.onload=function(){var t=h.image.getBoundingClientRect(),e=h.container.getBoundingClientRect(),i=(e.width-t.width)/2,r=(e.height-t.height)/2,o=e.height/t.height,n=0;h.ox=i,h.oy=r;var s={};if("object"===Z(a.position)&&(i=a.position.x?a.position.x+i:i,r=a.position.y?a.position.y+r:r,o=a.position.scale||o,n=a.position.angle||n,s=a.position.origin||s,c.transformOrigin="object"===a.position.origin?"viewport":"image"),c.zoom.max<=c.zoom.min)throw"Error: max zoom cannot be less or equal to min zoom";o<c.zoom.min&&(o=c.zoom.min),o>c.zoom.max&&(o=c.zoom.max),h.x=i,h.y=r,h.container_w=e.width,h.container_h=e.height,h.origin_x=t.width/2,h.origin_y=t.height/2,h.scale=o,l.options.zoom.slider&&(h.slider.value=o),l.options.rotation.slider&&(h.rotation_slider.value=n),h.deg=n,h.image.style.transform=w.call(l),h.image.style.transformOrigin=d.call(l,s.x||h.origin_x,s.y||h.origin_y),h.image.style.opacity=1,g.call(l),p(l.properties.image)}})}},{key:"rotate",value:function(t){this.properties.deg=t;var e=this.properties.image.style.transformOrigin.split("px "),i=parseInt(e[0]),r=parseInt(e[1]);this.properties.rotate_originx=i,this.properties.rotate_originy=r,this.properties.image.style.transform=w.call(this)}},{key:"crop",value:function(t){var i=function(t){var e=document.createElement("canvas"),i=e.getContext("2d"),r=this.options.viewport.width,o=this.options.viewport.height;"object"===Z(t)&&(t.scale?(r*=t.scale,o*=t.scale):t.width&&(o=t.width*o/r,r=t.width)),e.width=r,e.height=o;var n=r/this.options.viewport.width,s=o/this.options.viewport.height,p=this.properties.deg,a=this.properties.x,h=this.properties.y;function c(t,e,i){this.properties.deg=t,this.properties.x=e,this.properties.y=i,this.properties.image.style.transform=w.call(this)}c.call(this,0,this.properties.ox,this.properties.oy);var l=this.properties.image.getBoundingClientRect(),u=this.properties.viewport.getBoundingClientRect(),f=n*(l.left-u.left-this.options.viewport.border.width),d=s*(l.top-u.top-this.options.viewport.border.width),m=this.options.transformOrigin,g=(a-this.properties.x)*n,v=(h-this.properties.y)*s;return"image"===m&&i.translate(g,v),i.translate(r/2,o/2),i.rotate(p*Math.PI/180),"image"===m?i.translate(-r/2,-o/2):i.translate(-r/2+g,-o/2+v),i.drawImage(this.properties.image,f,d,l.width*n,l.height*s),"circle"===this.options.viewport.type&&("image"===m?i.translate(r/2,o/2):i.translate(r/2-g,o/2-v),i.rotate(-p*Math.PI/180),i.translate(-r/2,-o/2),i.scale(1,this.options.viewport.height/this.options.viewport.width),"image"===m?i.translate(2*-g,2*-v):i.translate(-g,-v),i.globalCompositeOperation="destination-in",i.arc(r/2+g,o/2+v,r/2,0,2*Math.PI),i.fill()),c.call(this,p,a,h),e}.call(this,t),r="object"===Z(t)?t.type:t;return new Promise(function(e){"blob"===r?i.toBlob(function(t){return e(URL.createObjectURL(t))},t.mimetype,t.quality):"object"===Z(t)?e(i.toDataURL(t.mimetype,t.quality)):e(i.toDataURL())})}},{key:"position",value:function(){var t={x:parseFloat((this.properties.x-this.properties.ox).toFixed(3)),y:parseFloat((this.properties.y-this.properties.oy).toFixed(3)),scale:parseFloat(this.properties.scale.toFixed(4)),angle:parseInt(this.properties.deg)};return"viewport"===this.options.transformOrigin&&(t.origin=m.call(this)),t}},{key:"reload",value:function(t){this.options=h(c,t),u.call(this),e.call(this),l.call(this),f.call(this),g.call(this)}},{key:"destroy",value:function(){this.properties.wrapper.innerHTML="",this.properties.wrapper.className=this.properties.wrapper.className.replace("cropme-wrapper",""),delete this.options,delete this.properties}}]),i}(),c={container:{width:300,height:300},viewport:{width:100,height:100,border:{enable:!0,width:2,color:"#fff"}},transformOrigin:"viewport",zoom:{min:.01,max:3,enable:!0,mouseWheel:!0,slider:!1},customClass:"",rotation:{slider:!1,enable:!0,position:"right"}};return s}); |