define("radioGroup",["lodash","reactDOM","core","santaProps","textCommon"],function(a,b,c,d,e){"use strict";var f="radioButton";var g=["radio0","refs","radio-input"];return{displayName:"RadioGroup",mixins:[c.compMixins.skinBasedComp,c.compMixins.runTimeCompData,e.textScaleMixin,c.compMixins.inputFocusMixin],statics:{useSantaTypes:true,behaviors:a.assign({change:{methodName:"validate"}},c.compMixins.inputFocusMixin.INPUT_FOCUS_BEHAVIORS)},getFirstRadioInputDOMNode:function(){var c=a.get(this.refs,g);return b.findDOMNode(c)},focus:function(){this.getFirstRadioInputDOMNode().focus()},blur:function(){this.getFirstRadioInputDOMNode().blur()},propTypes:{compData:d.Types.Component.compData.isRequired,compProp:d.Types.Component.compProp.isRequired,isMobileView:d.Types.isMobileView},getInitialState:function(){return{$mobile:this.props.isMobileView?"mobile":"desktop"}},validate:function(){this.handleAction("validate");var a=this.props.compData.value||this.props.compData.defaultValue;return this.props.compProp.required?Boolean(a):true},setRadioSelected:function(a,b,c){this.updateData({value:a.value});this.handleAction("change",c)},createChildren:function(){return a.map(this.props.compData.options,this.createChildRadioButton)},createChildRadioButton:function(a,b){var c=this.props.compData.options.length;var d=b===c-1;var e={id:this.props.id+"radio"+b,ref:"radio"+b,text:this.props.compData.options[b].label,groupName:this.props.id,key:"radio"+b+a.label,onChange:this.setRadioSelected.bind(this,a,b),buttonSize:this.props.compProp.buttonSize,previewState:this.getComponentPreviewState(),"data-error":!this.validate(),textStyle:this.getFontSize(this.props),style:{}};if(!d){if(this.props.compProp.layout==="vertical"){e.style.marginBottom=this.props.compProp.buttonsMargin}else{e.style.marginRight=this.props.compProp.buttonsMargin}}var g=this.props.compData.value||this.props.compData.defaultValue;if(g===a.value){e.checked=true}return this.createChildComponent(a,"wysiwyg.viewer.components.inputs.RadioButton",f,e)},getSkinProperties:function(){var a={};a[this.props.compProp.layout+"-axis"]=true;return{"":{className:this.classSet(a)},items:{children:this.createChildren()}}}}});