!function(){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e){var n=function(e,n){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,n||"default");if("object"!=t(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==t(n)?n:String(n)}function r(e,t){for(var r=0;r0&&React.createElement("button",{className:"gform-settings-generic-map__reset",onClick:function(e){e.preventDefault(),c(O(O({},i),{},{key:"",custom_key:""}),a)}},React.createElement("span",{className:"screen-reader-text"},C("Remove Custom Key","gravityforms")))):React.createElement("select",{id:s,value:i.key,onChange:function(e){return c(O(O({},i),{},{key:e.target.value}),a)}},this.getKeyOptions(e))}},{key:"getKeyOptions",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=this.props,i=a.keyField,c=a.mappedChoices,o=a.mapping,u=i.allow_custom,l=i.allow_duplicates;t||(t=i.choices);var s=t.map((function(e){return e.name||e.value})),p="select-".concat(e,"-optiongroup-"),g=[];!s.includes("")&&n&&g.push(React.createElement("option",{key:"".concat(p,"-default"),value:"",disabled:!1},C("Select a Field","gravityforms")));for(var m=0;m0?g.push(React.createElement("optgroup",{label:f.label,key:"".concat(p,"-").concat(m)},this.getKeyOptions("".concat(e,".").concat(m),f.choices,!1,!1))):g.push(React.createElement("option",{key:"".concat(p,"-").concat(m),value:f.value,disabled:h},f.label))}}return u&&!s.includes("gf_custom")&&r&&g.push(React.createElement("option",{key:"".concat(p,"-custom"),value:"gf_custom",disabled:!1},C("Add Custom Key","gravityforms"))),g}},{key:"getValueInput",value:function(){var e=this.props,t=e.choice,n=e.index,r=e.isInvalid,a=e.mapping,i=e.updateMapping,c=e.valueField,o=e.mergeTagSupport,u=t.required,l=this.getValueInputId();return"gf_custom"===a.value?React.createElement(k,{choice:t,index:n,isInvalid:r,mapping:a,updateMapping:i,valueField:c,mergeTagSupport:o,fieldId:l}," "):React.createElement("select",{id:l,disabled:""===a.key||!a.key,value:a.value,onChange:function(e){return i(O(O({},a),{},{value:e.target.value}),n)},className:r?"gform-settings-generic-map__value--invalid":"",required:u},this.getValueOptions().map((function(e){return e.choices&&e.choices.length>0?React.createElement("optgroup",{key:e.label,label:e.label},e.choices.map((function(e){return React.createElement("option",{key:e.value,value:e.value},e.label)}))):React.createElement("option",{key:e.value,value:e.value},e.label)})))}},{key:"getValueOptions",value:function(){var e=this.props,t=e.choice,n=e.valueField,r=n.allow_custom,a=t.name&&n.choice_keys&&n.choice_keys[t.name]?n.choice_keys[t.name]:"default",i=t.choices||n.choices[a];i||(i=[]);var c=i.map((function(e){return e.value}));return r&&!c.includes("gf_custom")&&i.push({label:C("Add Custom Value","gravityforms"),value:"gf_custom",disabled:!1}),i}},{key:"getAddButton",value:function(){var e=this.props,t=e.canAdd,n=e.addMapping,r=e.index;return t?React.createElement("button",{className:"add_field_choice gform-st-icon gform-st-icon--circle-plus gform-settings-generic-map__button gform-settings-generic-map__button--add",onClick:function(e){e.preventDefault(),n(r)}},React.createElement("span",{className:"screen-reader-text"},C("Add","gravityforms"))):null}},{key:"getDeleteButton",value:function(){var e=this.props,t=e.canDelete,n=e.deleteMapping,r=e.index;return t?React.createElement("button",{className:"delete_field_choice gform-st-icon gform-st-icon--circle-minus gform-settings-generic-map__button gform-settings-generic-map__button--delete",onClick:function(e){e.preventDefault(),n(r)}},React.createElement("span",{className:"screen-reader-text"},C("Delete","gravityforms"))):null}}]),r}(M);function N(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=l(e);if(t){var a=l(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return u(this,n)}}var S=wp.element,x=S.Component,I=S.render,F=function(t){o(r,t);var n=N(r);function r(){var t;return e(this,r),(t=n.apply(this,arguments)).state={mapping:JSON.parse(document.querySelector('[name="'.concat(t.props.input,'"]')).value)},t.addMapping=t.addMapping.bind(i(t)),t.deleteMapping=t.deleteMapping.bind(i(t)),t.getMapping=t.getMapping.bind(i(t)),t.updateMapping=t.updateMapping.bind(i(t)),t}return a(r,[{key:"componentDidMount",value:function(){this.populateRequiredMappings(),0===this.getRequiredChoices().length&&this.getMapping().length<1&&this.addMapping(0)}},{key:"addMapping",value:function(e){var t=this.props.keyField,n=t.allow_custom,r=t.choices,a=this.getMapping(),i=0===r.length&&n?"gf_custom":"";a.splice(e+1,0,{key:i,custom_key:"",value:"",custom_value:""}),this.setMapping(a)}},{key:"deleteMapping",value:function(e){var t=this.getMapping();t.splice(e,1),this.setMapping(t)}},{key:"getMapping",value:function(){return this.state.mapping}},{key:"setMapping",value:function(e){var t=this.props.input;this.setState({mapping:e}),document.querySelector('[name="'.concat(t,'"]')).value=JSON.stringify(e)}},{key:"updateMapping",value:function(e,t){var n=this.getMapping();e.key||(e.value=""),n[t]=e,this.setMapping(n)}},{key:"getChoice",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t||(t=this.props.keyField.choices);for(var n=0;n1&&!g.required&&!n.display_all,addMapping:e.addMapping,deleteMapping:e.deleteMapping,updateMapping:e.updateMapping,index:p,inputId:c,inputType:o,mergeTagSupport:u})}))))}}]),r}(x);window.initializeFieldMap=function(e,t){I(React.createElement(F,t),document.getElementById(e))}}();