"use strict";define("imageButton",["lodash","core","santaProps","utils","image"],function(e,t,n,o,s){function i(e){e.component.setState({$prepare:e.preTransitionClass}),o.animationFrame.request(function(){e.component.isMounted()&&e.component.setState(e.state)})}function r(e){e.state.$pressed||i({component:e,preTransitionClass:"prepare_dah",state:{$pressed:"pressed"}})}function a(e){e.state.$pressed&&i({component:e,preTransitionClass:"prepare_adh",state:{$pressed:"",$hovered:""}})}function p(e){e.state.$hovered||i({component:e,preTransitionClass:"prepare_dha",state:{$hovered:"hovered"}})}function c(e){e.state.$pressed?a(e):e.state.$hovered&&i({component:e,preTransitionClass:"prepare_hda",state:{$hovered:""}})}function u(e){e.state.$pressed||i({component:e,preTransitionClass:"prepare_had",state:{$pressed:"pressed"}})}function d(e){e.state.$pressed&&i({component:e,preTransitionClass:"prepare_ahd",state:{$pressed:""}})}function l(t,n){var s=t.props.compData[n];if(!s)return{};s=e.assign({alt:t.props.compData.alt},s);var i={id:t.props.id+n,ref:n,skinPart:n,imageData:s,containerWidth:t.props.style.width,containerHeight:t.props.style.height,displayMode:o.imageUtils.fittingTypes.LEGACY_FULL};return t.createChildComponent(s,"core.components.Image",n,i)}function f(e,t){var n={};return t.linkRef&&(n=t.linkRef,n=o.linkRenderer.renderLink(n,t.linkRenderInfo,t.rootNavigationInfo)),n.title=t.title,n.style={width:e.props.style.width,height:e.props.style.height},n}var m=t.compMixins;return{displayName:"ImageButton",mixins:[m.timeoutsMixin,m.skinBasedComp],propTypes:e.assign({compData:n.Types.Component.compData,compProp:n.Types.Component.compProp,linkRenderInfo:n.Types.Link.linkRenderInfo,rootNavigationInfo:n.Types.Component.rootNavigationInfo,style:n.Types.Component.style,windowFocusEvents:n.Types.SiteAspects.windowFocusEvents},n.santaTypesUtils.getSantaTypesByDefinition(s)),statics:{useSantaTypes:!0},getInitialState:function(){return this.blurEventAspect=this.props.windowFocusEvents,this.blurEventAspect.registerToFocusEvent("blur",this),{$opacity:"supports_opacity",$transition:"transition_"+this.props.compProp.transition,$prepare:"",$hovered:"",$pressed:""}},getSkinProperties:function(){var e=this,t={onMouseEnter:function(){p(e)},onMouseLeave:function(){c(e)},onMouseDown:function(){u(e)},onMouseUp:function(){d(e)},onDragStart:function(e){e.preventDefault()},onTouchStart:function(){r(e)},onTouchEnd:function(){a(e)},onTouchMove:function(){e.state.$pressed&&e.setTimeout(t.onTouchEnd,500)},onTouchCancel:function(){a(e)},onClick:function(){a(e)},onPointerDown:function(){r(e)},onPointerOut:function(){a(e)}};return{"":t,defaultImage:l(e,"defaultImage"),hoverImage:l(e,"hoverImage"),activeImage:l(e,"activeImage"),link:f(e,{linkRef:e.props.compData.link,title:e.props.compData.alt,linkRenderInfo:e.props.linkRenderInfo,rootNavigationInfo:e.props.rootNavigationInfo})}},onBlur:function(){c(this)},componentWillUnmount:function(){this.blurEventAspect.unregisterFromFocusEvent("blur",this)}}}); //# sourceMappingURL=imageButton.min.js.map