define("image",["lodash","react","utils","core","santaProps","imageCommon","experiment"],function(a,b,c,d,e,f,g){"use strict";var h=f.imageElementFactoryMixin;return{displayName:"Image",mixins:[d.compMixins.skinBasedComp,h],propTypes:{browser:e.Types.Browser.browser,currentUrl:e.Types.currentUrl,onImageUnmount:e.Types.Images.onImageUnmount,getMediaFullStaticUrl:e.Types.ServiceTopology.getMediaFullStaticUrl,devicePixelRatio:e.Types.Device.devicePixelRatio,containerWidth:b.PropTypes.number.isRequired,containerHeight:b.PropTypes.number.isRequired,imageData:b.PropTypes.object.isRequired,style:b.PropTypes.object,quality:b.PropTypes.object,alignType:b.PropTypes.string,opacity:b.PropTypes.number,displayMode:b.PropTypes.string,effectName:b.PropTypes.string,usePreloader:b.PropTypes.bool,addItemProp:b.PropTypes.bool,imgStyle:b.PropTypes.object,"data-gallery-id":b.PropTypes.string,"data-page-desc":b.PropTypes.string,"data-query":b.PropTypes.string,"data-image-index":b.PropTypes.number,onMouseEnter:b.PropTypes.func,onTouchStart:b.PropTypes.func},statics:{useSantaTypes:true},getInitialState:function(){this.cssFiltersSupported=!(this.santaTypesProps.browser.ie||this.santaTypesProps.browser.edge);return{showPreloader:false}},componentDidMount:function(){this.setInitialPreloaderState()},componentWillUnmount:function(){this.santaTypesProps.onImageUnmount(this.props.id)},onImageReady:function(){if(this.state.showPreloader&&this.isMounted()){this.setState({showPreloader:false})}},setInitialPreloaderState:function(){var a=this.imageForLoadEvents&&this.imageForLoadEvents.complete;if(this.santaTypesProps.usePreloader&&!a){this.setState({showPreloader:!a})}},hasEffect:function(){return this.santaTypesProps.effectName&&this.santaTypesProps.effectName!=="none"},getDefaultStyles:function(b){return a.pick(b,function(a){return a!==""})},getContainerStyle:function(b){var c=this.getDefaultStyles(this.santaTypesProps.style);var d=b.css.container;var e=a.assign({position:"absolute",width:this.santaTypesProps.containerWidth,height:this.santaTypesProps.containerHeight},d,c);if(this.hasEffect()){e.WebkitTransform="translateZ(0)";e.transform="translateZ(0)"}if(a.isNumber(this.santaTypesProps.imageData.opacity)){e.opacity=this.santaTypesProps.imageData.opacity}return e},onImageMouseEnter:function(){if(typeof this.props.onMouseEnter==="function"){this.props.onMouseEnter(this.props.id)}},onImageTouchStart:function(){if(typeof this.props.onTouchStart==="function"){this.props.onTouchStart(this.props.id)}},getSkinProperties:function(){var b;var d;var e=a.pick(this.santaTypesProps,["imageData","containerWidth","containerHeight","fittingType","alignType","quality","displayMode","addItemProp"]);if(this.hasEffect()&&!this.cssFiltersSupported){d=c.imageUtils.getImageComputedProperties(e,this.santaTypesProps.getMediaFullStaticUrl,this.santaTypesProps.currentUrl,this.santaTypesProps.devicePixelRatio,"svg");b=this.getSvgOnlyImageComponent(d,this.onImageReady,this.onImageReady)}else{d=c.imageUtils.getImageComputedProperties(e,this.santaTypesProps.getMediaFullStaticUrl,this.santaTypesProps.currentUrl,this.santaTypesProps.devicePixelRatio,"img");b=this.getImageComponents(d,this.onImageReady,this.onImageReady)}var f=this.getContainerStyle(d);var h=this.state.showPreloader&&!g.isOpen("removeImagePreloader")?"circle-preloader white":"";return{"":a.defaults({style:f,addChildren:b},{onMouseEnter:this.onImageMouseEnter,onTouchStart:this.onImageTouchStart},this.santaTypesProps),preloader:{className:h}}},getDefaultSkinName:function(){return"skins.core.ImageNewSkinZoomable"}}});