define("pinItPinWidget/layout/PinItPinWidgetLayout",["layout"],function(a){"use strict";a.registerCustomMeasure("wysiwyg.common.components.pinitpinwidget.viewer.PinItPinWidget",function(a,b,c){b.height[a]=c[a].offsetHeight;b.width[a]=c[a].offsetWidth});return{}});define("pinItPinWidget/aspects/PinterestWidgetPostMessageAspect",["core"],function(a){"use strict";var b=function(a){a.registerToMessage(this.handlePostMessage.bind(this));this.siteAPI=a;this.dimensions={};this.shouldShowError={}};b.prototype={handlePostMessage:function(a){var b;try{b=JSON.parse(a.data);if(b.type!=="pinterest"){return}if(b.showError){this.shouldShowError[b.compId]="error";this.siteAPI.forceUpdate();return}this.shouldShowError[b.compId]="noError";this.dimensions[b.compId]={height:b.height,width:b.width};this.siteAPI.forceUpdate()}catch(a){return}},getIframeDimensions:function(a){return this.dimensions[a]},shouldPresentErrorMessage:function(a){return this.shouldShowError[a]}};a.siteAspectsRegistry.registerSiteAspect("PinterestWidgetPostMessageAspect",b);return b});define("pinItPinWidget",["lodash","core","santaProps","utils","pinItPinWidget/layout/PinItPinWidgetLayout","pinItPinWidget/aspects/PinterestWidgetPostMessageAspect"],function(a,b,c,d){"use strict";var e={height:274,width:225};var f=function(a){var b={pinUrl:a.compData.pinId,compId:a.id};return a.santaBase+"/static/external/pinterestWidget.html?"+d.urlUtils.toQueryString(b)};function g(b,c,d){if(d){return e}return a.assign({},b,c)}return{displayName:"PinItPinWidget",mixins:[b.compMixins.skinBasedComp,b.compMixins.skinInfo],propTypes:{shouldPresentErrorMessage:c.Types.Pinterest.shouldPresentErrorMessage,iframeDimensions:c.Types.Pinterest.iframeDimensions,santaBase:c.Types.santaBase.isRequired,compData:c.Types.Component.compData.isRequired},statics:{useSantaTypes:true},getInitialState:function(){return{$shouldShowError:this.props.shouldPresentErrorMessage||"noError"}},componentWillReceiveProps:function(){var a=this.props.shouldPresentErrorMessage;if(a!==this.state.$shouldShowError){this.setState({$shouldShowError:a})}},getSkinProperties:function(){var b=this.state.$shouldShowError==="error";var c=g(this.props.style,this.props.iframeDimensions,b);return{"":{style:a.pick(c,["width","height"])},iframe:{src:f(this.props),style:b?{height:"0%",width:"0%"}:{height:"100%",width:"100%"}}}}}});