"use strict";define("subscribeForm",["core","react","lodash","utils","santaProps","formCommon","reactDOM"],function(t,e,i,r,n,s,a){function o(t){return{className:this.classSet({hidden:!this.props.compProp["hidden"+r.stringUtils.capitalize(t.skinPart)+"Field"]})}}function u(t){return{optional:!0,children:[this.props.compData[t.skinPart+"FieldLabel"]]}}function l(t){var e=t.target.id.replace(this.props.id,"").replace("Field","").replace("Number","");this.setState(i.assign(this.state[e],{value:t.target.value}))}function c(t){return{parentConst:e.DOM.input,onFocus:v.bind(this),onChange:l.bind(this),onInput:t.validator,placeholder:this.props.compData[t.skinPart+"FieldLabel"],name:t.skinPart,value:this.state[t.skinPart].value,className:this.classSet({error:this.state[t.skinPart]&&this.state[t.skinPart].error})}}function p(){return i.map(y,function(t){return t.skinPart+"Row"})}function h(){return i.map(y,function(t){return t.skinPart+"FieldLabel"})}function d(){return i.map(y,function(t){return t.inputSkinPart+"Field"})}function m(){var t=this.getFromExports("successMessageOutside"),i=this.state.notifications,r={error:i.error,success:!i.error&&i.message};return t?{message:{parentConst:e.DOM.div,children:i.message,className:this.classSet(r)}}:{notifications:{children:i.message,className:this.classSet(r)}}}function f(){return{formTitle:{parentConst:e.DOM.h1,children:this.props.compData.subscribeFormTitle}}}function v(t){var e=t.target.getAttribute("name");if(this.state[e].error){var i={notifications:{message:"",error:!1}};i[e]={error:!1,value:this.state[e].value},this.setState(i)}}function g(t){return{countryCodesField:{value:t,children:i.map(N,function(t){return e.DOM.option({value:t.phoneCode},t.countryName+" "+t.phoneCode)}),onChange:F.bind(this)},selected:{value:t,readOnly:!0}}}function F(t){this.setState({countryCode:t.target.value})}function P(t){var e=t.target;e.value=e.value.replace(/[^0-9\-]/g,""),e.value=e.value.substring(0,Math.min(25,e.value.length))}function b(){var t=this,e={};return i.forEach(y,function(i){e[i.skinPart]={error:!1,value:t.state[i.skinPart].value}}),e.notifications={error:!1,message:""},e}var S=t.compMixins,k=r.validationUtils,C=r.countryCodes,N={},y=[{skinPart:"firstName",inputSkinPart:"firstName"},{skinPart:"lastName",inputSkinPart:"lastName"},{skinPart:"email",inputSkinPart:"email"},{skinPart:"phone",inputSkinPart:"phoneNumber",children:["countryCodes","phoneNumber"],validator:P}];return i.forEach(C.countries,function(t,e){t.phoneCode&&(N[e]=t)}),Object.freeze(N),{displayName:"SubscribeForm",mixins:[s.formMixin,S.skinInfo],propTypes:{id:n.Types.Component.id.isRequired,compData:n.Types.Component.compData.isRequired,compProp:n.Types.Component.compProp.isRequired,geo:n.Types.RendererModel.geo},statics:{useSantaTypes:!0},getFormInitialState:function(){var t=this.props.geo||"USA",e={notifications:{message:"",error:!1},countryCode:(N[t]||N.USA).phoneCode,mailSent:!1};return i.forEach(y,function(t){e[t.skinPart]={error:!1}}),e},onMailJustSent:function(t){t.target.removeEventListener("click",this.onMailJustSent),this.setState({mailSent:!1,message:{message:"",error:!1}})},isFieldEmpty:function(t){return!t.value||!t.value.replace(/^\s+|\s+$/g,"")||i.includes(t.className,"isPlaceholder")},getVisibleFieldsSpecs:function(){return i(this.props.compProp).pickBy(function(t,e){return t&&i.startsWith(e,"hidden")}).transform(function(t,e,r){var n=r.replace("hidden",""),s=i.camelCase(n);t[s]={isRequire:this.props.compProp["required"+n],fields:this.getInputsFromSkinPart(s)}}.bind(this),{}).value()},getInputsFromSkinPart:function(t){var e=i.find(y,function(e){return e.skinPart+"Field"===t});return e.children?i.map(e.children,function(t){return a.findDOMNode(this.refs[t+"Field"])}.bind(this)):[a.findDOMNode(this.refs[e.skinPart+"Field"])]},getCleanFormState:function(){var t=this;return i.reduce(y,function(e,i){var r=i.skinPart||i;return e[r]=t.state[r],e[r].value="",e},{})},getErrorFormState:function(t,e){var r={notifications:{message:e,error:!0}};return i.forEach(t,function(t){r[t]={error:!0,value:this.state[t].value}}.bind(this)),r},createSkinPropertiesContainer:function(){return{wrapper:{parentConst:e.DOM.div,onClick:this.state.mailSent?this.onMailJustSent:i.noop}}},getActivityName:function(){return"SubscribeFormActivity"},getFormFields:function(){return i.reduce(y,function(t,e){var r="hidden"+e.skinPart.replace(/[a-z]/,function(t){return t.toUpperCase()})+"Field";if(this.props.compProp[r]){var n=a.findDOMNode(this.refs[e.skinPart+"FieldLabel"]).innerHTML;e.children?t[n]=i.reduce(e.children,function(t,e){return t+a.findDOMNode(this.refs[e+"Field"]).value}.bind(this),""):t[n]=a.findDOMNode(this.refs[e.skinPart+"Field"]).value}return t}.bind(this),{})},getFieldsForActivityReporting:function(){var t={email:this.state.email.value};return this.state.firstName.value&&(t.first=this.state.firstName.value),this.state.lastName.value&&(t.last=this.state.lastName.value),this.state.phone.value&&(t.phone=this.state.countryCode+""+this.state.phone.value),t},getFieldLabels:function(){return{}},isFormValid:function(){var t=!0,e=[],r={};return k.isValidEmail((this.state.email.value||"").replace(/^\s+|\s+$/g,""))?(i.forEach(this.getVisibleFieldsSpecs(),function(t,i){if(t.isRequire)for(var r=0,n=t.fields.length;r