define("zoomedImage",["lodash","react","reactDOM","utils","core","santaProps","imageCommon"],function(a,b,c,d,e,f,g){"use strict";var h=e.compMixins;var i=g.imageElementFactoryMixin;var j=.2;return{mixins:[h.skinBasedComp,h.animationsMixin,i],displayName:"ZoomedImage",propTypes:{browser:f.Types.Browser.browser,currentUrl:f.Types.currentUrl,getMediaFullStaticUrl:f.Types.ServiceTopology.getMediaFullStaticUrl,devicePixelRatio:f.Types.Device.devicePixelRatio,containerWidth:b.PropTypes.number.isRequired,containerHeight:b.PropTypes.number.isRequired,imageData:b.PropTypes.object.isRequired,displayMode:b.PropTypes.string,effectName:b.PropTypes.string,initialClickPosition:b.PropTypes.object,style:b.PropTypes.object},statics:{useSantaTypes:true},shouldZoom:true,shouldDrag:false,sequenceId:"",animatableElement:"image",getInitialState:function(){var a=this.props.browser;this.cssFiltersSupported=!(a.ie||a.edge);return{}},hasEffect:function(){return this.props.effectName&&this.props.effectName!=="none"},getTargetPosition:function(a){this.clientRect=this.clientRect||d.domMeasurements.getBoundingRect(c.findDOMNode(this));var b={height:this.props.containerHeight,width:this.props.containerWidth};var e=a.clientX-this.clientRect.left;var f=a.clientY-this.clientRect.top;return{x:-(this.props.imageData.width-b.width)*(e/b.width),y:-(this.props.imageData.height-b.height)*(f/b.height)}},zoomOut:function(a){this.stopSequence(this.sequenceId);a()},zoomIn:function(){this.shouldDrag=this.shouldZoom;var a=this.getTargetPosition(this.props.initialClickPosition);this.animate(this.animatableElement,"BasePosition",0,0,{to:{x:-(this.props.imageData.width/2-this.props.containerWidth/2),y:-(this.props.imageData.height/2-this.props.containerHeight/2)}});this.sequenceId=this.animate(this.animatableElement,"BasePosition",j,0,{to:a})},drag:function(a){if(this.shouldDrag){var b=this.getTargetPosition(a);this.animate(this.animatableElement,"BasePosition",.5,0,{to:b})}},getDefaultSkinName:function(){return"skins.core.ImageNewSkinZoomable"},getSkinProperties:function(){var b,c;var e={containerWidth:this.props.imageData.width,containerHeight:this.props.imageData.height,imageData:this.props.imageData,displayMode:this.props.displayMode};if(this.hasEffect()&&!this.cssFiltersSupported){this.animatableElement="svg";c=d.imageUtils.getImageComputedProperties(e,this.props.getMediaFullStaticUrl,this.props.currentUrl,this.props.devicePixelRatio,"svg");b=this.getSvgOnlyImageComponent(c,this.zoomIn)}else{c=d.imageUtils.getImageComputedProperties(e,this.props.getMediaFullStaticUrl,this.props.currentUrl,this.props.devicePixelRatio,"img");a.set(c,"css.img.outline","1px solid transparent");b=this.getImageComponents(c,this.zoomIn)}var f=a.assign({width:this.props.containerWidth,height:this.props.containerHeight,WebkitTransform:"translateZ(0)",transform:"translateZ(0)"},c.css.container);return{"":{style:f,onMouseMove:this.drag,addChildren:b,"data-image-zoomed":true}}}}});