Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms - Version 1.15.3

Version Description

  • New feature: Submissions are checked against headless browsers for better antispam protection.
  • Improvement: Field choices preserves its shuffled state when a validation occurs on submission for better usability.
  • Improvement: Better wording and style fixes in the form builder.
  • Bugfix: Opt-In Choice field label spacing was off.
Download this release

Release Info

Developer happyforms
Plugin Icon 128x128 Form builder to get in touch with visitors, grow your email list and collect payments — Happyforms
Version 1.15.3
Comparing to
See all releases

Code changes from version 1.15.2 to 1.15.3

bundles/js/frontend.js CHANGED
@@ -1 +1 @@
1
- !function(n){"use strict";function d(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function f(n,t,r,e,o,u){return d((u=d(d(t,n),d(e,u)))<<o|u>>>32-o,r)}function l(n,t,r,e,o,u,c){return f(t&r|~t&e,n,t,o,u,c)}function g(n,t,r,e,o,u,c){return f(t&e|r&~e,n,t,o,u,c)}function v(n,t,r,e,o,u,c){return f(t^r^e,n,t,o,u,c)}function m(n,t,r,e,o,u,c){return f(r^(t|~e),n,t,o,u,c)}function c(n,t){var r,e,o,u;n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;for(var c=1732584193,f=-271733879,i=-1732584194,a=271733878,h=0;h<n.length;h+=16)c=l(r=c,e=f,o=i,u=a,n[h],7,-680876936),a=l(a,c,f,i,n[h+1],12,-389564586),i=l(i,a,c,f,n[h+2],17,606105819),f=l(f,i,a,c,n[h+3],22,-1044525330),c=l(c,f,i,a,n[h+4],7,-176418897),a=l(a,c,f,i,n[h+5],12,1200080426),i=l(i,a,c,f,n[h+6],17,-1473231341),f=l(f,i,a,c,n[h+7],22,-45705983),c=l(c,f,i,a,n[h+8],7,1770035416),a=l(a,c,f,i,n[h+9],12,-1958414417),i=l(i,a,c,f,n[h+10],17,-42063),f=l(f,i,a,c,n[h+11],22,-1990404162),c=l(c,f,i,a,n[h+12],7,1804603682),a=l(a,c,f,i,n[h+13],12,-40341101),i=l(i,a,c,f,n[h+14],17,-1502002290),c=g(c,f=l(f,i,a,c,n[h+15],22,1236535329),i,a,n[h+1],5,-165796510),a=g(a,c,f,i,n[h+6],9,-1069501632),i=g(i,a,c,f,n[h+11],14,643717713),f=g(f,i,a,c,n[h],20,-373897302),c=g(c,f,i,a,n[h+5],5,-701558691),a=g(a,c,f,i,n[h+10],9,38016083),i=g(i,a,c,f,n[h+15],14,-660478335),f=g(f,i,a,c,n[h+4],20,-405537848),c=g(c,f,i,a,n[h+9],5,568446438),a=g(a,c,f,i,n[h+14],9,-1019803690),i=g(i,a,c,f,n[h+3],14,-187363961),f=g(f,i,a,c,n[h+8],20,1163531501),c=g(c,f,i,a,n[h+13],5,-1444681467),a=g(a,c,f,i,n[h+2],9,-51403784),i=g(i,a,c,f,n[h+7],14,1735328473),c=v(c,f=g(f,i,a,c,n[h+12],20,-1926607734),i,a,n[h+5],4,-378558),a=v(a,c,f,i,n[h+8],11,-2022574463),i=v(i,a,c,f,n[h+11],16,1839030562),f=v(f,i,a,c,n[h+14],23,-35309556),c=v(c,f,i,a,n[h+1],4,-1530992060),a=v(a,c,f,i,n[h+4],11,1272893353),i=v(i,a,c,f,n[h+7],16,-155497632),f=v(f,i,a,c,n[h+10],23,-1094730640),c=v(c,f,i,a,n[h+13],4,681279174),a=v(a,c,f,i,n[h],11,-358537222),i=v(i,a,c,f,n[h+3],16,-722521979),f=v(f,i,a,c,n[h+6],23,76029189),c=v(c,f,i,a,n[h+9],4,-640364487),a=v(a,c,f,i,n[h+12],11,-421815835),i=v(i,a,c,f,n[h+15],16,530742520),c=m(c,f=v(f,i,a,c,n[h+2],23,-995338651),i,a,n[h],6,-198630844),a=m(a,c,f,i,n[h+7],10,1126891415),i=m(i,a,c,f,n[h+14],15,-1416354905),f=m(f,i,a,c,n[h+5],21,-57434055),c=m(c,f,i,a,n[h+12],6,1700485571),a=m(a,c,f,i,n[h+3],10,-1894986606),i=m(i,a,c,f,n[h+10],15,-1051523),f=m(f,i,a,c,n[h+1],21,-2054922799),c=m(c,f,i,a,n[h+8],6,1873313359),a=m(a,c,f,i,n[h+15],10,-30611744),i=m(i,a,c,f,n[h+6],15,-1560198380),f=m(f,i,a,c,n[h+13],21,1309151649),c=m(c,f,i,a,n[h+4],6,-145523070),a=m(a,c,f,i,n[h+11],10,-1120210379),i=m(i,a,c,f,n[h+2],15,718787259),f=m(f,i,a,c,n[h+9],21,-343485551),c=d(c,r),f=d(f,e),i=d(i,o),a=d(a,u);return[c,f,i,a]}function i(n){for(var t="",r=32*n.length,e=0;e<r;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function a(n){var t=[];for(t[(n.length>>2)-1]=void 0,e=0;e<t.length;e+=1)t[e]=0;for(var r=8*n.length,e=0;e<r;e+=8)t[e>>5]|=(255&n.charCodeAt(e/8))<<e%32;return t}function e(n){for(var t,r="0123456789abcdef",e="",o=0;o<n.length;o+=1)t=n.charCodeAt(o),e+=r.charAt(t>>>4&15)+r.charAt(15&t);return e}function r(n){return unescape(encodeURIComponent(n))}function o(n){return i(c(a(n=r(n)),8*n.length))}function u(n,t){return function(n,t){var r,e=a(n),o=[],u=[];for(o[15]=u[15]=void 0,16<e.length&&(e=c(e,8*n.length)),r=0;r<16;r+=1)o[r]=909522486^e[r],u[r]=1549556828^e[r];return t=c(o.concat(a(t)),512+8*t.length),i(c(u.concat(t),640))}(r(n),r(t))}function t(n,t,r){return t?r?u(t,n):e(u(t,n)):r?o(n):e(o(n))}"function"==typeof define&&define.amd?define(function(){return t}):"object"==typeof module&&module.exports?module.exports=t:n.md5=t}(this),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Cleave=t():e.Cleave=t()}(this,function(){return e=[function(e,t,r){!function(t){"use strict";function i(e,t){var r=this,n=!1;if("string"==typeof e?(r.element=document.querySelector(e),n=1<document.querySelectorAll(e).length):void 0!==e.length&&0<e.length?(r.element=e[0],n=1<e.length):r.element=e,!r.element)throw new Error("[cleave.js] Please check the element");if(n)try{console.warn("[cleave.js] Multiple input fields matched, cleave.js will only take the first one.")}catch(a){}t.initValue=r.element.value,r.properties=i.DefaultProperties.assign({},t),r.init()}i.prototype={init:function(){var e=this,t=e.properties;return t.numeral||t.phone||t.creditCard||t.time||t.date||0!==t.blocksLength||t.prefix?(t.maxLength=i.Util.getMaxLength(t.blocks),e.isAndroid=i.Util.isAndroid(),e.lastInputValue="",e.isBackward="",e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.onFocusListener=e.onFocus.bind(e),e.onCutListener=e.onCut.bind(e),e.onCopyListener=e.onCopy.bind(e),e.initSwapHiddenInput(),e.element.addEventListener("input",e.onChangeListener),e.element.addEventListener("keydown",e.onKeyDownListener),e.element.addEventListener("focus",e.onFocusListener),e.element.addEventListener("cut",e.onCutListener),e.element.addEventListener("copy",e.onCopyListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initTimeFormatter(),e.initNumeralFormatter(),void((t.initValue||t.prefix&&!t.noImmediatePrefix)&&e.onInput(t.initValue))):void e.onInput(t.initValue)},initSwapHiddenInput:function(){var r,e=this;e.properties.swapHiddenInput&&(r=e.element.cloneNode(!0),e.element.parentNode.insertBefore(r,e.element),e.elementSwapHidden=e.element,e.elementSwapHidden.type="hidden",e.element=r,e.element.id="")},initNumeralFormatter:function(){var t=this.properties;t.numeral&&(t.numeralFormatter=new i.NumeralFormatter(t.numeralDecimalMark,t.numeralIntegerScale,t.numeralDecimalScale,t.numeralThousandsGroupStyle,t.numeralPositiveOnly,t.stripLeadingZeroes,t.prefix,t.signBeforePrefix,t.tailPrefix,t.delimiter))},initTimeFormatter:function(){var t=this.properties;t.time&&(t.timeFormatter=new i.TimeFormatter(t.timePattern,t.timeFormat),t.blocks=t.timeFormatter.getBlocks(),t.blocksLength=t.blocks.length,t.maxLength=i.Util.getMaxLength(t.blocks))},initDateFormatter:function(){var t=this.properties;t.date&&(t.dateFormatter=new i.DateFormatter(t.datePattern,t.dateMin,t.dateMax),t.blocks=t.dateFormatter.getBlocks(),t.blocksLength=t.blocks.length,t.maxLength=i.Util.getMaxLength(t.blocks))},initPhoneFormatter:function(){var t=this.properties;if(t.phone)try{t.phoneFormatter=new i.PhoneFormatter(new t.root.Cleave.AsYouTypeFormatter(t.phoneRegionCode),t.delimiter)}catch(r){throw new Error("[cleave.js] Please include phone-type-formatter.{country}.js lib")}},onKeyDown:function(e){var t=this,e=e.which||e.keyCode;t.lastInputValue=t.element.value,t.isBackward=8===e},onChange:function(e){var t=this,r=t.properties,n=i.Util,e=(t.isBackward=t.isBackward||"deleteContentBackward"===e.inputType,n.getPostDelimiter(t.lastInputValue,r.delimiter,r.delimiters));t.isBackward&&e?r.postDelimiterBackspace=e:r.postDelimiterBackspace=!1,this.onInput(this.element.value)},onFocus:function(){var e=this,t=e.properties;e.lastInputValue=e.element.value,t.prefix&&t.noImmediatePrefix&&!e.element.value&&this.onInput(t.prefix),i.Util.fixPrefixCursor(e.element,t.prefix,t.delimiter,t.delimiters)},onCut:function(e){i.Util.checkFullSelection(this.element.value)&&(this.copyClipboardData(e),this.onInput(""))},onCopy:function(e){i.Util.checkFullSelection(this.element.value)&&this.copyClipboardData(e)},copyClipboardData:function(e){var r=this.properties,n=i.Util,a=this.element.value,n=r.copyDelimiter?a:n.stripDelimiters(a,r.delimiter,r.delimiters);try{(e.clipboardData?e:window).clipboardData.setData("Text",n),e.preventDefault()}catch(l){}},onInput:function(e){var t=this,r=t.properties,n=i.Util,a=n.getPostDelimiter(e,r.delimiter,r.delimiters);r.numeral||!r.postDelimiterBackspace||a||(e=n.headStr(e,e.length-r.postDelimiterBackspace.length)),r.phone?!r.prefix||r.noImmediatePrefix&&!e.length?r.result=r.phoneFormatter.format(e):r.result=r.prefix+r.phoneFormatter.format(e).slice(r.prefix.length):r.numeral?r.prefix&&r.noImmediatePrefix&&0===e.length?r.result="":r.result=r.numeralFormatter.format(e):(r.date&&(e=r.dateFormatter.getValidatedDate(e)),r.time&&(e=r.timeFormatter.getValidatedTime(e)),e=n.stripDelimiters(e,r.delimiter,r.delimiters),e=n.getPrefixStrippedValue(e,r.prefix,r.prefixLength,r.result,r.delimiter,r.delimiters,r.noImmediatePrefix,r.tailPrefix,r.signBeforePrefix),e=r.numericOnly?n.strip(e,/[^\d]/g):e,e=r.uppercase?e.toUpperCase():e,e=r.lowercase?e.toLowerCase():e,r.prefix&&(r.tailPrefix?e+=r.prefix:e=r.prefix+e,0===r.blocksLength)?r.result=e:(r.creditCard&&t.updateCreditCardPropsByValue(e),e=n.headStr(e,r.maxLength),r.result=n.getFormattedValue(e,r.blocks,r.blocksLength,r.delimiter,r.delimiters,r.delimiterLazyShow))),t.updateValueState()},updateCreditCardPropsByValue:function(e){var n=this.properties,a=i.Util;a.headStr(n.result,4)!==a.headStr(e,4)&&(e=i.CreditCardDetector.getInfo(e,n.creditCardStrictMode),n.blocks=e.blocks,n.blocksLength=n.blocks.length,n.maxLength=a.getMaxLength(n.blocks),n.creditCardType!==e.type&&(n.creditCardType=e.type,n.onCreditCardTypeChanged.call(this,n.creditCardType)))},updateValueState:function(){var n,a,o,e=this,t=i.Util,r=e.properties;e.element&&(n=e.element.selectionEnd,a=e.element.value,o=r.result,n=t.getNextCursorPosition(n,a,o,r.delimiter,r.delimiters),e.isAndroid?window.setTimeout(function(){e.element.value=o,t.setSelection(e.element,n,r.document,!1),e.callOnValueChanged()},1):(e.element.value=o,r.swapHiddenInput&&(e.elementSwapHidden.value=e.getRawValue()),t.setSelection(e.element,n,r.document,!1),e.callOnValueChanged()))},callOnValueChanged:function(){var e=this,t=e.properties;t.onValueChanged.call(e,{target:{name:e.element.name,value:t.result,rawValue:e.getRawValue()}})},setPhoneRegionCode:function(e){var t=this;t.properties.phoneRegionCode=e,t.initPhoneFormatter(),t.onChange()},setRawValue:function(e){var t=this,r=t.properties;e=null!=e?e.toString():"",r.numeral&&(e=e.replace(".",r.numeralDecimalMark)),r.postDelimiterBackspace=!1,t.element.value=e,t.onInput(e)},getRawValue:function(){var t=this.properties,r=i.Util,n=this.element.value;return t.rawValueTrimPrefix&&(n=r.getPrefixStrippedValue(n,t.prefix,t.prefixLength,t.result,t.delimiter,t.delimiters,t.noImmediatePrefix,t.tailPrefix,t.signBeforePrefix)),t.numeral?t.numeralFormatter.getRawValue(n):r.stripDelimiters(n,t.delimiter,t.delimiters)},getISOFormatDate:function(){var t=this.properties;return t.date?t.dateFormatter.getISOFormatDate():""},getISOFormatTime:function(){var t=this.properties;return t.time?t.timeFormatter.getISOFormatTime():""},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener("input",e.onChangeListener),e.element.removeEventListener("keydown",e.onKeyDownListener),e.element.removeEventListener("focus",e.onFocusListener),e.element.removeEventListener("cut",e.onCutListener),e.element.removeEventListener("copy",e.onCopyListener)},toString:function(){return"[Cleave Object]"}},i.NumeralFormatter=r(1),i.DateFormatter=r(2),i.TimeFormatter=r(3),i.PhoneFormatter=r(4),i.CreditCardDetector=r(5),i.Util=r(6),i.DefaultProperties=r(7),("object"==typeof t&&t?t:window).Cleave=i,e.exports=i}.call(t,function(){return this}())},function(e,t){"use strict";function r(e,t,i,n,a,o,l,s,c,u){var d=this;d.numeralDecimalMark=e||".",d.numeralIntegerScale=0<t?t:0,d.numeralDecimalScale=0<=i?i:2,d.numeralThousandsGroupStyle=n||r.groupStyle.thousand,d.numeralPositiveOnly=!!a,d.stripLeadingZeroes=!1!==o,d.prefix=l||""===l?l:"",d.signBeforePrefix=!!s,d.tailPrefix=!!c,d.delimiter=u||""===u?u:",",d.delimiterRE=u?new RegExp("\\"+u,"g"):""}r.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan",none:"none"},r.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var i,n,a,o=this,l="";switch(e=e.replace(/[A-Za-z]/g,"").replace(o.numeralDecimalMark,"M").replace(/[^\dM-]/g,"").replace(/^\-/,"N").replace(/\-/g,"").replace("N",o.numeralPositiveOnly?"":"-").replace("M",o.numeralDecimalMark),i="-"===(e=o.stripLeadingZeroes?e.replace(/^(-)?0+(?=\d)/,"$1"):e).slice(0,1)?"-":"",n=void 0!==o.prefix?o.signBeforePrefix?i+o.prefix:o.prefix+i:i,0<=(a=e).indexOf(o.numeralDecimalMark)&&(a=(e=e.split(o.numeralDecimalMark))[0],l=o.numeralDecimalMark+e[1].slice(0,o.numeralDecimalScale)),"-"==i&&(a=a.slice(1)),0<o.numeralIntegerScale&&(a=a.slice(0,o.numeralIntegerScale)),o.numeralThousandsGroupStyle){case r.groupStyle.lakh:a=a.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+o.delimiter);break;case r.groupStyle.wan:a=a.replace(/(\d)(?=(\d{4})+$)/g,"$1"+o.delimiter);break;case r.groupStyle.thousand:a=a.replace(/(\d)(?=(\d{3})+$)/g,"$1"+o.delimiter)}return o.tailPrefix?i+a.toString()+(0<o.numeralDecimalScale?l.toString():"")+o.prefix:n+a.toString()+(0<o.numeralDecimalScale?l.toString():"")}},e.exports=r},function(e,t){"use strict";function r(e,t,r){var i=this;i.date=[],i.blocks=[],i.datePattern=e,i.dateMin=t.split("-").reverse().map(function(e){return parseInt(e,10)}),2===i.dateMin.length&&i.dateMin.unshift(0),i.dateMax=r.split("-").reverse().map(function(e){return parseInt(e,10)}),2===i.dateMax.length&&i.dateMax.unshift(0),i.initBlocks()}r.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){"Y"===t?e.blocks.push(4):e.blocks.push(2)})},getISOFormatDate:function(){var e=this,t=e.date;return t[2]?t[2]+"-"+e.addLeadingZero(t[1])+"-"+e.addLeadingZero(t[0]):""},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,r="";return e=e.replace(/[^\d]/g,""),t.blocks.forEach(function(i,n){if(0<e.length){var a=e.slice(0,i),o=a.slice(0,1),i=e.slice(i);switch(t.datePattern[n]){case"d":"00"===a?a="01":3<parseInt(o,10)?a="0"+o:31<parseInt(a,10)&&(a="31");break;case"m":"00"===a?a="01":1<parseInt(o,10)?a="0"+o:12<parseInt(a,10)&&(a="12")}r+=a,e=i}}),this.getFixedDateString(r)},getFixedDateString:function(e){var t,r,i,n=this,a=n.datePattern,o=[],l=0,s=0,c=0,u=0,d=0,m=0,p=!1;return 4===e.length&&"y"!==a[0].toLowerCase()&&"y"!==a[1].toLowerCase()&&(d=2-(u="d"===a[0]?0:2),t=parseInt(e.slice(u,u+2),10),r=parseInt(e.slice(d,d+2),10),o=this.getFixedDate(t,r,0)),8===e.length&&(a.forEach(function(e,t){switch(e){case"d":l=t;break;case"m":s=t;break;default:c=t}}),m=2*c,u=l<=c?2*l:2*l+2,d=s<=c?2*s:2*s+2,t=parseInt(e.slice(u,u+2),10),r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+4),10),p=4===e.slice(m,m+4).length,o=this.getFixedDate(t,r,i)),4!==e.length||"y"!==a[0]&&"y"!==a[1]||(m=2-(d="m"===a[0]?0:2),r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+2),10),p=2===e.slice(m,m+2).length,o=[0,r,i]),6!==e.length||"Y"!==a[0]&&"Y"!==a[1]||(m=2-.5*(d="m"===a[0]?0:4),r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+4),10),p=4===e.slice(m,m+4).length,o=[0,r,i]),o=n.getRangeFixedDate(o),0===(n.date=o).length?e:a.reduce(function(e,t){switch(t){case"d":return e+(0===o[0]?"":n.addLeadingZero(o[0]));case"m":return e+(0===o[1]?"":n.addLeadingZero(o[1]));case"y":return e+(p?n.addLeadingZeroForYear(o[2],!1):"");case"Y":return e+(p?n.addLeadingZeroForYear(o[2],!0):"")}},"")},getRangeFixedDate:function(e){var t=this,r=t.datePattern,i=t.dateMin||[],t=t.dateMax||[];return!e.length||i.length<3&&t.length<3||r.find(function(e){return"y"===e.toLowerCase()})&&0===e[2]?e:t.length&&(t[2]<e[2]||t[2]===e[2]&&(t[1]<e[1]||t[1]===e[1]&&t[0]<e[0]))?t:i.length&&(i[2]>e[2]||i[2]===e[2]&&(i[1]>e[1]||i[1]===e[1]&&i[0]>e[0]))?i:e},getFixedDate:function(e,t,r){return e=Math.min(e,31),t=Math.min(t,12),r=parseInt(r||0,10),[e=t<7&&t%2==0||8<t&&t%2==1?Math.min(e,2===t?this.isLeapYear(r)?29:28:30):e,t,r]},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},addLeadingZero:function(e){return(e<10?"0":"")+e},addLeadingZeroForYear:function(e,t){return t?(e<10?"000":e<100?"00":e<1e3?"0":"")+e:(e<10?"0":"")+e}},e.exports=r},function(e,t){"use strict";function r(e,t){var r=this;r.time=[],r.blocks=[],r.timePattern=e,r.timeFormat=t,r.initBlocks()}r.prototype={initBlocks:function(){var e=this;e.timePattern.forEach(function(){e.blocks.push(2)})},getISOFormatTime:function(){var e=this,t=e.time;return t[2]?e.addLeadingZero(t[0])+":"+e.addLeadingZero(t[1])+":"+e.addLeadingZero(t[2]):""},getBlocks:function(){return this.blocks},getTimeFormatOptions:function(){return"12"===String(this.timeFormat)?{maxHourFirstDigit:1,maxHours:12,maxMinutesFirstDigit:5,maxMinutes:60}:{maxHourFirstDigit:2,maxHours:23,maxMinutesFirstDigit:5,maxMinutes:60}},getValidatedTime:function(e){var t=this,r="",i=(e=e.replace(/[^\d]/g,""),t.getTimeFormatOptions());return t.blocks.forEach(function(n,a){if(0<e.length){var o=e.slice(0,n),l=o.slice(0,1),n=e.slice(n);switch(t.timePattern[a]){case"h":parseInt(l,10)>i.maxHourFirstDigit?o="0"+l:parseInt(o,10)>i.maxHours&&(o=i.maxHours+"");break;case"m":case"s":parseInt(l,10)>i.maxMinutesFirstDigit?o="0"+l:parseInt(o,10)>i.maxMinutes&&(o=i.maxMinutes+"")}r+=o,e=n}}),this.getFixedTimeString(r)},getFixedTimeString:function(e){var r,i,u,n=this,a=n.timePattern,o=[],l=0,s=0,c=0,d=0,m=0;return 6===e.length&&(a.forEach(function(e,t){switch(e){case"s":l=2*t;break;case"m":s=2*t;break;case"h":c=2*t}}),m=c,d=s,u=l,u=parseInt(e.slice(u,u+2),10),r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+2),10),o=this.getFixedTime(i,r,u)),4===e.length&&n.timePattern.indexOf("s")<0&&(a.forEach(function(e,t){switch(e){case"m":s=2*t;break;case"h":c=2*t}}),m=c,d=s,u=0,r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+2),10),o=this.getFixedTime(i,r,u)),0===(n.time=o).length?e:a.reduce(function(e,t){switch(t){case"s":return e+n.addLeadingZero(o[2]);case"m":return e+n.addLeadingZero(o[1]);case"h":return e+n.addLeadingZero(o[0])}},"")},getFixedTime:function(e,t,r){return r=Math.min(parseInt(r||0,10),60),t=Math.min(t,60),[e=Math.min(e,60),t,r]},addLeadingZero:function(e){return(e<10?"0":"")+e}},e.exports=r},function(e,t){"use strict";function r(e,t){var r=this;r.delimiter=t||""===t?t:" ",r.delimiterRE=t?new RegExp("\\"+t,"g"):"",r.formatter=e}r.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear();for(var r,i="",n=!1,a=0,o=(e=(e=(e=e.replace(/[^\d+]/g,"")).replace(/^\+/,"B").replace(/\+/g,"").replace("B","+")).replace(t.delimiterRE,"")).length;a<o;a++)r=t.formatter.inputDigit(e.charAt(a)),/[\s()-]/g.test(r)?(i=r,n=!0):n||(i=r);return(i=i.replace(/[()]/g,"")).replace(/[\s-]/g,t.delimiter)}},e.exports=r},function(e,t){"use strict";var r={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb15:[4,6,5],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],mir:[4,4,4,4],unionPay:[4,4,4,4],general:[4,4,4,4]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb15:/^(?:2131|1800)\d{0,11}/,jcb:/^(?:35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,mir:/^220[0-4]\d{0,12}/,visa:/^4\d{0,15}/,unionPay:/^(62|81)\d{0,14}/},getStrictBlocks:function(e){var t=e.reduce(function(e,t){return e+t},0);return e.concat(19-t)},getInfo:function(e,t){var a,o,i=r.blocks,n=r.re;for(a in t=!!t,n)if(n[a].test(e))return o=i[a],{type:a,blocks:t?this.getStrictBlocks(o):o};return{type:"unknown",blocks:t?this.getStrictBlocks(i.general):i.general}}};e.exports=r},function(e,t){"use strict";e.exports={noop:function(){},strip:function(e,t){return e.replace(t,"")},getPostDelimiter:function(e,t,r){if(0===r.length)return e.slice(-t.length)===t?t:"";var i="";return r.forEach(function(t){e.slice(-t.length)===t&&(i=t)}),i},getDelimiterREByDelimiter:function(e){return new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"g")},getNextCursorPosition:function(e,t,r,i,n){return t.length===e?r.length:e+this.getPositionOffset(e,t,r,i,n)},getPositionOffset:function(e,t,r,i,n){t=this.stripDelimiters(t.slice(0,e),i,n),r=this.stripDelimiters(r.slice(0,e),i,n),e=t.length-r.length;return 0!=e?e/Math.abs(e):0},stripDelimiters:function(e,t,r){var i=this;return 0===r.length?(t=t?i.getDelimiterREByDelimiter(t):"",e.replace(t,"")):(r.forEach(function(t){t.split("").forEach(function(t){e=e.replace(i.getDelimiterREByDelimiter(t),"")})}),e)},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t,r,i,n,a,o,l,s){if(0===r)return e;if(e===t&&""!==e)return"";if(s&&"-"==e.slice(0,1))return c="-"==i.slice(0,1)?i.slice(1):i,"-"+this.getPrefixStrippedValue(e.slice(1),t,r,c,n,a,o,l,s);if(i.slice(0,r)!==t&&!l)return o&&!i&&e?e:"";if(i.slice(-r)!==t&&l)return o&&!i&&e?e:"";var c=this.stripDelimiters(i,n,a);return e.slice(0,r)===t||l?e.slice(-r)!==t&&l?c.slice(0,-r-1):l?e.slice(0,-r):e.slice(r):c.slice(r)},getFirstDiffIndex:function(e,t){for(var r=0;e.charAt(r)===t.charAt(r);)if(""===e.charAt(r++))return-1;return r},getFormattedValue:function(e,t,r,i,n,a){var o="",l=0<n.length,s="";return 0===r?e:(t.forEach(function(t,c){var u,d;0<e.length&&(u=e.slice(0,t),d=e.slice(t),s=l?n[a?c-1:c]||s:i,a?(0<c&&(o+=s),o+=u):(o+=u,u.length===t&&c<r-1&&(o+=s)),e=d)}),o)},fixPrefixCursor:function(e,t,r,i){var n,o;e&&(n=e.value,r=r||i[0]||" ",!e.setSelectionRange||!t||t.length+r.length<=n.length||(o=2*n.length,setTimeout(function(){e.setSelectionRange(o,o)},1)))},checkFullSelection:function(e){try{return(window.getSelection()||document.getSelection()||{}).toString().length===e.length}catch(r){}return!1},setSelection:function(e,t,r){if(e===this.getActiveElement(r)&&!(e&&e.value.length<=t))if(e.createTextRange){r=e.createTextRange();r.move("character",t),r.select()}else try{e.setSelectionRange(t,t)}catch(n){console.warn("The input element type does not support selection")}},getActiveElement:function(e){e=e.activeElement;return e&&e.shadowRoot?this.getActiveElement(e.shadowRoot):e},isAndroid:function(){return navigator&&/android/i.test(navigator.userAgent)},isAndroidBackspaceKeydown:function(e,t){return!!(this.isAndroid()&&e&&t)&&t===e.slice(0,-1)}}},function(e,t){!function(t){"use strict";e.exports={assign:function(e,r){return(e=e||{}).creditCard=!!(r=r||{}).creditCard,e.creditCardStrictMode=!!r.creditCardStrictMode,e.creditCardType="",e.onCreditCardTypeChanged=r.onCreditCardTypeChanged||function(){},e.phone=!!r.phone,e.phoneRegionCode=r.phoneRegionCode||"AU",e.phoneFormatter={},e.time=!!r.time,e.timePattern=r.timePattern||["h","m","s"],e.timeFormat=r.timeFormat||"24",e.timeFormatter={},e.date=!!r.date,e.datePattern=r.datePattern||["d","m","Y"],e.dateMin=r.dateMin||"",e.dateMax=r.dateMax||"",e.dateFormatter={},e.numeral=!!r.numeral,e.numeralIntegerScale=0<r.numeralIntegerScale?r.numeralIntegerScale:0,e.numeralDecimalScale=0<=r.numeralDecimalScale?r.numeralDecimalScale:2,e.numeralDecimalMark=r.numeralDecimalMark||".",e.numeralThousandsGroupStyle=r.numeralThousandsGroupStyle||"thousand",e.numeralPositiveOnly=!!r.numeralPositiveOnly,e.stripLeadingZeroes=!1!==r.stripLeadingZeroes,e.signBeforePrefix=!!r.signBeforePrefix,e.tailPrefix=!!r.tailPrefix,e.swapHiddenInput=!!r.swapHiddenInput,e.numericOnly=e.creditCard||e.date||!!r.numericOnly,e.uppercase=!!r.uppercase,e.lowercase=!!r.lowercase,e.prefix=!e.creditCard&&!e.date&&r.prefix||"",e.noImmediatePrefix=!!r.noImmediatePrefix,e.prefixLength=e.prefix.length,e.rawValueTrimPrefix=!!r.rawValueTrimPrefix,e.copyDelimiter=!!r.copyDelimiter,e.initValue=void 0!==r.initValue&&null!==r.initValue?r.initValue.toString():"",e.delimiter=r.delimiter||""===r.delimiter?r.delimiter:r.date?"/":r.time?":":r.numeral?",":(r.phone," "),e.delimiterLength=e.delimiter.length,e.delimiterLazyShow=!!r.delimiterLazyShow,e.delimiters=r.delimiters||[],e.blocks=r.blocks||[],e.blocksLength=e.blocks.length,e.root="object"==typeof t&&t?t:window,e.document=r.document||e.root.document,e.maxLength=0,e.backspace=!1,e.result="",e.onValueChanged=r.onValueChanged||function(){},e}}}.call(t,function(){return this}())}],r={},t.m=e,t.c=r,t.p="",t(0);function t(i){if(r[i])return r[i].exports;var n=r[i]={exports:{},id:i,loaded:!1};return e[i].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var e,r}),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.multi_line_text={init:function(options){this.$form=options.form,this.type=this.$el.data("happyforms-type"),this.$input=$("textarea",this.$el),this.$counter=$(".happyforms-part__char-counter span.counter",this.$el),this.$input.on("blur",this.onBlur.bind(this)),this.$input.on("keyup",this.triggerChange.bind(this)),this.$input.on("change",this.triggerChange.bind(this)),this.$el.on("keyup",this.refreshCounter.bind(this)),this.refreshCounter(),$(".happyforms-part__char-counter").show()},getValueLength:function(){var mode=this.$input.attr("data-length-mode"),value=this.$input.val(),length=value.length;return length="word"===mode?(mode=value.match(/\w+/g))?mode.length:0:length},refreshCounter:function(){var length;parseInt(this.$input.attr("data-length"),10)<1||(length=this.getValueLength(),this.$counter.text(length))},onFocus:function(){this.$el.addClass("focus")},onBlur:function(){this.$el.removeClass("focus")},isFilled:function(){return""!==this.$input.val()},serialize:function(){return HappyForms.parts.base.serialize.apply(this,arguments)}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.email={init:function(){this.type=this.$el.data("happyforms-type"),this.$input=$("input",this.$el),this.$visualInput=$("input[type=email]",this.$el),this.$input.on("keyup",this.triggerChange.bind(this)),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("focus",this.onInputFocus.bind(this)),this.$visualInput.on("blur",this.onBlur.bind(this))}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.radio={init:function(){this.type=this.$el.data("happyforms-type"),this.$input=$("input",this.$el),this.$visualInput=$("input[type=email]",this.$el),this.$input.on("keyup",this.triggerChange.bind(this)),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("change",this.onRadioChange.bind(this)),this.$input.on("focus",this.onFocus.bind(this))},onRadioChange:function(e){var $otherRadio=$(".happyforms-part-option--other input[type=radio]",this.$el),$otherInput=$otherRadio.parent().nextAll("input"),$generalInput=$("input[type=text]",this.$el);$generalInput.prop("required",!1),$otherRadio.length&&$otherRadio.is(":checked")?($(e.target)[0]===$otherRadio[0]&&$otherInput.addClass("hf-show").trigger("focus"),""===this.$el.data("happyforms-required")&&$otherInput.prop("required",!0)):$generalInput.removeClass("hf-show")},onFocus:function(e){e=$(e.target);"text"===e.attr("type")&&e.prevAll("input[type=radio]").prop("checked",!0)},serialize:function(){var self=this;return this.$input.map(function(i,input){var input=$(input),$customInput=0;if("text"!==input.attr("type")){"text"===$(self.$input[i+1]).attr("type")&&($customInput=$(self.$input[i+1]));i={name:input.attr("name"),value:input.val()};if($customInput.length&&($customInput=$customInput.val(),i.value=[input.val(),$customInput],i.value=JSON.stringify(i.value)),input.is(":checked"))return i}}).toArray()}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.checkbox={init:function(){this.type=this.$el.data("happyforms-type"),this.$input=$("input",this.$el),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("change",this.onCheckboxChange.bind(this)),this.$input.on("focus",this.onFocus.bind(this))},onCheckboxChange:function(e){var $otherCheckbox=$(".happyforms-part-option--other input[type=checkbox]",this.$el),$otherInput=$otherCheckbox.parent().nextAll("input"),$generalInput=$("input[type=text]",this.$el);$generalInput.prop("required",!1),$otherCheckbox.length&&$otherCheckbox.is(":checked")?($(e.target)[0]===$otherCheckbox[0]&&$otherInput.addClass("hf-show").trigger("focus"),""===this.$el.data("happyforms-required")&&$otherInput.prop("required",!0)):$generalInput.removeClass("hf-show")},serialize:function(){var self=this;return this.$input.map(function(i,input){var input=$(input),$customInput=0;if("text"!==input.attr("type")){"text"===$(self.$input[i+1]).attr("type")&&($customInput=$(self.$input[i+1]));i={name:input.attr("name"),value:input.val()};if($customInput.length&&($customInput=$customInput.val(),i.value=[input.val(),$customInput],i.value=JSON.stringify(i.value)),input.is(":checked"))return i}}).toArray()},onFocus:function(e){e=$(e.target);"text"===e.attr("type")&&e.prevAll("input[type=checkbox]").prop("checked",!0)}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.select={init:function(options){this.type=this.$el.data("happyforms-type"),this.$input=$("[data-serialize]",this.$el),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("blur",this.onBlur.bind(this))},onBlur:function(){var $otherinput=$(".happyforms-part-option--other input[type=text]",this.$el);"999"===this.$input.val()?($otherinput.addClass("hf-show"),$otherinput.focus()):$otherinput.removeClass("hf-show")},serialize:function(){var self=this;return this.$input.map(function(i,select){var select=$(select,self.$el),$customInput=0,value=(999==select.val()&&($customInput=$(" .happyforms-part-option--other input[type=text]",self.$el)),select.val()),value=(null==value&&(value=""),{name:select.attr("name"),value:value});return $customInput.length&&($customInput=$customInput.val(),value.value=[select.val(),$customInput],value.value=JSON.stringify(value.value)),value}).toArray()}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.number={init:function(){this.type=this.$el.data("happyforms-type"),this.allowedKeys=["0","1","2","3","4","5","6","7","8","9","Meta","Delete","ArrowLeft","ArrowRight"];var self,decimalMark,delimiterMark,masked=this.$el.attr("data-mask");this.$input=$("input",this.$el),this.cleaveInstances=[],this.$input.on("keyup",this.onKeyUp.bind(this)),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("focus",this.onInputFocus.bind(this)),this.$input.on("blur",this.onBlur.bind(this)),this.numeralDecimalMark=this.$el.attr("data-decimal-mark")||"",this.delimiter=this.$el.attr("data-thousands-delimiter")||"",masked&&(decimalMark=(self=this).numeralDecimalMark,delimiterMark=this.delimiter,this.$input.each(function(){var $input=$(this),$input=new Cleave($input,{numeral:!0,numeralDecimalMark:decimalMark,delimiter:delimiterMark});self.cleaveInstances.push($input)})),this.onBlur()},onKeyUp:function(e){var value=$(e.target).val(),regex=new RegExp("[^0-9"+this.numeralDecimalMark+this.delimiter+"-]","g"),value=value.replace(regex,"");$(e.target).val(value),this.triggerChange()},reinit:function(){$.each(this.cleaveInstances,function(i,instance){var input=instance.element,rawValue=instance.getRawValue();instance.destroy(),input.value=rawValue}),this.init()}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.base={init:function(){this.type=this.$el.data("happyforms-type"),this.$input=$("input, textarea, select",this.$el),this.$input.on("keyup change",this.triggerChange.bind(this)),this.$input.on("blur",this.onBlur.bind(this)),this.$input.on("focus",this.onInputFocus.bind(this)),this.onBlur()},getType:function(){return this.type},onInputFocus:function(){this.$el.addClass("focus")},onBlur:function(){this.$el.is(".happyforms-part--label-as_placeholder")&&(this.isFilled()?this.$el.addClass("happyforms-part--filled"):this.$el.removeClass("happyforms-part--filled")),this.$el.removeClass("focus")},triggerChange:function(data){this.$el.trigger("happyforms-change",data)},isRequired:function(){return this.$el.is(":visible")&&this.$el.is("[data-happyforms-required]")},isFilled:function(){return 0<this.$input.filter(function(){var $input=$(this);return $input.is("[type=checkbox]")||$input.is("[type=radio]")?$input.is(":checked"):""!==$input.val()}).length},confirmationMatches:function(){var matches=!1,$input=this.$input,$input=($input=this.$visualInput?this.$visualInput:$input).map(function(){return $(this).val()}).toArray();return matches=2===$input.length?$input[0]===$input[1]:matches},requiresConfirmation:function(){return this.$el.is("[data-happyforms-require-confirmation]")},serialize:function(){return this.$input.map(function(i,input){var input=$(input),keyValue={name:input.attr("name"),value:input.val()};if(!input.is("[type=checkbox]")&&!input.is("[type=radio]")||input.is(":checked"))return keyValue}).toArray()},isValid:function(){var valid=!0;this.$el.data("happyforms-type");return this.$input?(this.isRequired()&&(valid=valid&&this.isFilled()),this.isRequired()&&this.requiresConfirmation()?valid&&this.confirmationMatches():valid):valid},destroy:function(){this.$el.data("HappyFormPart",!1)}},HappyForms.wrapPart=function($part,$form){var type=$part.data("happyforms-type"),partMethods=HappyForms.parts.base;HappyForms.parts[type]&&(partMethods=$.extend({},HappyForms.parts.base,HappyForms.parts[type])),$part.happyFormPart(partMethods,{form:$form})},HappyForms.Form=function(el){this.el=el,this.$el=$(this.el),this.$form=$("form",this.$el),this.$parts=$("[data-happyforms-type]",this.$form),this.$submits=$('[type="submit"], a.submit',this.$form),this.$submit=$('[type="submit"]',this.$form),this.$submitLinks=$("a.submit",this.$form),this.$step=$('[name="happyforms_step"]',this.$form),this.init()},HappyForms.Form.prototype={init:function(){var $form=this.$form;$("[data-happyforms-type]",this.$form).each(function(){var $part=$(this);$part.data("happyforms-type");HappyForms.wrapPart($part,$form)}),this.$el.trigger("happyforms-change"),this.$el.trigger("happyforms-init"),this.$form.off("submit"),this.$submit.off("click"),this.$submitLinks.off("click"),this.$form.on("submit",this.submit.bind(this)),this.$submit.on("click",this.buttonSubmit.bind(this)),this.$submitLinks.on("click",this.linkSubmit.bind(this)),this.$el.on("happyforms-scrolltop",this.onScrollTop.bind(this))},detach:function(){this.$el.off("happyforms-change"),this.$el.off("happyforms-scrolltop"),$("[data-happyforms-type]",this.$form).remove()},serialize:function(submitEl){for(var action=$("[name=action]",this.$form).val(),form_id=$("[name=happyforms_form_id]",this.$form).val(),formData=($("[name=_wp_http_referer]",this.$form).val(),[{name:"action",value:action},{name:"happyforms_form_id",value:form_id},{name:"happyforms_step",value:this.$step.val()}]),honeypotNames=["single_line_text","multi_line_text","number"],h=0;h<honeypotNames.length;h++){var inputName=form_id+"-"+honeypotNames[h],$input=$("[name="+inputName+"]");if($input.length){formData.push({name:inputName,value:$input.val()});break}}var action=$("[data-happyforms-type]",this.$form).map(function(i,part){return $(part).happyFormPart("serialize")}).toArray().filter(function(entry){return null!==entry.name&&void 0!==entry.name}),action=formData.concat(action),params=new URLSearchParams,hash=[];return action.forEach(function(entry){params.append(entry.name,entry.value),hash.push(entry.value)}),hash=hash.join("").replace(/[^\w\d]/gm,""),hash=md5(hash),params.append("hash",hash),params=params.toString()},buttonSubmit:function(e){e.target.hasAttribute("data-step")&&this.$step.val(e.target.getAttribute("data-step"))},linkSubmit:function(e){e.preventDefault(),e.stopImmediatePropagation(),e.target.hasAttribute("data-step")&&this.$step.val(e.target.getAttribute("data-step")),this.$form.trigger("submit")},submit:function(e){e.preventDefault(),this.$form.addClass("happyforms-form--submitting"),this.$submits.attr("disabled","disabled"),$.ajax({type:"post",data:this.serialize(e.target)}).done(this.onSubmitComplete.bind(this))},onSubmitComplete:function(response){if(this.$form.trigger("happyforms.submitted",response),!response.data)return!1;var elTopOffset,$notices;response.data.html&&(response=$(response.data.html),$("[data-happyforms-type]",this.$form).each(function(){$(this).trigger("happyforms.detach")}),this.detach(),this.$el.replaceWith(response),this.$el=response,this.$el.happyForm(),(response=$("form",this.$el)).attr("data-happyforms-scroll-disabled")||(this.$el.get(0).getBoundingClientRect().top<0&&(elTopOffset=this.$el.offset().top,$notices=$(".happyforms-message-notices",this.$el),response.is(".happyforms-form--notices-below")&&$notices.length&&(elTopOffset=$notices.offset().top),($notices=response.attr("data-happyforms-scroll-offset"))&&(elTopOffset+=$notices=parseInt($notices,10)),this.$el.trigger("happyforms-scrolltop",elTopOffset)),!$(".happyforms-message-notice.error",response).length&&this.$el.hasClass("happyforms-form--hide-on-submit")&&$(".happyforms-part",response).hide()))},onScrollTop:function(e,offset){e.isDefaultPrevented()||$("html, body").animate({scrollTop:offset+"px"},500)}},HappyForms.Part=function(el){this.el=el,this.$el=$(this.el)},$.fn.happyFormPart=function(method){if("object"==typeof method){var part=new HappyForms.Part(this);$.extend(part,method),$(this).data("HappyFormPart",part),part.init.apply(part,Array.prototype.slice.call(arguments,1))}else{part=$(this).data("HappyFormPart");if(part&&part[method])return part[method].apply(part,Array.prototype.slice.call(arguments,1))}},$.fn.happyForm=function(method){this.each(function(){if(method){var instance=$.data(this,"HappyForm");if(instance&&instance[method])return instance[method].apply(instance,Array.prototype.slice.call(arguments,1))}else $.data(this,"HappyForm",new HappyForms.Form(this,arguments))})},$(function(){$(".happyforms-form").happyForm()})}(jQuery);
1
+ !function(n){"use strict";function d(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function f(n,t,r,e,o,u){return d((u=d(d(t,n),d(e,u)))<<o|u>>>32-o,r)}function l(n,t,r,e,o,u,c){return f(t&r|~t&e,n,t,o,u,c)}function g(n,t,r,e,o,u,c){return f(t&e|r&~e,n,t,o,u,c)}function v(n,t,r,e,o,u,c){return f(t^r^e,n,t,o,u,c)}function m(n,t,r,e,o,u,c){return f(r^(t|~e),n,t,o,u,c)}function c(n,t){var r,e,o,u;n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;for(var c=1732584193,f=-271733879,i=-1732584194,a=271733878,h=0;h<n.length;h+=16)c=l(r=c,e=f,o=i,u=a,n[h],7,-680876936),a=l(a,c,f,i,n[h+1],12,-389564586),i=l(i,a,c,f,n[h+2],17,606105819),f=l(f,i,a,c,n[h+3],22,-1044525330),c=l(c,f,i,a,n[h+4],7,-176418897),a=l(a,c,f,i,n[h+5],12,1200080426),i=l(i,a,c,f,n[h+6],17,-1473231341),f=l(f,i,a,c,n[h+7],22,-45705983),c=l(c,f,i,a,n[h+8],7,1770035416),a=l(a,c,f,i,n[h+9],12,-1958414417),i=l(i,a,c,f,n[h+10],17,-42063),f=l(f,i,a,c,n[h+11],22,-1990404162),c=l(c,f,i,a,n[h+12],7,1804603682),a=l(a,c,f,i,n[h+13],12,-40341101),i=l(i,a,c,f,n[h+14],17,-1502002290),c=g(c,f=l(f,i,a,c,n[h+15],22,1236535329),i,a,n[h+1],5,-165796510),a=g(a,c,f,i,n[h+6],9,-1069501632),i=g(i,a,c,f,n[h+11],14,643717713),f=g(f,i,a,c,n[h],20,-373897302),c=g(c,f,i,a,n[h+5],5,-701558691),a=g(a,c,f,i,n[h+10],9,38016083),i=g(i,a,c,f,n[h+15],14,-660478335),f=g(f,i,a,c,n[h+4],20,-405537848),c=g(c,f,i,a,n[h+9],5,568446438),a=g(a,c,f,i,n[h+14],9,-1019803690),i=g(i,a,c,f,n[h+3],14,-187363961),f=g(f,i,a,c,n[h+8],20,1163531501),c=g(c,f,i,a,n[h+13],5,-1444681467),a=g(a,c,f,i,n[h+2],9,-51403784),i=g(i,a,c,f,n[h+7],14,1735328473),c=v(c,f=g(f,i,a,c,n[h+12],20,-1926607734),i,a,n[h+5],4,-378558),a=v(a,c,f,i,n[h+8],11,-2022574463),i=v(i,a,c,f,n[h+11],16,1839030562),f=v(f,i,a,c,n[h+14],23,-35309556),c=v(c,f,i,a,n[h+1],4,-1530992060),a=v(a,c,f,i,n[h+4],11,1272893353),i=v(i,a,c,f,n[h+7],16,-155497632),f=v(f,i,a,c,n[h+10],23,-1094730640),c=v(c,f,i,a,n[h+13],4,681279174),a=v(a,c,f,i,n[h],11,-358537222),i=v(i,a,c,f,n[h+3],16,-722521979),f=v(f,i,a,c,n[h+6],23,76029189),c=v(c,f,i,a,n[h+9],4,-640364487),a=v(a,c,f,i,n[h+12],11,-421815835),i=v(i,a,c,f,n[h+15],16,530742520),c=m(c,f=v(f,i,a,c,n[h+2],23,-995338651),i,a,n[h],6,-198630844),a=m(a,c,f,i,n[h+7],10,1126891415),i=m(i,a,c,f,n[h+14],15,-1416354905),f=m(f,i,a,c,n[h+5],21,-57434055),c=m(c,f,i,a,n[h+12],6,1700485571),a=m(a,c,f,i,n[h+3],10,-1894986606),i=m(i,a,c,f,n[h+10],15,-1051523),f=m(f,i,a,c,n[h+1],21,-2054922799),c=m(c,f,i,a,n[h+8],6,1873313359),a=m(a,c,f,i,n[h+15],10,-30611744),i=m(i,a,c,f,n[h+6],15,-1560198380),f=m(f,i,a,c,n[h+13],21,1309151649),c=m(c,f,i,a,n[h+4],6,-145523070),a=m(a,c,f,i,n[h+11],10,-1120210379),i=m(i,a,c,f,n[h+2],15,718787259),f=m(f,i,a,c,n[h+9],21,-343485551),c=d(c,r),f=d(f,e),i=d(i,o),a=d(a,u);return[c,f,i,a]}function i(n){for(var t="",r=32*n.length,e=0;e<r;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function a(n){var t=[];for(t[(n.length>>2)-1]=void 0,e=0;e<t.length;e+=1)t[e]=0;for(var r=8*n.length,e=0;e<r;e+=8)t[e>>5]|=(255&n.charCodeAt(e/8))<<e%32;return t}function e(n){for(var t,r="0123456789abcdef",e="",o=0;o<n.length;o+=1)t=n.charCodeAt(o),e+=r.charAt(t>>>4&15)+r.charAt(15&t);return e}function r(n){return unescape(encodeURIComponent(n))}function o(n){return i(c(a(n=r(n)),8*n.length))}function u(n,t){return function(n,t){var r,e=a(n),o=[],u=[];for(o[15]=u[15]=void 0,16<e.length&&(e=c(e,8*n.length)),r=0;r<16;r+=1)o[r]=909522486^e[r],u[r]=1549556828^e[r];return t=c(o.concat(a(t)),512+8*t.length),i(c(u.concat(t),640))}(r(n),r(t))}function t(n,t,r){return t?r?u(t,n):e(u(t,n)):r?o(n):e(o(n))}"function"==typeof define&&define.amd?define(function(){return t}):"object"==typeof module&&module.exports?module.exports=t:n.md5=t}(this),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Cleave=t():e.Cleave=t()}(this,function(){return e=[function(e,t,r){!function(t){"use strict";function i(e,t){var r=this,n=!1;if("string"==typeof e?(r.element=document.querySelector(e),n=1<document.querySelectorAll(e).length):void 0!==e.length&&0<e.length?(r.element=e[0],n=1<e.length):r.element=e,!r.element)throw new Error("[cleave.js] Please check the element");if(n)try{console.warn("[cleave.js] Multiple input fields matched, cleave.js will only take the first one.")}catch(a){}t.initValue=r.element.value,r.properties=i.DefaultProperties.assign({},t),r.init()}i.prototype={init:function(){var e=this,t=e.properties;return t.numeral||t.phone||t.creditCard||t.time||t.date||0!==t.blocksLength||t.prefix?(t.maxLength=i.Util.getMaxLength(t.blocks),e.isAndroid=i.Util.isAndroid(),e.lastInputValue="",e.isBackward="",e.onChangeListener=e.onChange.bind(e),e.onKeyDownListener=e.onKeyDown.bind(e),e.onFocusListener=e.onFocus.bind(e),e.onCutListener=e.onCut.bind(e),e.onCopyListener=e.onCopy.bind(e),e.initSwapHiddenInput(),e.element.addEventListener("input",e.onChangeListener),e.element.addEventListener("keydown",e.onKeyDownListener),e.element.addEventListener("focus",e.onFocusListener),e.element.addEventListener("cut",e.onCutListener),e.element.addEventListener("copy",e.onCopyListener),e.initPhoneFormatter(),e.initDateFormatter(),e.initTimeFormatter(),e.initNumeralFormatter(),void((t.initValue||t.prefix&&!t.noImmediatePrefix)&&e.onInput(t.initValue))):void e.onInput(t.initValue)},initSwapHiddenInput:function(){var r,e=this;e.properties.swapHiddenInput&&(r=e.element.cloneNode(!0),e.element.parentNode.insertBefore(r,e.element),e.elementSwapHidden=e.element,e.elementSwapHidden.type="hidden",e.element=r,e.element.id="")},initNumeralFormatter:function(){var t=this.properties;t.numeral&&(t.numeralFormatter=new i.NumeralFormatter(t.numeralDecimalMark,t.numeralIntegerScale,t.numeralDecimalScale,t.numeralThousandsGroupStyle,t.numeralPositiveOnly,t.stripLeadingZeroes,t.prefix,t.signBeforePrefix,t.tailPrefix,t.delimiter))},initTimeFormatter:function(){var t=this.properties;t.time&&(t.timeFormatter=new i.TimeFormatter(t.timePattern,t.timeFormat),t.blocks=t.timeFormatter.getBlocks(),t.blocksLength=t.blocks.length,t.maxLength=i.Util.getMaxLength(t.blocks))},initDateFormatter:function(){var t=this.properties;t.date&&(t.dateFormatter=new i.DateFormatter(t.datePattern,t.dateMin,t.dateMax),t.blocks=t.dateFormatter.getBlocks(),t.blocksLength=t.blocks.length,t.maxLength=i.Util.getMaxLength(t.blocks))},initPhoneFormatter:function(){var t=this.properties;if(t.phone)try{t.phoneFormatter=new i.PhoneFormatter(new t.root.Cleave.AsYouTypeFormatter(t.phoneRegionCode),t.delimiter)}catch(r){throw new Error("[cleave.js] Please include phone-type-formatter.{country}.js lib")}},onKeyDown:function(e){var t=this,e=e.which||e.keyCode;t.lastInputValue=t.element.value,t.isBackward=8===e},onChange:function(e){var t=this,r=t.properties,n=i.Util,e=(t.isBackward=t.isBackward||"deleteContentBackward"===e.inputType,n.getPostDelimiter(t.lastInputValue,r.delimiter,r.delimiters));t.isBackward&&e?r.postDelimiterBackspace=e:r.postDelimiterBackspace=!1,this.onInput(this.element.value)},onFocus:function(){var e=this,t=e.properties;e.lastInputValue=e.element.value,t.prefix&&t.noImmediatePrefix&&!e.element.value&&this.onInput(t.prefix),i.Util.fixPrefixCursor(e.element,t.prefix,t.delimiter,t.delimiters)},onCut:function(e){i.Util.checkFullSelection(this.element.value)&&(this.copyClipboardData(e),this.onInput(""))},onCopy:function(e){i.Util.checkFullSelection(this.element.value)&&this.copyClipboardData(e)},copyClipboardData:function(e){var r=this.properties,n=i.Util,a=this.element.value,n=r.copyDelimiter?a:n.stripDelimiters(a,r.delimiter,r.delimiters);try{(e.clipboardData?e:window).clipboardData.setData("Text",n),e.preventDefault()}catch(l){}},onInput:function(e){var t=this,r=t.properties,n=i.Util,a=n.getPostDelimiter(e,r.delimiter,r.delimiters);r.numeral||!r.postDelimiterBackspace||a||(e=n.headStr(e,e.length-r.postDelimiterBackspace.length)),r.phone?!r.prefix||r.noImmediatePrefix&&!e.length?r.result=r.phoneFormatter.format(e):r.result=r.prefix+r.phoneFormatter.format(e).slice(r.prefix.length):r.numeral?r.prefix&&r.noImmediatePrefix&&0===e.length?r.result="":r.result=r.numeralFormatter.format(e):(r.date&&(e=r.dateFormatter.getValidatedDate(e)),r.time&&(e=r.timeFormatter.getValidatedTime(e)),e=n.stripDelimiters(e,r.delimiter,r.delimiters),e=n.getPrefixStrippedValue(e,r.prefix,r.prefixLength,r.result,r.delimiter,r.delimiters,r.noImmediatePrefix,r.tailPrefix,r.signBeforePrefix),e=r.numericOnly?n.strip(e,/[^\d]/g):e,e=r.uppercase?e.toUpperCase():e,e=r.lowercase?e.toLowerCase():e,r.prefix&&(r.tailPrefix?e+=r.prefix:e=r.prefix+e,0===r.blocksLength)?r.result=e:(r.creditCard&&t.updateCreditCardPropsByValue(e),e=n.headStr(e,r.maxLength),r.result=n.getFormattedValue(e,r.blocks,r.blocksLength,r.delimiter,r.delimiters,r.delimiterLazyShow))),t.updateValueState()},updateCreditCardPropsByValue:function(e){var n=this.properties,a=i.Util;a.headStr(n.result,4)!==a.headStr(e,4)&&(e=i.CreditCardDetector.getInfo(e,n.creditCardStrictMode),n.blocks=e.blocks,n.blocksLength=n.blocks.length,n.maxLength=a.getMaxLength(n.blocks),n.creditCardType!==e.type&&(n.creditCardType=e.type,n.onCreditCardTypeChanged.call(this,n.creditCardType)))},updateValueState:function(){var n,a,o,e=this,t=i.Util,r=e.properties;e.element&&(n=e.element.selectionEnd,a=e.element.value,o=r.result,n=t.getNextCursorPosition(n,a,o,r.delimiter,r.delimiters),e.isAndroid?window.setTimeout(function(){e.element.value=o,t.setSelection(e.element,n,r.document,!1),e.callOnValueChanged()},1):(e.element.value=o,r.swapHiddenInput&&(e.elementSwapHidden.value=e.getRawValue()),t.setSelection(e.element,n,r.document,!1),e.callOnValueChanged()))},callOnValueChanged:function(){var e=this,t=e.properties;t.onValueChanged.call(e,{target:{name:e.element.name,value:t.result,rawValue:e.getRawValue()}})},setPhoneRegionCode:function(e){var t=this;t.properties.phoneRegionCode=e,t.initPhoneFormatter(),t.onChange()},setRawValue:function(e){var t=this,r=t.properties;e=null!=e?e.toString():"",r.numeral&&(e=e.replace(".",r.numeralDecimalMark)),r.postDelimiterBackspace=!1,t.element.value=e,t.onInput(e)},getRawValue:function(){var t=this.properties,r=i.Util,n=this.element.value;return t.rawValueTrimPrefix&&(n=r.getPrefixStrippedValue(n,t.prefix,t.prefixLength,t.result,t.delimiter,t.delimiters,t.noImmediatePrefix,t.tailPrefix,t.signBeforePrefix)),t.numeral?t.numeralFormatter.getRawValue(n):r.stripDelimiters(n,t.delimiter,t.delimiters)},getISOFormatDate:function(){var t=this.properties;return t.date?t.dateFormatter.getISOFormatDate():""},getISOFormatTime:function(){var t=this.properties;return t.time?t.timeFormatter.getISOFormatTime():""},getFormattedValue:function(){return this.element.value},destroy:function(){var e=this;e.element.removeEventListener("input",e.onChangeListener),e.element.removeEventListener("keydown",e.onKeyDownListener),e.element.removeEventListener("focus",e.onFocusListener),e.element.removeEventListener("cut",e.onCutListener),e.element.removeEventListener("copy",e.onCopyListener)},toString:function(){return"[Cleave Object]"}},i.NumeralFormatter=r(1),i.DateFormatter=r(2),i.TimeFormatter=r(3),i.PhoneFormatter=r(4),i.CreditCardDetector=r(5),i.Util=r(6),i.DefaultProperties=r(7),("object"==typeof t&&t?t:window).Cleave=i,e.exports=i}.call(t,function(){return this}())},function(e,t){"use strict";function r(e,t,i,n,a,o,l,s,c,u){var d=this;d.numeralDecimalMark=e||".",d.numeralIntegerScale=0<t?t:0,d.numeralDecimalScale=0<=i?i:2,d.numeralThousandsGroupStyle=n||r.groupStyle.thousand,d.numeralPositiveOnly=!!a,d.stripLeadingZeroes=!1!==o,d.prefix=l||""===l?l:"",d.signBeforePrefix=!!s,d.tailPrefix=!!c,d.delimiter=u||""===u?u:",",d.delimiterRE=u?new RegExp("\\"+u,"g"):""}r.groupStyle={thousand:"thousand",lakh:"lakh",wan:"wan",none:"none"},r.prototype={getRawValue:function(e){return e.replace(this.delimiterRE,"").replace(this.numeralDecimalMark,".")},format:function(e){var i,n,a,o=this,l="";switch(e=e.replace(/[A-Za-z]/g,"").replace(o.numeralDecimalMark,"M").replace(/[^\dM-]/g,"").replace(/^\-/,"N").replace(/\-/g,"").replace("N",o.numeralPositiveOnly?"":"-").replace("M",o.numeralDecimalMark),i="-"===(e=o.stripLeadingZeroes?e.replace(/^(-)?0+(?=\d)/,"$1"):e).slice(0,1)?"-":"",n=void 0!==o.prefix?o.signBeforePrefix?i+o.prefix:o.prefix+i:i,0<=(a=e).indexOf(o.numeralDecimalMark)&&(a=(e=e.split(o.numeralDecimalMark))[0],l=o.numeralDecimalMark+e[1].slice(0,o.numeralDecimalScale)),"-"==i&&(a=a.slice(1)),0<o.numeralIntegerScale&&(a=a.slice(0,o.numeralIntegerScale)),o.numeralThousandsGroupStyle){case r.groupStyle.lakh:a=a.replace(/(\d)(?=(\d\d)+\d$)/g,"$1"+o.delimiter);break;case r.groupStyle.wan:a=a.replace(/(\d)(?=(\d{4})+$)/g,"$1"+o.delimiter);break;case r.groupStyle.thousand:a=a.replace(/(\d)(?=(\d{3})+$)/g,"$1"+o.delimiter)}return o.tailPrefix?i+a.toString()+(0<o.numeralDecimalScale?l.toString():"")+o.prefix:n+a.toString()+(0<o.numeralDecimalScale?l.toString():"")}},e.exports=r},function(e,t){"use strict";function r(e,t,r){var i=this;i.date=[],i.blocks=[],i.datePattern=e,i.dateMin=t.split("-").reverse().map(function(e){return parseInt(e,10)}),2===i.dateMin.length&&i.dateMin.unshift(0),i.dateMax=r.split("-").reverse().map(function(e){return parseInt(e,10)}),2===i.dateMax.length&&i.dateMax.unshift(0),i.initBlocks()}r.prototype={initBlocks:function(){var e=this;e.datePattern.forEach(function(t){"Y"===t?e.blocks.push(4):e.blocks.push(2)})},getISOFormatDate:function(){var e=this,t=e.date;return t[2]?t[2]+"-"+e.addLeadingZero(t[1])+"-"+e.addLeadingZero(t[0]):""},getBlocks:function(){return this.blocks},getValidatedDate:function(e){var t=this,r="";return e=e.replace(/[^\d]/g,""),t.blocks.forEach(function(i,n){if(0<e.length){var a=e.slice(0,i),o=a.slice(0,1),i=e.slice(i);switch(t.datePattern[n]){case"d":"00"===a?a="01":3<parseInt(o,10)?a="0"+o:31<parseInt(a,10)&&(a="31");break;case"m":"00"===a?a="01":1<parseInt(o,10)?a="0"+o:12<parseInt(a,10)&&(a="12")}r+=a,e=i}}),this.getFixedDateString(r)},getFixedDateString:function(e){var t,r,i,n=this,a=n.datePattern,o=[],l=0,s=0,c=0,u=0,d=0,m=0,p=!1;return 4===e.length&&"y"!==a[0].toLowerCase()&&"y"!==a[1].toLowerCase()&&(d=2-(u="d"===a[0]?0:2),t=parseInt(e.slice(u,u+2),10),r=parseInt(e.slice(d,d+2),10),o=this.getFixedDate(t,r,0)),8===e.length&&(a.forEach(function(e,t){switch(e){case"d":l=t;break;case"m":s=t;break;default:c=t}}),m=2*c,u=l<=c?2*l:2*l+2,d=s<=c?2*s:2*s+2,t=parseInt(e.slice(u,u+2),10),r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+4),10),p=4===e.slice(m,m+4).length,o=this.getFixedDate(t,r,i)),4!==e.length||"y"!==a[0]&&"y"!==a[1]||(m=2-(d="m"===a[0]?0:2),r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+2),10),p=2===e.slice(m,m+2).length,o=[0,r,i]),6!==e.length||"Y"!==a[0]&&"Y"!==a[1]||(m=2-.5*(d="m"===a[0]?0:4),r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+4),10),p=4===e.slice(m,m+4).length,o=[0,r,i]),o=n.getRangeFixedDate(o),0===(n.date=o).length?e:a.reduce(function(e,t){switch(t){case"d":return e+(0===o[0]?"":n.addLeadingZero(o[0]));case"m":return e+(0===o[1]?"":n.addLeadingZero(o[1]));case"y":return e+(p?n.addLeadingZeroForYear(o[2],!1):"");case"Y":return e+(p?n.addLeadingZeroForYear(o[2],!0):"")}},"")},getRangeFixedDate:function(e){var t=this,r=t.datePattern,i=t.dateMin||[],t=t.dateMax||[];return!e.length||i.length<3&&t.length<3||r.find(function(e){return"y"===e.toLowerCase()})&&0===e[2]?e:t.length&&(t[2]<e[2]||t[2]===e[2]&&(t[1]<e[1]||t[1]===e[1]&&t[0]<e[0]))?t:i.length&&(i[2]>e[2]||i[2]===e[2]&&(i[1]>e[1]||i[1]===e[1]&&i[0]>e[0]))?i:e},getFixedDate:function(e,t,r){return e=Math.min(e,31),t=Math.min(t,12),r=parseInt(r||0,10),[e=t<7&&t%2==0||8<t&&t%2==1?Math.min(e,2===t?this.isLeapYear(r)?29:28:30):e,t,r]},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},addLeadingZero:function(e){return(e<10?"0":"")+e},addLeadingZeroForYear:function(e,t){return t?(e<10?"000":e<100?"00":e<1e3?"0":"")+e:(e<10?"0":"")+e}},e.exports=r},function(e,t){"use strict";function r(e,t){var r=this;r.time=[],r.blocks=[],r.timePattern=e,r.timeFormat=t,r.initBlocks()}r.prototype={initBlocks:function(){var e=this;e.timePattern.forEach(function(){e.blocks.push(2)})},getISOFormatTime:function(){var e=this,t=e.time;return t[2]?e.addLeadingZero(t[0])+":"+e.addLeadingZero(t[1])+":"+e.addLeadingZero(t[2]):""},getBlocks:function(){return this.blocks},getTimeFormatOptions:function(){return"12"===String(this.timeFormat)?{maxHourFirstDigit:1,maxHours:12,maxMinutesFirstDigit:5,maxMinutes:60}:{maxHourFirstDigit:2,maxHours:23,maxMinutesFirstDigit:5,maxMinutes:60}},getValidatedTime:function(e){var t=this,r="",i=(e=e.replace(/[^\d]/g,""),t.getTimeFormatOptions());return t.blocks.forEach(function(n,a){if(0<e.length){var o=e.slice(0,n),l=o.slice(0,1),n=e.slice(n);switch(t.timePattern[a]){case"h":parseInt(l,10)>i.maxHourFirstDigit?o="0"+l:parseInt(o,10)>i.maxHours&&(o=i.maxHours+"");break;case"m":case"s":parseInt(l,10)>i.maxMinutesFirstDigit?o="0"+l:parseInt(o,10)>i.maxMinutes&&(o=i.maxMinutes+"")}r+=o,e=n}}),this.getFixedTimeString(r)},getFixedTimeString:function(e){var r,i,u,n=this,a=n.timePattern,o=[],l=0,s=0,c=0,d=0,m=0;return 6===e.length&&(a.forEach(function(e,t){switch(e){case"s":l=2*t;break;case"m":s=2*t;break;case"h":c=2*t}}),m=c,d=s,u=l,u=parseInt(e.slice(u,u+2),10),r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+2),10),o=this.getFixedTime(i,r,u)),4===e.length&&n.timePattern.indexOf("s")<0&&(a.forEach(function(e,t){switch(e){case"m":s=2*t;break;case"h":c=2*t}}),m=c,d=s,u=0,r=parseInt(e.slice(d,d+2),10),i=parseInt(e.slice(m,m+2),10),o=this.getFixedTime(i,r,u)),0===(n.time=o).length?e:a.reduce(function(e,t){switch(t){case"s":return e+n.addLeadingZero(o[2]);case"m":return e+n.addLeadingZero(o[1]);case"h":return e+n.addLeadingZero(o[0])}},"")},getFixedTime:function(e,t,r){return r=Math.min(parseInt(r||0,10),60),t=Math.min(t,60),[e=Math.min(e,60),t,r]},addLeadingZero:function(e){return(e<10?"0":"")+e}},e.exports=r},function(e,t){"use strict";function r(e,t){var r=this;r.delimiter=t||""===t?t:" ",r.delimiterRE=t?new RegExp("\\"+t,"g"):"",r.formatter=e}r.prototype={setFormatter:function(e){this.formatter=e},format:function(e){var t=this;t.formatter.clear();for(var r,i="",n=!1,a=0,o=(e=(e=(e=e.replace(/[^\d+]/g,"")).replace(/^\+/,"B").replace(/\+/g,"").replace("B","+")).replace(t.delimiterRE,"")).length;a<o;a++)r=t.formatter.inputDigit(e.charAt(a)),/[\s()-]/g.test(r)?(i=r,n=!0):n||(i=r);return(i=i.replace(/[()]/g,"")).replace(/[\s-]/g,t.delimiter)}},e.exports=r},function(e,t){"use strict";var r={blocks:{uatp:[4,5,6],amex:[4,6,5],diners:[4,6,4],discover:[4,4,4,4],mastercard:[4,4,4,4],dankort:[4,4,4,4],instapayment:[4,4,4,4],jcb15:[4,6,5],jcb:[4,4,4,4],maestro:[4,4,4,4],visa:[4,4,4,4],mir:[4,4,4,4],unionPay:[4,4,4,4],general:[4,4,4,4]},re:{uatp:/^(?!1800)1\d{0,14}/,amex:/^3[47]\d{0,13}/,discover:/^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}/,diners:/^3(?:0([0-5]|9)|[689]\d?)\d{0,11}/,mastercard:/^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}/,dankort:/^(5019|4175|4571)\d{0,12}/,instapayment:/^63[7-9]\d{0,13}/,jcb15:/^(?:2131|1800)\d{0,11}/,jcb:/^(?:35\d{0,2})\d{0,12}/,maestro:/^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}/,mir:/^220[0-4]\d{0,12}/,visa:/^4\d{0,15}/,unionPay:/^(62|81)\d{0,14}/},getStrictBlocks:function(e){var t=e.reduce(function(e,t){return e+t},0);return e.concat(19-t)},getInfo:function(e,t){var a,o,i=r.blocks,n=r.re;for(a in t=!!t,n)if(n[a].test(e))return o=i[a],{type:a,blocks:t?this.getStrictBlocks(o):o};return{type:"unknown",blocks:t?this.getStrictBlocks(i.general):i.general}}};e.exports=r},function(e,t){"use strict";e.exports={noop:function(){},strip:function(e,t){return e.replace(t,"")},getPostDelimiter:function(e,t,r){if(0===r.length)return e.slice(-t.length)===t?t:"";var i="";return r.forEach(function(t){e.slice(-t.length)===t&&(i=t)}),i},getDelimiterREByDelimiter:function(e){return new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"g")},getNextCursorPosition:function(e,t,r,i,n){return t.length===e?r.length:e+this.getPositionOffset(e,t,r,i,n)},getPositionOffset:function(e,t,r,i,n){t=this.stripDelimiters(t.slice(0,e),i,n),r=this.stripDelimiters(r.slice(0,e),i,n),e=t.length-r.length;return 0!=e?e/Math.abs(e):0},stripDelimiters:function(e,t,r){var i=this;return 0===r.length?(t=t?i.getDelimiterREByDelimiter(t):"",e.replace(t,"")):(r.forEach(function(t){t.split("").forEach(function(t){e=e.replace(i.getDelimiterREByDelimiter(t),"")})}),e)},headStr:function(e,t){return e.slice(0,t)},getMaxLength:function(e){return e.reduce(function(e,t){return e+t},0)},getPrefixStrippedValue:function(e,t,r,i,n,a,o,l,s){if(0===r)return e;if(e===t&&""!==e)return"";if(s&&"-"==e.slice(0,1))return c="-"==i.slice(0,1)?i.slice(1):i,"-"+this.getPrefixStrippedValue(e.slice(1),t,r,c,n,a,o,l,s);if(i.slice(0,r)!==t&&!l)return o&&!i&&e?e:"";if(i.slice(-r)!==t&&l)return o&&!i&&e?e:"";var c=this.stripDelimiters(i,n,a);return e.slice(0,r)===t||l?e.slice(-r)!==t&&l?c.slice(0,-r-1):l?e.slice(0,-r):e.slice(r):c.slice(r)},getFirstDiffIndex:function(e,t){for(var r=0;e.charAt(r)===t.charAt(r);)if(""===e.charAt(r++))return-1;return r},getFormattedValue:function(e,t,r,i,n,a){var o="",l=0<n.length,s="";return 0===r?e:(t.forEach(function(t,c){var u,d;0<e.length&&(u=e.slice(0,t),d=e.slice(t),s=l?n[a?c-1:c]||s:i,a?(0<c&&(o+=s),o+=u):(o+=u,u.length===t&&c<r-1&&(o+=s)),e=d)}),o)},fixPrefixCursor:function(e,t,r,i){var n,o;e&&(n=e.value,r=r||i[0]||" ",!e.setSelectionRange||!t||t.length+r.length<=n.length||(o=2*n.length,setTimeout(function(){e.setSelectionRange(o,o)},1)))},checkFullSelection:function(e){try{return(window.getSelection()||document.getSelection()||{}).toString().length===e.length}catch(r){}return!1},setSelection:function(e,t,r){if(e===this.getActiveElement(r)&&!(e&&e.value.length<=t))if(e.createTextRange){r=e.createTextRange();r.move("character",t),r.select()}else try{e.setSelectionRange(t,t)}catch(n){console.warn("The input element type does not support selection")}},getActiveElement:function(e){e=e.activeElement;return e&&e.shadowRoot?this.getActiveElement(e.shadowRoot):e},isAndroid:function(){return navigator&&/android/i.test(navigator.userAgent)},isAndroidBackspaceKeydown:function(e,t){return!!(this.isAndroid()&&e&&t)&&t===e.slice(0,-1)}}},function(e,t){!function(t){"use strict";e.exports={assign:function(e,r){return(e=e||{}).creditCard=!!(r=r||{}).creditCard,e.creditCardStrictMode=!!r.creditCardStrictMode,e.creditCardType="",e.onCreditCardTypeChanged=r.onCreditCardTypeChanged||function(){},e.phone=!!r.phone,e.phoneRegionCode=r.phoneRegionCode||"AU",e.phoneFormatter={},e.time=!!r.time,e.timePattern=r.timePattern||["h","m","s"],e.timeFormat=r.timeFormat||"24",e.timeFormatter={},e.date=!!r.date,e.datePattern=r.datePattern||["d","m","Y"],e.dateMin=r.dateMin||"",e.dateMax=r.dateMax||"",e.dateFormatter={},e.numeral=!!r.numeral,e.numeralIntegerScale=0<r.numeralIntegerScale?r.numeralIntegerScale:0,e.numeralDecimalScale=0<=r.numeralDecimalScale?r.numeralDecimalScale:2,e.numeralDecimalMark=r.numeralDecimalMark||".",e.numeralThousandsGroupStyle=r.numeralThousandsGroupStyle||"thousand",e.numeralPositiveOnly=!!r.numeralPositiveOnly,e.stripLeadingZeroes=!1!==r.stripLeadingZeroes,e.signBeforePrefix=!!r.signBeforePrefix,e.tailPrefix=!!r.tailPrefix,e.swapHiddenInput=!!r.swapHiddenInput,e.numericOnly=e.creditCard||e.date||!!r.numericOnly,e.uppercase=!!r.uppercase,e.lowercase=!!r.lowercase,e.prefix=!e.creditCard&&!e.date&&r.prefix||"",e.noImmediatePrefix=!!r.noImmediatePrefix,e.prefixLength=e.prefix.length,e.rawValueTrimPrefix=!!r.rawValueTrimPrefix,e.copyDelimiter=!!r.copyDelimiter,e.initValue=void 0!==r.initValue&&null!==r.initValue?r.initValue.toString():"",e.delimiter=r.delimiter||""===r.delimiter?r.delimiter:r.date?"/":r.time?":":r.numeral?",":(r.phone," "),e.delimiterLength=e.delimiter.length,e.delimiterLazyShow=!!r.delimiterLazyShow,e.delimiters=r.delimiters||[],e.blocks=r.blocks||[],e.blocksLength=e.blocks.length,e.root="object"==typeof t&&t?t:window,e.document=r.document||e.root.document,e.maxLength=0,e.backspace=!1,e.result="",e.onValueChanged=r.onValueChanged||function(){},e}}}.call(t,function(){return this}())}],r={},t.m=e,t.c=r,t.p="",t(0);function t(i){if(r[i])return r[i].exports;var n=r[i]={exports:{},id:i,loaded:!1};return e[i].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var e,r}),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.multi_line_text={init:function(options){this.$form=options.form,this.type=this.$el.data("happyforms-type"),this.$input=$("textarea",this.$el),this.$counter=$(".happyforms-part__char-counter span.counter",this.$el),this.$input.on("blur",this.onBlur.bind(this)),this.$input.on("keyup",this.triggerChange.bind(this)),this.$input.on("change",this.triggerChange.bind(this)),this.$el.on("keyup",this.refreshCounter.bind(this)),this.refreshCounter(),$(".happyforms-part__char-counter").show()},getValueLength:function(){var mode=this.$input.attr("data-length-mode"),value=this.$input.val(),length=value.length;return length="word"===mode?(mode=value.match(/\w+/g))?mode.length:0:length},refreshCounter:function(){var length;parseInt(this.$input.attr("data-length"),10)<1||(length=this.getValueLength(),this.$counter.text(length))},onFocus:function(){this.$el.addClass("focus")},onBlur:function(){this.$el.removeClass("focus")},isFilled:function(){return""!==this.$input.val()},serialize:function(){return HappyForms.parts.base.serialize.apply(this,arguments)}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.email={init:function(){this.type=this.$el.data("happyforms-type"),this.$input=$("input",this.$el),this.$visualInput=$("input[type=email]",this.$el),this.$input.on("keyup",this.triggerChange.bind(this)),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("focus",this.onInputFocus.bind(this)),this.$visualInput.on("blur",this.onBlur.bind(this))}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.radio={init:function(){this.type=this.$el.data("happyforms-type"),this.$input=$("input",this.$el),this.$visualInput=$("input[type=email]",this.$el),this.$input.on("keyup",this.triggerChange.bind(this)),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("change",this.onRadioChange.bind(this)),this.$input.on("focus",this.onFocus.bind(this))},onRadioChange:function(e){var $otherRadio=$(".happyforms-part-option--other input[type=radio]",this.$el),$otherInput=$otherRadio.parent().nextAll("input"),$generalInput=$("input[type=text]",this.$el);$generalInput.prop("required",!1),$otherRadio.length&&$otherRadio.is(":checked")?($(e.target)[0]===$otherRadio[0]&&$otherInput.addClass("hf-show").trigger("focus"),""===this.$el.data("happyforms-required")&&$otherInput.prop("required",!0)):$generalInput.removeClass("hf-show")},onFocus:function(e){e=$(e.target);"text"===e.attr("type")&&e.prevAll("input[type=radio]").prop("checked",!0)},serialize:function(){var self=this;return this.$input.map(function(i,input){var input=$(input),$customInput=0;if("text"!==input.attr("type")){"text"===$(self.$input[i+1]).attr("type")&&($customInput=$(self.$input[i+1]));i={name:input.attr("name"),value:input.val()};if($customInput.length&&($customInput=$customInput.val(),i.value=[input.val(),$customInput],i.value=JSON.stringify(i.value)),input.is(":checked"))return i}}).toArray()}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.checkbox={init:function(){this.type=this.$el.data("happyforms-type"),this.$input=$("input",this.$el),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("change",this.onCheckboxChange.bind(this)),this.$input.on("focus",this.onFocus.bind(this))},onCheckboxChange:function(e){var $otherCheckbox=$(".happyforms-part-option--other input[type=checkbox]",this.$el),$otherInput=$otherCheckbox.parent().nextAll("input"),$generalInput=$("input[type=text]",this.$el);$generalInput.prop("required",!1),$otherCheckbox.length&&$otherCheckbox.is(":checked")?($(e.target)[0]===$otherCheckbox[0]&&$otherInput.addClass("hf-show").trigger("focus"),""===this.$el.data("happyforms-required")&&$otherInput.prop("required",!0)):$generalInput.removeClass("hf-show")},serialize:function(){var self=this;return this.$input.map(function(i,input){var input=$(input),$customInput=0;if("text"!==input.attr("type")){"text"===$(self.$input[i+1]).attr("type")&&($customInput=$(self.$input[i+1]));i={name:input.attr("name"),value:input.val()};if($customInput.length&&($customInput=$customInput.val(),i.value=[input.val(),$customInput],i.value=JSON.stringify(i.value)),input.is(":checked"))return i}}).toArray()},onFocus:function(e){e=$(e.target);"text"===e.attr("type")&&e.prevAll("input[type=checkbox]").prop("checked",!0)}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.select={init:function(options){this.type=this.$el.data("happyforms-type"),this.$input=$("[data-serialize]",this.$el),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("blur",this.onBlur.bind(this))},onBlur:function(){var $otherinput=$(".happyforms-part-option--other input[type=text]",this.$el);"999"===this.$input.val()?($otherinput.addClass("hf-show"),$otherinput.focus()):$otherinput.removeClass("hf-show")},serialize:function(){var self=this;return this.$input.map(function(i,select){var select=$(select,self.$el),$customInput=0,value=(999==select.val()&&($customInput=$(" .happyforms-part-option--other input[type=text]",self.$el)),select.val()),value=(null==value&&(value=""),{name:select.attr("name"),value:value});return $customInput.length&&($customInput=$customInput.val(),value.value=[select.val(),$customInput],value.value=JSON.stringify(value.value)),value}).toArray()}}}(jQuery),function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.number={init:function(){this.type=this.$el.data("happyforms-type"),this.allowedKeys=["0","1","2","3","4","5","6","7","8","9","Meta","Delete","ArrowLeft","ArrowRight"];var self,decimalMark,delimiterMark,masked=this.$el.attr("data-mask");this.$input=$("input",this.$el),this.cleaveInstances=[],this.$input.on("keyup",this.onKeyUp.bind(this)),this.$input.on("change",this.triggerChange.bind(this)),this.$input.on("focus",this.onInputFocus.bind(this)),this.$input.on("blur",this.onBlur.bind(this)),this.numeralDecimalMark=this.$el.attr("data-decimal-mark")||"",this.delimiter=this.$el.attr("data-thousands-delimiter")||"",masked&&(decimalMark=(self=this).numeralDecimalMark,delimiterMark=this.delimiter,this.$input.each(function(){var $input=$(this),$input=new Cleave($input,{numeral:!0,numeralDecimalMark:decimalMark,delimiter:delimiterMark});self.cleaveInstances.push($input)})),this.onBlur()},onKeyUp:function(e){var value=$(e.target).val(),regex=new RegExp("[^0-9"+this.numeralDecimalMark+this.delimiter+"-]","g"),value=value.replace(regex,"");$(e.target).val(value),this.triggerChange()},reinit:function(){$.each(this.cleaveInstances,function(i,instance){var input=instance.element,rawValue=instance.getRawValue();instance.destroy(),input.value=rawValue}),this.init()}}}(jQuery),HappyForms.Antispam={getHash:function(data){var hash=[];return data.forEach(function(entry){hash.push(entry.value)}),hash=hash.join("").replace(/[^\w\d]/gm,""),hash=md5(hash)},getPlatformInfo:function(){var key,value,info={user_agent:navigator.userAgent,app_version:navigator.appVersion,language:navigator.language||navigator.userLanguage||navigator.browserLanguage||navigator.systemLanguage,languages_length:navigator.languages.length,webdriver:navigator.webdriver?1:0,concurrency:navigator.hardwareConcurrency,outer_width:window.outerWidth,outer_height:window.outerHeight,connectionRtt:navigator.connection?navigator.connection.rtt:-1},platformInfo={};for([key,value]of Object.entries(info))platformInfo[`platform_info[${key}]`]=value;return platformInfo}},function($){HappyForms.parts=HappyForms.parts||{},HappyForms.parts.base={init:function(){this.type=this.$el.data("happyforms-type"),this.$input=$("input, textarea, select",this.$el),this.$input.on("keyup change",this.triggerChange.bind(this)),this.$input.on("blur",this.onBlur.bind(this)),this.$input.on("focus",this.onInputFocus.bind(this)),this.onBlur()},getType:function(){return this.type},onInputFocus:function(){this.$el.addClass("focus")},onBlur:function(){this.$el.is(".happyforms-part--label-as_placeholder")&&(this.isFilled()?this.$el.addClass("happyforms-part--filled"):this.$el.removeClass("happyforms-part--filled")),this.$el.removeClass("focus")},triggerChange:function(data){this.$el.trigger("happyforms-change",data)},isRequired:function(){return this.$el.is(":visible")&&this.$el.is("[data-happyforms-required]")},isFilled:function(){return 0<this.$input.filter(function(){var $input=$(this);return $input.is("[type=checkbox]")||$input.is("[type=radio]")?$input.is(":checked"):""!==$input.val()}).length},confirmationMatches:function(){var matches=!1,$input=this.$input,$input=($input=this.$visualInput?this.$visualInput:$input).map(function(){return $(this).val()}).toArray();return matches=2===$input.length?$input[0]===$input[1]:matches},requiresConfirmation:function(){return this.$el.is("[data-happyforms-require-confirmation]")},serialize:function(){return this.$input.map(function(i,input){var input=$(input),keyValue={name:input.attr("name"),value:input.val()};if(!input.is("[type=checkbox]")&&!input.is("[type=radio]")||input.is(":checked"))return keyValue}).toArray()},isValid:function(){var valid=!0;this.$el.data("happyforms-type");return this.$input?(this.isRequired()&&(valid=valid&&this.isFilled()),this.isRequired()&&this.requiresConfirmation()?valid&&this.confirmationMatches():valid):valid},destroy:function(){this.$el.data("HappyFormPart",!1)}},HappyForms.wrapPart=function($part,$form){var type=$part.data("happyforms-type"),partMethods=HappyForms.parts.base;HappyForms.parts[type]&&(partMethods=$.extend({},HappyForms.parts.base,HappyForms.parts[type])),$part.happyFormPart(partMethods,{form:$form})},HappyForms.Form=function(el){this.el=el,this.$el=$(this.el),this.$form=$("form",this.$el),this.$parts=$("[data-happyforms-type]",this.$form),this.$submits=$('[type="submit"], a.submit',this.$form),this.$submit=$('[type="submit"]',this.$form),this.$submitLinks=$("a.submit",this.$form),this.$step=$('[name="happyforms_step"]',this.$form),this.init()},HappyForms.Form.prototype={init:function(){var $form=this.$form;$("[data-happyforms-type]",this.$form).each(function(){var $part=$(this);$part.data("happyforms-type");HappyForms.wrapPart($part,$form)}),this.$el.trigger("happyforms-change"),this.$el.trigger("happyforms-init"),this.$form.off("submit"),this.$submit.off("click"),this.$submitLinks.off("click"),this.$form.on("submit",this.submit.bind(this)),this.$submit.on("click",this.buttonSubmit.bind(this)),this.$submitLinks.on("click",this.linkSubmit.bind(this)),this.$el.on("happyforms-scrolltop",this.onScrollTop.bind(this))},detach:function(){this.$el.off("happyforms-change"),this.$el.off("happyforms-scrolltop"),$("[data-happyforms-type]",this.$form).remove()},serialize:function(submitEl){for(var action=$("[name=action]",this.$form).val(),form_id=$("[name=happyforms_form_id]",this.$form).val(),formData=($("[name=_wp_http_referer]",this.$form).val(),[{name:"action",value:action},{name:"happyforms_form_id",value:form_id},{name:"happyforms_step",value:this.$step.val()},{name:"happyforms_random_seed",value:$("[name=happyforms_random_seed]",this.$form).val()}]),honeypotNames=["single_line_text","multi_line_text","number"],h=0;h<honeypotNames.length;h++){var inputName=form_id+"-"+honeypotNames[h],$input=$("[name="+inputName+"]");if($input.length){formData.push({name:inputName,value:$input.val()});break}}var key,value,action=$("[data-happyforms-type]",this.$form).map(function(i,part){return $(part).happyFormPart("serialize")}).toArray().filter(function(entry){return null!==entry.name&&void 0!==entry.name}),action=formData.concat(action),params=new URLSearchParams,action=(action.forEach(function(entry){params.append(entry.name,entry.value)}),HappyForms.Antispam.getHash(action)),action=(params.append("hash",action),HappyForms.Antispam.getPlatformInfo());for([key,value]of Object.entries(action))params.append(key,value);return params=params.toString()},buttonSubmit:function(e){e.target.hasAttribute("data-step")&&this.$step.val(e.target.getAttribute("data-step"))},linkSubmit:function(e){e.preventDefault(),e.stopImmediatePropagation(),e.target.hasAttribute("data-step")&&this.$step.val(e.target.getAttribute("data-step")),this.$form.trigger("submit")},submit:function(e){e.preventDefault(),this.$form.addClass("happyforms-form--submitting"),this.$submits.attr("disabled","disabled"),$.ajax({type:"post",data:this.serialize(e.target)}).done(this.onSubmitComplete.bind(this))},onSubmitComplete:function(response){if(this.$form.trigger("happyforms.submitted",response),!response.data)return!1;var elTopOffset,$notices;response.data.html&&(response=$(response.data.html),$("[data-happyforms-type]",this.$form).each(function(){$(this).trigger("happyforms.detach")}),this.detach(),this.$el.replaceWith(response),this.$el=response,this.$el.happyForm(),(response=$("form",this.$el)).attr("data-happyforms-scroll-disabled")||(this.$el.get(0).getBoundingClientRect().top<0&&(elTopOffset=this.$el.offset().top,$notices=$(".happyforms-message-notices",this.$el),response.is(".happyforms-form--notices-below")&&$notices.length&&(elTopOffset=$notices.offset().top),($notices=response.attr("data-happyforms-scroll-offset"))&&(elTopOffset+=$notices=parseInt($notices,10)),this.$el.trigger("happyforms-scrolltop",elTopOffset)),!$(".happyforms-message-notice.error",response).length&&this.$el.hasClass("happyforms-form--hide-on-submit")&&$(".happyforms-part",response).hide()))},onScrollTop:function(e,offset){e.isDefaultPrevented()||$("html, body").animate({scrollTop:offset+"px"},500)}},HappyForms.Part=function(el){this.el=el,this.$el=$(this.el)},$.fn.happyFormPart=function(method){if("object"==typeof method){var part=new HappyForms.Part(this);$.extend(part,method),$(this).data("HappyFormPart",part),part.init.apply(part,Array.prototype.slice.call(arguments,1))}else{part=$(this).data("HappyFormPart");if(part&&part[method])return part[method].apply(part,Array.prototype.slice.call(arguments,1))}},$.fn.happyForm=function(method){this.each(function(){if(method){var instance=$.data(this,"HappyForm");if(instance&&instance[method])return instance[method].apply(instance,Array.prototype.slice.call(arguments,1))}else $.data(this,"HappyForm",new HappyForms.Form(this,arguments))})},$(function(){$(".happyforms-form").happyForm()})}(jQuery);
core/assets/css/customize.css CHANGED
@@ -191,6 +191,10 @@ p.description a {
191
  margin-top: 5px;
192
  }
193
 
 
 
 
 
194
  .customize-control.customize-control-checkbox_dummy label a {
195
  margin-left: 5px;
196
  }
@@ -221,6 +225,7 @@ span.members-only {
221
  -webkit-user-select: none;
222
  user-select: none;
223
  line-height: 1.6;
 
224
  }
225
 
226
  .happyforms-form-part-logic span.members-only {
@@ -679,6 +684,10 @@ a.happyforms-form-part-remove:hover {
679
  box-sizing: border-box;
680
  }
681
 
 
 
 
 
682
  .happyforms-add-new-part {
683
  float: right;
684
  }
191
  margin-top: 5px;
192
  }
193
 
194
+ .customize-control-number_dummy input[type="number"] {
195
+ margin-top: -5px;
196
+ }
197
+
198
  .customize-control.customize-control-checkbox_dummy label a {
199
  margin-left: 5px;
200
  }
225
  -webkit-user-select: none;
226
  user-select: none;
227
  line-height: 1.6;
228
+ font-weight: 400;
229
  }
230
 
231
  .happyforms-form-part-logic span.members-only {
684
  box-sizing: border-box;
685
  }
686
 
687
+ .happyforms-stack-view.has-parts .happyforms-parts-placeholder {
688
+ display: none;
689
+ }
690
+
691
  .happyforms-add-new-part {
692
  float: right;
693
  }
core/assets/css/dashboard-modals.css CHANGED
@@ -4,7 +4,14 @@
4
  *
5
  */
6
  .happyforms-modal {
7
- width: 450px;
 
 
 
 
 
 
 
8
  }
9
 
10
  .happyforms-modal p:last-child {
4
  *
5
  */
6
  .happyforms-modal {
7
+ width: 312px;
8
+ }
9
+
10
+ .happyforms-modal picture > img {
11
+ display: block;
12
+ max-width: 100%;
13
+ -o-object-fit: cover;
14
+ object-fit: cover;
15
  }
16
 
17
  .happyforms-modal p:last-child {
core/assets/js/frontend/antispam.js ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ( function() {
2
+
3
+ HappyForms.Antispam = {
4
+
5
+ getHash: function( data ) {
6
+ var hash = [];
7
+
8
+ data.forEach( function( entry ) {
9
+ hash.push( entry.value );
10
+ } );
11
+
12
+ hash = hash.join( '' ).replace( /[^\w\d]/gm, '' );
13
+ hash = md5( hash );
14
+
15
+ return hash;
16
+ },
17
+
18
+ getPlatformInfo: function() {
19
+ var info = {
20
+ user_agent: navigator.userAgent,
21
+ app_version: navigator.appVersion,
22
+ language: navigator.language || navigator.userLanguage || navigator.browserLanguage || navigator.systemLanguage,
23
+ languages_length: navigator.languages.length,
24
+ webdriver: navigator.webdriver ? 1 : 0,
25
+ concurrency: navigator.hardwareConcurrency,
26
+ outer_width: window.outerWidth,
27
+ outer_height: window.outerHeight,
28
+ connectionRtt: navigator.connection ? navigator.connection.rtt : -1,
29
+ };
30
+
31
+ var platformInfo = {};
32
+
33
+ for ( const [key, value] of Object.entries( info ) ) {
34
+ platformInfo[`platform_info[${ key }]`] = value;
35
+ }
36
+
37
+ return platformInfo;
38
+ },
39
+
40
+ };
41
+
42
+ } )();
core/classes/class-form-assets.php CHANGED
@@ -69,12 +69,6 @@ class HappyForms_Form_Assets {
69
 
70
  wp_localize_script( 'happyforms-settings', '_happyFormsSettings', $settings );
71
 
72
- wp_register_script(
73
- 'happyforms-md5',
74
- happyforms_get_plugin_url() . 'core/assets/js/lib/md5.min.js',
75
- array(), happyforms_get_version(), true
76
- );
77
-
78
  $dependencies = array( 'jquery', 'happyforms-settings' );
79
 
80
  if ( ! happyforms_concatenate_scripts() ) {
@@ -223,7 +217,13 @@ class HappyForms_Form_Assets {
223
  array(), happyforms_get_version(), true
224
  );
225
 
226
- $deps[] = 'happyforms-md5';
 
 
 
 
 
 
227
 
228
  return $deps;
229
  }
69
 
70
  wp_localize_script( 'happyforms-settings', '_happyFormsSettings', $settings );
71
 
 
 
 
 
 
 
72
  $dependencies = array( 'jquery', 'happyforms-settings' );
73
 
74
  if ( ! happyforms_concatenate_scripts() ) {
217
  array(), happyforms_get_version(), true
218
  );
219
 
220
+ wp_register_script(
221
+ 'happyforms-antispam',
222
+ happyforms_get_plugin_url() . 'core/assets/js/frontend/antispam.js',
223
+ array( 'happyforms-md5' ), happyforms_get_version(), true
224
+ );
225
+
226
+ $deps[] = 'happyforms-antispam';
227
 
228
  return $deps;
229
  }
core/classes/class-form-controller.php CHANGED
@@ -782,6 +782,12 @@ class HappyForms_Form_Controller {
782
  return $has_hash_protection;
783
  }
784
 
 
 
 
 
 
 
785
  /**
786
  * Get form-wide submission notice definitions.
787
  *
782
  return $has_hash_protection;
783
  }
784
 
785
+ public function has_browser_protection( $form_data ) {
786
+ $has_browser_protection = apply_filters( 'happyforms_use_browser_protection', true, $form_data );
787
+
788
+ return $has_browser_protection;
789
+ }
790
+
791
  /**
792
  * Get form-wide submission notice definitions.
793
  *
core/classes/class-form-shuffle.php CHANGED
@@ -2,6 +2,8 @@
2
  class HappyForms_Form_Shuffle_Parts {
3
  private static $instance;
4
 
 
 
5
  public static function instance() {
6
  if ( is_null( self::$instance ) ) {
7
  self::$instance = new self();
@@ -13,78 +15,53 @@ class HappyForms_Form_Shuffle_Parts {
13
  }
14
 
15
  public function hook() {
16
- add_filter( 'happyforms_meta_fields', array( $this, 'add_fields' ), 10, 1 );
17
- add_filter( 'happyforms_setup_controls', array( $this, 'add_setup_controls' ), 10, 1 );
18
-
19
- add_filter( 'happyforms_part_customize_fields_select', array( $this, 'add_shuffle_part_options_field' ), 10, 1 );
20
- add_filter( 'happyforms_part_customize_fields_checkbox', array( $this, 'add_shuffle_part_options_field' ), 10, 1 );
21
- add_filter( 'happyforms_part_customize_fields_radio', array( $this, 'add_shuffle_part_options_field' ), 10, 1 );
22
- add_filter( 'happyforms_part_customize_fields_table', array( $this, 'add_shuffle_part_options_field' ), 10, 1 );
23
- add_filter( 'happyforms_part_customize_fields_poll', array( $this, 'add_shuffle_part_options_field' ), 10, 1 );
24
- add_filter( 'happyforms_part_customize_fields_rank_order', array( $this, 'add_shuffle_part_options_field' ), 10, 1 );
25
-
26
- add_filter( 'happyforms_get_form_parts', array( $this, 'get_form_parts' ), 10, 2 );
27
  add_filter( 'happyforms_part_options', array( $this, 'shuffle_part_options' ), 10, 3 );
28
- }
29
 
30
- public function add_fields( $fields ) {
31
- $fields['shuffle_parts'] = array(
32
- 'default' => 0,
33
- 'sanitize' => 'happyforms_sanitize_checkbox'
34
- );
35
 
36
- return $fields;
 
 
37
  }
38
 
39
- public function add_setup_controls( $controls ) {
40
- $setup_controls = array(
41
- 1450 => array(
42
- 'field' => 'shuffle_parts',
43
- 'label' => __( 'Shuffle order of fields', 'happyforms' ),
44
- 'type' => 'checkbox'
45
- ),
46
  );
47
 
48
- $controls = happyforms_safe_array_merge( $controls, $setup_controls );
49
 
50
- return $controls;
51
  }
52
 
53
- public function get_form_parts( $parts, $form ) {
54
- if ( is_customize_preview() ) {
55
- return $parts;
56
- }
57
-
58
- if ( ! happyforms_get_form_property( $form, 'shuffle_parts' ) ) {
59
- return $parts;
60
- }
61
 
62
- if ( happyforms_get_stepper()->is_multistep( $form ) ) {
63
- return $parts;
64
  }
65
 
66
- $parts = $this->shuffle_form_parts( $parts );
67
-
68
- return $parts;
69
  }
70
 
71
- public function shuffle_form_parts( $parts ) {
72
- $shuffled = $parts;
73
- $index = 0;
74
-
75
- shuffle( $shuffled );
76
-
77
- foreach ( $shuffled as $key => $part ) {
78
- $shuffled[$key]['width'] = $parts[$index]['width'];
79
- $index++;
80
- }
81
-
82
- $parts = $shuffled;
83
 
84
- return $parts;
 
 
 
85
  }
86
 
87
- public function add_shuffle_part_options_field( $fields ) {
88
  $fields['shuffle_options'] = array(
89
  'default' => 0,
90
  'sanitize' => 'happyforms_sanitize_checkbox'
@@ -118,7 +95,7 @@ class HappyForms_Form_Shuffle_Parts {
118
  $shuffled[ $group_key ] = $options[ $group_key ];
119
  }
120
 
121
- shuffle( $options_keys );
122
 
123
  foreach ( $options_keys as $key ) {
124
  $shuffled[ $key ] = $options[ $key ];
@@ -133,12 +110,12 @@ class HappyForms_Form_Shuffle_Parts {
133
 
134
  }
135
 
136
- if ( ! function_exists( 'happyforms_upgrade_get_shuffle_parts' ) ) :
137
 
138
- function happyforms_upgrade_get_shuffle_parts() {
139
  return HappyForms_Form_Shuffle_Parts::instance();
140
  }
141
 
142
  endif;
143
 
144
- happyforms_upgrade_get_shuffle_parts();
2
  class HappyForms_Form_Shuffle_Parts {
3
  private static $instance;
4
 
5
+ public $random_seed = '';
6
+
7
  public static function instance() {
8
  if ( is_null( self::$instance ) ) {
9
  self::$instance = new self();
15
  }
16
 
17
  public function hook() {
18
+ add_action( 'happyforms_form_open', array( $this, 'output_seed_field' ) );
 
 
 
 
 
 
 
 
 
 
19
  add_filter( 'happyforms_part_options', array( $this, 'shuffle_part_options' ), 10, 3 );
20
+ add_action( 'happyforms_submission_success', array( $this, 'reset_random_seed' ) );
21
 
22
+ $parts_with_choice_shuffle = $this->get_parts_with_choice_shuffle();
 
 
 
 
23
 
24
+ foreach ( $parts_with_choice_shuffle as $part ) {
25
+ add_filter( "happyforms_part_customize_fields_{$part}", array( $this, 'add_part_fields' ) );
26
+ }
27
  }
28
 
29
+ public function get_parts_with_choice_shuffle() {
30
+ $parts = array(
31
+ 'radio',
32
+ 'checkbox',
33
+ 'select'
 
 
34
  );
35
 
36
+ return apply_filters( 'happyforms_parts_with_choice_shuffle', $parts );
37
 
38
+ return $parts;
39
  }
40
 
41
+ public function get_random_seed() {
42
+ if ( '' === $this->random_seed ) {
43
+ $this->random_seed = (
44
+ isset( $_REQUEST['happyforms_random_seed'] ) ?
45
+ $_REQUEST['happyforms_random_seed'] :
46
+ happyforms_random_number()
47
+ );
 
48
 
 
 
49
  }
50
 
51
+ return $this->random_seed;
 
 
52
  }
53
 
54
+ public function reset_random_seed() {
55
+ $this->random_seed = happyforms_random_number();
56
+ }
 
 
 
 
 
 
 
 
 
57
 
58
+ public function output_seed_field() {
59
+ ?>
60
+ <input type="hidden" name="happyforms_random_seed" value="<?php echo $this->get_random_seed(); ?>" />
61
+ <?php
62
  }
63
 
64
+ public function add_part_fields( $fields ) {
65
  $fields['shuffle_options'] = array(
66
  'default' => 0,
67
  'sanitize' => 'happyforms_sanitize_checkbox'
95
  $shuffled[ $group_key ] = $options[ $group_key ];
96
  }
97
 
98
+ $options_keys = happyforms_shuffle_array( $options_keys, $this->get_random_seed() );
99
 
100
  foreach ( $options_keys as $key ) {
101
  $shuffled[ $key ] = $options[ $key ];
110
 
111
  }
112
 
113
+ if ( ! function_exists( 'happyforms_get_shuffle_parts' ) ) :
114
 
115
+ function happyforms_get_shuffle_parts() {
116
  return HappyForms_Form_Shuffle_Parts::instance();
117
  }
118
 
119
  endif;
120
 
121
+ happyforms_get_shuffle_parts();
core/classes/class-happyforms-core.php CHANGED
@@ -54,6 +54,7 @@ class HappyForms_Core {
54
  public function initialize_plugin() {
55
  require_once( happyforms_get_core_folder() . '/classes/class-cache.php' );
56
  require_once( happyforms_get_core_folder() . '/helpers/helper-misc.php' );
 
57
  require_once( happyforms_get_core_folder() . '/helpers/helper-styles.php' );
58
 
59
  if ( is_admin() ) {
54
  public function initialize_plugin() {
55
  require_once( happyforms_get_core_folder() . '/classes/class-cache.php' );
56
  require_once( happyforms_get_core_folder() . '/helpers/helper-misc.php' );
57
+ require_once( happyforms_get_core_folder() . '/helpers/helper-antispam.php' );
58
  require_once( happyforms_get_core_folder() . '/helpers/helper-styles.php' );
59
 
60
  if ( is_admin() ) {
core/helpers/helper-antispam.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! function_exists( 'happyforms_is_spambot' ) ) :
4
+
5
+ function happyforms_is_spambot() {
6
+ $is_spambot = ( defined( 'HAPPYFORMS_IS_SPAMBOT' ) && HAPPYFORMS_IS_SPAMBOT );
7
+
8
+ return $is_spambot;
9
+ }
10
+
11
+ endif;
12
+
13
+ if ( ! function_exists( 'happyforms_validate_honeypot' ) ) :
14
+
15
+ function happyforms_validate_honeypot( $form ) {
16
+ $honeypot_name = $form['ID'] . 'single_line_text_-1';
17
+ $names = array( 'single_line_text', 'multi_line_text', 'number' );
18
+ $validated = true;
19
+
20
+ foreach( $names as $key ) {
21
+ $name = $form['ID'] . '-' . $key;
22
+
23
+ if ( isset( $_REQUEST[$name] ) ) {
24
+ $validated = $validated && ( empty( $_REQUEST[$name] ) );
25
+ }
26
+ }
27
+
28
+ return $validated;
29
+ }
30
+
31
+ endif;
32
+
33
+ if ( ! function_exists( 'happyforms_validate_hash' ) ) :
34
+
35
+ function happyforms_validate_hash( $form ) {
36
+ if ( ! isset( $_POST['hash'] ) ) {
37
+ return false;
38
+ }
39
+
40
+ $post = array_diff_key( $_POST, array_flip( array( 'hash', 'platform_info' ) ) );
41
+ $hash = '';
42
+
43
+ array_walk_recursive( $post, function( $value, $key ) use( &$hash ) {
44
+ $hash .= $value;
45
+ } );
46
+
47
+ $hash = preg_replace( '/[^\w\d]/m', '', $hash );
48
+ $hash = md5( $hash );
49
+
50
+ if ( $hash !== $_POST['hash'] ) {
51
+ return false;
52
+ }
53
+
54
+ return true;
55
+ }
56
+
57
+ endif;
58
+
59
+ if ( ! function_exists( 'happyforms_validate_browser' ) ) :
60
+
61
+ function happyforms_validate_browser( $form ) {
62
+ if ( ! isset( $_POST['platform_info'] ) ) {
63
+ return false;
64
+ }
65
+
66
+ $platform_info = $_POST['platform_info'];
67
+
68
+ // User Agent
69
+ $user_agent = isset( $platform_info['user_agent'] ) ? $platform_info['user_agent'] : '';
70
+
71
+ if ( preg_match( '/headless/mi', $user_agent ) ) {
72
+ return false;
73
+ }
74
+
75
+ // App version
76
+ $app_version = isset( $platform_info['app_version'] ) ? $platform_info['app_version'] : '';
77
+
78
+ if ( preg_match( '/headless/mi', $app_version ) ) {
79
+ return false;
80
+ }
81
+
82
+ // Languages
83
+ $language = isset( $platform_info['language'] ) ? $platform_info['language'] : false;
84
+ $languages_length = isset( $platform_info['languages_length'] ) ? $platform_info['languages_length'] : 0;
85
+
86
+ if ( empty( $language ) || 0 == $languages_length ) {
87
+ return false;
88
+ }
89
+
90
+ // Webdriver
91
+ $webdriver = isset( $platform_info['webdriver'] ) ? $platform_info['webdriver'] : false;
92
+
93
+ if ( $webdriver ) {
94
+ return false;
95
+ }
96
+
97
+ return true;
98
+ }
99
+
100
+ endif;
core/helpers/helper-form-templates.php CHANGED
@@ -1010,268 +1010,6 @@ function happyforms_get_site_date_format() {
1010
 
1011
  endif;
1012
 
1013
- if ( ! function_exists( 'happyforms_get_phone_countries' ) ) :
1014
-
1015
- function happyforms_get_phone_countries() {
1016
- $countries = array(
1017
- 'AC' => array( 'name' => __( 'Ascension Island', 'happyforms' ), 'code' => '247', 'flag' => '🇦🇨' ),
1018
- 'AD' => array( 'name' => __( 'Andorra', 'happyforms' ), 'code' => '376', 'flag' => '🇦🇩' ),
1019
- 'AE' => array( 'name' => __( 'United Arab Emirates', 'happyforms' ), 'code' => '971', 'flag' => '🇦🇪' ),
1020
- 'AF' => array( 'name' => __( 'Afghanistan', 'happyforms' ), 'code' => '93', 'flag' => '🇦🇫' ),
1021
- 'AG' => array( 'name' => __( 'Antigua and Barbuda', 'happyforms' ), 'code' => '1', 'flag' => '🇦🇬' ),
1022
- 'AI' => array( 'name' => __( 'Anguilla', 'happyforms' ), 'code' => '1', 'flag' => '🇦🇮' ),
1023
- 'AL' => array( 'name' => __( 'Albania', 'happyforms' ), 'code' => '355', 'flag' => '🇦🇱' ),
1024
- 'AM' => array( 'name' => __( 'Armenia', 'happyforms' ), 'code' => '374', 'flag' => '🇦🇲' ),
1025
- 'AO' => array( 'name' => __( 'Angola', 'happyforms' ), 'code' => '244', 'flag' => '🇦🇴' ),
1026
- 'AR' => array( 'name' => __( 'Argentina', 'happyforms' ), 'code' => '54', 'flag' => '🇦🇷' ),
1027
- 'AS' => array( 'name' => __( 'American Samoa', 'happyforms' ), 'code' => '1', 'flag' => '🇦🇸' ),
1028
- 'AT' => array( 'name' => __( 'Austria', 'happyforms' ), 'code' => '43', 'flag' => '🇦🇹' ),
1029
- 'AU' => array( 'name' => __( 'Australia', 'happyforms' ), 'code' => '61', 'flag' => '🇦🇺' ),
1030
- 'AW' => array( 'name' => __( 'Aruba', 'happyforms' ), 'code' => '297', 'flag' => '🇦🇼' ),
1031
- 'AX' => array( 'name' => __( 'Åland Islands', 'happyforms' ), 'code' => '358', 'flag' => '🇦🇽' ),
1032
- 'AZ' => array( 'name' => __( 'Azerbaijan', 'happyforms' ), 'code' => '994', 'flag' => '🇦🇿' ),
1033
- 'BA' => array( 'name' => __( 'Bosnia and Herzegovina', 'happyforms' ), 'code' => '387', 'flag' => '🇧🇦' ),
1034
- 'BB' => array( 'name' => __( 'Barbados', 'happyforms' ), 'code' => '1', 'flag' => '🇧🇧' ),
1035
- 'BD' => array( 'name' => __( 'Bangladesh', 'happyforms' ), 'code' => '880', 'flag' => '🇧🇩' ),
1036
- 'BE' => array( 'name' => __( 'Belgium', 'happyforms' ), 'code' => '32', 'flag' => '🇧🇪' ),
1037
- 'BF' => array( 'name' => __( 'Burkina Faso', 'happyforms' ), 'code' => '226', 'flag' => '🇧🇫' ),
1038
- 'BG' => array( 'name' => __( 'Bulgaria', 'happyforms' ), 'code' => '359', 'flag' => '🇧🇬' ),
1039
- 'BH' => array( 'name' => __( 'Bahrain', 'happyforms' ), 'code' => '973', 'flag' => '🇧🇭' ),
1040
- 'BI' => array( 'name' => __( 'Burundi', 'happyforms' ), 'code' => '257', 'flag' => '🇧🇮' ),
1041
- 'BJ' => array( 'name' => __( 'Benin', 'happyforms' ), 'code' => '229', 'flag' => '🇧🇯' ),
1042
- 'BL' => array( 'name' => __( 'Saint Barthélemy', 'happyforms' ), 'code' => '590', 'flag' => '🇧🇱' ),
1043
- 'BM' => array( 'name' => __( 'Bermuda', 'happyforms' ), 'code' => '1', 'flag' => '🇧🇲' ),
1044
- 'BN' => array( 'name' => __( 'Brunei Darussalam', 'happyforms' ), 'code' => '673', 'flag' => '🇧🇳' ),
1045
- 'BO' => array( 'name' => __( 'Bolivia', 'happyforms' ), 'code' => '591', 'flag' => '🇧🇴' ),
1046
- 'BQ' => array( 'name' => __( 'Bonaire, Sint Eustatius and Saba', 'happyforms' ), 'code' => '599', 'flag' => '🇧🇶' ),
1047
- 'BR' => array( 'name' => __( 'Brazil', 'happyforms' ), 'code' => '55', 'flag' => '🇧🇷' ),
1048
- 'BS' => array( 'name' => __( 'Bahamas', 'happyforms' ), 'code' => '1', 'flag' => '🇧🇸' ),
1049
- 'BT' => array( 'name' => __( 'Bhutan', 'happyforms' ), 'code' => '975', 'flag' => '🇧🇹' ),
1050
- 'BW' => array( 'name' => __( 'Botswana', 'happyforms' ), 'code' => '267', 'flag' => '🇧🇼' ),
1051
- 'BY' => array( 'name' => __( 'Belarus', 'happyforms' ), 'code' => '375', 'flag' => '🇧🇾' ),
1052
- 'BZ' => array( 'name' => __( 'Belize', 'happyforms' ), 'code' => '501', 'flag' => '🇧🇿' ),
1053
- 'CA' => array( 'name' => __( 'Canada', 'happyforms' ), 'code' => '1', 'flag' => '🇨🇦' ),
1054
- 'CC' => array( 'name' => __( 'Cocos (Keeling) Islands', 'happyforms' ), 'code' => '61', 'flag' => '🇨🇨' ),
1055
- 'CD' => array( 'name' => __( 'Congo, the Democratic Republic of the', 'happyforms' ), 'code' => '243', 'flag' => '🇨🇩' ),
1056
- 'CF' => array( 'name' => __( 'Central African Republic', 'happyforms' ), 'code' => '236', 'flag' => '🇨🇫' ),
1057
- 'CG' => array( 'name' => __( 'Congo', 'happyforms' ), 'code' => '242', 'flag' => '🇨🇬' ),
1058
- 'CH' => array( 'name' => __( 'Switzerland', 'happyforms' ), 'code' => '41', 'flag' => '🇨🇭' ),
1059
- 'CI' => array( 'name' => __( 'Cote D\'Ivoire', 'happyforms' ), 'code' => '225', 'flag' => '🇨🇮' ),
1060
- 'CK' => array( 'name' => __( 'Cook Islands', 'happyforms' ), 'code' => '682', 'flag' => '🇨🇰' ),
1061
- 'CL' => array( 'name' => __( 'Chile', 'happyforms' ), 'code' => '56', 'flag' => '🇨🇱' ),
1062
- 'CM' => array( 'name' => __( 'Cameroon', 'happyforms' ), 'code' => '237', 'flag' => '🇨🇲' ),
1063
- 'CN' => array( 'name' => __( 'China', 'happyforms' ), 'code' => '86', 'flag' => '🇨🇳' ),
1064
- 'CO' => array( 'name' => __( 'Colombia', 'happyforms' ), 'code' => '57', 'flag' => '🇨🇴' ),
1065
- 'CR' => array( 'name' => __( 'Costa Rica', 'happyforms' ), 'code' => '506', 'flag' => '🇨🇷' ),
1066
- 'CU' => array( 'name' => __( 'Cuba', 'happyforms' ), 'code' => '53', 'flag' => '🇨🇺' ),
1067
- 'CV' => array( 'name' => __( 'Cape Verde', 'happyforms' ), 'code' => '238', 'flag' => '🇨🇻' ),
1068
- 'CW' => array( 'name' => __( 'Curaçao', 'happyforms' ), 'code' => '599', 'flag' => '🇨🇼' ),
1069
- 'CX' => array( 'name' => __( 'Christmas Island', 'happyforms' ), 'code' => '61', 'flag' => '🇨🇽' ),
1070
- 'CY' => array( 'name' => __( 'Cyprus', 'happyforms' ), 'code' => '357', 'flag' => '🇨🇾' ),
1071
- 'CZ' => array( 'name' => __( 'Czech Republic', 'happyforms' ), 'code' => '420', 'flag' => '🇨🇿' ),
1072
- 'DE' => array( 'name' => __( 'Germany', 'happyforms' ), 'code' => '49', 'flag' => '🇩🇪' ),
1073
- 'DJ' => array( 'name' => __( 'Djibouti', 'happyforms' ), 'code' => '253', 'flag' => '🇩🇯' ),
1074
- 'DK' => array( 'name' => __( 'Denmark', 'happyforms' ), 'code' => '45', 'flag' => '🇩🇰' ),
1075
- 'DM' => array( 'name' => __( 'Dominica', 'happyforms' ), 'code' => '1', 'flag' => '🇩🇲' ),
1076
- 'DO' => array( 'name' => __( 'Dominican Republic', 'happyforms' ), 'code' => '1', 'flag' => '🇩🇴' ),
1077
- 'DZ' => array( 'name' => __( 'Algeria', 'happyforms' ), 'code' => '213', 'flag' => '🇩🇿' ),
1078
- 'EC' => array( 'name' => __( 'Ecuador', 'happyforms' ), 'code' => '593', 'flag' => '🇪🇨' ),
1079
- 'EE' => array( 'name' => __( 'Estonia', 'happyforms' ), 'code' => '372', 'flag' => '🇪🇪' ),
1080
- 'EG' => array( 'name' => __( 'Egypt', 'happyforms' ), 'code' => '20', 'flag' => '🇪🇬' ),
1081
- 'EH' => array( 'name' => __( 'Western Sahara', 'happyforms' ), 'code' => '212', 'flag' => '🇪🇭' ),
1082
- 'ER' => array( 'name' => __( 'Eritrea', 'happyforms' ), 'code' => '291', 'flag' => '🇪🇷' ),
1083
- 'ES' => array( 'name' => __( 'Spain', 'happyforms' ), 'code' => '34', 'flag' => '🇪🇸' ),
1084
- 'ET' => array( 'name' => __( 'Ethiopia', 'happyforms' ), 'code' => '251', 'flag' => '🇪🇹' ),
1085
- 'FI' => array( 'name' => __( 'Finland', 'happyforms' ), 'code' => '358', 'flag' => '🇫🇮' ),
1086
- 'FJ' => array( 'name' => __( 'Fiji', 'happyforms' ), 'code' => '679', 'flag' => '🇫🇯' ),
1087
- 'FK' => array( 'name' => __( 'Falkland Islands (Malvinas)', 'happyforms' ), 'code' => '500', 'flag' => '🇫🇰' ),
1088
- 'FM' => array( 'name' => __( 'Micronesia, Federated States of', 'happyforms' ), 'code' => '691', 'flag' => '🇫🇲' ),
1089
- 'FO' => array( 'name' => __( 'Faroe Islands', 'happyforms' ), 'code' => '298', 'flag' => '🇫🇴' ),
1090
- 'FR' => array( 'name' => __( 'France', 'happyforms' ), 'code' => '33', 'flag' => '🇫🇷' ),
1091
- 'GA' => array( 'name' => __( 'Gabon', 'happyforms' ), 'code' => '241', 'flag' => '🇬🇦' ),
1092
- 'GB' => array( 'name' => __( 'United Kingdom', 'happyforms' ), 'code' => '44', 'flag' => '🇬🇧' ),
1093
- 'GD' => array( 'name' => __( 'Grenada', 'happyforms' ), 'code' => '1', 'flag' => '🇬🇩' ),
1094
- 'GE' => array( 'name' => __( 'Georgia', 'happyforms' ), 'code' => '995', 'flag' => '🇬🇪' ),
1095
- 'GF' => array( 'name' => __( 'French Guiana', 'happyforms' ), 'code' => '594', 'flag' => '🇬🇫' ),
1096
- 'GG' => array( 'name' => __( 'Guernsey', 'happyforms' ), 'code' => '44', 'flag' => '🇬🇬' ),
1097
- 'GH' => array( 'name' => __( 'Ghana', 'happyforms' ), 'code' => '233', 'flag' => '🇬🇭' ),
1098
- 'GI' => array( 'name' => __( 'Gibraltar', 'happyforms' ), 'code' => '350', 'flag' => '🇬🇮' ),
1099
- 'GL' => array( 'name' => __( 'Greenland', 'happyforms' ), 'code' => '299', 'flag' => '🇬🇱' ),
1100
- 'GM' => array( 'name' => __( 'Gambia', 'happyforms' ), 'code' => '220', 'flag' => '🇬🇲' ),
1101
- 'GN' => array( 'name' => __( 'Guinea', 'happyforms' ), 'code' => '224', 'flag' => '🇬🇳' ),
1102
- 'GP' => array( 'name' => __( 'Guadeloupe', 'happyforms' ), 'code' => '590', 'flag' => '🇬🇵' ),
1103
- 'GQ' => array( 'name' => __( 'Equatorial Guinea', 'happyforms' ), 'code' => '240', 'flag' => '🇬🇶' ),
1104
- 'GR' => array( 'name' => __( 'Greece', 'happyforms' ), 'code' => '30', 'flag' => '🇬🇷' ),
1105
- 'GT' => array( 'name' => __( 'Guatemala', 'happyforms' ), 'code' => '502', 'flag' => '🇬🇹' ),
1106
- 'GU' => array( 'name' => __( 'Guam', 'happyforms' ), 'code' => '1', 'flag' => '🇬🇺' ),
1107
- 'GW' => array( 'name' => __( 'Guinea-Bissau', 'happyforms' ), 'code' => '245', 'flag' => '🇬🇼' ),
1108
- 'GY' => array( 'name' => __( 'Guyana', 'happyforms' ), 'code' => '592', 'flag' => '🇬🇾' ),
1109
- 'HK' => array( 'name' => __( 'Hong Kong', 'happyforms' ), 'code' => '852', 'flag' => '🇭🇰' ),
1110
- 'HN' => array( 'name' => __( 'Honduras', 'happyforms' ), 'code' => '504', 'flag' => '🇭🇳' ),
1111
- 'HR' => array( 'name' => __( 'Croatia', 'happyforms' ), 'code' => '385', 'flag' => '🇭🇷' ),
1112
- 'HT' => array( 'name' => __( 'Haiti', 'happyforms' ), 'code' => '509', 'flag' => '🇭🇹' ),
1113
- 'HU' => array( 'name' => __( 'Hungary', 'happyforms' ), 'code' => '36', 'flag' => '🇭🇺' ),
1114
- 'ID' => array( 'name' => __( 'Indonesia', 'happyforms' ), 'code' => '62', 'flag' => '🇮🇩' ),
1115
- 'IE' => array( 'name' => __( 'Ireland', 'happyforms' ), 'code' => '353', 'flag' => '🇮🇪' ),
1116
- 'IL' => array( 'name' => __( 'Israel', 'happyforms' ), 'code' => '972', 'flag' => '🇮🇱' ),
1117
- 'IM' => array( 'name' => __( 'Isle of Man', 'happyforms' ), 'code' => '44', 'flag' => '🇮🇲' ),
1118
- 'IN' => array( 'name' => __( 'India', 'happyforms' ), 'code' => '91', 'flag' => '🇮🇳' ),
1119
- 'IO' => array( 'name' => __( 'British Indian Ocean Territory', 'happyforms' ), 'code' => '246', 'flag' => '🇮🇴' ),
1120
- 'IQ' => array( 'name' => __( 'Iraq', 'happyforms' ), 'code' => '964', 'flag' => '🇮🇶' ),
1121
- 'IR' => array( 'name' => __( 'Iran, Islamic Republic of', 'happyforms' ), 'code' => '98', 'flag' => '🇮🇷' ),
1122
- 'IS' => array( 'name' => __( 'Iceland', 'happyforms' ), 'code' => '354', 'flag' => '🇮🇸' ),
1123
- 'IT' => array( 'name' => __( 'Italy', 'happyforms' ), 'code' => '39', 'flag' => '🇮🇹' ),
1124
- 'JE' => array( 'name' => __( 'Jersey', 'happyforms' ), 'code' => '44', 'flag' => '🇯🇪' ),
1125
- 'JM' => array( 'name' => __( 'Jamaica', 'happyforms' ), 'code' => '1', 'flag' => '🇯🇲' ),
1126
- 'JO' => array( 'name' => __( 'Jordan', 'happyforms' ), 'code' => '962', 'flag' => '🇯🇴' ),
1127
- 'JP' => array( 'name' => __( 'Japan', 'happyforms' ), 'code' => '81', 'flag' => '🇯🇵' ),
1128
- 'KE' => array( 'name' => __( 'Kenya', 'happyforms' ), 'code' => '254', 'flag' => '🇰🇪' ),
1129
- 'KG' => array( 'name' => __( 'Kyrgyzstan', 'happyforms' ), 'code' => '996', 'flag' => '🇰🇬' ),
1130
- 'KH' => array( 'name' => __( 'Cambodia', 'happyforms' ), 'code' => '855', 'flag' => '🇰🇭' ),
1131
- 'KI' => array( 'name' => __( 'Kiribati', 'happyforms' ), 'code' => '686', 'flag' => '🇰🇮' ),
1132
- 'KM' => array( 'name' => __( 'Comoros', 'happyforms' ), 'code' => '269', 'flag' => '🇰🇲' ),
1133
- 'KN' => array( 'name' => __( 'Saint Kitts and Nevis', 'happyforms' ), 'code' => '1', 'flag' => '🇰🇳' ),
1134
- 'KP' => array( 'name' => __( 'North Korea', 'happyforms' ), 'code' => '850', 'flag' => '🇰🇵' ),
1135
- 'KR' => array( 'name' => __( 'South Korea', 'happyforms' ), 'code' => '82', 'flag' => '🇰🇷' ),
1136
- 'KW' => array( 'name' => __( 'Kuwait', 'happyforms' ), 'code' => '965', 'flag' => '🇰🇼' ),
1137
- 'KY' => array( 'name' => __( 'Cayman Islands', 'happyforms' ), 'code' => '1', 'flag' => '🇰🇾' ),
1138
- 'KZ' => array( 'name' => __( 'Kazakhstan', 'happyforms' ), 'code' => '7', 'flag' => '🇰🇿' ),
1139
- 'LA' => array( 'name' => __( 'Lao People\'s Democratic Republic', 'happyforms' ), 'code' => '856', 'flag' => '🇱🇦' ),
1140
- 'LB' => array( 'name' => __( 'Lebanon', 'happyforms' ), 'code' => '961', 'flag' => '🇱🇧' ),
1141
- 'LC' => array( 'name' => __( 'Saint Lucia', 'happyforms' ), 'code' => '1', 'flag' => '🇱🇨' ),
1142
- 'LI' => array( 'name' => __( 'Liechtenstein', 'happyforms' ), 'code' => '423', 'flag' => '🇱🇮' ),
1143
- 'LK' => array( 'name' => __( 'Sri Lanka', 'happyforms' ), 'code' => '94', 'flag' => '🇱🇰' ),
1144
- 'LR' => array( 'name' => __( 'Liberia', 'happyforms' ), 'code' => '231', 'flag' => '🇱🇷' ),
1145
- 'LS' => array( 'name' => __( 'Lesotho', 'happyforms' ), 'code' => '266', 'flag' => '🇱🇸' ),
1146
- 'LT' => array( 'name' => __( 'Lithuania', 'happyforms' ), 'code' => '370', 'flag' => '🇱🇹' ),
1147
- 'LU' => array( 'name' => __( 'Luxembourg', 'happyforms' ), 'code' => '352', 'flag' => '🇱🇺' ),
1148
- 'LV' => array( 'name' => __( 'Latvia', 'happyforms' ), 'code' => '371', 'flag' => '🇱🇻' ),
1149
- 'LY' => array( 'name' => __( 'Libya', 'happyforms' ), 'code' => '218', 'flag' => '🇱🇾' ),
1150
- 'MA' => array( 'name' => __( 'Morocco', 'happyforms' ), 'code' => '212', 'flag' => '🇲🇦' ),
1151
- 'MC' => array( 'name' => __( 'Monaco', 'happyforms' ), 'code' => '377', 'flag' => '🇲🇨' ),
1152
- 'MD' => array( 'name' => __( 'Moldova, Republic of', 'happyforms' ), 'code' => '373', 'flag' => '🇲🇩' ),
1153
- 'ME' => array( 'name' => __( 'Montenegro', 'happyforms' ), 'code' => '382', 'flag' => '🇲🇪' ),
1154
- 'MF' => array( 'name' => __( 'Saint Martin (French part)', 'happyforms' ), 'code' => '590', 'flag' => '🇲🇫' ),
1155
- 'MG' => array( 'name' => __( 'Madagascar', 'happyforms' ), 'code' => '261', 'flag' => '🇲🇬' ),
1156
- 'MH' => array( 'name' => __( 'Marshall Islands', 'happyforms' ), 'code' => '692', 'flag' => '🇲🇭' ),
1157
- 'MK' => array( 'name' => __( 'North Macedonia, Republic of', 'happyforms' ), 'code' => '389', 'flag' => '🇲🇰' ),
1158
- 'ML' => array( 'name' => __( 'Mali', 'happyforms' ), 'code' => '223', 'flag' => '🇲🇱' ),
1159
- 'MM' => array( 'name' => __( 'Myanmar', 'happyforms' ), 'code' => '95', 'flag' => '🇲🇲' ),
1160
- 'MN' => array( 'name' => __( 'Mongolia', 'happyforms' ), 'code' => '976', 'flag' => '🇲🇳' ),
1161
- 'MO' => array( 'name' => __( 'Macao', 'happyforms' ), 'code' => '853', 'flag' => '🇲🇴' ),
1162
- 'MP' => array( 'name' => __( 'Northern Mariana Islands', 'happyforms' ), 'code' => '1', 'flag' => '🇲🇵' ),
1163
- 'MQ' => array( 'name' => __( 'Martinique', 'happyforms' ), 'code' => '596', 'flag' => '🇲🇶' ),
1164
- 'MR' => array( 'name' => __( 'Mauritania', 'happyforms' ), 'code' => '222', 'flag' => '🇲🇷' ),
1165
- 'MS' => array( 'name' => __( 'Montserrat', 'happyforms' ), 'code' => '1', 'flag' => '🇲🇸' ),
1166
- 'MT' => array( 'name' => __( 'Malta', 'happyforms' ), 'code' => '356', 'flag' => '🇲🇹' ),
1167
- 'MU' => array( 'name' => __( 'Mauritius', 'happyforms' ), 'code' => '230', 'flag' => '🇲🇺' ),
1168
- 'MV' => array( 'name' => __( 'Maldives', 'happyforms' ), 'code' => '960', 'flag' => '🇲🇻' ),
1169
- 'MW' => array( 'name' => __( 'Malawi', 'happyforms' ), 'code' => '265', 'flag' => '🇲🇼' ),
1170
- 'MX' => array( 'name' => __( 'Mexico', 'happyforms' ), 'code' => '52', 'flag' => '🇲🇽' ),
1171
- 'MY' => array( 'name' => __( 'Malaysia', 'happyforms' ), 'code' => '60', 'flag' => '🇲🇾' ),
1172
- 'MZ' => array( 'name' => __( 'Mozambique', 'happyforms' ), 'code' => '258', 'flag' => '🇲🇿' ),
1173
- 'NA' => array( 'name' => __( 'Namibia', 'happyforms' ), 'code' => '264', 'flag' => '🇳🇦' ),
1174
- 'NC' => array( 'name' => __( 'New Caledonia', 'happyforms' ), 'code' => '687', 'flag' => '🇳🇨' ),
1175
- 'NE' => array( 'name' => __( 'Niger', 'happyforms' ), 'code' => '227', 'flag' => '🇳🇪' ),
1176
- 'NF' => array( 'name' => __( 'Norfolk Island', 'happyforms' ), 'code' => '672', 'flag' => '🇳🇫' ),
1177
- 'NG' => array( 'name' => __( 'Nigeria', 'happyforms' ), 'code' => '234', 'flag' => '🇳🇬' ),
1178
- 'NI' => array( 'name' => __( 'Nicaragua', 'happyforms' ), 'code' => '505', 'flag' => '🇳🇮' ),
1179
- 'NL' => array( 'name' => __( 'Netherlands', 'happyforms' ), 'code' => '31', 'flag' => '🇳🇱' ),
1180
- 'NO' => array( 'name' => __( 'Norway', 'happyforms' ), 'code' => '47', 'flag' => '🇳🇴' ),
1181
- 'NP' => array( 'name' => __( 'Nepal', 'happyforms' ), 'code' => '977', 'flag' => '🇳🇵' ),
1182
- 'NR' => array( 'name' => __( 'Nauru', 'happyforms' ), 'code' => '674', 'flag' => '🇳🇷' ),
1183
- 'NU' => array( 'name' => __( 'Niue', 'happyforms' ), 'code' => '683', 'flag' => '🇳🇺' ),
1184
- 'NZ' => array( 'name' => __( 'New Zealand', 'happyforms' ), 'code' => '64', 'flag' => '🇳🇿' ),
1185
- 'OM' => array( 'name' => __( 'Oman', 'happyforms' ), 'code' => '968', 'flag' => '🇴🇲' ),
1186
- 'PA' => array( 'name' => __( 'Panama', 'happyforms' ), 'code' => '507', 'flag' => '🇵🇦' ),
1187
- 'PE' => array( 'name' => __( 'Peru', 'happyforms' ), 'code' => '51', 'flag' => '🇵🇪' ),
1188
- 'PF' => array( 'name' => __( 'French Polynesia', 'happyforms' ), 'code' => '689', 'flag' => '🇵🇫' ),
1189
- 'PG' => array( 'name' => __( 'Papua New Guinea', 'happyforms' ), 'code' => '675', 'flag' => '🇵🇬' ),
1190
- 'PH' => array( 'name' => __( 'Philippines', 'happyforms' ), 'code' => '63', 'flag' => '🇵🇭' ),
1191
- 'PK' => array( 'name' => __( 'Pakistan', 'happyforms' ), 'code' => '92', 'flag' => '🇵🇰' ),
1192
- 'PL' => array( 'name' => __( 'Poland', 'happyforms' ), 'code' => '48', 'flag' => '🇵🇱' ),
1193
- 'PM' => array( 'name' => __( 'Saint Pierre and Miquelon', 'happyforms' ), 'code' => '508', 'flag' => '🇵🇲' ),
1194
- 'PR' => array( 'name' => __( 'Puerto Rico', 'happyforms' ), 'code' => '1', 'flag' => '🇵🇷' ),
1195
- 'PS' => array( 'name' => __( 'Palestinian Territory, Occupied', 'happyforms' ), 'code' => '970', 'flag' => '🇵🇸' ),
1196
- 'PT' => array( 'name' => __( 'Portugal', 'happyforms' ), 'code' => '351', 'flag' => '🇵🇹' ),
1197
- 'PW' => array( 'name' => __( 'Palau', 'happyforms' ), 'code' => '680', 'flag' => '🇵🇼' ),
1198
- 'PY' => array( 'name' => __( 'Paraguay', 'happyforms' ), 'code' => '595', 'flag' => '🇵🇾' ),
1199
- 'QA' => array( 'name' => __( 'Qatar', 'happyforms' ), 'code' => '974', 'flag' => '🇶🇦' ),
1200
- 'RE' => array( 'name' => __( 'Reunion', 'happyforms' ), 'code' => '262', 'flag' => '🇷🇪' ),
1201
- 'RO' => array( 'name' => __( 'Romania', 'happyforms' ), 'code' => '40', 'flag' => '🇷🇴' ),
1202
- 'RS' => array( 'name' => __( 'Serbia', 'happyforms' ), 'code' => '381', 'flag' => '🇷🇸' ),
1203
- 'RU' => array( 'name' => __( 'Russian Federation', 'happyforms' ), 'code' => '7', 'flag' => '🇷🇺' ),
1204
- 'RW' => array( 'name' => __( 'Rwanda', 'happyforms' ), 'code' => '250', 'flag' => '🇷🇼' ),
1205
- 'SA' => array( 'name' => __( 'Saudi Arabia', 'happyforms' ), 'code' => '966', 'flag' => '🇸🇦' ),
1206
- 'SB' => array( 'name' => __( 'Solomon Islands', 'happyforms' ), 'code' => '677', 'flag' => '🇸🇧' ),
1207
- 'SC' => array( 'name' => __( 'Seychelles', 'happyforms' ), 'code' => '248', 'flag' => '🇸🇨' ),
1208
- 'SD' => array( 'name' => __( 'Sudan', 'happyforms' ), 'code' => '249', 'flag' => '🇸🇩' ),
1209
- 'SE' => array( 'name' => __( 'Sweden', 'happyforms' ), 'code' => '46', 'flag' => '🇸🇪' ),
1210
- 'SG' => array( 'name' => __( 'Singapore', 'happyforms' ), 'code' => '65', 'flag' => '🇸🇬' ),
1211
- 'SH' => array( 'name' => __( 'Saint Helena', 'happyforms' ), 'code' => '290', 'flag' => '🇸🇭' ),
1212
- 'SI' => array( 'name' => __( 'Slovenia', 'happyforms' ), 'code' => '386', 'flag' => '🇸🇮' ),
1213
- 'SJ' => array( 'name' => __( 'Svalbard and Jan Mayen', 'happyforms' ), 'code' => '47', 'flag' => '🇸🇯' ),
1214
- 'SK' => array( 'name' => __( 'Slovakia', 'happyforms' ), 'code' => '421', 'flag' => '🇸🇰' ),
1215
- 'SL' => array( 'name' => __( 'Sierra Leone', 'happyforms' ), 'code' => '232', 'flag' => '🇸🇱' ),
1216
- 'SM' => array( 'name' => __( 'San Marino', 'happyforms' ), 'code' => '378', 'flag' => '🇸🇲' ),
1217
- 'SN' => array( 'name' => __( 'Senegal', 'happyforms' ), 'code' => '221', 'flag' => '🇸🇳' ),
1218
- 'SO' => array( 'name' => __( 'Somalia', 'happyforms' ), 'code' => '252', 'flag' => '🇸🇴' ),
1219
- 'SR' => array( 'name' => __( 'Suriname', 'happyforms' ), 'code' => '597', 'flag' => '🇸🇷' ),
1220
- 'SS' => array( 'name' => __( 'South Sudan', 'happyforms' ), 'code' => '211', 'flag' => '🇸🇸' ),
1221
- 'ST' => array( 'name' => __( 'Sao Tome and Principe', 'happyforms' ), 'code' => '239', 'flag' => '🇸🇹' ),
1222
- 'SV' => array( 'name' => __( 'El Salvador', 'happyforms' ), 'code' => '503', 'flag' => '🇸🇻' ),
1223
- 'SX' => array( 'name' => __( 'Sint Maarten (Dutch part)', 'happyforms' ), 'code' => '1', 'flag' => '🇸🇽' ),
1224
- 'SY' => array( 'name' => __( 'Syrian Arab Republic', 'happyforms' ), 'code' => '963', 'flag' => '🇸🇾' ),
1225
- 'SZ' => array( 'name' => __( 'Eswatini', 'happyforms' ), 'code' => '268', 'flag' => '🇸🇿' ),
1226
- 'TA' => array( 'name' => __( 'Saint Helena', 'happyforms' ), 'code' => '290', 'flag' => '🇹🇦' ),
1227
- 'TC' => array( 'name' => __( 'Turks and Caicos Islands', 'happyforms' ), 'code' => '1', 'flag' => '🇹🇨' ),
1228
- 'TD' => array( 'name' => __( 'Chad', 'happyforms' ), 'code' => '235', 'flag' => '🇹🇩' ),
1229
- 'TG' => array( 'name' => __( 'Togo', 'happyforms' ), 'code' => '228', 'flag' => '🇹🇬' ),
1230
- 'TH' => array( 'name' => __( 'Thailand', 'happyforms' ), 'code' => '66', 'flag' => '🇹🇭' ),
1231
- 'TJ' => array( 'name' => __( 'Tajikistan', 'happyforms' ), 'code' => '992', 'flag' => '🇹🇯' ),
1232
- 'TK' => array( 'name' => __( 'Tokelau', 'happyforms' ), 'code' => '690', 'flag' => '🇹🇰' ),
1233
- 'TL' => array( 'name' => __( 'Timor-Leste', 'happyforms' ), 'code' => '670', 'flag' => '🇹🇱' ),
1234
- 'TM' => array( 'name' => __( 'Turkmenistan', 'happyforms' ), 'code' => '993', 'flag' => '🇹🇲' ),
1235
- 'TN' => array( 'name' => __( 'Tunisia', 'happyforms' ), 'code' => '216', 'flag' => '🇹🇳' ),
1236
- 'TO' => array( 'name' => __( 'Tonga', 'happyforms' ), 'code' => '676', 'flag' => '🇹🇴' ),
1237
- 'TR' => array( 'name' => __( 'Turkey', 'happyforms' ), 'code' => '90', 'flag' => '🇹🇷' ),
1238
- 'TT' => array( 'name' => __( 'Trinidad and Tobago', 'happyforms' ), 'code' => '1', 'flag' => '🇹🇹' ),
1239
- 'TV' => array( 'name' => __( 'Tuvalu', 'happyforms' ), 'code' => '688', 'flag' => '🇹🇻' ),
1240
- 'TW' => array( 'name' => __( 'Taiwan', 'happyforms' ), 'code' => '886', 'flag' => '🇹🇼' ),
1241
- 'TZ' => array( 'name' => __( 'Tanzania, United Republic of', 'happyforms' ), 'code' => '255', 'flag' => '🇹🇿' ),
1242
- 'UA' => array( 'name' => __( 'Ukraine', 'happyforms' ), 'code' => '380', 'flag' => '🇺🇦' ),
1243
- 'UG' => array( 'name' => __( 'Uganda', 'happyforms' ), 'code' => '256', 'flag' => '🇺🇬' ),
1244
- 'US' => array( 'name' => __( 'United States of America', 'happyforms' ), 'code' => '1', 'flag' => '🇺🇸' ),
1245
- 'UY' => array( 'name' => __( 'Uruguay', 'happyforms' ), 'code' => '598', 'flag' => '🇺🇾' ),
1246
- 'UZ' => array( 'name' => __( 'Uzbekistan', 'happyforms' ), 'code' => '998', 'flag' => '🇺🇿' ),
1247
- 'VA' => array( 'name' => __( 'Holy See (Vatican City State)', 'happyforms' ), 'code' => '39', 'flag' => '🇻🇦' ),
1248
- 'VC' => array( 'name' => __( 'Saint Vincent and the Grenadines', 'happyforms' ), 'code' => '1', 'flag' => '🇻🇨' ),
1249
- 'VE' => array( 'name' => __( 'Venezuela', 'happyforms' ), 'code' => '58', 'flag' => '🇻🇪' ),
1250
- 'VG' => array( 'name' => __( 'Virgin Islands, British', 'happyforms' ), 'code' => '1', 'flag' => '🇻🇬' ),
1251
- 'VI' => array( 'name' => __( 'Virgin Islands, U.S.', 'happyforms' ), 'code' => '1', 'flag' => '🇻🇮' ),
1252
- 'VN' => array( 'name' => __( 'Vietnam', 'happyforms' ), 'code' => '84', 'flag' => '🇻🇳' ),
1253
- 'VU' => array( 'name' => __( 'Vanuatu', 'happyforms' ), 'code' => '678', 'flag' => '🇻🇺' ),
1254
- 'WF' => array( 'name' => __( 'Wallis and Futuna', 'happyforms' ), 'code' => '681', 'flag' => '🇼🇫' ),
1255
- 'WS' => array( 'name' => __( 'Samoa', 'happyforms' ), 'code' => '685', 'flag' => '🇼🇸' ),
1256
- 'XK' => array( 'name' => __( 'Kosovo', 'happyforms' ), 'code' => '383', 'flag' => '🇽🇰' ),
1257
- 'YE' => array( 'name' => __( 'Yemen', 'happyforms' ), 'code' => '967', 'flag' => '🇾🇪' ),
1258
- 'YT' => array( 'name' => __( 'Mayotte', 'happyforms' ), 'code' => '262', 'flag' => '🇾🇹' ),
1259
- 'ZA' => array( 'name' => __( 'South Africa', 'happyforms' ), 'code' => '27', 'flag' => '🇿🇦' ),
1260
- 'ZM' => array( 'name' => __( 'Zambia', 'happyforms' ), 'code' => '260', 'flag' => '🇿🇲' ),
1261
- 'ZW' => array( 'name' => __( 'Zimbabwe', 'happyforms' ), 'code' => '263', 'flag' => '🇿🇼' ),
1262
- );
1263
-
1264
- $countries = apply_filters( 'happyforms_phone_countries', $countries );
1265
-
1266
- uasort( $countries, function ( $country1, $country2 ) {
1267
- return strcmp( $country1['name'], $country2['name'] );
1268
- } );
1269
-
1270
- return $countries;
1271
- }
1272
-
1273
- endif;
1274
-
1275
  if ( ! function_exists( 'happyforms_select' ) ) :
1276
 
1277
  function happyforms_select( $options, $part, $form, $placeholder = '' ) {
1010
 
1011
  endif;
1012
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1013
  if ( ! function_exists( 'happyforms_select' ) ) :
1014
 
1015
  function happyforms_select( $options, $part, $form, $placeholder = '' ) {
core/helpers/helper-misc.php CHANGED
@@ -1055,12 +1055,49 @@ function happyforms_concatenate_scripts() {
1055
 
1056
  endif;
1057
 
1058
- if ( ! function_exists( 'happyforms_is_spambot' ) ) :
1059
 
1060
- function happyforms_is_spambot() {
1061
- $is_spambot = ( defined( 'HAPPYFORMS_IS_SPAMBOT' ) && HAPPYFORMS_IS_SPAMBOT );
1062
-
1063
- return $is_spambot;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1064
  }
1065
 
1066
  endif;
1055
 
1056
  endif;
1057
 
1058
+ if ( ! function_exists( 'happyforms_random_number' ) ) :
1059
 
1060
+ function happyforms_random_number( $seed = '' ) {
1061
+ $seed = '' !== $seed ? $seed : microtime();
1062
+ $seed = sha1( $seed );
1063
+ $seed = substr( $seed, 0, 8 );
1064
+ $seed = abs( hexdec( $seed ) );
1065
+
1066
+ return $seed;
1067
+ }
1068
+
1069
+ endif;
1070
+
1071
+ if ( ! function_exists( 'happyforms_random_range' ) ) :
1072
+
1073
+ function happyforms_random_range( $length, $seed = '' ) {
1074
+ $range = array();
1075
+
1076
+ for ( $v = 0; $v < $length; $v ++ ) {
1077
+ $seed = happyforms_random_number( $seed );
1078
+ $range[] = $seed;
1079
+ }
1080
+
1081
+ $range = array_flip( $range );
1082
+ ksort( $range, SORT_NUMERIC );
1083
+ $range = array_values( $range );
1084
+
1085
+ return $range;
1086
+ }
1087
+
1088
+ endif;
1089
+
1090
+ if ( ! function_exists( 'happyforms_shuffle_array' ) ) :
1091
+
1092
+ function happyforms_shuffle_array( $array, $seed = '' ) {
1093
+ $indices = happyforms_random_range( count( $array ), $seed );
1094
+ $shuffled = array();
1095
+
1096
+ foreach( $indices as $index ) {
1097
+ $shuffled[] = $array[$index];
1098
+ }
1099
+
1100
+ return $shuffled;
1101
  }
1102
 
1103
  endif;
core/templates/customize-form-build.php CHANGED
@@ -6,7 +6,8 @@
6
 
7
  <div class="customize-control">
8
  <div class="happyforms-parts-placeholder">
9
- <p><?php _e( 'Add fields here to appear in your form.', 'happyforms' ); ?></p>
 
10
  </div>
11
  <div class="happyforms-form-widgets"></div>
12
  <button type="button" class="button add-new-widget happyforms-add-new-part"><?php _e( 'Add a Field', 'happyforms' ); ?></button>
6
 
7
  <div class="customize-control">
8
  <div class="happyforms-parts-placeholder">
9
+ <p><?php _e( 'It doesn\'t look like your form has any fields yet. Want to add one?
10
+ Click the "Add a Field" button to start.', 'happyforms' ); ?></p>
11
  </div>
12
  <div class="happyforms-form-widgets"></div>
13
  <button type="button" class="button add-new-widget happyforms-add-new-part"><?php _e( 'Add a Field', 'happyforms' ); ?></button>
happyforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Plugin URI: https://happyforms.io
6
  * Description: We're changin' WordPress forms.
7
  * Author: Happyforms
8
- * Version: 1.15.2
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
@@ -22,7 +22,7 @@ if ( defined( 'HAPPYFORMS_UPGRADE_VERSION' ) ) {
22
  /**
23
  * The current version of the plugin.
24
  */
25
- define( 'HAPPYFORMS_VERSION', '1.15.2' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
5
  * Plugin URI: https://happyforms.io
6
  * Description: We're changin' WordPress forms.
7
  * Author: Happyforms
8
+ * Version: 1.15.3
9
  * Author URI: https://happyforms.io
10
  * Upgrade URI: https://happyforms.io/upgrade
11
  */
22
  /**
23
  * The current version of the plugin.
24
  */
25
+ define( 'HAPPYFORMS_VERSION', '1.15.3' );
26
 
27
  if ( ! function_exists( 'happyforms_get_version' ) ):
28
 
inc/assets/css/admin.css CHANGED
@@ -42,95 +42,6 @@
42
  color: #666;
43
  }
44
 
45
- /**
46
- *
47
- * Upgrade modal
48
- *
49
- */
50
- a.happyforms-modal__dismiss {
51
- box-sizing: border-box;
52
- }
53
-
54
- .happyforms-modal__frame--upgrade .happyforms-modal__header h1 {
55
- margin-bottom: 30px;
56
- }
57
-
58
- .happyforms-modal__frame--upgrade .happyforms-modal__content {
59
- padding-bottom: 30px;
60
- }
61
-
62
- .happyforms-modal__frame--upgrade .happyforms-modal__content p {
63
- margin-bottom: 0;
64
- }
65
-
66
- .happyforms-modal__frame--upgrade a.button {
67
- padding: 11px 22px;
68
- height: auto;
69
- font-size: 14px;
70
- white-space: normal;
71
- text-align: center;
72
- }
73
-
74
- .happyforms-modal__frame--upgrade a.happyforms-continue-link,
75
- .happyforms-modal__frame--upgrade a.happyforms-continue-link:hover {
76
- color: #82878C;
77
- }
78
-
79
- /**
80
- *
81
- * Upgrade modal
82
- *
83
- */
84
- .happyforms-modal__frame--upgrade .happyforms-modal__content {
85
- display: flex;
86
- flex-direction: column;
87
- padding-bottom: 0;
88
- }
89
-
90
- .happyforms-modal__frame--upgrade a.button + p {
91
- text-align: center;
92
- }
93
-
94
- /**
95
- *
96
- * Onboarding modal
97
- *
98
- */
99
- .happyforms-modal__frame--onboarding .happyforms-modal__body {
100
- padding-top: 330px;
101
- background-image: url(../img/welcome.gif);
102
- background-size: 450px 300px;
103
- background-repeat: no-repeat;
104
- }
105
-
106
- .happyforms-modal__frame--onboarding .happyforms-modal__dismiss:hover svg {
107
- fill: #fff;
108
- }
109
-
110
- .happyforms-modal__frame--onboarding .happyforms-modal__heading h1 {
111
- margin-bottom: 8px;
112
- }
113
-
114
- .happyforms-modal__frame--onboarding .happyforms-modal__content form label[for="happyforms-onboarding-byline-optin"] {
115
- display: flex;
116
- align-items: start;
117
- margin-bottom: 0;
118
- }
119
-
120
- .happyforms-modal__frame--onboarding .happyforms-modal__content form label[for="happyforms-onboarding-byline-optin"] span {
121
- line-height: 1.4;
122
- }
123
-
124
- .happyforms-modal__frame--onboarding .happyforms-modal__content form label[for="happyforms-onboarding-byline-optin"] input {
125
- margin-top: 1px;
126
- margin-right: 6px;
127
- }
128
-
129
- .happyforms-modal__frame--onboarding button[type="submit"] + p {
130
- font-size:8px;
131
- color:#757575;
132
- }
133
-
134
  .happyforms-form__part .happyforms-part__label .happyforms-required {
135
  display: none;
136
  }
42
  color: #666;
43
  }
44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  .happyforms-form__part .happyforms-part__label .happyforms-required {
46
  display: none;
47
  }
inc/assets/img/alrighty.gif DELETED
Binary file
inc/assets/img/upgrade.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg enable-background="new 0 0 312 240" viewBox="0 0 312 240" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h312v240h-312z" fill="#00a0d2"/><path d="m63 30h17.4c1.1 0 2 .9 2 2v17.4c0 1.1-.9 2-2 2h-17.4c-1.1 0-2-.9-2-2v-17.4c0-1.1.9-2 2-2z" fill="#1e1e1e"/><path d="m71.8 35v11m-5.8-5.8h11" fill="none" stroke="#fff" stroke-width="1.5"/><path d="m53 57h206c1.1 0 2 .9 2 2v150c0 1.1-.9 2-2 2h-206c-1.1 0-2-.9-2-2v-150c0-1.1.9-2 2-2z" fill="#fff"/><path d="m65 67.5h182c1.9 0 3.5 1.6 3.5 3.5v18c0 1.9-1.6 3.5-3.5 3.5h-182c-1.9 0-3.5-1.6-3.5-3.5v-18c0-1.9 1.6-3.5 3.5-3.5z" fill="none" stroke="#007ca8"/><path d="m101 115h-20v16h20zm-2 14h-16v-6h16zm0-10h-16v-2h16z"/><path d="m163.9 121.2 1.1-1.1c.8-.8.8-2.1 0-2.8l-1.4-1.4c-.8-.8-1.9-.8-2.7 0l-1.1 1.1zm-4.2 1.4-7 7.2h-1.3v-1.4l7-7.2zm-1.3-4.2-8.9 9.2v4.2h4.1l8.9-9.2zm5.6 9.9c0 2.2-2.4 3.5-4.8 3.5-.6 0-1-.5-1-1s.4-1 1-1c1.4 0 2.9-.7 2.9-1.5 0-.5-.5-.9-1.2-1.2l1.4-1.5c1 .6 1.7 1.5 1.7 2.7zm-14-4.1c-1-.6-1.5-1.3-1.5-2.4 0-1.8 1.8-2.6 3.5-3.4 1-.4 2.3-1 2.3-1.6 0-.4-.8-1-1.9-1-1.3 0-1.8.6-1.8.6-.3.4-.9.5-1.3.1-.4-.3-.5-1-.2-1.4.1-.1 1.1-1.3 3.3-1.3s3.9 1.3 3.9 3c0 1.9-1.8 2.7-3.5 3.5-1 .4-2.3 1-2.3 1.5 0 .3.4.6 1.1.9z"/><path d="m230.3 126.8v4.4h-7v-15l5.7 5.3 1.3-1.4-7.9-7.4-7.4 7.4 1.3 1.4 5.1-5.1v14.9h-7.7v-4.5h-1.9v6.4h20.3v-6.4z"/><path d="m85 168h2.5l-3.5-3.5-3.4 3.5h2.5v10h-2.5l3.5 3.5 3.5-3.5h-2.6zm4-2v2h12v-2zm0 14h12v-2h-12zm0-6h12v-2h-12z"/><path d="m217.9 165.7c0-.9.8-1.6 1.6-1.6h8c.9 0 1.6.8 1.6 1.6v4h2v-4c0-2-1.6-3.7-3.7-3.7h-7.9c-2 0-3.7 1.7-3.7 3.7v4h2zm11.2 14.6c0 .9-.8 1.6-1.6 1.6h-8c-.9 0-1.6-.8-1.6-1.6v-4h-2.1v4c0 2 1.6 3.7 3.7 3.7h8c2 0 3.7-1.6 3.7-3.7v-4h-2v4zm-16.2-8v1.3h21.2v-1.3z"/><path d="m150.8 165.9c.1.9.3 1.8.5 2.6l-1.2 1.2c-.4-1.2-.7-2.5-.8-3.8zm9.9 12c.9.2 1.7.4 2.6.5v1.5c-1.3-.1-2.6-.4-3.8-.8zm-8.9-14h-3.5c-.5 0-1 .5-1 1 0 9.4 7.6 17 17 17 .5 0 1-.5 1-1v-3.5c0-.6-.5-1-1-1-1.2 0-2.5-.2-3.6-.6-.1 0-.2-.1-.3-.1-.3 0-.5.1-.7.3l-2.2 2.2c-2.8-1.4-5.1-3.8-6.6-6.6l2.2-2.2c.3-.3.4-.7.2-1-.3-1-.5-2.2-.5-3.5 0-.5-.4-1-1-1z"/></svg>
inc/assets/img/welcome.gif DELETED
Binary file
inc/assets/img/welcome.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg enable-background="new 0 0 312 240" viewBox="0 0 312 240" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><mask id="a" height="16.2" maskUnits="userSpaceOnUse" width="11.5" x="97" y="136.3"><path clip-rule="evenodd" d="m107.6 144.5-9.9-7.2 1.3 12.2 3.1-1.8 2.1 3.6c.4.7 1.2.9 1.9.5s.9-1.2.5-1.9l-2.1-3.6z" fill="#fff" fill-rule="evenodd"/></mask><path d="m0 0h312v240h-312z" fill="#00a0d2"/><path d="m51 32c0-1.1.9-2 2-2h206c1.1 0 2 .9 2 2v208h-210z" fill="#fff"/><g fill="#ddd"><circle cx="98" cy="137.5" r="8"/><path d="m90 97.7h88.5v8h-88.5z"/><circle cx="98" cy="118.7" r="8"/><path d="m112.3 114.7h103.7v8h-103.7z"/><path d="m112.3 133.5h72.4v8h-72.4z"/></g><circle cx="98" cy="137.5" fill="#fff" r="3"/><circle cx="98" cy="118.5" fill="#fff" r="3"/><path d="m51 32c0-1.1.9-2 2-2h206c1.1 0 2 .9 2 2v40h-210z" fill="#1e1e1e"/><circle cx="98" cy="197.3" fill="#fff" r="3"/><circle cx="98" cy="216.1" fill="#fff" r="3"/><path clip-rule="evenodd" d="m108.5 223.5-9.9-7.2 1.3 12.2 3.1-1.8 2.1 3.6c.4.7 1.2.9 1.9.5s.9-1.2.5-1.9l-2.1-3.6z" fill="#fff" fill-rule="evenodd"/><path d="m90 194.4h73.5v8h-73.5z" fill="#ddd"/><path d="m90 207.4h126v32.6h-126z" fill="#ddd"/><path d="m90 168.7h126v16h-126z" fill="#ddd"/><path d="m210.8 175.9-3 3-3-3"/><path d="m90 155.7h101.9v8h-101.9z" fill="#ddd"/><path clip-rule="evenodd" d="m107.6 144.5-9.9-7.2 1.3 12.2 3.1-1.8 2.1 3.6c.4.7 1.2.9 1.9.5s.9-1.2.5-1.9l-2.1-3.6z" fill="#fff" fill-rule="evenodd"/><path d="m97.6 137.4.3-.4-.9-.7.1 1.1zm10 7.1.2.4.7-.4-.6-.5zm-8.7 5-.5.1.1.8.7-.4zm3.1-1.8.4-.2-.2-.4-.4.2zm2.4-1.3-.2-.4-.4.2.2.4zm-7.1-8.6 9.9 7.2.6-.8-9.9-7.2zm2.1 11.7-1.3-12.2-1 .1 1.3 12.2zm2.4-2.2-3.1 1.8.5.9 3.1-1.8zm2.7 3.8-2.1-3.6-.9.5 2.1 3.6zm1.2.3c-.4.2-1 .1-1.2-.3l-.9.5c.5.9 1.7 1.2 2.6.7zm.3-1.2c.2.4.1 1-.3 1.2l.5.9c.9-.5 1.2-1.7.7-2.6zm-2-3.6 2.1 3.6.9-.5-2.1-3.6zm3.3-2.5-3.1 1.8.5.9 3.1-1.8z" mask="url(#a)"/></svg>
inc/assets/js/admin/onboarding.js DELETED
@@ -1,24 +0,0 @@
1
- ( function( $, settings ) {
2
-
3
- $( function() {
4
- happyForms.dashboard.openModal( 'onboarding' );
5
-
6
- $( document ).on( 'submit', '.happyforms-modal__frame--onboarding form', function( e ) {
7
- e.preventDefault();
8
-
9
- var $form = $( e.target );
10
- var email = $( 'input[type="email"]', $form ).val();
11
- email = email ? email : '';
12
- var poweredBy = $( 'input[type="checkbox"]', $form ).is( ':checked' ) ? 1 : 0;
13
-
14
- $.post( ajaxurl, {
15
- action: settings.action,
16
- email: email,
17
- powered_by: poweredBy,
18
- } );
19
-
20
- happyForms.dashboard.closeModal();
21
- } );
22
- } );
23
-
24
- } )( jQuery, _happyFormsOnboardingSettings );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/assets/js/customize.js CHANGED
@@ -1516,6 +1516,7 @@
1516
  'change [data-attribute]': 'onInputChange',
1517
  'change input[type=number]': 'onNumberChange',
1518
  'click .customize-control-checkbox_dummy': 'openUpgradeModal',
 
1519
  } ),
1520
 
1521
  pointers: {},
@@ -1649,6 +1650,7 @@
1649
  events: _.extend( {}, classes.views.FormSetup.prototype.events, {
1650
  'click .customize-control-checkbox_dummy': 'openUpgradeModal',
1651
  'click .customize-control-email-parts-list_dummy': 'openUpgradeModal',
 
1652
  } ),
1653
 
1654
  editors: {
1516
  'change [data-attribute]': 'onInputChange',
1517
  'change input[type=number]': 'onNumberChange',
1518
  'click .customize-control-checkbox_dummy': 'openUpgradeModal',
1519
+ 'click .customize-control-number_dummy': 'openUpgradeModal',
1520
  } ),
1521
 
1522
  pointers: {},
1650
  events: _.extend( {}, classes.views.FormSetup.prototype.events, {
1651
  'click .customize-control-checkbox_dummy': 'openUpgradeModal',
1652
  'click .customize-control-email-parts-list_dummy': 'openUpgradeModal',
1653
+ 'click .customize-control-number_dummy': 'openUpgradeModal',
1654
  } ),
1655
 
1656
  editors: {
inc/assets/js/frontend.js CHANGED
@@ -197,11 +197,13 @@
197
  var form_id = $( '[name=happyforms_form_id]', this.$form ).val();
198
  var referer = $( '[name=_wp_http_referer]', this.$form ).val();
199
  var step = this.$step.val();
 
200
 
201
  var formData = [
202
  { name: 'action', value: action },
203
  { name: 'happyforms_form_id', value: form_id },
204
  { name: 'happyforms_step', value: step },
 
205
  ];
206
 
207
  var honeypotNames = [ 'single_line_text', 'multi_line_text', 'number' ];
@@ -235,13 +237,18 @@
235
 
236
  data.forEach( function( entry ) {
237
  params.append( entry.name, entry.value );
238
- hash.push( entry.value );
239
  } );
240
 
241
- hash = hash.join( '' ).replace( /[^\w\d]/gm, '' );
242
- hash = md5( hash );
243
 
244
  params.append( 'hash', hash );
 
 
 
 
 
 
 
245
  params = params.toString();
246
 
247
  return params;
197
  var form_id = $( '[name=happyforms_form_id]', this.$form ).val();
198
  var referer = $( '[name=_wp_http_referer]', this.$form ).val();
199
  var step = this.$step.val();
200
+ var randomSeed = $( '[name=happyforms_random_seed]', this.$form ).val();
201
 
202
  var formData = [
203
  { name: 'action', value: action },
204
  { name: 'happyforms_form_id', value: form_id },
205
  { name: 'happyforms_step', value: step },
206
+ { name: 'happyforms_random_seed', value: randomSeed },
207
  ];
208
 
209
  var honeypotNames = [ 'single_line_text', 'multi_line_text', 'number' ];
237
 
238
  data.forEach( function( entry ) {
239
  params.append( entry.name, entry.value );
 
240
  } );
241
 
242
+ var hash = HappyForms.Antispam.getHash( data );
 
243
 
244
  params.append( 'hash', hash );
245
+
246
+ var platformInfo = HappyForms.Antispam.getPlatformInfo();
247
+
248
+ for ( const [key, value] of Object.entries( platformInfo ) ) {
249
+ params.append( key , value );
250
+ }
251
+
252
  params = params.toString();
253
 
254
  return params;
inc/assets/jsx/build/admin/dashboard-modals.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '4d5408b850a6efcc5345ba70609ec699');
1
+ <?php return array('dependencies' => array('wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'bf3f46bd46c82992c8d35117b7d3e076');
inc/assets/jsx/build/admin/dashboard-modals.js CHANGED
@@ -183,7 +183,7 @@ __webpack_require__.r(__webpack_exports__);
183
  *
184
  */
185
  const OnboardingModal = props => {
186
- const imageURL = `${settings.pluginURL}/inc/assets/img/welcome.gif`;
187
  const [email, setEmail] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useState"])('');
188
 
189
  const onEmailChange = e => {
@@ -204,13 +204,11 @@ __webpack_require__.r(__webpack_exports__);
204
  className: "happyforms-modal happyforms-modal--onboarding",
205
  pages: [{
206
  image: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("picture", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("img", {
207
- src: imageURL,
208
- width: "450",
209
- height: "276"
210
  })),
211
  content: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
212
  className: "happyforms-modal__header"
213
- }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("h1", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Welcome to Happyforms', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('We\'ll send you a few emails each month about plugin updates. And don\'t sweat it, you can unsubscribe anytime.', 'happyforms'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
214
  className: "happyforms-modal__body"
215
  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("label", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Email address', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("input", {
216
  type: "email",
@@ -235,21 +233,19 @@ __webpack_require__.r(__webpack_exports__);
235
 
236
 
237
  const UpgradeModal = props => {
238
- const imageURL = `${settings.pluginURL}/inc/assets/img/alrighty.gif`;
239
  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Guide"], {
240
  onFinish: props.onRequestClose,
241
  className: "happyforms-modal happyforms-modal--upgrade",
242
  pages: [{
243
  image: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("picture", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("img", {
244
- src: imageURL,
245
- width: "450",
246
- height: "276"
247
  })),
248
  content: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
249
  className: "happyforms-modal__header"
250
- }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("h1", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Start with a free 7-day trial', 'happyforms'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
251
  className: "happyforms-modal__body"
252
- }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('You\'re just a mouse click and a few key taps away from building better forms for your site. And don\'t sweat it, you can upgrade, downgrade or cancel your trial anytime.', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("ul", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("li", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Advanced features and integrations', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("li", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Help from the friendliest support team around', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("li", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Automatically transfer over your free forms', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("li", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('New goodies released every second week', 'happyforms'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('So whattaya say? Ready to build better forms today?', 'happyforms'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
253
  className: "happyforms-modal__footer"
254
  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["BaseControl"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Button"], {
255
  isPrimary: true,
183
  *
184
  */
185
  const OnboardingModal = props => {
186
+ const imageURL = `${settings.pluginURL}/inc/assets/img/welcome.svg`;
187
  const [email, setEmail] = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useState"])('');
188
 
189
  const onEmailChange = e => {
204
  className: "happyforms-modal happyforms-modal--onboarding",
205
  pages: [{
206
  image: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("picture", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("img", {
207
+ src: imageURL
 
 
208
  })),
209
  content: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
210
  className: "happyforms-modal__header"
211
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("h1", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('One last thing', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('We\'ll occasionally send you emails about plugin updates. And don\'t sweat it, you can unsubscribe anytime.', 'happyforms'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
212
  className: "happyforms-modal__body"
213
  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("label", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Email address', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("input", {
214
  type: "email",
233
 
234
 
235
  const UpgradeModal = props => {
236
+ const imageURL = `${settings.pluginURL}/inc/assets/img/upgrade.svg`;
237
  return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Guide"], {
238
  onFinish: props.onRequestClose,
239
  className: "happyforms-modal happyforms-modal--upgrade",
240
  pages: [{
241
  image: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("picture", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("img", {
242
+ src: imageURL
 
 
243
  })),
244
  content: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
245
  className: "happyforms-modal__header"
246
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("h1", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Start with a free trial', 'happyforms'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
247
  className: "happyforms-modal__body"
248
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('You\'re just a mouse click and a few key taps away from building better forms.', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("ul", null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("li", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Advanced features and integrations', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("li", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Help from our friendly support team', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("li", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Automatically transfer your free forms', 'happyforms')), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("li", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('New updates every second week', 'happyforms'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("p", null, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__["__"])('Ready to build better forms?', 'happyforms'))), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
249
  className: "happyforms-modal__footer"
250
  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["BaseControl"], null, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__["Button"], {
251
  isPrimary: true,
inc/assets/jsx/build/admin/dashboard-modals.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./build/core/assets/jsx/src/admin/dashboard-modals.js","webpack:///./build/inc/assets/jsx/src/admin/dashboard-modals.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///external [\"wp\",\"components\"]","webpack:///external [\"wp\",\"element\"]","webpack:///external [\"wp\",\"i18n\"]"],"names":["$","settings","render","wp","element","ModalProvider","props","modal","DashboardModals","constructor","area","document","getElementById","openModal","closeModal","post","ajaxurl","action","actionModalDismiss","id","OnboardingModal","imageURL","pluginURL","email","setEmail","useState","onEmailChange","e","target","value","onRequestClose","onboardingModalAction","_wpnonce","onboardingModalNonce","image","content","__","UpgradeModal","DashboardModalsBaseClass","DashboardModalsClass","openOnboardingModal","bind","trackingStatus","openUpgradeModal","happyForms","window","modals","jQuery","_happyFormsDashboardModalsSettings"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;;;AClFA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AACe,yEAAUA,CAAV,EAAaC,QAAb,EAAwB;AAEtC,QAAM;AAAEC;AAAF,MAAaC,EAAE,CAACC,OAAtB;AAEA;AACD;AACA;AACA;AACA;;AACC,QAAMC,aAAa,GAAKC,KAAF,IAAa;AAClC,WACC,yEAAC,sEAAD,QACGA,KAAK,CAACC,KADT,EAEC,yEAAC,6DAAD,CAAS,IAAT,OAFD,CADD;AAMA,GAPD;;AASA,SAAO,MAAMC,eAAN,CAAsB;AAI5BC,eAAW,GAAG;AAAA,iGAFP,IAEO;;AACb,WAAKC,IAAL,GAAYC,QAAQ,CAACC,cAAT,CAAyB,wBAAzB,CAAZ;AACA;;AAEDC,aAAS,CAAEN,KAAF,EAAU;AAClBL,YAAM,CAAE,yEAAC,aAAD;AAAe,aAAK,EAAEK;AAAtB,QAAF,EAAiD,KAAKG,IAAtD,CAAN;AACA;;AAEDI,cAAU,CAAEP,KAAF,EAAU;AACnBL,YAAM,CAAE,2IAAF,EAAS,KAAKQ,IAAd,CAAN;AAEAV,OAAC,CAACe,IAAF,CAAQC,OAAR,EAAiB;AAChBC,cAAM,EAAEhB,QAAQ,CAACiB,kBADD;AAEhBC,UAAE,EAAEZ;AAFY,OAAjB;AAIA;;AAnB2B,GAA7B;AAuBA,C;;;;;;;;;;;;;;;;;;;;;AClDD;AACA;AACA;AACA;;AAEA,CAAE,UAAUP,CAAV,EAAaC,QAAb,EAAwB;AAEzB;AACD;AACA;AACA;AACA;AACC,QAAMmB,eAAe,GAAKd,KAAF,IAAa;AACpC,UAAMe,QAAQ,GAAI,GAAEpB,QAAQ,CAACqB,SAAU,6BAAvC;AACA,UAAM,CAAEC,KAAF,EAASC,QAAT,IAAsBC,mEAAQ,CAAE,EAAF,CAApC;;AAEA,UAAMC,aAAa,GAAKC,CAAF,IAAS;AAC9BH,cAAQ,CAAEG,CAAC,CAACC,MAAF,CAASC,KAAX,CAAR;AACA,KAFD;;AAIA,UAAMC,cAAc,GAAG,MAAM;AAC5B9B,OAAC,CAACe,IAAF,CAAQC,OAAR,EAAiB;AAChBC,cAAM,EAAEhB,QAAQ,CAAC8B,qBADD;AAEhBC,gBAAQ,EAAE/B,QAAQ,CAACgC,oBAFH;AAGhBV,aAAK,EAAEA;AAHS,OAAjB;AAMA,aAAOjB,KAAK,CAACwB,cAAN,EAAP;AACA,KARD;;AAUA,WACC,yEAAC,2DAAD;AACC,cAAQ,EAAGA,cADZ;AAEC,eAAS,EAAC,+CAFX;AAGC,WAAK,EAAG,CACP;AACCI,aAAK,EACJ,0FACC;AAAK,aAAG,EAAEb,QAAV;AAAoB,eAAK,EAAC,KAA1B;AAAgC,gBAAM,EAAC;AAAvC,UADD,CAFF;AAMCc,eAAO,EACN,4IACA;AAAK,mBAAS,EAAC;AAAf,WACC,qFAAMC,0DAAE,CAAE,uBAAF,EAA2B,YAA3B,CAAR,CADD,EAEC,oFAAKA,0DAAE,CAAE,iHAAF,EAAqH,YAArH,CAAP,CAFD,CADA,EAKA;AAAK,mBAAS,EAAC;AAAf,WACC,wFAASA,0DAAE,CAAE,eAAF,EAAmB,YAAnB,CAAX,CADD,EAEC;AAAO,cAAI,EAAC,OAAZ;AAAoB,eAAK,EAAGb,KAA5B;AAAoC,kBAAQ,EAAGG,aAA/C;AAA+D,mBAAS;AAAxE,UAFD,CALA,EASA;AAAK,mBAAS,EAAC;AAAf,WACC,yEAAC,iEAAD,QACC,yEAAC,4DAAD;AAAQ,mBAAS,EAAE,IAAnB;AAAyB,iBAAO,EAAGI,cAAnC;AAAoD,cAAI,EAAGM,0DAAE,CAAE,UAAF,EAAc,YAAd;AAA7D,UADD,CADD,CATA;AAPF,OADO;AAHT,MADD;AAgCA,GAlDD;AAoDA;AACD;AACA;AACA;AACA;;;AACC,QAAMC,YAAY,GAAK/B,KAAF,IAAa;AACjC,UAAMe,QAAQ,GAAI,GAAEpB,QAAQ,CAACqB,SAAU,8BAAvC;AAEA,WACC,yEAAC,2DAAD;AACC,cAAQ,EAAGhB,KAAK,CAACwB,cADlB;AAEC,eAAS,EAAC,4CAFX;AAGC,WAAK,EAAG,CACP;AACCI,aAAK,EACJ,0FACC;AAAK,aAAG,EAAEb,QAAV;AAAoB,eAAK,EAAC,KAA1B;AAAgC,gBAAM,EAAC;AAAvC,UADD,CAFF;AAMCc,eAAO,EACN,4IACA;AAAK,mBAAS,EAAC;AAAf,WACC,qFAAMC,0DAAE,CAAE,+BAAF,EAAmC,YAAnC,CAAR,CADD,CADA,EAIA;AAAK,mBAAS,EAAC;AAAf,WACC,oFAAKA,0DAAE,CAAE,4KAAF,EAAgL,YAAhL,CAAP,CADD,EAEC,qFACC,qFAAMA,0DAAE,CAAE,oCAAF,EAAwC,YAAxC,CAAR,CADD,EAEC,qFAAMA,0DAAE,CAAE,+CAAF,EAAmD,YAAnD,CAAR,CAFD,EAGC,qFAAMA,0DAAE,CAAE,6CAAF,EAAiD,YAAjD,CAAR,CAHD,EAIC,qFAAMA,0DAAE,CAAE,wCAAF,EAA4C,YAA5C,CAAR,CAJD,CAFD,EAQC,oFAAKA,0DAAE,CAAE,qDAAF,EAAyD,YAAzD,CAAP,CARD,CAJA,EAcA;AAAK,mBAAS,EAAC;AAAf,WACC,yEAAC,iEAAD,QACC,yEAAC,4DAAD;AAAQ,mBAAS,EAAE,IAAnB;AAAyB,cAAI,EAAC,+BAA9B;AAA8D,gBAAM,EAAC,QAArE;AAA8E,cAAI,EAAGA,0DAAE,CAAE,0BAAF,EAA8B,YAA9B;AAAvF,UADD,EAEC,yEAAC,4DAAD;AAAQ,qBAAW,EAAE,IAArB;AAA2B,iBAAO,EAAG9B,KAAK,CAACwB,cAA3C;AAA4D,cAAI,EAAGM,0DAAE,CAAE,mBAAF,EAAuB,YAAvB;AAArE,UAFD,CADD,CAdA;AAPF,OADO;AAHT,MADD;AAsCA,GAzCD;;AA2CA,QAAME,wBAAwB,GAAG9B,+FAAe,CAAER,CAAF,EAAKC,QAAL,CAAhD;;AAEA,QAAMsC,oBAAN,SAAmCD,wBAAnC,CAA4D;AAE3DE,uBAAmB,GAAG;AACrB,UAAIjC,KAAK,GACR,yEAAC,eAAD;AACC,sBAAc,EAAG,KAAKO,UAAL,CAAgB2B,IAAhB,CAAsB,IAAtB,EAA4B,YAA5B,CADlB;AAEC,cAAM,EAAGxC,QAAQ,CAACyC;AAFnB,QADD;AAMA,WAAK7B,SAAL,CAAgBN,KAAhB;AACA;;AAEDoC,oBAAgB,GAAG;AAClB,UAAIpC,KAAK,GAAG,yEAAC,YAAD;AAAc,sBAAc,EAAG,KAAKO,UAAL,CAAgB2B,IAAhB,CAAsB,IAAtB,EAA4B,SAA5B;AAA/B,QAAZ;AAEA,WAAK5B,SAAL,CAAgBN,KAAhB;AACA;;AAhB0D;;AAkB3D;AAED,MAAIqC,UAAU,GAAGC,MAAM,CAACD,UAAP,IAAqB,EAAtC;AACAC,QAAM,CAACD,UAAP,GAAoBA,UAApB;AAEAA,YAAU,CAACE,MAAX,GAAoB,IAAIP,oBAAJ,EAApB;AAEA,CAtID,EAsIKQ,MAtIL,EAsIaC,kCAtIb,E;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,6E;;;;;;;;;;;AChBA,aAAa,6CAA6C,EAAE,I;;;;;;;;;;;ACA5D,aAAa,0CAA0C,EAAE,I;;;;;;;;;;;ACAzD,aAAa,uCAAuC,EAAE,I","file":"dashboard-modals.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./build/inc/assets/jsx/src/admin/dashboard-modals.js\");\n","import { SlotFillProvider, Button, Modal, Guide, Popover, Notice, ExternalLink, TextControl, CheckboxControl, BaseControl } from '@wordpress/components';\nimport { useState, useReducer, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n *\n * Modal handler class\n *\n */\nexport default function( $, settings ) {\n\n\tconst { render } = wp.element;\n\n\t/**\n\t *\n\t * Modal wrapper\n\t *\n\t */\n\tconst ModalProvider = ( props ) => {\n\t\treturn (\n\t\t\t<SlotFillProvider>\n\t\t\t\t{ props.modal }\n\t\t\t\t<Popover.Slot />\n\t\t\t</SlotFillProvider>\n\t\t);\n\t};\n\t\n\treturn class DashboardModals {\n\n\t\tarea = null;\n\t\t\n\t\tconstructor() {\n\t\t\tthis.area = document.getElementById( 'happyforms-modals-area' );\n\t\t}\n\n\t\topenModal( modal ) {\n\t\t\trender( <ModalProvider modal={modal}></ModalProvider>, this.area );\n\t\t}\n\n\t\tcloseModal( modal ) {\n\t\t\trender( <></>, this.area );\n\n\t\t\t$.post( ajaxurl, {\n\t\t\t\taction: settings.actionModalDismiss,\n\t\t\t\tid: modal, \n\t\t\t} );\n\t\t}\n\n\t};\n\n}","import DashboardModals from '@happyforms/core/jsx/src/admin/dashboard-modals';\nimport { SlotFillProvider, Button, Modal, Guide, Popover, Notice, ExternalLink, TextControl, CheckboxControl, BaseControl } from '@wordpress/components';\nimport { useState, useReducer, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n( function( $, settings ) {\n\n\t/**\n\t *\n\t * Onboarding modal\n\t *\n\t */\n\tconst OnboardingModal = ( props ) => {\n\t\tconst imageURL = `${settings.pluginURL}/inc/assets/img/welcome.gif`;\n\t\tconst [ email, setEmail ] = useState( '' );\n\n\t\tconst onEmailChange = ( e ) => {\n\t\t\tsetEmail( e.target.value );\n\t\t};\n\n\t\tconst onRequestClose = () => {\n\t\t\t$.post( ajaxurl, {\n\t\t\t\taction: settings.onboardingModalAction,\n\t\t\t\t_wpnonce: settings.onboardingModalNonce,\n\t\t\t\temail: email,\n\t\t\t} );\n\n\t\t\treturn props.onRequestClose();\n\t\t}\n\n\t\treturn(\n\t\t\t<Guide\n\t\t\t\tonFinish={ onRequestClose }\n\t\t\t\tclassName=\"happyforms-modal happyforms-modal--onboarding\"\n\t\t\t\tpages={ [\n\t\t\t\t\t{\n\t\t\t\t\t\timage: (\n\t\t\t\t\t\t\t<picture>\n\t\t\t\t\t\t\t\t<img src={imageURL} width=\"450\" height=\"276\" />\n\t\t\t\t\t\t\t</picture>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__header\">\n\t\t\t\t\t\t\t\t<h1>{ __( 'Welcome to Happyforms', 'happyforms' ) }</h1>\n\t\t\t\t\t\t\t\t<p>{ __( 'We\\'ll send you a few emails each month about plugin updates. And don\\'t sweat it, you can unsubscribe anytime.', 'happyforms' ) }</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__body\">\n\t\t\t\t\t\t\t\t<label>{ __( 'Email address', 'happyforms' ) }</label>\n\t\t\t\t\t\t\t\t<input type=\"email\" value={ email } onChange={ onEmailChange } autoFocus />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__footer\">\n\t\t\t\t\t\t\t\t<BaseControl>\n\t\t\t\t\t\t\t\t\t<Button isPrimary={true} onClick={ onRequestClose } text={ __( 'Continue', 'happyforms' ) }></Button>\n\t\t\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t *\n\t * Upgrade modal\n\t *\n\t */\n\tconst UpgradeModal = ( props ) => {\n\t\tconst imageURL = `${settings.pluginURL}/inc/assets/img/alrighty.gif`;\n\n\t\treturn(\n\t\t\t<Guide\n\t\t\t\tonFinish={ props.onRequestClose }\n\t\t\t\tclassName=\"happyforms-modal happyforms-modal--upgrade\"\n\t\t\t\tpages={ [\n\t\t\t\t\t{\n\t\t\t\t\t\timage: (\n\t\t\t\t\t\t\t<picture>\n\t\t\t\t\t\t\t\t<img src={imageURL} width=\"450\" height=\"276\" />\n\t\t\t\t\t\t\t</picture>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__header\">\n\t\t\t\t\t\t\t\t<h1>{ __( 'Start with a free 7-day trial', 'happyforms' ) }</h1>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__body\">\n\t\t\t\t\t\t\t\t<p>{ __( 'You\\'re just a mouse click and a few key taps away from building better forms for your site. And don\\'t sweat it, you can upgrade, downgrade or cancel your trial anytime.', 'happyforms' ) }</p>\n\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t<li>{ __( 'Advanced features and integrations', 'happyforms' ) }</li>\n\t\t\t\t\t\t\t\t\t<li>{ __( 'Help from the friendliest support team around', 'happyforms' ) }</li>\n\t\t\t\t\t\t\t\t\t<li>{ __( 'Automatically transfer over your free forms', 'happyforms' ) }</li>\n\t\t\t\t\t\t\t\t\t<li>{ __( 'New goodies released every second week', 'happyforms' ) }</li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t<p>{ __( 'So whattaya say? Ready to build better forms today?', 'happyforms' ) }</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__footer\">\n\t\t\t\t\t\t\t\t<BaseControl>\n\t\t\t\t\t\t\t\t\t<Button isPrimary={true} href=\"https://happyforms.io/upgrade\" target=\"_blank\" text={ __( 'Start a Free 7-day Trial', 'happyforms' ) }></Button>\n\t\t\t\t\t\t\t\t\t<Button isSecondary={true} onClick={ props.onRequestClose } text={ __( 'Nope, Maybe Later', 'happyforms' ) }></Button>\n\t\t\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst DashboardModalsBaseClass = DashboardModals( $, settings );\n\n\tclass DashboardModalsClass extends DashboardModalsBaseClass {\n\n\t\topenOnboardingModal() {\n\t\t\tvar modal = (\n\t\t\t\t<OnboardingModal\n\t\t\t\t\tonRequestClose={ this.closeModal.bind( this, 'onboarding' ) }\n\t\t\t\t\tstatus={ settings.trackingStatus } />\n\t\t\t);\n\n\t\t\tthis.openModal( modal );\n\t\t}\n\n\t\topenUpgradeModal() {\n\t\t\tvar modal = <UpgradeModal onRequestClose={ this.closeModal.bind( this, 'upgrade' ) } />\n\n\t\t\tthis.openModal( modal );\n\t\t}\n\n\t};\n\n\tvar happyForms = window.happyForms || {};\n\twindow.happyForms = happyForms;\n\n\thappyForms.modals = new DashboardModalsClass();\n\n} )( jQuery, _happyFormsDashboardModalsSettings );\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","(function() { module.exports = window[\"wp\"][\"components\"]; }());","(function() { module.exports = window[\"wp\"][\"element\"]; }());","(function() { module.exports = window[\"wp\"][\"i18n\"]; }());"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./build/core/assets/jsx/src/admin/dashboard-modals.js","webpack:///./build/inc/assets/jsx/src/admin/dashboard-modals.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///external [\"wp\",\"components\"]","webpack:///external [\"wp\",\"element\"]","webpack:///external [\"wp\",\"i18n\"]"],"names":["$","settings","render","wp","element","ModalProvider","props","modal","DashboardModals","constructor","area","document","getElementById","openModal","closeModal","post","ajaxurl","action","actionModalDismiss","id","OnboardingModal","imageURL","pluginURL","email","setEmail","useState","onEmailChange","e","target","value","onRequestClose","onboardingModalAction","_wpnonce","onboardingModalNonce","image","content","__","UpgradeModal","DashboardModalsBaseClass","DashboardModalsClass","openOnboardingModal","bind","trackingStatus","openUpgradeModal","happyForms","window","modals","jQuery","_happyFormsDashboardModalsSettings"],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;;;;;;;;;;;AClFA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AACe,yEAAUA,CAAV,EAAaC,QAAb,EAAwB;AAEtC,QAAM;AAAEC;AAAF,MAAaC,EAAE,CAACC,OAAtB;AAEA;AACD;AACA;AACA;AACA;;AACC,QAAMC,aAAa,GAAKC,KAAF,IAAa;AAClC,WACC,yEAAC,sEAAD,QACGA,KAAK,CAACC,KADT,EAEC,yEAAC,6DAAD,CAAS,IAAT,OAFD,CADD;AAMA,GAPD;;AASA,SAAO,MAAMC,eAAN,CAAsB;AAI5BC,eAAW,GAAG;AAAA,iGAFP,IAEO;;AACb,WAAKC,IAAL,GAAYC,QAAQ,CAACC,cAAT,CAAyB,wBAAzB,CAAZ;AACA;;AAEDC,aAAS,CAAEN,KAAF,EAAU;AAClBL,YAAM,CAAE,yEAAC,aAAD;AAAe,aAAK,EAAEK;AAAtB,QAAF,EAAiD,KAAKG,IAAtD,CAAN;AACA;;AAEDI,cAAU,CAAEP,KAAF,EAAU;AACnBL,YAAM,CAAE,2IAAF,EAAS,KAAKQ,IAAd,CAAN;AAEAV,OAAC,CAACe,IAAF,CAAQC,OAAR,EAAiB;AAChBC,cAAM,EAAEhB,QAAQ,CAACiB,kBADD;AAEhBC,UAAE,EAAEZ;AAFY,OAAjB;AAIA;;AAnB2B,GAA7B;AAuBA,C;;;;;;;;;;;;;;;;;;;;;AClDD;AACA;AACA;AACA;;AAEA,CAAE,UAAUP,CAAV,EAAaC,QAAb,EAAwB;AAEzB;AACD;AACA;AACA;AACA;AACC,QAAMmB,eAAe,GAAKd,KAAF,IAAa;AACpC,UAAMe,QAAQ,GAAI,GAAEpB,QAAQ,CAACqB,SAAU,6BAAvC;AACA,UAAM,CAAEC,KAAF,EAASC,QAAT,IAAsBC,mEAAQ,CAAE,EAAF,CAApC;;AAEA,UAAMC,aAAa,GAAKC,CAAF,IAAS;AAC9BH,cAAQ,CAAEG,CAAC,CAACC,MAAF,CAASC,KAAX,CAAR;AACA,KAFD;;AAIA,UAAMC,cAAc,GAAG,MAAM;AAC5B9B,OAAC,CAACe,IAAF,CAAQC,OAAR,EAAiB;AAChBC,cAAM,EAAEhB,QAAQ,CAAC8B,qBADD;AAEhBC,gBAAQ,EAAE/B,QAAQ,CAACgC,oBAFH;AAGhBV,aAAK,EAAEA;AAHS,OAAjB;AAMA,aAAOjB,KAAK,CAACwB,cAAN,EAAP;AACA,KARD;;AAUA,WACC,yEAAC,2DAAD;AACC,cAAQ,EAAGA,cADZ;AAEC,eAAS,EAAC,+CAFX;AAGC,WAAK,EAAG,CACP;AACCI,aAAK,EACJ,0FACC;AAAK,aAAG,EAAEb;AAAV,UADD,CAFF;AAMCc,eAAO,EACN,4IACA;AAAK,mBAAS,EAAC;AAAf,WACC,qFAAMC,0DAAE,CAAE,gBAAF,EAAoB,YAApB,CAAR,CADD,EAEC,oFAAKA,0DAAE,CAAE,6GAAF,EAAiH,YAAjH,CAAP,CAFD,CADA,EAKA;AAAK,mBAAS,EAAC;AAAf,WACC,wFAASA,0DAAE,CAAE,eAAF,EAAmB,YAAnB,CAAX,CADD,EAEC;AAAO,cAAI,EAAC,OAAZ;AAAoB,eAAK,EAAGb,KAA5B;AAAoC,kBAAQ,EAAGG,aAA/C;AAA+D,mBAAS;AAAxE,UAFD,CALA,EASA;AAAK,mBAAS,EAAC;AAAf,WACC,yEAAC,iEAAD,QACC,yEAAC,4DAAD;AAAQ,mBAAS,EAAE,IAAnB;AAAyB,iBAAO,EAAGI,cAAnC;AAAoD,cAAI,EAAGM,0DAAE,CAAE,UAAF,EAAc,YAAd;AAA7D,UADD,CADD,CATA;AAPF,OADO;AAHT,MADD;AAgCA,GAlDD;AAoDA;AACD;AACA;AACA;AACA;;;AACC,QAAMC,YAAY,GAAK/B,KAAF,IAAa;AACjC,UAAMe,QAAQ,GAAI,GAAEpB,QAAQ,CAACqB,SAAU,6BAAvC;AAEA,WACC,yEAAC,2DAAD;AACC,cAAQ,EAAGhB,KAAK,CAACwB,cADlB;AAEC,eAAS,EAAC,4CAFX;AAGC,WAAK,EAAG,CACP;AACCI,aAAK,EACJ,0FACC;AAAK,aAAG,EAAEb;AAAV,UADD,CAFF;AAMCc,eAAO,EACN,4IACA;AAAK,mBAAS,EAAC;AAAf,WACC,qFAAMC,0DAAE,CAAE,yBAAF,EAA6B,YAA7B,CAAR,CADD,CADA,EAIA;AAAK,mBAAS,EAAC;AAAf,WACC,oFAAKA,0DAAE,CAAE,gFAAF,EAAoF,YAApF,CAAP,CADD,EAEC,qFACC,qFAAMA,0DAAE,CAAE,oCAAF,EAAwC,YAAxC,CAAR,CADD,EAEC,qFAAMA,0DAAE,CAAE,qCAAF,EAAyC,YAAzC,CAAR,CAFD,EAGC,qFAAMA,0DAAE,CAAE,wCAAF,EAA4C,YAA5C,CAAR,CAHD,EAIC,qFAAMA,0DAAE,CAAE,+BAAF,EAAmC,YAAnC,CAAR,CAJD,CAFD,EAQC,oFAAKA,0DAAE,CAAE,8BAAF,EAAkC,YAAlC,CAAP,CARD,CAJA,EAcA;AAAK,mBAAS,EAAC;AAAf,WACC,yEAAC,iEAAD,QACC,yEAAC,4DAAD;AAAQ,mBAAS,EAAE,IAAnB;AAAyB,cAAI,EAAC,+BAA9B;AAA8D,gBAAM,EAAC,QAArE;AAA8E,cAAI,EAAGA,0DAAE,CAAE,0BAAF,EAA8B,YAA9B;AAAvF,UADD,EAEC,yEAAC,4DAAD;AAAQ,qBAAW,EAAE,IAArB;AAA2B,iBAAO,EAAG9B,KAAK,CAACwB,cAA3C;AAA4D,cAAI,EAAGM,0DAAE,CAAE,mBAAF,EAAuB,YAAvB;AAArE,UAFD,CADD,CAdA;AAPF,OADO;AAHT,MADD;AAsCA,GAzCD;;AA2CA,QAAME,wBAAwB,GAAG9B,+FAAe,CAAER,CAAF,EAAKC,QAAL,CAAhD;;AAEA,QAAMsC,oBAAN,SAAmCD,wBAAnC,CAA4D;AAE3DE,uBAAmB,GAAG;AACrB,UAAIjC,KAAK,GACR,yEAAC,eAAD;AACC,sBAAc,EAAG,KAAKO,UAAL,CAAgB2B,IAAhB,CAAsB,IAAtB,EAA4B,YAA5B,CADlB;AAEC,cAAM,EAAGxC,QAAQ,CAACyC;AAFnB,QADD;AAMA,WAAK7B,SAAL,CAAgBN,KAAhB;AACA;;AAEDoC,oBAAgB,GAAG;AAClB,UAAIpC,KAAK,GAAG,yEAAC,YAAD;AAAc,sBAAc,EAAG,KAAKO,UAAL,CAAgB2B,IAAhB,CAAsB,IAAtB,EAA4B,SAA5B;AAA/B,QAAZ;AAEA,WAAK5B,SAAL,CAAgBN,KAAhB;AACA;;AAhB0D;;AAkB3D;AAED,MAAIqC,UAAU,GAAGC,MAAM,CAACD,UAAP,IAAqB,EAAtC;AACAC,QAAM,CAACD,UAAP,GAAoBA,UAApB;AAEAA,YAAU,CAACE,MAAX,GAAoB,IAAIP,oBAAJ,EAApB;AAEA,CAtID,EAsIKQ,MAtIL,EAsIaC,kCAtIb,E;;;;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,6E;;;;;;;;;;;AChBA,aAAa,6CAA6C,EAAE,I;;;;;;;;;;;ACA5D,aAAa,0CAA0C,EAAE,I;;;;;;;;;;;ACAzD,aAAa,uCAAuC,EAAE,I","file":"dashboard-modals.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./build/inc/assets/jsx/src/admin/dashboard-modals.js\");\n","import { SlotFillProvider, Button, Modal, Guide, Popover, Notice, ExternalLink, TextControl, CheckboxControl, BaseControl } from '@wordpress/components';\nimport { useState, useReducer, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n *\n * Modal handler class\n *\n */\nexport default function( $, settings ) {\n\n\tconst { render } = wp.element;\n\n\t/**\n\t *\n\t * Modal wrapper\n\t *\n\t */\n\tconst ModalProvider = ( props ) => {\n\t\treturn (\n\t\t\t<SlotFillProvider>\n\t\t\t\t{ props.modal }\n\t\t\t\t<Popover.Slot />\n\t\t\t</SlotFillProvider>\n\t\t);\n\t};\n\t\n\treturn class DashboardModals {\n\n\t\tarea = null;\n\t\t\n\t\tconstructor() {\n\t\t\tthis.area = document.getElementById( 'happyforms-modals-area' );\n\t\t}\n\n\t\topenModal( modal ) {\n\t\t\trender( <ModalProvider modal={modal}></ModalProvider>, this.area );\n\t\t}\n\n\t\tcloseModal( modal ) {\n\t\t\trender( <></>, this.area );\n\n\t\t\t$.post( ajaxurl, {\n\t\t\t\taction: settings.actionModalDismiss,\n\t\t\t\tid: modal, \n\t\t\t} );\n\t\t}\n\n\t};\n\n}","import DashboardModals from '@happyforms/core/jsx/src/admin/dashboard-modals';\nimport { SlotFillProvider, Button, Modal, Guide, Popover, Notice, ExternalLink, TextControl, CheckboxControl, BaseControl } from '@wordpress/components';\nimport { useState, useReducer, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n( function( $, settings ) {\n\n\t/**\n\t *\n\t * Onboarding modal\n\t *\n\t */\n\tconst OnboardingModal = ( props ) => {\n\t\tconst imageURL = `${settings.pluginURL}/inc/assets/img/welcome.svg`;\n\t\tconst [ email, setEmail ] = useState( '' );\n\n\t\tconst onEmailChange = ( e ) => {\n\t\t\tsetEmail( e.target.value );\n\t\t};\n\n\t\tconst onRequestClose = () => {\n\t\t\t$.post( ajaxurl, {\n\t\t\t\taction: settings.onboardingModalAction,\n\t\t\t\t_wpnonce: settings.onboardingModalNonce,\n\t\t\t\temail: email,\n\t\t\t} );\n\n\t\t\treturn props.onRequestClose();\n\t\t}\n\n\t\treturn(\n\t\t\t<Guide\n\t\t\t\tonFinish={ onRequestClose }\n\t\t\t\tclassName=\"happyforms-modal happyforms-modal--onboarding\"\n\t\t\t\tpages={ [\n\t\t\t\t\t{\n\t\t\t\t\t\timage: (\n\t\t\t\t\t\t\t<picture>\n\t\t\t\t\t\t\t\t<img src={imageURL} />\n\t\t\t\t\t\t\t</picture>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__header\">\n\t\t\t\t\t\t\t\t<h1>{ __( 'One last thing', 'happyforms' ) }</h1>\n\t\t\t\t\t\t\t\t<p>{ __( 'We\\'ll occasionally send you emails about plugin updates. And don\\'t sweat it, you can unsubscribe anytime.', 'happyforms' ) }</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__body\">\n\t\t\t\t\t\t\t\t<label>{ __( 'Email address', 'happyforms' ) }</label>\n\t\t\t\t\t\t\t\t<input type=\"email\" value={ email } onChange={ onEmailChange } autoFocus />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__footer\">\n\t\t\t\t\t\t\t\t<BaseControl>\n\t\t\t\t\t\t\t\t\t<Button isPrimary={true} onClick={ onRequestClose } text={ __( 'Continue', 'happyforms' ) }></Button>\n\t\t\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t *\n\t * Upgrade modal\n\t *\n\t */\n\tconst UpgradeModal = ( props ) => {\n\t\tconst imageURL = `${settings.pluginURL}/inc/assets/img/upgrade.svg`;\n\n\t\treturn(\n\t\t\t<Guide\n\t\t\t\tonFinish={ props.onRequestClose }\n\t\t\t\tclassName=\"happyforms-modal happyforms-modal--upgrade\"\n\t\t\t\tpages={ [\n\t\t\t\t\t{\n\t\t\t\t\t\timage: (\n\t\t\t\t\t\t\t<picture>\n\t\t\t\t\t\t\t\t<img src={imageURL} />\n\t\t\t\t\t\t\t</picture>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcontent: (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__header\">\n\t\t\t\t\t\t\t\t<h1>{ __( 'Start with a free trial', 'happyforms' ) }</h1>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__body\">\n\t\t\t\t\t\t\t\t<p>{ __( 'You\\'re just a mouse click and a few key taps away from building better forms.', 'happyforms' ) }</p>\n\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t<li>{ __( 'Advanced features and integrations', 'happyforms' ) }</li>\n\t\t\t\t\t\t\t\t\t<li>{ __( 'Help from our friendly support team', 'happyforms' ) }</li>\n\t\t\t\t\t\t\t\t\t<li>{ __( 'Automatically transfer your free forms', 'happyforms' ) }</li>\n\t\t\t\t\t\t\t\t\t<li>{ __( 'New updates every second week', 'happyforms' ) }</li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t<p>{ __( 'Ready to build better forms?', 'happyforms' ) }</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"happyforms-modal__footer\">\n\t\t\t\t\t\t\t\t<BaseControl>\n\t\t\t\t\t\t\t\t\t<Button isPrimary={true} href=\"https://happyforms.io/upgrade\" target=\"_blank\" text={ __( 'Start a Free 7-day Trial', 'happyforms' ) }></Button>\n\t\t\t\t\t\t\t\t\t<Button isSecondary={true} onClick={ props.onRequestClose } text={ __( 'Nope, Maybe Later', 'happyforms' ) }></Button>\n\t\t\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst DashboardModalsBaseClass = DashboardModals( $, settings );\n\n\tclass DashboardModalsClass extends DashboardModalsBaseClass {\n\n\t\topenOnboardingModal() {\n\t\t\tvar modal = (\n\t\t\t\t<OnboardingModal\n\t\t\t\t\tonRequestClose={ this.closeModal.bind( this, 'onboarding' ) }\n\t\t\t\t\tstatus={ settings.trackingStatus } />\n\t\t\t);\n\n\t\t\tthis.openModal( modal );\n\t\t}\n\n\t\topenUpgradeModal() {\n\t\t\tvar modal = <UpgradeModal onRequestClose={ this.closeModal.bind( this, 'upgrade' ) } />\n\n\t\t\tthis.openModal( modal );\n\t\t}\n\n\t};\n\n\tvar happyForms = window.happyForms || {};\n\twindow.happyForms = happyForms;\n\n\thappyForms.modals = new DashboardModalsClass();\n\n} )( jQuery, _happyFormsDashboardModalsSettings );\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","(function() { module.exports = window[\"wp\"][\"components\"]; }());","(function() { module.exports = window[\"wp\"][\"element\"]; }());","(function() { module.exports = window[\"wp\"][\"i18n\"]; }());"],"sourceRoot":""}
inc/assets/jsx/src/admin/dashboard-modals.js CHANGED
@@ -11,7 +11,7 @@ import { __, sprintf } from '@wordpress/i18n';
11
  *
12
  */
13
  const OnboardingModal = ( props ) => {
14
- const imageURL = `${settings.pluginURL}/inc/assets/img/welcome.gif`;
15
  const [ email, setEmail ] = useState( '' );
16
 
17
  const onEmailChange = ( e ) => {
@@ -36,14 +36,14 @@ import { __, sprintf } from '@wordpress/i18n';
36
  {
37
  image: (
38
  <picture>
39
- <img src={imageURL} width="450" height="276" />
40
  </picture>
41
  ),
42
  content: (
43
  <>
44
  <div className="happyforms-modal__header">
45
- <h1>{ __( 'Welcome to Happyforms', 'happyforms' ) }</h1>
46
- <p>{ __( 'We\'ll send you a few emails each month about plugin updates. And don\'t sweat it, you can unsubscribe anytime.', 'happyforms' ) }</p>
47
  </div>
48
  <div className="happyforms-modal__body">
49
  <label>{ __( 'Email address', 'happyforms' ) }</label>
@@ -68,7 +68,7 @@ import { __, sprintf } from '@wordpress/i18n';
68
  *
69
  */
70
  const UpgradeModal = ( props ) => {
71
- const imageURL = `${settings.pluginURL}/inc/assets/img/alrighty.gif`;
72
 
73
  return(
74
  <Guide
@@ -78,23 +78,23 @@ import { __, sprintf } from '@wordpress/i18n';
78
  {
79
  image: (
80
  <picture>
81
- <img src={imageURL} width="450" height="276" />
82
  </picture>
83
  ),
84
  content: (
85
  <>
86
  <div className="happyforms-modal__header">
87
- <h1>{ __( 'Start with a free 7-day trial', 'happyforms' ) }</h1>
88
  </div>
89
  <div className="happyforms-modal__body">
90
- <p>{ __( 'You\'re just a mouse click and a few key taps away from building better forms for your site. And don\'t sweat it, you can upgrade, downgrade or cancel your trial anytime.', 'happyforms' ) }</p>
91
  <ul>
92
  <li>{ __( 'Advanced features and integrations', 'happyforms' ) }</li>
93
- <li>{ __( 'Help from the friendliest support team around', 'happyforms' ) }</li>
94
- <li>{ __( 'Automatically transfer over your free forms', 'happyforms' ) }</li>
95
- <li>{ __( 'New goodies released every second week', 'happyforms' ) }</li>
96
  </ul>
97
- <p>{ __( 'So whattaya say? Ready to build better forms today?', 'happyforms' ) }</p>
98
  </div>
99
  <div className="happyforms-modal__footer">
100
  <BaseControl>
11
  *
12
  */
13
  const OnboardingModal = ( props ) => {
14
+ const imageURL = `${settings.pluginURL}/inc/assets/img/welcome.svg`;
15
  const [ email, setEmail ] = useState( '' );
16
 
17
  const onEmailChange = ( e ) => {
36
  {
37
  image: (
38
  <picture>
39
+ <img src={imageURL} />
40
  </picture>
41
  ),
42
  content: (
43
  <>
44
  <div className="happyforms-modal__header">
45
+ <h1>{ __( 'One last thing', 'happyforms' ) }</h1>
46
+ <p>{ __( 'We\'ll occasionally send you emails about plugin updates. And don\'t sweat it, you can unsubscribe anytime.', 'happyforms' ) }</p>
47
  </div>
48
  <div className="happyforms-modal__body">
49
  <label>{ __( 'Email address', 'happyforms' ) }</label>
68
  *
69
  */
70
  const UpgradeModal = ( props ) => {
71
+ const imageURL = `${settings.pluginURL}/inc/assets/img/upgrade.svg`;
72
 
73
  return(
74
  <Guide
78
  {
79
  image: (
80
  <picture>
81
+ <img src={imageURL} />
82
  </picture>
83
  ),
84
  content: (
85
  <>
86
  <div className="happyforms-modal__header">
87
+ <h1>{ __( 'Start with a free trial', 'happyforms' ) }</h1>
88
  </div>
89
  <div className="happyforms-modal__body">
90
+ <p>{ __( 'You\'re just a mouse click and a few key taps away from building better forms.', 'happyforms' ) }</p>
91
  <ul>
92
  <li>{ __( 'Advanced features and integrations', 'happyforms' ) }</li>
93
+ <li>{ __( 'Help from our friendly support team', 'happyforms' ) }</li>
94
+ <li>{ __( 'Automatically transfer your free forms', 'happyforms' ) }</li>
95
+ <li>{ __( 'New updates every second week', 'happyforms' ) }</li>
96
  </ul>
97
+ <p>{ __( 'Ready to build better forms?', 'happyforms' ) }</p>
98
  </div>
99
  <div className="happyforms-modal__footer">
100
  <BaseControl>
inc/classes/class-happyforms.php CHANGED
@@ -23,7 +23,6 @@ class HappyForms extends HappyForms_Core {
23
  add_action( 'happyforms_modal_dismissed', [ $this, 'modal_dismissed' ] );
24
  add_action( "wp_ajax_{$this->action_onboarding}", [ $this, 'ajax_action_onboarding' ] );
25
  add_filter( 'happyforms_dashboard_modal_settings', [ $this, 'get_dashboard_modal_settings' ] );
26
- add_action( 'admin_print_footer_scripts', array( $this, 'admin_print_footer_scripts' ) );
27
 
28
  if ( is_admin() ) {
29
  require_once( happyforms_get_integrations_folder() . '/classes/class-integrations-page-controller.php' );
@@ -133,16 +132,16 @@ class HappyForms extends HappyForms_Core {
133
  'label' => __( 'Require respondents to review a submission before submitting', 'happyforms' ),
134
  );
135
 
136
- $controls[2300] = array(
137
- 'type' => 'checkbox_dummy',
138
  'dummy_id' => 'restrict_entries',
139
- 'label' => __( 'Limit submissions', 'happyforms' ),
140
  );
141
 
142
  $controls[3190] = array(
143
- 'type' => 'checkbox_dummy',
144
- 'dummy_id' => 'delete_submission_after',
145
- 'label' => __( 'Delete permanently replies and attachments after set number of days', 'happyforms' ),
146
  );
147
 
148
  $controls[3191] = array(
@@ -195,6 +194,10 @@ class HappyForms extends HappyForms_Core {
195
  require( happyforms_get_include_folder() . '/templates/customize-controls/checkbox_dummy.php' );
196
  }
197
 
 
 
 
 
198
  if ( 'email-parts-list_dummy' === $type ) {
199
  require( happyforms_get_include_folder() . '/templates/customize-controls/email-parts-list-dummy.php' );
200
  }
@@ -222,6 +225,7 @@ class HappyForms extends HappyForms_Core {
222
  );
223
 
224
  $this->enqueue_onboarding_modal();
 
225
  }
226
 
227
  public function parse_archive_request() {
@@ -325,6 +329,47 @@ class HappyForms extends HappyForms_Core {
325
  );
326
  }
327
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
328
  public function modal_dismissed( $id ) {
329
  if ( 'onboarding' === $id ) {
330
  happyforms_get_tracking()->update_status( 2 );
@@ -367,41 +412,4 @@ class HappyForms extends HappyForms_Core {
367
  }
368
  }
369
 
370
- public function admin_print_footer_scripts() {
371
- global $pagenow;
372
-
373
- $message_post_type = happyforms_get_message_controller()->dummy_type;
374
- $current_post_type = get_current_screen()->post_type;
375
-
376
- $is_activity_screen = (
377
- in_array( $pagenow, array( 'edit.php', 'post.php' ) )
378
- && ( $current_post_type === $message_post_type )
379
- );
380
-
381
- $is_integrations_screen = (
382
- isset( $_GET['page'] )
383
- && 'happyforms-integrations' === $_GET['page']
384
- );
385
-
386
- if ( ! $is_activity_screen && ! $is_integrations_screen ) {
387
- return;
388
- }
389
-
390
- ?>
391
- <script type="text/javascript">
392
- ( function( $ ) {
393
-
394
- happyForms.modals.closeModal = function() {
395
- window.location.href = '<?php echo get_admin_url() . 'edit.php?post_type=happyform'; ?>';
396
- }
397
-
398
- $( function() {
399
- happyForms.modals.openUpgradeModal();
400
- } );
401
-
402
- } )( jQuery );
403
- </script>
404
- <?php
405
- }
406
-
407
  }
23
  add_action( 'happyforms_modal_dismissed', [ $this, 'modal_dismissed' ] );
24
  add_action( "wp_ajax_{$this->action_onboarding}", [ $this, 'ajax_action_onboarding' ] );
25
  add_filter( 'happyforms_dashboard_modal_settings', [ $this, 'get_dashboard_modal_settings' ] );
 
26
 
27
  if ( is_admin() ) {
28
  require_once( happyforms_get_integrations_folder() . '/classes/class-integrations-page-controller.php' );
132
  'label' => __( 'Require respondents to review a submission before submitting', 'happyforms' ),
133
  );
134
 
135
+ $controls[2301] = array(
136
+ 'type' => 'number_dummy',
137
  'dummy_id' => 'restrict_entries',
138
+ 'label' => __( 'Max number of submissions', 'happyforms' ),
139
  );
140
 
141
  $controls[3190] = array(
142
+ 'type' => 'number_dummy',
143
+ 'dummy_id' => 'delete_submission_days',
144
+ 'label' => __( "Erase respondent's personal data after set number of days", 'happyforms' ),
145
  );
146
 
147
  $controls[3191] = array(
194
  require( happyforms_get_include_folder() . '/templates/customize-controls/checkbox_dummy.php' );
195
  }
196
 
197
+ if ( 'number_dummy' === $type ) {
198
+ require( happyforms_get_include_folder() . '/templates/customize-controls/number_dummy.php' );
199
+ }
200
+
201
  if ( 'email-parts-list_dummy' === $type ) {
202
  require( happyforms_get_include_folder() . '/templates/customize-controls/email-parts-list-dummy.php' );
203
  }
225
  );
226
 
227
  $this->enqueue_onboarding_modal();
228
+ $this->enqueue_upgrade_modal();
229
  }
230
 
231
  public function parse_archive_request() {
329
  );
330
  }
331
 
332
+ public function enqueue_upgrade_modal() {
333
+ global $pagenow;
334
+
335
+ $message_post_type = happyforms_get_message_controller()->dummy_type;
336
+ $current_post_type = get_current_screen()->post_type;
337
+
338
+ $is_activity_screen = (
339
+ in_array( $pagenow, array( 'edit.php', 'post.php' ) )
340
+ && ( $current_post_type === $message_post_type )
341
+ );
342
+
343
+ $is_integrations_screen = (
344
+ isset( $_GET['page'] )
345
+ && 'happyforms-integrations' === $_GET['page']
346
+ );
347
+
348
+ if ( ! $is_activity_screen && ! $is_integrations_screen ) {
349
+ return;
350
+ }
351
+
352
+ ob_start();
353
+ ?>
354
+
355
+ ( function( $ ) {
356
+
357
+ happyForms.modals.closeModal = function() {
358
+ window.location.href = '<?php echo get_admin_url() . 'edit.php?post_type=happyform'; ?>';
359
+ }
360
+
361
+ $( function() {
362
+ happyForms.modals.openUpgradeModal();
363
+ } );
364
+
365
+ } )( jQuery );
366
+
367
+ <?php
368
+ $script = ob_get_clean();
369
+
370
+ wp_add_inline_script( 'happyforms-dashboard-modals', $script );
371
+ }
372
+
373
  public function modal_dismissed( $id ) {
374
  if ( 'onboarding' === $id ) {
375
  happyforms_get_tracking()->update_status( 2 );
412
  }
413
  }
414
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
415
  }
inc/classes/class-message-controller.php CHANGED
@@ -170,14 +170,21 @@ class HappyForms_Message_Controller {
170
 
171
  // Validate honeypot
172
  if ( happyforms_get_form_controller()->has_honeypot_protection( $form ) ) {
173
- if ( ! $this->validate_honeypot( $form ) ) {
174
  define( 'HAPPYFORMS_IS_SPAMBOT', true );
175
  }
176
  }
177
 
178
  // Validate hash
179
  if ( happyforms_get_form_controller()->has_hash_protection( $form ) ) {
180
- if ( ! $this->validate_hash( $form ) ) {
 
 
 
 
 
 
 
181
  define( 'HAPPYFORMS_IS_SPAMBOT', true );
182
  }
183
  }
@@ -267,54 +274,6 @@ class HappyForms_Message_Controller {
267
  wp_send_json_success( $response );
268
  }
269
 
270
- /**
271
- * Verify honeypot data.
272
- *
273
- * @since 1.3
274
- *
275
- * @param array $form Current form data.
276
- *
277
- * @return boolean
278
- */
279
- private function validate_honeypot( $form ) {
280
- $honeypot_name = $form['ID'] . 'single_line_text_-1';
281
- $names = array( 'single_line_text', 'multi_line_text', 'number' );
282
- $validated = true;
283
-
284
- foreach( $names as $key ) {
285
- $name = $form['ID'] . '-' . $key;
286
-
287
- if ( isset( $_REQUEST[$name] ) ) {
288
- $validated = $validated && ( empty( $_REQUEST[$name] ) );
289
- }
290
- }
291
-
292
- return $validated;
293
- }
294
-
295
- private function validate_hash( $form ) {
296
- $validated = true;
297
-
298
- if ( ! isset( $_POST['hash'] ) ) {
299
- $validated = false;
300
- }
301
-
302
- array_walk_recursive( $_POST, function( $value, $key ) use( &$hash ) {
303
- if ( 'hash' !== $key ) {
304
- $hash .= $value;
305
- }
306
- } );
307
-
308
- $hash = preg_replace( '/[^\w\d]/m', '', $hash );
309
- $hash = md5( $hash );
310
-
311
- if ( $hash !== $_POST['hash'] ) {
312
- $validated = false;
313
- }
314
-
315
- return $validated;
316
- }
317
-
318
  public function validate_part( $form, $part, $request ) {
319
  $part_class = happyforms_get_part_library()->get_part( $part['type'] );
320
 
170
 
171
  // Validate honeypot
172
  if ( happyforms_get_form_controller()->has_honeypot_protection( $form ) ) {
173
+ if ( ! happyforms_validate_honeypot( $form ) ) {
174
  define( 'HAPPYFORMS_IS_SPAMBOT', true );
175
  }
176
  }
177
 
178
  // Validate hash
179
  if ( happyforms_get_form_controller()->has_hash_protection( $form ) ) {
180
+ if ( ! happyforms_validate_hash( $form ) ) {
181
+ define( 'HAPPYFORMS_IS_SPAMBOT', true );
182
+ }
183
+ }
184
+
185
+ // Validate browser
186
+ if ( happyforms_get_form_controller()->has_browser_protection( $form ) ) {
187
+ if ( ! happyforms_validate_browser( $form ) ) {
188
  define( 'HAPPYFORMS_IS_SPAMBOT', true );
189
  }
190
  }
274
  wp_send_json_success( $response );
275
  }
276
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
277
  public function validate_part( $form, $part, $request ) {
278
  $part_class = happyforms_get_part_library()->get_part( $part['type'] );
279
 
inc/classes/parts/class-part-phone-dummy.php CHANGED
@@ -6,7 +6,7 @@ class HappyForms_Part_Phone_Dummy extends HappyForms_Form_Part {
6
 
7
  public function __construct() {
8
  $this->label = __( 'Phone', 'happyforms' );
9
- $this->description = __( 'For phone numbers. Includes country specific formatting.', 'happyforms' );
10
  }
11
 
12
  }
6
 
7
  public function __construct() {
8
  $this->label = __( 'Phone', 'happyforms' );
9
+ $this->description = __( 'For collecting a local or international phone number.', 'happyforms' );
10
  }
11
 
12
  }
inc/templates/customize-controls/number_dummy.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <div class="customize-control customize-control-number customize-control-number_dummy input_dummy" id="customize-control-<?php echo $control['dummy_id']; ?>">
2
+ <div class="customize-inside-control-row" data-pointer-target>
3
+ <label for="max_entries" class="customize-control-title">
4
+ <?php echo $control['label']; ?> <span class="members-only"><?php _e( 'Members Only', 'happyforms') ?></span>
5
+ </label>
6
+ <input type="number" />
7
+ </div>
8
+ </div>
integrations/templates/widget-integrately-dummy.php CHANGED
@@ -4,7 +4,7 @@
4
  <div class="widget-content">
5
  <label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
6
  <div class="hf-pwd">
7
- <input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="<?php echo wp_generate_uuid4(); ?>" />
8
  <button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
9
  <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
10
  </button>
4
  <div class="widget-content">
5
  <label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
6
  <div class="hf-pwd">
7
+ <input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
8
  <button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
9
  <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
10
  </button>
integrations/templates/widget-integromat-dummy.php CHANGED
@@ -4,7 +4,7 @@
4
  <div class="widget-content">
5
  <label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
6
  <div class="hf-pwd">
7
- <input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="<?php echo wp_generate_uuid4(); ?>" />
8
  <button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
9
  <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
10
  </button>
4
  <div class="widget-content">
5
  <label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
6
  <div class="hf-pwd">
7
+ <input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
8
  <button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
9
  <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
10
  </button>
integrations/templates/widget-zapier-dummy.php CHANGED
@@ -4,7 +4,7 @@
4
  <div class="widget-content">
5
  <label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
6
  <div class="hf-pwd">
7
- <input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="<?php echo wp_generate_uuid4(); ?>" />
8
  <button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
9
  <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
10
  </button>
4
  <div class="widget-content">
5
  <label for=""><?php _e( 'API key', 'happyforms' ); ?></label>
6
  <div class="hf-pwd">
7
+ <input type="password" class="widefat happyforms-credentials-input connected" id="" name="" value="" />
8
  <button type="button" class="button button-secondary hf-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-show="<?php _e( 'Show credentials', 'happyforms' ); ?>" data-label-hide="<?php _e( 'Hide credentials', 'happyforms' ); ?>">
9
  <span class="dashicons dashicons-visibility" aria-hidden="true"></span>
10
  </button>
languages/happyforms.pot CHANGED
@@ -2,16 +2,16 @@
2
  # This file is distributed under the same license as the Happyforms (free) plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Happyforms (free) 1.15.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/happyforms/\n"
7
  "Last-Translator: The Theme Foundry\n"
8
  "Language-Team: The Theme Foundry\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-05-10T11:51:07+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
- "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: happyforms\n"
16
 
17
  #. Plugin Name of the plugin
@@ -33,8 +33,8 @@ msgstr ""
33
 
34
  #: core/classes/class-block.php:52
35
  #: core/classes/class-form-controller.php:73
36
- #: core/classes/class-happyforms-core.php:185
37
  #: core/classes/class-happyforms-core.php:186
 
38
  #: core/classes/class-happyforms-widget.php:13
39
  #: core/helpers/helper-misc.php:1021
40
  msgid "Forms"
@@ -101,8 +101,8 @@ msgid "Form"
101
  msgstr ""
102
 
103
  #: core/classes/class-form-controller.php:75
104
- #: core/classes/class-happyforms-core.php:201
105
  #: core/classes/class-happyforms-core.php:202
 
106
  msgid "Add New"
107
  msgstr ""
108
 
@@ -129,6 +129,7 @@ msgstr ""
129
 
130
  #: core/classes/class-form-controller.php:82
131
  #: core/assets/jsx/build/admin/block.js:144
 
132
  msgid "No forms found."
133
  msgstr ""
134
 
@@ -138,8 +139,8 @@ msgstr ""
138
 
139
  #: core/classes/class-form-controller.php:84
140
  #: core/classes/class-form-controller.php:85
141
- #: core/classes/class-happyforms-core.php:193
142
  #: core/classes/class-happyforms-core.php:194
 
143
  msgid "All Forms"
144
  msgstr ""
145
 
@@ -168,7 +169,7 @@ msgid "Email me a copy of each submission"
168
  msgstr ""
169
 
170
  #: core/classes/class-form-email.php:96
171
- #: inc/assets/jsx/build/admin/dashboard-modals.js:215
172
  #: inc/assets/jsx/src/admin/dashboard-modals.js:49
173
  msgid "Email address"
174
  msgstr ""
@@ -401,11 +402,6 @@ msgstr ""
401
  msgid "Submit form"
402
  msgstr ""
403
 
404
- #: core/classes/class-form-shuffle.php:43
405
- #: inc/classes/class-happyforms.php:109
406
- msgid "Shuffle order of fields"
407
- msgstr ""
408
-
409
  #: core/classes/class-form-styles.php:54
410
  msgid "Left-to-right"
411
  msgstr ""
@@ -826,26 +822,27 @@ msgstr ""
826
  msgid "Additional CSS"
827
  msgstr ""
828
 
829
- #: core/classes/class-happyforms-core.php:209
830
  #: core/classes/class-happyforms-core.php:210
831
- #: inc/classes/class-message-controller.php:576
832
- #: inc/classes/class-message-controller.php:577
 
833
  msgid "Activity"
834
  msgstr ""
835
 
836
- #: core/classes/class-happyforms-core.php:218
837
  #: core/classes/class-happyforms-core.php:219
 
838
  #: integrations/templates/admin-integrations.php:3
839
  msgid "Integrations"
840
  msgstr ""
841
 
842
- #: core/classes/class-happyforms-core.php:227
843
  #: core/classes/class-happyforms-core.php:228
 
844
  #: core/assets/jsx/build/admin/block.js:173
 
845
  msgid "Settings"
846
  msgstr ""
847
 
848
- #: core/classes/class-happyforms-core.php:469
849
  msgid "Add Form"
850
  msgstr ""
851
 
@@ -1120,1293 +1117,904 @@ msgstr ""
1120
  msgid "December"
1121
  msgstr ""
1122
 
1123
- #: core/helpers/helper-form-templates.php:1017
1124
- msgid "Ascension Island"
1125
- msgstr ""
1126
-
1127
- #: core/helpers/helper-form-templates.php:1018
1128
- #: core/helpers/helper-misc.php:228
1129
- msgid "Andorra"
1130
- msgstr ""
1131
-
1132
- #: core/helpers/helper-form-templates.php:1019
1133
- #: core/helpers/helper-misc.php:446
1134
- msgid "United Arab Emirates"
1135
  msgstr ""
1136
 
1137
- #: core/helpers/helper-form-templates.php:1020
1138
  #: core/helpers/helper-misc.php:224
1139
  msgid "Afghanistan"
1140
  msgstr ""
1141
 
1142
- #: core/helpers/helper-form-templates.php:1021
1143
- #: core/helpers/helper-misc.php:232
1144
- msgid "Antigua and Barbuda"
1145
  msgstr ""
1146
 
1147
- #: core/helpers/helper-form-templates.php:1022
1148
- #: core/helpers/helper-misc.php:230
1149
- msgid "Anguilla"
1150
  msgstr ""
1151
 
1152
- #: core/helpers/helper-form-templates.php:1023
1153
- #: core/helpers/helper-misc.php:225
1154
- msgid "Albania"
1155
  msgstr ""
1156
 
1157
- #: core/helpers/helper-form-templates.php:1024
1158
- #: core/helpers/helper-misc.php:234
1159
- msgid "Armenia"
1160
  msgstr ""
1161
 
1162
- #: core/helpers/helper-form-templates.php:1025
1163
  #: core/helpers/helper-misc.php:229
1164
  msgid "Angola"
1165
  msgstr ""
1166
 
1167
- #: core/helpers/helper-form-templates.php:1026
1168
- #: core/helpers/helper-misc.php:233
1169
- msgid "Argentina"
1170
  msgstr ""
1171
 
1172
- #: core/helpers/helper-form-templates.php:1027
1173
- #: core/helpers/helper-misc.php:227
1174
- msgid "American Samoa"
1175
  msgstr ""
1176
 
1177
- #: core/helpers/helper-form-templates.php:1028
1178
- #: core/helpers/helper-misc.php:237
1179
- msgid "Austria"
1180
  msgstr ""
1181
 
1182
- #: core/helpers/helper-form-templates.php:1029
1183
- #: core/helpers/helper-misc.php:236
1184
- msgid "Australia"
 
 
 
1185
  msgstr ""
1186
 
1187
- #: core/helpers/helper-form-templates.php:1030
1188
  #: core/helpers/helper-misc.php:235
1189
  msgid "Aruba"
1190
  msgstr ""
1191
 
1192
- #: core/helpers/helper-form-templates.php:1031
1193
- msgid "Åland Islands"
 
 
 
 
1194
  msgstr ""
1195
 
1196
- #: core/helpers/helper-form-templates.php:1032
1197
  #: core/helpers/helper-misc.php:238
1198
  msgid "Azerbaijan"
1199
  msgstr ""
1200
 
1201
- #: core/helpers/helper-form-templates.php:1033
1202
- msgid "Bosnia and Herzegovina"
1203
  msgstr ""
1204
 
1205
- #: core/helpers/helper-form-templates.php:1034
1206
- #: core/helpers/helper-misc.php:242
1207
- msgid "Barbados"
1208
  msgstr ""
1209
 
1210
- #: core/helpers/helper-form-templates.php:1035
1211
  #: core/helpers/helper-misc.php:241
1212
  msgid "Bangladesh"
1213
  msgstr ""
1214
 
1215
- #: core/helpers/helper-form-templates.php:1036
1216
- #: core/helpers/helper-misc.php:244
1217
- msgid "Belgium"
1218
- msgstr ""
1219
-
1220
- #: core/helpers/helper-form-templates.php:1037
1221
- #: core/helpers/helper-misc.php:257
1222
- msgid "Burkina Faso"
1223
  msgstr ""
1224
 
1225
- #: core/helpers/helper-form-templates.php:1038
1226
- #: core/helpers/helper-misc.php:256
1227
- msgid "Bulgaria"
1228
  msgstr ""
1229
 
1230
- #: core/helpers/helper-form-templates.php:1039
1231
- #: core/helpers/helper-misc.php:240
1232
- msgid "Bahrain"
1233
  msgstr ""
1234
 
1235
- #: core/helpers/helper-form-templates.php:1040
1236
- #: core/helpers/helper-misc.php:258
1237
- msgid "Burundi"
1238
  msgstr ""
1239
 
1240
- #: core/helpers/helper-form-templates.php:1041
1241
  #: core/helpers/helper-misc.php:246
1242
  msgid "Benin"
1243
  msgstr ""
1244
 
1245
- #: core/helpers/helper-form-templates.php:1042
1246
- msgid "Saint Barthélemy"
1247
- msgstr ""
1248
-
1249
- #: core/helpers/helper-form-templates.php:1043
1250
  #: core/helpers/helper-misc.php:247
1251
  msgid "Bermuda"
1252
  msgstr ""
1253
 
1254
- #: core/helpers/helper-form-templates.php:1044
1255
- #: core/helpers/helper-misc.php:255
1256
- msgid "Brunei Darussalam"
1257
  msgstr ""
1258
 
1259
- #: core/helpers/helper-form-templates.php:1045
1260
  #: core/helpers/helper-misc.php:249
1261
  msgid "Bolivia"
1262
  msgstr ""
1263
 
1264
- #: core/helpers/helper-form-templates.php:1046
1265
- msgid "Bonaire, Sint Eustatius and Saba"
 
 
 
 
 
 
 
 
1266
  msgstr ""
1267
 
1268
- #: core/helpers/helper-form-templates.php:1047
1269
  #: core/helpers/helper-misc.php:253
1270
  msgid "Brazil"
1271
  msgstr ""
1272
 
1273
- #: core/helpers/helper-form-templates.php:1048
1274
- #: core/helpers/helper-misc.php:239
1275
- msgid "Bahamas"
1276
  msgstr ""
1277
 
1278
- #: core/helpers/helper-form-templates.php:1049
1279
- #: core/helpers/helper-misc.php:248
1280
- msgid "Bhutan"
1281
  msgstr ""
1282
 
1283
- #: core/helpers/helper-form-templates.php:1050
1284
- #: core/helpers/helper-misc.php:251
1285
- msgid "Botswana"
1286
  msgstr ""
1287
 
1288
- #: core/helpers/helper-form-templates.php:1051
1289
- #: core/helpers/helper-misc.php:243
1290
- msgid "Belarus"
1291
  msgstr ""
1292
 
1293
- #: core/helpers/helper-form-templates.php:1052
1294
- #: core/helpers/helper-misc.php:245
1295
- msgid "Belize"
 
 
 
 
 
 
 
1296
  msgstr ""
1297
 
1298
- #: core/helpers/helper-form-templates.php:1053
1299
  #: core/helpers/helper-misc.php:261
1300
  msgid "Canada"
1301
  msgstr ""
1302
 
1303
- #: core/helpers/helper-form-templates.php:1054
1304
- #: core/helpers/helper-misc.php:269
1305
- msgid "Cocos (Keeling) Islands"
1306
  msgstr ""
1307
 
1308
- #: core/helpers/helper-form-templates.php:1055
1309
- #: core/helpers/helper-misc.php:273
1310
- msgid "Congo, the Democratic Republic of the"
1311
  msgstr ""
1312
 
1313
- #: core/helpers/helper-form-templates.php:1056
1314
  #: core/helpers/helper-misc.php:264
1315
  msgid "Central African Republic"
1316
  msgstr ""
1317
 
1318
- #: core/helpers/helper-form-templates.php:1057
1319
- #: core/helpers/helper-misc.php:272
1320
- msgid "Congo"
1321
  msgstr ""
1322
 
1323
- #: core/helpers/helper-form-templates.php:1058
1324
- #: core/helpers/helper-misc.php:429
1325
- msgid "Switzerland"
1326
  msgstr ""
1327
 
1328
- #: core/helpers/helper-form-templates.php:1059
1329
- msgid "Cote D'Ivoire"
1330
  msgstr ""
1331
 
1332
- #: core/helpers/helper-form-templates.php:1060
1333
- #: core/helpers/helper-misc.php:274
1334
- msgid "Cook Islands"
1335
  msgstr ""
1336
 
1337
- #: core/helpers/helper-form-templates.php:1061
1338
- #: core/helpers/helper-misc.php:266
1339
- msgid "Chile"
1340
  msgstr ""
1341
 
1342
- #: core/helpers/helper-form-templates.php:1062
1343
- #: core/helpers/helper-misc.php:260
1344
- msgid "Cameroon"
1345
  msgstr ""
1346
 
1347
- #: core/helpers/helper-form-templates.php:1063
1348
- #: core/helpers/helper-misc.php:267
1349
- msgid "China"
1350
  msgstr ""
1351
 
1352
- #: core/helpers/helper-form-templates.php:1064
1353
- #: core/helpers/helper-misc.php:270
1354
- msgid "Colombia"
1355
  msgstr ""
1356
 
1357
- #: core/helpers/helper-form-templates.php:1065
1358
- #: core/helpers/helper-misc.php:275
1359
- msgid "Costa Rica"
1360
  msgstr ""
1361
 
1362
- #: core/helpers/helper-form-templates.php:1066
1363
- #: core/helpers/helper-misc.php:278
1364
- msgid "Cuba"
1365
  msgstr ""
1366
 
1367
- #: core/helpers/helper-form-templates.php:1067
1368
- #: core/helpers/helper-misc.php:262
1369
- msgid "Cape Verde"
1370
  msgstr ""
1371
 
1372
- #: core/helpers/helper-form-templates.php:1068
1373
- msgid "Curaçao"
1374
  msgstr ""
1375
 
1376
- #: core/helpers/helper-form-templates.php:1069
1377
- #: core/helpers/helper-misc.php:268
1378
- msgid "Christmas Island"
 
 
 
1379
  msgstr ""
1380
 
1381
- #: core/helpers/helper-form-templates.php:1070
1382
  #: core/helpers/helper-misc.php:279
1383
  msgid "Cyprus"
1384
  msgstr ""
1385
 
1386
- #: core/helpers/helper-form-templates.php:1071
1387
  #: core/helpers/helper-misc.php:280
1388
  msgid "Czech Republic"
1389
  msgstr ""
1390
 
1391
- #: core/helpers/helper-form-templates.php:1072
1392
- #: core/helpers/helper-misc.php:305
1393
- msgid "Germany"
1394
  msgstr ""
1395
 
1396
- #: core/helpers/helper-form-templates.php:1073
1397
  #: core/helpers/helper-misc.php:282
1398
  msgid "Djibouti"
1399
  msgstr ""
1400
 
1401
- #: core/helpers/helper-form-templates.php:1074
1402
- #: core/helpers/helper-misc.php:281
1403
- msgid "Denmark"
1404
- msgstr ""
1405
-
1406
- #: core/helpers/helper-form-templates.php:1075
1407
  #: core/helpers/helper-misc.php:283
1408
  msgid "Dominica"
1409
  msgstr ""
1410
 
1411
- #: core/helpers/helper-form-templates.php:1076
1412
  #: core/helpers/helper-misc.php:284
1413
  msgid "Dominican Republic"
1414
  msgstr ""
1415
 
1416
- #: core/helpers/helper-form-templates.php:1077
1417
- #: core/helpers/helper-misc.php:226
1418
- msgid "Algeria"
1419
  msgstr ""
1420
 
1421
- #: core/helpers/helper-form-templates.php:1078
1422
  #: core/helpers/helper-misc.php:286
1423
  msgid "Ecuador"
1424
  msgstr ""
1425
 
1426
- #: core/helpers/helper-form-templates.php:1079
1427
- #: core/helpers/helper-misc.php:291
1428
- msgid "Estonia"
1429
- msgstr ""
1430
-
1431
- #: core/helpers/helper-form-templates.php:1080
1432
  #: core/helpers/helper-misc.php:287
1433
  msgid "Egypt"
1434
  msgstr ""
1435
 
1436
- #: core/helpers/helper-form-templates.php:1081
1437
- #: core/helpers/helper-misc.php:458
1438
- msgid "Western Sahara"
 
 
 
1439
  msgstr ""
1440
 
1441
- #: core/helpers/helper-form-templates.php:1082
1442
  #: core/helpers/helper-misc.php:290
1443
  msgid "Eritrea"
1444
  msgstr ""
1445
 
1446
- #: core/helpers/helper-form-templates.php:1083
1447
- #: core/helpers/helper-misc.php:420
1448
- msgid "Spain"
1449
  msgstr ""
1450
 
1451
- #: core/helpers/helper-form-templates.php:1084
1452
  #: core/helpers/helper-misc.php:292
1453
  msgid "Ethiopia"
1454
  msgstr ""
1455
 
1456
- #: core/helpers/helper-form-templates.php:1085
1457
- #: core/helpers/helper-misc.php:296
1458
- msgid "Finland"
1459
- msgstr ""
1460
-
1461
- #: core/helpers/helper-form-templates.php:1086
1462
- #: core/helpers/helper-misc.php:295
1463
- msgid "Fiji"
1464
- msgstr ""
1465
-
1466
- #: core/helpers/helper-form-templates.php:1087
1467
  #: core/helpers/helper-misc.php:293
1468
  msgid "Falkland Islands (Malvinas)"
1469
  msgstr ""
1470
 
1471
- #: core/helpers/helper-form-templates.php:1088
1472
- #: core/helpers/helper-misc.php:364
1473
- msgid "Micronesia, Federated States of"
1474
- msgstr ""
1475
-
1476
- #: core/helpers/helper-form-templates.php:1089
1477
  #: core/helpers/helper-misc.php:294
1478
  msgid "Faroe Islands"
1479
  msgstr ""
1480
 
1481
- #: core/helpers/helper-form-templates.php:1090
1482
- #: core/helpers/helper-misc.php:297
1483
- msgid "France"
1484
- msgstr ""
1485
-
1486
- #: core/helpers/helper-form-templates.php:1091
1487
- #: core/helpers/helper-misc.php:302
1488
- msgid "Gabon"
1489
  msgstr ""
1490
 
1491
- #: core/helpers/helper-form-templates.php:1092
1492
- #: core/helpers/helper-misc.php:447
1493
- msgid "United Kingdom"
1494
  msgstr ""
1495
 
1496
- #: core/helpers/helper-form-templates.php:1093
1497
- #: core/helpers/helper-misc.php:310
1498
- msgid "Grenada"
1499
  msgstr ""
1500
 
1501
- #: core/helpers/helper-form-templates.php:1094
1502
- #: core/helpers/helper-misc.php:304
1503
- msgid "Georgia"
1504
  msgstr ""
1505
 
1506
- #: core/helpers/helper-form-templates.php:1095
1507
  #: core/helpers/helper-misc.php:299
1508
  msgid "French Guiana"
1509
  msgstr ""
1510
 
1511
- #: core/helpers/helper-form-templates.php:1096
1512
- msgid "Guernsey"
1513
  msgstr ""
1514
 
1515
- #: core/helpers/helper-form-templates.php:1097
1516
- #: core/helpers/helper-misc.php:306
1517
- msgid "Ghana"
1518
  msgstr ""
1519
 
1520
- #: core/helpers/helper-form-templates.php:1098
1521
- #: core/helpers/helper-misc.php:307
1522
- msgid "Gibraltar"
1523
  msgstr ""
1524
 
1525
- #: core/helpers/helper-form-templates.php:1099
1526
- #: core/helpers/helper-misc.php:309
1527
- msgid "Greenland"
1528
- msgstr ""
1529
-
1530
- #: core/helpers/helper-form-templates.php:1100
1531
  #: core/helpers/helper-misc.php:303
1532
  msgid "Gambia"
1533
  msgstr ""
1534
 
1535
- #: core/helpers/helper-form-templates.php:1101
1536
- #: core/helpers/helper-misc.php:314
1537
- msgid "Guinea"
1538
  msgstr ""
1539
 
1540
- #: core/helpers/helper-form-templates.php:1102
1541
- #: core/helpers/helper-misc.php:311
1542
- msgid "Guadeloupe"
1543
  msgstr ""
1544
 
1545
- #: core/helpers/helper-form-templates.php:1103
1546
- #: core/helpers/helper-misc.php:289
1547
- msgid "Equatorial Guinea"
 
 
 
1548
  msgstr ""
1549
 
1550
- #: core/helpers/helper-form-templates.php:1104
1551
  #: core/helpers/helper-misc.php:308
1552
  msgid "Greece"
1553
  msgstr ""
1554
 
1555
- #: core/helpers/helper-form-templates.php:1105
1556
- #: core/helpers/helper-misc.php:313
1557
- msgid "Guatemala"
1558
  msgstr ""
1559
 
1560
- #: core/helpers/helper-form-templates.php:1106
1561
- #: core/helpers/helper-misc.php:312
1562
- msgid "Guam"
1563
  msgstr ""
1564
 
1565
- #: core/helpers/helper-form-templates.php:1107
1566
- #: core/helpers/helper-misc.php:315
1567
- msgid "Guinea-Bissau"
1568
  msgstr ""
1569
 
1570
- #: core/helpers/helper-form-templates.php:1108
1571
- #: core/helpers/helper-misc.php:316
1572
- msgid "Guyana"
1573
  msgstr ""
1574
 
1575
- #: core/helpers/helper-form-templates.php:1109
1576
- #: core/helpers/helper-misc.php:321
1577
- msgid "Hong Kong"
1578
  msgstr ""
1579
 
1580
- #: core/helpers/helper-form-templates.php:1110
1581
- #: core/helpers/helper-misc.php:320
1582
- msgid "Honduras"
1583
  msgstr ""
1584
 
1585
- #: core/helpers/helper-form-templates.php:1111
1586
- msgid "Croatia"
 
 
 
 
1587
  msgstr ""
1588
 
1589
- #: core/helpers/helper-form-templates.php:1112
1590
  #: core/helpers/helper-misc.php:317
1591
  msgid "Haiti"
1592
  msgstr ""
1593
 
1594
- #: core/helpers/helper-form-templates.php:1113
1595
- #: core/helpers/helper-misc.php:322
1596
- msgid "Hungary"
1597
  msgstr ""
1598
 
1599
- #: core/helpers/helper-form-templates.php:1114
1600
- #: core/helpers/helper-misc.php:325
1601
- msgid "Indonesia"
1602
  msgstr ""
1603
 
1604
- #: core/helpers/helper-form-templates.php:1115
1605
- #: core/helpers/helper-misc.php:328
1606
- msgid "Ireland"
1607
  msgstr ""
1608
 
1609
- #: core/helpers/helper-form-templates.php:1116
1610
- #: core/helpers/helper-misc.php:329
1611
- msgid "Israel"
1612
  msgstr ""
1613
 
1614
- #: core/helpers/helper-form-templates.php:1117
1615
- msgid "Isle of Man"
 
 
 
 
1616
  msgstr ""
1617
 
1618
- #: core/helpers/helper-form-templates.php:1118
1619
  #: core/helpers/helper-misc.php:324
1620
  msgid "India"
1621
  msgstr ""
1622
 
1623
- #: core/helpers/helper-form-templates.php:1119
1624
- #: core/helpers/helper-misc.php:254
1625
- msgid "British Indian Ocean Territory"
 
 
 
1626
  msgstr ""
1627
 
1628
- #: core/helpers/helper-form-templates.php:1120
1629
  #: core/helpers/helper-misc.php:327
1630
  msgid "Iraq"
1631
  msgstr ""
1632
 
1633
- #: core/helpers/helper-form-templates.php:1121
1634
- msgid "Iran, Islamic Republic of"
1635
  msgstr ""
1636
 
1637
- #: core/helpers/helper-form-templates.php:1122
1638
- #: core/helpers/helper-misc.php:323
1639
- msgid "Iceland"
1640
  msgstr ""
1641
 
1642
- #: core/helpers/helper-form-templates.php:1123
1643
  #: core/helpers/helper-misc.php:330
1644
  msgid "Italy"
1645
  msgstr ""
1646
 
1647
- #: core/helpers/helper-form-templates.php:1124
1648
- msgid "Jersey"
1649
- msgstr ""
1650
-
1651
- #: core/helpers/helper-form-templates.php:1125
1652
  #: core/helpers/helper-misc.php:331
1653
  msgid "Jamaica"
1654
  msgstr ""
1655
 
1656
- #: core/helpers/helper-form-templates.php:1126
1657
- #: core/helpers/helper-misc.php:333
1658
- msgid "Jordan"
1659
- msgstr ""
1660
-
1661
- #: core/helpers/helper-form-templates.php:1127
1662
  #: core/helpers/helper-misc.php:332
1663
  msgid "Japan"
1664
  msgstr ""
1665
 
1666
- #: core/helpers/helper-form-templates.php:1128
1667
- #: core/helpers/helper-misc.php:335
1668
- msgid "Kenya"
1669
  msgstr ""
1670
 
1671
- #: core/helpers/helper-form-templates.php:1129
1672
- #: core/helpers/helper-misc.php:340
1673
- msgid "Kyrgyzstan"
1674
  msgstr ""
1675
 
1676
- #: core/helpers/helper-form-templates.php:1130
1677
- #: core/helpers/helper-misc.php:259
1678
- msgid "Cambodia"
1679
  msgstr ""
1680
 
1681
- #: core/helpers/helper-form-templates.php:1131
1682
  #: core/helpers/helper-misc.php:336
1683
  msgid "Kiribati"
1684
  msgstr ""
1685
 
1686
- #: core/helpers/helper-form-templates.php:1132
1687
- #: core/helpers/helper-misc.php:271
1688
- msgid "Comoros"
1689
- msgstr ""
1690
-
1691
- #: core/helpers/helper-form-templates.php:1133
1692
- #: core/helpers/helper-misc.php:403
1693
- msgid "Saint Kitts and Nevis"
1694
- msgstr ""
1695
-
1696
- #: core/helpers/helper-form-templates.php:1134
1697
- msgid "North Korea"
1698
  msgstr ""
1699
 
1700
- #: core/helpers/helper-form-templates.php:1135
1701
- msgid "South Korea"
1702
  msgstr ""
1703
 
1704
- #: core/helpers/helper-form-templates.php:1136
1705
  #: core/helpers/helper-misc.php:339
1706
  msgid "Kuwait"
1707
  msgstr ""
1708
 
1709
- #: core/helpers/helper-form-templates.php:1137
1710
- #: core/helpers/helper-misc.php:263
1711
- msgid "Cayman Islands"
1712
  msgstr ""
1713
 
1714
- #: core/helpers/helper-form-templates.php:1138
1715
- #: core/helpers/helper-misc.php:334
1716
- msgid "Kazakhstan"
1717
  msgstr ""
1718
 
1719
- #: core/helpers/helper-form-templates.php:1139
1720
- msgid "Lao People's Democratic Republic"
1721
  msgstr ""
1722
 
1723
- #: core/helpers/helper-form-templates.php:1140
1724
  #: core/helpers/helper-misc.php:343
1725
  msgid "Lebanon"
1726
  msgstr ""
1727
 
1728
- #: core/helpers/helper-form-templates.php:1141
1729
- #: core/helpers/helper-misc.php:404
1730
- msgid "Saint Lucia"
1731
- msgstr ""
1732
-
1733
- #: core/helpers/helper-form-templates.php:1142
1734
- #: core/helpers/helper-misc.php:347
1735
- msgid "Liechtenstein"
1736
- msgstr ""
1737
-
1738
- #: core/helpers/helper-form-templates.php:1143
1739
- #: core/helpers/helper-misc.php:421
1740
- msgid "Sri Lanka"
1741
  msgstr ""
1742
 
1743
- #: core/helpers/helper-form-templates.php:1144
1744
  #: core/helpers/helper-misc.php:345
1745
  msgid "Liberia"
1746
  msgstr ""
1747
 
1748
- #: core/helpers/helper-form-templates.php:1145
1749
- #: core/helpers/helper-misc.php:344
1750
- msgid "Lesotho"
 
 
 
1751
  msgstr ""
1752
 
1753
- #: core/helpers/helper-form-templates.php:1146
1754
  #: core/helpers/helper-misc.php:348
1755
  msgid "Lithuania"
1756
  msgstr ""
1757
 
1758
- #: core/helpers/helper-form-templates.php:1147
1759
  #: core/helpers/helper-misc.php:349
1760
  msgid "Luxembourg"
1761
  msgstr ""
1762
 
1763
- #: core/helpers/helper-form-templates.php:1148
1764
- #: core/helpers/helper-misc.php:342
1765
- msgid "Latvia"
1766
- msgstr ""
1767
-
1768
- #: core/helpers/helper-form-templates.php:1149
1769
- msgid "Libya"
1770
- msgstr ""
1771
-
1772
- #: core/helpers/helper-form-templates.php:1150
1773
- #: core/helpers/helper-misc.php:369
1774
- msgid "Morocco"
1775
- msgstr ""
1776
-
1777
- #: core/helpers/helper-form-templates.php:1151
1778
- #: core/helpers/helper-misc.php:366
1779
- msgid "Monaco"
1780
- msgstr ""
1781
-
1782
- #: core/helpers/helper-form-templates.php:1152
1783
- #: core/helpers/helper-misc.php:365
1784
- msgid "Moldova, Republic of"
1785
- msgstr ""
1786
-
1787
- #: core/helpers/helper-form-templates.php:1153
1788
- msgid "Montenegro"
1789
  msgstr ""
1790
 
1791
- #: core/helpers/helper-form-templates.php:1154
1792
- msgid "Saint Martin (French part)"
1793
  msgstr ""
1794
 
1795
- #: core/helpers/helper-form-templates.php:1155
1796
  #: core/helpers/helper-misc.php:352
1797
  msgid "Madagascar"
1798
  msgstr ""
1799
 
1800
- #: core/helpers/helper-form-templates.php:1156
1801
- #: core/helpers/helper-misc.php:358
1802
- msgid "Marshall Islands"
1803
- msgstr ""
1804
-
1805
- #: core/helpers/helper-form-templates.php:1157
1806
- msgid "North Macedonia, Republic of"
1807
  msgstr ""
1808
 
1809
- #: core/helpers/helper-form-templates.php:1158
1810
- #: core/helpers/helper-misc.php:356
1811
- msgid "Mali"
1812
  msgstr ""
1813
 
1814
- #: core/helpers/helper-form-templates.php:1159
1815
- #: core/helpers/helper-misc.php:371
1816
- msgid "Myanmar"
1817
  msgstr ""
1818
 
1819
- #: core/helpers/helper-form-templates.php:1160
1820
- #: core/helpers/helper-misc.php:367
1821
- msgid "Mongolia"
1822
  msgstr ""
1823
 
1824
- #: core/helpers/helper-form-templates.php:1161
1825
- msgid "Macao"
1826
  msgstr ""
1827
 
1828
- #: core/helpers/helper-form-templates.php:1162
1829
- #: core/helpers/helper-misc.php:384
1830
- msgid "Northern Mariana Islands"
1831
  msgstr ""
1832
 
1833
- #: core/helpers/helper-form-templates.php:1163
1834
  #: core/helpers/helper-misc.php:359
1835
  msgid "Martinique"
1836
  msgstr ""
1837
 
1838
- #: core/helpers/helper-form-templates.php:1164
1839
  #: core/helpers/helper-misc.php:360
1840
  msgid "Mauritania"
1841
  msgstr ""
1842
 
1843
- #: core/helpers/helper-form-templates.php:1165
1844
- #: core/helpers/helper-misc.php:368
1845
- msgid "Montserrat"
1846
- msgstr ""
1847
-
1848
- #: core/helpers/helper-form-templates.php:1166
1849
- #: core/helpers/helper-misc.php:357
1850
- msgid "Malta"
1851
- msgstr ""
1852
-
1853
- #: core/helpers/helper-form-templates.php:1167
1854
  #: core/helpers/helper-misc.php:361
1855
  msgid "Mauritius"
1856
  msgstr ""
1857
 
1858
- #: core/helpers/helper-form-templates.php:1168
1859
- #: core/helpers/helper-misc.php:355
1860
- msgid "Maldives"
1861
- msgstr ""
1862
-
1863
- #: core/helpers/helper-form-templates.php:1169
1864
- #: core/helpers/helper-misc.php:353
1865
- msgid "Malawi"
1866
  msgstr ""
1867
 
1868
- #: core/helpers/helper-form-templates.php:1170
1869
  #: core/helpers/helper-misc.php:363
1870
  msgid "Mexico"
1871
  msgstr ""
1872
 
1873
- #: core/helpers/helper-form-templates.php:1171
1874
- #: core/helpers/helper-misc.php:354
1875
- msgid "Malaysia"
1876
- msgstr ""
1877
-
1878
- #: core/helpers/helper-form-templates.php:1172
1879
- #: core/helpers/helper-misc.php:370
1880
- msgid "Mozambique"
1881
- msgstr ""
1882
-
1883
- #: core/helpers/helper-form-templates.php:1173
1884
- #: core/helpers/helper-misc.php:372
1885
- msgid "Namibia"
1886
  msgstr ""
1887
 
1888
- #: core/helpers/helper-form-templates.php:1174
1889
- #: core/helpers/helper-misc.php:377
1890
- msgid "New Caledonia"
1891
  msgstr ""
1892
 
1893
- #: core/helpers/helper-form-templates.php:1175
1894
- #: core/helpers/helper-misc.php:380
1895
- msgid "Niger"
1896
  msgstr ""
1897
 
1898
- #: core/helpers/helper-form-templates.php:1176
1899
- #: core/helpers/helper-misc.php:383
1900
- msgid "Norfolk Island"
1901
  msgstr ""
1902
 
1903
- #: core/helpers/helper-form-templates.php:1177
1904
- #: core/helpers/helper-misc.php:381
1905
- msgid "Nigeria"
1906
  msgstr ""
1907
 
1908
- #: core/helpers/helper-form-templates.php:1178
1909
- #: core/helpers/helper-misc.php:379
1910
- msgid "Nicaragua"
1911
  msgstr ""
1912
 
1913
- #: core/helpers/helper-form-templates.php:1179
1914
- #: core/helpers/helper-misc.php:375
1915
- msgid "Netherlands"
1916
  msgstr ""
1917
 
1918
- #: core/helpers/helper-form-templates.php:1180
1919
- #: core/helpers/helper-misc.php:385
1920
- msgid "Norway"
1921
  msgstr ""
1922
 
1923
- #: core/helpers/helper-form-templates.php:1181
1924
- #: core/helpers/helper-misc.php:374
1925
- msgid "Nepal"
1926
  msgstr ""
1927
 
1928
- #: core/helpers/helper-form-templates.php:1182
1929
  #: core/helpers/helper-misc.php:373
1930
  msgid "Nauru"
1931
  msgstr ""
1932
 
1933
- #: core/helpers/helper-form-templates.php:1183
1934
- #: core/helpers/helper-misc.php:382
1935
- msgid "Niue"
1936
  msgstr ""
1937
 
1938
- #: core/helpers/helper-form-templates.php:1184
1939
- #: core/helpers/helper-misc.php:378
1940
- msgid "New Zealand"
1941
  msgstr ""
1942
 
1943
- #: core/helpers/helper-form-templates.php:1185
1944
- #: core/helpers/helper-misc.php:386
1945
- msgid "Oman"
1946
  msgstr ""
1947
 
1948
- #: core/helpers/helper-form-templates.php:1186
1949
- #: core/helpers/helper-misc.php:389
1950
- msgid "Panama"
1951
  msgstr ""
1952
 
1953
- #: core/helpers/helper-form-templates.php:1187
1954
- #: core/helpers/helper-misc.php:392
1955
- msgid "Peru"
1956
  msgstr ""
1957
 
1958
- #: core/helpers/helper-form-templates.php:1188
1959
- #: core/helpers/helper-misc.php:300
1960
- msgid "French Polynesia"
1961
  msgstr ""
1962
 
1963
- #: core/helpers/helper-form-templates.php:1189
1964
- #: core/helpers/helper-misc.php:390
1965
- msgid "Papua New Guinea"
1966
  msgstr ""
1967
 
1968
- #: core/helpers/helper-form-templates.php:1190
1969
- #: core/helpers/helper-misc.php:393
1970
- msgid "Philippines"
1971
  msgstr ""
1972
 
1973
- #: core/helpers/helper-form-templates.php:1191
1974
- #: core/helpers/helper-misc.php:387
1975
- msgid "Pakistan"
1976
  msgstr ""
1977
 
1978
- #: core/helpers/helper-form-templates.php:1192
1979
- #: core/helpers/helper-misc.php:395
1980
- msgid "Poland"
1981
  msgstr ""
1982
 
1983
- #: core/helpers/helper-form-templates.php:1193
1984
- msgid "Saint Pierre and Miquelon"
1985
  msgstr ""
1986
 
1987
- #: core/helpers/helper-form-templates.php:1194
1988
- #: core/helpers/helper-misc.php:397
1989
- msgid "Puerto Rico"
1990
  msgstr ""
1991
 
1992
- #: core/helpers/helper-form-templates.php:1195
1993
- msgid "Palestinian Territory, Occupied"
1994
  msgstr ""
1995
 
1996
- #: core/helpers/helper-form-templates.php:1196
1997
- #: core/helpers/helper-misc.php:396
1998
- msgid "Portugal"
1999
  msgstr ""
2000
 
2001
- #: core/helpers/helper-form-templates.php:1197
2002
  #: core/helpers/helper-misc.php:388
2003
  msgid "Palau"
2004
  msgstr ""
2005
 
2006
- #: core/helpers/helper-form-templates.php:1198
2007
- #: core/helpers/helper-misc.php:391
2008
- msgid "Paraguay"
2009
- msgstr ""
2010
-
2011
- #: core/helpers/helper-form-templates.php:1199
2012
- #: core/helpers/helper-misc.php:398
2013
- msgid "Qatar"
2014
- msgstr ""
2015
-
2016
- #: core/helpers/helper-form-templates.php:1200
2017
- #: core/helpers/helper-misc.php:399
2018
- msgid "Reunion"
2019
- msgstr ""
2020
-
2021
- #: core/helpers/helper-form-templates.php:1201
2022
- #: core/helpers/helper-misc.php:400
2023
- msgid "Romania"
2024
- msgstr ""
2025
-
2026
- #: core/helpers/helper-form-templates.php:1202
2027
- msgid "Serbia"
2028
- msgstr ""
2029
-
2030
- #: core/helpers/helper-form-templates.php:1203
2031
- #: core/helpers/helper-misc.php:401
2032
- msgid "Russian Federation"
2033
- msgstr ""
2034
-
2035
- #: core/helpers/helper-form-templates.php:1204
2036
- #: core/helpers/helper-misc.php:402
2037
- msgid "Rwanda"
2038
- msgstr ""
2039
-
2040
- #: core/helpers/helper-form-templates.php:1205
2041
- #: core/helpers/helper-misc.php:409
2042
- msgid "Saudi Arabia"
2043
- msgstr ""
2044
-
2045
- #: core/helpers/helper-form-templates.php:1206
2046
- #: core/helpers/helper-misc.php:416
2047
- msgid "Solomon Islands"
2048
- msgstr ""
2049
-
2050
- #: core/helpers/helper-form-templates.php:1207
2051
- #: core/helpers/helper-misc.php:411
2052
- msgid "Seychelles"
2053
- msgstr ""
2054
-
2055
- #: core/helpers/helper-form-templates.php:1208
2056
- #: core/helpers/helper-misc.php:424
2057
- msgid "Sudan"
2058
- msgstr ""
2059
-
2060
- #: core/helpers/helper-form-templates.php:1209
2061
- #: core/helpers/helper-misc.php:428
2062
- msgid "Sweden"
2063
- msgstr ""
2064
-
2065
- #: core/helpers/helper-form-templates.php:1210
2066
- #: core/helpers/helper-misc.php:413
2067
- msgid "Singapore"
2068
- msgstr ""
2069
-
2070
- #: core/helpers/helper-form-templates.php:1211
2071
- #: core/helpers/helper-form-templates.php:1226
2072
- msgid "Saint Helena"
2073
- msgstr ""
2074
-
2075
- #: core/helpers/helper-form-templates.php:1212
2076
- #: core/helpers/helper-misc.php:415
2077
- msgid "Slovenia"
2078
- msgstr ""
2079
-
2080
- #: core/helpers/helper-form-templates.php:1213
2081
- msgid "Svalbard and Jan Mayen"
2082
- msgstr ""
2083
-
2084
- #: core/helpers/helper-form-templates.php:1214
2085
- msgid "Slovakia"
2086
- msgstr ""
2087
-
2088
- #: core/helpers/helper-form-templates.php:1215
2089
- #: core/helpers/helper-misc.php:412
2090
- msgid "Sierra Leone"
2091
- msgstr ""
2092
-
2093
- #: core/helpers/helper-form-templates.php:1216
2094
- #: core/helpers/helper-misc.php:407
2095
- msgid "San Marino"
2096
- msgstr ""
2097
-
2098
- #: core/helpers/helper-form-templates.php:1217
2099
- #: core/helpers/helper-misc.php:410
2100
- msgid "Senegal"
2101
- msgstr ""
2102
-
2103
- #: core/helpers/helper-form-templates.php:1218
2104
- #: core/helpers/helper-misc.php:417
2105
- msgid "Somalia"
2106
- msgstr ""
2107
-
2108
- #: core/helpers/helper-form-templates.php:1219
2109
- #: core/helpers/helper-misc.php:425
2110
- msgid "Suriname"
2111
- msgstr ""
2112
-
2113
- #: core/helpers/helper-form-templates.php:1220
2114
- msgid "South Sudan"
2115
- msgstr ""
2116
-
2117
- #: core/helpers/helper-form-templates.php:1221
2118
- #: core/helpers/helper-misc.php:408
2119
- msgid "Sao Tome and Principe"
2120
- msgstr ""
2121
-
2122
- #: core/helpers/helper-form-templates.php:1222
2123
- #: core/helpers/helper-misc.php:288
2124
- msgid "El Salvador"
2125
- msgstr ""
2126
-
2127
- #: core/helpers/helper-form-templates.php:1223
2128
- msgid "Sint Maarten (Dutch part)"
2129
- msgstr ""
2130
-
2131
- #: core/helpers/helper-form-templates.php:1224
2132
- #: core/helpers/helper-misc.php:430
2133
- msgid "Syrian Arab Republic"
2134
- msgstr ""
2135
-
2136
- #: core/helpers/helper-form-templates.php:1225
2137
- msgid "Eswatini"
2138
- msgstr ""
2139
-
2140
- #: core/helpers/helper-form-templates.php:1227
2141
- #: core/helpers/helper-misc.php:442
2142
- msgid "Turks and Caicos Islands"
2143
- msgstr ""
2144
-
2145
- #: core/helpers/helper-form-templates.php:1228
2146
- #: core/helpers/helper-misc.php:265
2147
- msgid "Chad"
2148
- msgstr ""
2149
-
2150
- #: core/helpers/helper-form-templates.php:1229
2151
- #: core/helpers/helper-misc.php:435
2152
- msgid "Togo"
2153
- msgstr ""
2154
-
2155
- #: core/helpers/helper-form-templates.php:1230
2156
- #: core/helpers/helper-misc.php:434
2157
- msgid "Thailand"
2158
- msgstr ""
2159
-
2160
- #: core/helpers/helper-form-templates.php:1231
2161
- #: core/helpers/helper-misc.php:432
2162
- msgid "Tajikistan"
2163
- msgstr ""
2164
-
2165
- #: core/helpers/helper-form-templates.php:1232
2166
- #: core/helpers/helper-misc.php:436
2167
- msgid "Tokelau"
2168
  msgstr ""
2169
 
2170
- #: core/helpers/helper-form-templates.php:1233
2171
- msgid "Timor-Leste"
2172
  msgstr ""
2173
 
2174
- #: core/helpers/helper-form-templates.php:1234
2175
- #: core/helpers/helper-misc.php:441
2176
- msgid "Turkmenistan"
2177
  msgstr ""
2178
 
2179
- #: core/helpers/helper-form-templates.php:1235
2180
- #: core/helpers/helper-misc.php:439
2181
- msgid "Tunisia"
2182
  msgstr ""
2183
 
2184
- #: core/helpers/helper-form-templates.php:1236
2185
- #: core/helpers/helper-misc.php:437
2186
- msgid "Tonga"
2187
  msgstr ""
2188
 
2189
- #: core/helpers/helper-form-templates.php:1237
2190
- #: core/helpers/helper-misc.php:440
2191
- msgid "Turkey"
2192
  msgstr ""
2193
 
2194
- #: core/helpers/helper-form-templates.php:1238
2195
- #: core/helpers/helper-misc.php:438
2196
- msgid "Trinidad and Tobago"
2197
  msgstr ""
2198
 
2199
- #: core/helpers/helper-form-templates.php:1239
2200
- #: core/helpers/helper-misc.php:443
2201
- msgid "Tuvalu"
2202
  msgstr ""
2203
 
2204
- #: core/helpers/helper-form-templates.php:1240
2205
- msgid "Taiwan"
2206
  msgstr ""
2207
 
2208
- #: core/helpers/helper-form-templates.php:1241
2209
- #: core/helpers/helper-misc.php:433
2210
- msgid "Tanzania, United Republic of"
2211
  msgstr ""
2212
 
2213
- #: core/helpers/helper-form-templates.php:1242
2214
- #: core/helpers/helper-misc.php:445
2215
- msgid "Ukraine"
2216
  msgstr ""
2217
 
2218
- #: core/helpers/helper-form-templates.php:1243
2219
- #: core/helpers/helper-misc.php:444
2220
- msgid "Uganda"
2221
  msgstr ""
2222
 
2223
- #: core/helpers/helper-form-templates.php:1244
2224
- msgid "United States of America"
2225
  msgstr ""
2226
 
2227
- #: core/helpers/helper-form-templates.php:1245
2228
- #: core/helpers/helper-misc.php:450
2229
- msgid "Uruguay"
2230
  msgstr ""
2231
 
2232
- #: core/helpers/helper-form-templates.php:1246
2233
- #: core/helpers/helper-misc.php:451
2234
- msgid "Uzbekistan"
2235
  msgstr ""
2236
 
2237
- #: core/helpers/helper-form-templates.php:1247
2238
- #: core/helpers/helper-misc.php:319
2239
- msgid "Holy See (Vatican City State)"
2240
  msgstr ""
2241
 
2242
- #: core/helpers/helper-form-templates.php:1248
2243
  #: core/helpers/helper-misc.php:405
2244
  msgid "Saint Vincent and the Grenadines"
2245
  msgstr ""
2246
 
2247
- #: core/helpers/helper-form-templates.php:1249
2248
- #: core/helpers/helper-misc.php:453
2249
- msgid "Venezuela"
2250
  msgstr ""
2251
 
2252
- #: core/helpers/helper-form-templates.php:1250
2253
- msgid "Virgin Islands, British"
2254
  msgstr ""
2255
 
2256
- #: core/helpers/helper-form-templates.php:1251
2257
- msgid "Virgin Islands, U.S."
2258
  msgstr ""
2259
 
2260
- #: core/helpers/helper-form-templates.php:1252
2261
- #: core/helpers/helper-misc.php:454
2262
- msgid "Vietnam"
2263
  msgstr ""
2264
 
2265
- #: core/helpers/helper-form-templates.php:1253
2266
- #: core/helpers/helper-misc.php:452
2267
- msgid "Vanuatu"
2268
  msgstr ""
2269
 
2270
- #: core/helpers/helper-form-templates.php:1254
2271
- msgid "Wallis and Futuna"
2272
  msgstr ""
2273
 
2274
- #: core/helpers/helper-form-templates.php:1255
2275
- #: core/helpers/helper-misc.php:406
2276
- msgid "Samoa"
2277
  msgstr ""
2278
 
2279
- #: core/helpers/helper-form-templates.php:1256
2280
- msgid "Kosovo"
2281
  msgstr ""
2282
 
2283
- #: core/helpers/helper-form-templates.php:1257
2284
- #: core/helpers/helper-misc.php:459
2285
- msgid "Yemen"
2286
  msgstr ""
2287
 
2288
- #: core/helpers/helper-form-templates.php:1258
2289
- #: core/helpers/helper-misc.php:362
2290
- msgid "Mayotte"
 
 
 
 
 
 
 
2291
  msgstr ""
2292
 
2293
- #: core/helpers/helper-form-templates.php:1259
2294
  #: core/helpers/helper-misc.php:418
2295
  msgid "South Africa"
2296
  msgstr ""
2297
 
2298
- #: core/helpers/helper-form-templates.php:1260
2299
- #: core/helpers/helper-misc.php:461
2300
- msgid "Zambia"
2301
  msgstr ""
2302
 
2303
- #: core/helpers/helper-form-templates.php:1261
2304
- #: core/helpers/helper-misc.php:462
2305
- msgid "Zimbabwe"
2306
  msgstr ""
2307
 
2308
- #: core/helpers/helper-misc.php:207
2309
- msgid "Thank you for creating with"
2310
  msgstr ""
2311
 
2312
- #: core/helpers/helper-misc.php:231
2313
- msgid "Antarctica"
2314
  msgstr ""
2315
 
2316
- #: core/helpers/helper-misc.php:250
2317
- msgid "Bosnia and Herzegowina"
2318
  msgstr ""
2319
 
2320
- #: core/helpers/helper-misc.php:252
2321
- msgid "Bouvet Island"
2322
  msgstr ""
2323
 
2324
- #: core/helpers/helper-misc.php:276
2325
- msgid "Ivory Coast"
2326
  msgstr ""
2327
 
2328
- #: core/helpers/helper-misc.php:277
2329
- msgid "Croatia (Hrvatska)"
2330
  msgstr ""
2331
 
2332
- #: core/helpers/helper-misc.php:285
2333
- msgid "East Timor"
2334
  msgstr ""
2335
 
2336
- #: core/helpers/helper-misc.php:298
2337
- msgid "France Metropolitan"
2338
  msgstr ""
2339
 
2340
- #: core/helpers/helper-misc.php:301
2341
- msgid "French Southern Territories"
2342
  msgstr ""
2343
 
2344
- #: core/helpers/helper-misc.php:318
2345
- msgid "Heard and Mc Donald Islands"
2346
  msgstr ""
2347
 
2348
- #: core/helpers/helper-misc.php:326
2349
- msgid "Iran (Islamic Republic of)"
2350
  msgstr ""
2351
 
2352
- #: core/helpers/helper-misc.php:337
2353
- msgid "Korea, Democratic People's Republic of"
2354
  msgstr ""
2355
 
2356
- #: core/helpers/helper-misc.php:338
2357
- msgid "Korea, Republic of"
2358
  msgstr ""
2359
 
2360
- #: core/helpers/helper-misc.php:341
2361
- msgid "Lao, People's Democratic Republic"
2362
  msgstr ""
2363
 
2364
- #: core/helpers/helper-misc.php:346
2365
- msgid "Libyan Arab Jamahiriya"
2366
  msgstr ""
2367
 
2368
- #: core/helpers/helper-misc.php:350
2369
- msgid "Macau"
2370
  msgstr ""
2371
 
2372
- #: core/helpers/helper-misc.php:351
2373
- msgid "Macedonia, The Former Yugoslav Republic of"
2374
  msgstr ""
2375
 
2376
- #: core/helpers/helper-misc.php:376
2377
- msgid "Netherlands Antilles"
2378
  msgstr ""
2379
 
2380
- #: core/helpers/helper-misc.php:394
2381
- msgid "Pitcairn"
2382
  msgstr ""
2383
 
2384
- #: core/helpers/helper-misc.php:414
2385
- msgid "Slovakia (Slovak Republic)"
2386
  msgstr ""
2387
 
2388
- #: core/helpers/helper-misc.php:419
2389
- msgid "South Georgia and the South Sandwich Islands"
2390
  msgstr ""
2391
 
2392
- #: core/helpers/helper-misc.php:422
2393
- msgid "St. Helena"
2394
  msgstr ""
2395
 
2396
- #: core/helpers/helper-misc.php:423
2397
- msgid "St. Pierre and Miquelon"
2398
  msgstr ""
2399
 
2400
- #: core/helpers/helper-misc.php:426
2401
- msgid "Svalbard and Jan Mayen Islands"
2402
  msgstr ""
2403
 
2404
- #: core/helpers/helper-misc.php:427
2405
- msgid "Swaziland"
2406
  msgstr ""
2407
 
2408
- #: core/helpers/helper-misc.php:431
2409
- msgid "Taiwan, Province of China"
 
 
 
 
2410
  msgstr ""
2411
 
2412
  #: core/helpers/helper-misc.php:448
@@ -2417,6 +2025,26 @@ msgstr ""
2417
  msgid "United States Minor Outlying Islands"
2418
  msgstr ""
2419
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2420
  #: core/helpers/helper-misc.php:455
2421
  msgid "Virgin Islands (British)"
2422
  msgstr ""
@@ -2429,10 +2057,26 @@ msgstr ""
2429
  msgid "Wallis and Futuna Islands"
2430
  msgstr ""
2431
 
 
 
 
 
 
 
 
 
2432
  #: core/helpers/helper-misc.php:460
2433
  msgid "Yugoslavia"
2434
  msgstr ""
2435
 
 
 
 
 
 
 
 
 
2436
  #: core/helpers/helper-misc.php:675
2437
  msgid "Response #%s"
2438
  msgstr ""
@@ -2987,6 +2631,7 @@ msgstr ""
2987
 
2988
  #: core/templates/admin-form-modal.php:12
2989
  #: core/assets/jsx/build/admin/block.js:158
 
2990
  msgid "Insert"
2991
  msgstr ""
2992
 
@@ -3004,6 +2649,7 @@ msgstr ""
3004
  #: inc/classes/class-answer-limiter-dummy.php:39
3005
  #: inc/templates/customize-controls/checkbox_dummy.php:7
3006
  #: inc/templates/customize-controls/email-parts-list-dummy.php:2
 
3007
  msgid "Members Only"
3008
  msgstr ""
3009
 
@@ -3020,10 +2666,12 @@ msgid "Add title"
3020
  msgstr ""
3021
 
3022
  #: core/templates/customize-form-build.php:9
3023
- msgid "Add fields here to appear in your form."
 
 
3024
  msgstr ""
3025
 
3026
- #: core/templates/customize-form-build.php:12
3027
  msgid "Add a Field"
3028
  msgstr ""
3029
 
@@ -3329,6 +2977,7 @@ msgstr ""
3329
 
3330
  #: core/templates/parts/customize-radio.php:128
3331
  #: core/templates/parts/customize-select.php:114
 
3332
  msgid "Max number of submissions"
3333
  msgstr ""
3334
 
@@ -3340,55 +2989,55 @@ msgstr ""
3340
  msgid "Max times the same answer is allowed"
3341
  msgstr ""
3342
 
3343
- #: inc/classes/class-happyforms.php:101
3344
  msgid "Upgrade"
3345
  msgstr ""
3346
 
3347
- #: inc/classes/class-happyforms.php:115
 
 
 
 
3348
  msgid "Use reCAPTCHA"
3349
  msgstr ""
3350
 
3351
- #: inc/classes/class-happyforms.php:121
3352
  msgid "Save incomplete and abandoned submissions"
3353
  msgstr ""
3354
 
3355
- #: inc/classes/class-happyforms.php:127
3356
  msgid "Let respondents save a draft submission and come back to it later"
3357
  msgstr ""
3358
 
3359
- #: inc/classes/class-happyforms.php:133
3360
  msgid "Require respondents to review a submission before submitting"
3361
  msgstr ""
3362
 
3363
- #: inc/classes/class-happyforms.php:139
3364
- msgid "Limit submissions"
3365
- msgstr ""
3366
-
3367
- #: inc/classes/class-happyforms.php:145
3368
- msgid "Delete permanently replies and attachments after set number of days"
3369
  msgstr ""
3370
 
3371
- #: inc/classes/class-happyforms.php:151
3372
  msgid "Capture user metadata (IP, language, platform, time and timezone)"
3373
  msgstr ""
3374
 
3375
- #: inc/classes/class-happyforms.php:157
3376
  msgid "Show an error message if field contains words in Disallowed Comment Keys"
3377
  msgstr ""
3378
 
3379
- #: inc/classes/class-happyforms.php:167
3380
  msgid "Include reply link"
3381
  msgstr ""
3382
 
3383
- #: inc/classes/class-happyforms.php:173
3384
  msgid "Include referral web address"
3385
  msgstr ""
3386
 
3387
- #: inc/classes/class-happyforms.php:179
3388
  msgid "To email address"
3389
  msgstr ""
3390
 
3391
- #: inc/classes/class-happyforms.php:185
3392
  msgid "Send abandonment email"
3393
  msgstr ""
3394
 
@@ -3420,12 +3069,12 @@ msgstr ""
3420
  msgid "Spam"
3421
  msgstr ""
3422
 
3423
- #: inc/classes/class-message-controller.php:578
3424
- #: inc/classes/class-message-controller.php:579
3425
  msgid "All Activity"
3426
  msgstr ""
3427
 
3428
- #: inc/classes/class-message-controller.php:580
3429
  msgid "No activity found."
3430
  msgstr ""
3431
 
@@ -3514,7 +3163,7 @@ msgid "Phone"
3514
  msgstr ""
3515
 
3516
  #: inc/classes/parts/class-part-phone-dummy.php:9
3517
- msgid "For phone numbers. Includes country specific formatting."
3518
  msgstr ""
3519
 
3520
  #: inc/classes/parts/class-part-placeholder-dummy.php:8
@@ -3819,77 +3468,81 @@ msgid "Publishable key"
3819
  msgstr ""
3820
 
3821
  #: core/assets/jsx/build/admin/block.js:127
 
3822
  msgid "Choose"
3823
  msgstr ""
3824
 
3825
  #: core/assets/jsx/build/admin/block.js:144
 
3826
  msgid "The form previously added has been trashed or deleted."
3827
  msgstr ""
3828
 
3829
  #: core/assets/jsx/build/admin/block.js:144
 
3830
  msgid "Pick a form to display on your site."
3831
  msgstr ""
3832
 
3833
  #: core/assets/jsx/build/admin/block.js:175
 
3834
  msgid "Pick a form"
3835
  msgstr ""
3836
 
3837
- #: inc/assets/jsx/build/admin/dashboard-modals.js:213
3838
  #: inc/assets/jsx/src/admin/dashboard-modals.js:45
3839
- msgid "Welcome to Happyforms"
3840
  msgstr ""
3841
 
3842
- #: inc/assets/jsx/build/admin/dashboard-modals.js:213
3843
  #: inc/assets/jsx/src/admin/dashboard-modals.js:46
3844
- msgid "We'll send you a few emails each month about plugin updates. And don't sweat it, you can unsubscribe anytime."
3845
  msgstr ""
3846
 
3847
- #: inc/assets/jsx/build/admin/dashboard-modals.js:225
3848
  #: inc/assets/jsx/src/admin/dashboard-modals.js:54
3849
  msgid "Continue"
3850
  msgstr ""
3851
 
3852
- #: inc/assets/jsx/build/admin/dashboard-modals.js:250
3853
  #: inc/assets/jsx/src/admin/dashboard-modals.js:87
3854
- msgid "Start with a free 7-day trial"
3855
  msgstr ""
3856
 
3857
- #: inc/assets/jsx/build/admin/dashboard-modals.js:252
3858
  #: inc/assets/jsx/src/admin/dashboard-modals.js:90
3859
- msgid "You're just a mouse click and a few key taps away from building better forms for your site. And don't sweat it, you can upgrade, downgrade or cancel your trial anytime."
3860
  msgstr ""
3861
 
3862
- #: inc/assets/jsx/build/admin/dashboard-modals.js:252
3863
  #: inc/assets/jsx/src/admin/dashboard-modals.js:92
3864
  msgid "Advanced features and integrations"
3865
  msgstr ""
3866
 
3867
- #: inc/assets/jsx/build/admin/dashboard-modals.js:252
3868
  #: inc/assets/jsx/src/admin/dashboard-modals.js:93
3869
- msgid "Help from the friendliest support team around"
3870
  msgstr ""
3871
 
3872
- #: inc/assets/jsx/build/admin/dashboard-modals.js:252
3873
  #: inc/assets/jsx/src/admin/dashboard-modals.js:94
3874
- msgid "Automatically transfer over your free forms"
3875
  msgstr ""
3876
 
3877
- #: inc/assets/jsx/build/admin/dashboard-modals.js:252
3878
  #: inc/assets/jsx/src/admin/dashboard-modals.js:95
3879
- msgid "New goodies released every second week"
3880
  msgstr ""
3881
 
3882
- #: inc/assets/jsx/build/admin/dashboard-modals.js:252
3883
  #: inc/assets/jsx/src/admin/dashboard-modals.js:97
3884
- msgid "So whattaya say? Ready to build better forms today?"
3885
  msgstr ""
3886
 
3887
- #: inc/assets/jsx/build/admin/dashboard-modals.js:258
3888
  #: inc/assets/jsx/src/admin/dashboard-modals.js:101
3889
  msgid "Start a Free 7-day Trial"
3890
  msgstr ""
3891
 
3892
- #: inc/assets/jsx/build/admin/dashboard-modals.js:262
3893
  #: inc/assets/jsx/src/admin/dashboard-modals.js:102
3894
  msgid "Nope, Maybe Later"
3895
  msgstr ""
2
  # This file is distributed under the same license as the Happyforms (free) plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Happyforms (free) 1.15.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/happyforms/\n"
7
  "Last-Translator: The Theme Foundry\n"
8
  "Language-Team: The Theme Foundry\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-05-24T06:56:42+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
+ "X-Generator: WP-CLI 2.5.0\n"
15
  "X-Domain: happyforms\n"
16
 
17
  #. Plugin Name of the plugin
33
 
34
  #: core/classes/class-block.php:52
35
  #: core/classes/class-form-controller.php:73
 
36
  #: core/classes/class-happyforms-core.php:186
37
+ #: core/classes/class-happyforms-core.php:187
38
  #: core/classes/class-happyforms-widget.php:13
39
  #: core/helpers/helper-misc.php:1021
40
  msgid "Forms"
101
  msgstr ""
102
 
103
  #: core/classes/class-form-controller.php:75
 
104
  #: core/classes/class-happyforms-core.php:202
105
+ #: core/classes/class-happyforms-core.php:203
106
  msgid "Add New"
107
  msgstr ""
108
 
129
 
130
  #: core/classes/class-form-controller.php:82
131
  #: core/assets/jsx/build/admin/block.js:144
132
+ #: core/assets/jsx/src/admin/block.js:32
133
  msgid "No forms found."
134
  msgstr ""
135
 
139
 
140
  #: core/classes/class-form-controller.php:84
141
  #: core/classes/class-form-controller.php:85
 
142
  #: core/classes/class-happyforms-core.php:194
143
+ #: core/classes/class-happyforms-core.php:195
144
  msgid "All Forms"
145
  msgstr ""
146
 
169
  msgstr ""
170
 
171
  #: core/classes/class-form-email.php:96
172
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:213
173
  #: inc/assets/jsx/src/admin/dashboard-modals.js:49
174
  msgid "Email address"
175
  msgstr ""
402
  msgid "Submit form"
403
  msgstr ""
404
 
 
 
 
 
 
405
  #: core/classes/class-form-styles.php:54
406
  msgid "Left-to-right"
407
  msgstr ""
822
  msgid "Additional CSS"
823
  msgstr ""
824
 
 
825
  #: core/classes/class-happyforms-core.php:210
826
+ #: core/classes/class-happyforms-core.php:211
827
+ #: inc/classes/class-message-controller.php:535
828
+ #: inc/classes/class-message-controller.php:536
829
  msgid "Activity"
830
  msgstr ""
831
 
 
832
  #: core/classes/class-happyforms-core.php:219
833
+ #: core/classes/class-happyforms-core.php:220
834
  #: integrations/templates/admin-integrations.php:3
835
  msgid "Integrations"
836
  msgstr ""
837
 
 
838
  #: core/classes/class-happyforms-core.php:228
839
+ #: core/classes/class-happyforms-core.php:229
840
  #: core/assets/jsx/build/admin/block.js:173
841
+ #: core/assets/jsx/src/admin/block.js:61
842
  msgid "Settings"
843
  msgstr ""
844
 
845
+ #: core/classes/class-happyforms-core.php:470
846
  msgid "Add Form"
847
  msgstr ""
848
 
1117
  msgid "December"
1118
  msgstr ""
1119
 
1120
+ #: core/helpers/helper-misc.php:207
1121
+ msgid "Thank you for creating with"
 
 
 
 
 
 
 
 
 
 
1122
  msgstr ""
1123
 
 
1124
  #: core/helpers/helper-misc.php:224
1125
  msgid "Afghanistan"
1126
  msgstr ""
1127
 
1128
+ #: core/helpers/helper-misc.php:225
1129
+ msgid "Albania"
 
1130
  msgstr ""
1131
 
1132
+ #: core/helpers/helper-misc.php:226
1133
+ msgid "Algeria"
 
1134
  msgstr ""
1135
 
1136
+ #: core/helpers/helper-misc.php:227
1137
+ msgid "American Samoa"
 
1138
  msgstr ""
1139
 
1140
+ #: core/helpers/helper-misc.php:228
1141
+ msgid "Andorra"
 
1142
  msgstr ""
1143
 
 
1144
  #: core/helpers/helper-misc.php:229
1145
  msgid "Angola"
1146
  msgstr ""
1147
 
1148
+ #: core/helpers/helper-misc.php:230
1149
+ msgid "Anguilla"
 
1150
  msgstr ""
1151
 
1152
+ #: core/helpers/helper-misc.php:231
1153
+ msgid "Antarctica"
 
1154
  msgstr ""
1155
 
1156
+ #: core/helpers/helper-misc.php:232
1157
+ msgid "Antigua and Barbuda"
 
1158
  msgstr ""
1159
 
1160
+ #: core/helpers/helper-misc.php:233
1161
+ msgid "Argentina"
1162
+ msgstr ""
1163
+
1164
+ #: core/helpers/helper-misc.php:234
1165
+ msgid "Armenia"
1166
  msgstr ""
1167
 
 
1168
  #: core/helpers/helper-misc.php:235
1169
  msgid "Aruba"
1170
  msgstr ""
1171
 
1172
+ #: core/helpers/helper-misc.php:236
1173
+ msgid "Australia"
1174
+ msgstr ""
1175
+
1176
+ #: core/helpers/helper-misc.php:237
1177
+ msgid "Austria"
1178
  msgstr ""
1179
 
 
1180
  #: core/helpers/helper-misc.php:238
1181
  msgid "Azerbaijan"
1182
  msgstr ""
1183
 
1184
+ #: core/helpers/helper-misc.php:239
1185
+ msgid "Bahamas"
1186
  msgstr ""
1187
 
1188
+ #: core/helpers/helper-misc.php:240
1189
+ msgid "Bahrain"
 
1190
  msgstr ""
1191
 
 
1192
  #: core/helpers/helper-misc.php:241
1193
  msgid "Bangladesh"
1194
  msgstr ""
1195
 
1196
+ #: core/helpers/helper-misc.php:242
1197
+ msgid "Barbados"
 
 
 
 
 
 
1198
  msgstr ""
1199
 
1200
+ #: core/helpers/helper-misc.php:243
1201
+ msgid "Belarus"
 
1202
  msgstr ""
1203
 
1204
+ #: core/helpers/helper-misc.php:244
1205
+ msgid "Belgium"
 
1206
  msgstr ""
1207
 
1208
+ #: core/helpers/helper-misc.php:245
1209
+ msgid "Belize"
 
1210
  msgstr ""
1211
 
 
1212
  #: core/helpers/helper-misc.php:246
1213
  msgid "Benin"
1214
  msgstr ""
1215
 
 
 
 
 
 
1216
  #: core/helpers/helper-misc.php:247
1217
  msgid "Bermuda"
1218
  msgstr ""
1219
 
1220
+ #: core/helpers/helper-misc.php:248
1221
+ msgid "Bhutan"
 
1222
  msgstr ""
1223
 
 
1224
  #: core/helpers/helper-misc.php:249
1225
  msgid "Bolivia"
1226
  msgstr ""
1227
 
1228
+ #: core/helpers/helper-misc.php:250
1229
+ msgid "Bosnia and Herzegowina"
1230
+ msgstr ""
1231
+
1232
+ #: core/helpers/helper-misc.php:251
1233
+ msgid "Botswana"
1234
+ msgstr ""
1235
+
1236
+ #: core/helpers/helper-misc.php:252
1237
+ msgid "Bouvet Island"
1238
  msgstr ""
1239
 
 
1240
  #: core/helpers/helper-misc.php:253
1241
  msgid "Brazil"
1242
  msgstr ""
1243
 
1244
+ #: core/helpers/helper-misc.php:254
1245
+ msgid "British Indian Ocean Territory"
 
1246
  msgstr ""
1247
 
1248
+ #: core/helpers/helper-misc.php:255
1249
+ msgid "Brunei Darussalam"
 
1250
  msgstr ""
1251
 
1252
+ #: core/helpers/helper-misc.php:256
1253
+ msgid "Bulgaria"
 
1254
  msgstr ""
1255
 
1256
+ #: core/helpers/helper-misc.php:257
1257
+ msgid "Burkina Faso"
 
1258
  msgstr ""
1259
 
1260
+ #: core/helpers/helper-misc.php:258
1261
+ msgid "Burundi"
1262
+ msgstr ""
1263
+
1264
+ #: core/helpers/helper-misc.php:259
1265
+ msgid "Cambodia"
1266
+ msgstr ""
1267
+
1268
+ #: core/helpers/helper-misc.php:260
1269
+ msgid "Cameroon"
1270
  msgstr ""
1271
 
 
1272
  #: core/helpers/helper-misc.php:261
1273
  msgid "Canada"
1274
  msgstr ""
1275
 
1276
+ #: core/helpers/helper-misc.php:262
1277
+ msgid "Cape Verde"
 
1278
  msgstr ""
1279
 
1280
+ #: core/helpers/helper-misc.php:263
1281
+ msgid "Cayman Islands"
 
1282
  msgstr ""
1283
 
 
1284
  #: core/helpers/helper-misc.php:264
1285
  msgid "Central African Republic"
1286
  msgstr ""
1287
 
1288
+ #: core/helpers/helper-misc.php:265
1289
+ msgid "Chad"
 
1290
  msgstr ""
1291
 
1292
+ #: core/helpers/helper-misc.php:266
1293
+ msgid "Chile"
 
1294
  msgstr ""
1295
 
1296
+ #: core/helpers/helper-misc.php:267
1297
+ msgid "China"
1298
  msgstr ""
1299
 
1300
+ #: core/helpers/helper-misc.php:268
1301
+ msgid "Christmas Island"
 
1302
  msgstr ""
1303
 
1304
+ #: core/helpers/helper-misc.php:269
1305
+ msgid "Cocos (Keeling) Islands"
 
1306
  msgstr ""
1307
 
1308
+ #: core/helpers/helper-misc.php:270
1309
+ msgid "Colombia"
 
1310
  msgstr ""
1311
 
1312
+ #: core/helpers/helper-misc.php:271
1313
+ msgid "Comoros"
 
1314
  msgstr ""
1315
 
1316
+ #: core/helpers/helper-misc.php:272
1317
+ msgid "Congo"
 
1318
  msgstr ""
1319
 
1320
+ #: core/helpers/helper-misc.php:273
1321
+ msgid "Congo, the Democratic Republic of the"
 
1322
  msgstr ""
1323
 
1324
+ #: core/helpers/helper-misc.php:274
1325
+ msgid "Cook Islands"
 
1326
  msgstr ""
1327
 
1328
+ #: core/helpers/helper-misc.php:275
1329
+ msgid "Costa Rica"
 
1330
  msgstr ""
1331
 
1332
+ #: core/helpers/helper-misc.php:276
1333
+ msgid "Ivory Coast"
1334
  msgstr ""
1335
 
1336
+ #: core/helpers/helper-misc.php:277
1337
+ msgid "Croatia (Hrvatska)"
1338
+ msgstr ""
1339
+
1340
+ #: core/helpers/helper-misc.php:278
1341
+ msgid "Cuba"
1342
  msgstr ""
1343
 
 
1344
  #: core/helpers/helper-misc.php:279
1345
  msgid "Cyprus"
1346
  msgstr ""
1347
 
 
1348
  #: core/helpers/helper-misc.php:280
1349
  msgid "Czech Republic"
1350
  msgstr ""
1351
 
1352
+ #: core/helpers/helper-misc.php:281
1353
+ msgid "Denmark"
 
1354
  msgstr ""
1355
 
 
1356
  #: core/helpers/helper-misc.php:282
1357
  msgid "Djibouti"
1358
  msgstr ""
1359
 
 
 
 
 
 
 
1360
  #: core/helpers/helper-misc.php:283
1361
  msgid "Dominica"
1362
  msgstr ""
1363
 
 
1364
  #: core/helpers/helper-misc.php:284
1365
  msgid "Dominican Republic"
1366
  msgstr ""
1367
 
1368
+ #: core/helpers/helper-misc.php:285
1369
+ msgid "East Timor"
 
1370
  msgstr ""
1371
 
 
1372
  #: core/helpers/helper-misc.php:286
1373
  msgid "Ecuador"
1374
  msgstr ""
1375
 
 
 
 
 
 
 
1376
  #: core/helpers/helper-misc.php:287
1377
  msgid "Egypt"
1378
  msgstr ""
1379
 
1380
+ #: core/helpers/helper-misc.php:288
1381
+ msgid "El Salvador"
1382
+ msgstr ""
1383
+
1384
+ #: core/helpers/helper-misc.php:289
1385
+ msgid "Equatorial Guinea"
1386
  msgstr ""
1387
 
 
1388
  #: core/helpers/helper-misc.php:290
1389
  msgid "Eritrea"
1390
  msgstr ""
1391
 
1392
+ #: core/helpers/helper-misc.php:291
1393
+ msgid "Estonia"
 
1394
  msgstr ""
1395
 
 
1396
  #: core/helpers/helper-misc.php:292
1397
  msgid "Ethiopia"
1398
  msgstr ""
1399
 
 
 
 
 
 
 
 
 
 
 
 
1400
  #: core/helpers/helper-misc.php:293
1401
  msgid "Falkland Islands (Malvinas)"
1402
  msgstr ""
1403
 
 
 
 
 
 
 
1404
  #: core/helpers/helper-misc.php:294
1405
  msgid "Faroe Islands"
1406
  msgstr ""
1407
 
1408
+ #: core/helpers/helper-misc.php:295
1409
+ msgid "Fiji"
 
 
 
 
 
 
1410
  msgstr ""
1411
 
1412
+ #: core/helpers/helper-misc.php:296
1413
+ msgid "Finland"
 
1414
  msgstr ""
1415
 
1416
+ #: core/helpers/helper-misc.php:297
1417
+ msgid "France"
 
1418
  msgstr ""
1419
 
1420
+ #: core/helpers/helper-misc.php:298
1421
+ msgid "France Metropolitan"
 
1422
  msgstr ""
1423
 
 
1424
  #: core/helpers/helper-misc.php:299
1425
  msgid "French Guiana"
1426
  msgstr ""
1427
 
1428
+ #: core/helpers/helper-misc.php:300
1429
+ msgid "French Polynesia"
1430
  msgstr ""
1431
 
1432
+ #: core/helpers/helper-misc.php:301
1433
+ msgid "French Southern Territories"
 
1434
  msgstr ""
1435
 
1436
+ #: core/helpers/helper-misc.php:302
1437
+ msgid "Gabon"
 
1438
  msgstr ""
1439
 
 
 
 
 
 
 
1440
  #: core/helpers/helper-misc.php:303
1441
  msgid "Gambia"
1442
  msgstr ""
1443
 
1444
+ #: core/helpers/helper-misc.php:304
1445
+ msgid "Georgia"
 
1446
  msgstr ""
1447
 
1448
+ #: core/helpers/helper-misc.php:305
1449
+ msgid "Germany"
 
1450
  msgstr ""
1451
 
1452
+ #: core/helpers/helper-misc.php:306
1453
+ msgid "Ghana"
1454
+ msgstr ""
1455
+
1456
+ #: core/helpers/helper-misc.php:307
1457
+ msgid "Gibraltar"
1458
  msgstr ""
1459
 
 
1460
  #: core/helpers/helper-misc.php:308
1461
  msgid "Greece"
1462
  msgstr ""
1463
 
1464
+ #: core/helpers/helper-misc.php:309
1465
+ msgid "Greenland"
 
1466
  msgstr ""
1467
 
1468
+ #: core/helpers/helper-misc.php:310
1469
+ msgid "Grenada"
 
1470
  msgstr ""
1471
 
1472
+ #: core/helpers/helper-misc.php:311
1473
+ msgid "Guadeloupe"
 
1474
  msgstr ""
1475
 
1476
+ #: core/helpers/helper-misc.php:312
1477
+ msgid "Guam"
 
1478
  msgstr ""
1479
 
1480
+ #: core/helpers/helper-misc.php:313
1481
+ msgid "Guatemala"
 
1482
  msgstr ""
1483
 
1484
+ #: core/helpers/helper-misc.php:314
1485
+ msgid "Guinea"
 
1486
  msgstr ""
1487
 
1488
+ #: core/helpers/helper-misc.php:315
1489
+ msgid "Guinea-Bissau"
1490
+ msgstr ""
1491
+
1492
+ #: core/helpers/helper-misc.php:316
1493
+ msgid "Guyana"
1494
  msgstr ""
1495
 
 
1496
  #: core/helpers/helper-misc.php:317
1497
  msgid "Haiti"
1498
  msgstr ""
1499
 
1500
+ #: core/helpers/helper-misc.php:318
1501
+ msgid "Heard and Mc Donald Islands"
 
1502
  msgstr ""
1503
 
1504
+ #: core/helpers/helper-misc.php:319
1505
+ msgid "Holy See (Vatican City State)"
 
1506
  msgstr ""
1507
 
1508
+ #: core/helpers/helper-misc.php:320
1509
+ msgid "Honduras"
 
1510
  msgstr ""
1511
 
1512
+ #: core/helpers/helper-misc.php:321
1513
+ msgid "Hong Kong"
 
1514
  msgstr ""
1515
 
1516
+ #: core/helpers/helper-misc.php:322
1517
+ msgid "Hungary"
1518
+ msgstr ""
1519
+
1520
+ #: core/helpers/helper-misc.php:323
1521
+ msgid "Iceland"
1522
  msgstr ""
1523
 
 
1524
  #: core/helpers/helper-misc.php:324
1525
  msgid "India"
1526
  msgstr ""
1527
 
1528
+ #: core/helpers/helper-misc.php:325
1529
+ msgid "Indonesia"
1530
+ msgstr ""
1531
+
1532
+ #: core/helpers/helper-misc.php:326
1533
+ msgid "Iran (Islamic Republic of)"
1534
  msgstr ""
1535
 
 
1536
  #: core/helpers/helper-misc.php:327
1537
  msgid "Iraq"
1538
  msgstr ""
1539
 
1540
+ #: core/helpers/helper-misc.php:328
1541
+ msgid "Ireland"
1542
  msgstr ""
1543
 
1544
+ #: core/helpers/helper-misc.php:329
1545
+ msgid "Israel"
 
1546
  msgstr ""
1547
 
 
1548
  #: core/helpers/helper-misc.php:330
1549
  msgid "Italy"
1550
  msgstr ""
1551
 
 
 
 
 
 
1552
  #: core/helpers/helper-misc.php:331
1553
  msgid "Jamaica"
1554
  msgstr ""
1555
 
 
 
 
 
 
 
1556
  #: core/helpers/helper-misc.php:332
1557
  msgid "Japan"
1558
  msgstr ""
1559
 
1560
+ #: core/helpers/helper-misc.php:333
1561
+ msgid "Jordan"
 
1562
  msgstr ""
1563
 
1564
+ #: core/helpers/helper-misc.php:334
1565
+ msgid "Kazakhstan"
 
1566
  msgstr ""
1567
 
1568
+ #: core/helpers/helper-misc.php:335
1569
+ msgid "Kenya"
 
1570
  msgstr ""
1571
 
 
1572
  #: core/helpers/helper-misc.php:336
1573
  msgid "Kiribati"
1574
  msgstr ""
1575
 
1576
+ #: core/helpers/helper-misc.php:337
1577
+ msgid "Korea, Democratic People's Republic of"
 
 
 
 
 
 
 
 
 
 
1578
  msgstr ""
1579
 
1580
+ #: core/helpers/helper-misc.php:338
1581
+ msgid "Korea, Republic of"
1582
  msgstr ""
1583
 
 
1584
  #: core/helpers/helper-misc.php:339
1585
  msgid "Kuwait"
1586
  msgstr ""
1587
 
1588
+ #: core/helpers/helper-misc.php:340
1589
+ msgid "Kyrgyzstan"
 
1590
  msgstr ""
1591
 
1592
+ #: core/helpers/helper-misc.php:341
1593
+ msgid "Lao, People's Democratic Republic"
 
1594
  msgstr ""
1595
 
1596
+ #: core/helpers/helper-misc.php:342
1597
+ msgid "Latvia"
1598
  msgstr ""
1599
 
 
1600
  #: core/helpers/helper-misc.php:343
1601
  msgid "Lebanon"
1602
  msgstr ""
1603
 
1604
+ #: core/helpers/helper-misc.php:344
1605
+ msgid "Lesotho"
 
 
 
 
 
 
 
 
 
 
 
1606
  msgstr ""
1607
 
 
1608
  #: core/helpers/helper-misc.php:345
1609
  msgid "Liberia"
1610
  msgstr ""
1611
 
1612
+ #: core/helpers/helper-misc.php:346
1613
+ msgid "Libyan Arab Jamahiriya"
1614
+ msgstr ""
1615
+
1616
+ #: core/helpers/helper-misc.php:347
1617
+ msgid "Liechtenstein"
1618
  msgstr ""
1619
 
 
1620
  #: core/helpers/helper-misc.php:348
1621
  msgid "Lithuania"
1622
  msgstr ""
1623
 
 
1624
  #: core/helpers/helper-misc.php:349
1625
  msgid "Luxembourg"
1626
  msgstr ""
1627
 
1628
+ #: core/helpers/helper-misc.php:350
1629
+ msgid "Macau"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1630
  msgstr ""
1631
 
1632
+ #: core/helpers/helper-misc.php:351
1633
+ msgid "Macedonia, The Former Yugoslav Republic of"
1634
  msgstr ""
1635
 
 
1636
  #: core/helpers/helper-misc.php:352
1637
  msgid "Madagascar"
1638
  msgstr ""
1639
 
1640
+ #: core/helpers/helper-misc.php:353
1641
+ msgid "Malawi"
 
 
 
 
 
1642
  msgstr ""
1643
 
1644
+ #: core/helpers/helper-misc.php:354
1645
+ msgid "Malaysia"
 
1646
  msgstr ""
1647
 
1648
+ #: core/helpers/helper-misc.php:355
1649
+ msgid "Maldives"
 
1650
  msgstr ""
1651
 
1652
+ #: core/helpers/helper-misc.php:356
1653
+ msgid "Mali"
 
1654
  msgstr ""
1655
 
1656
+ #: core/helpers/helper-misc.php:357
1657
+ msgid "Malta"
1658
  msgstr ""
1659
 
1660
+ #: core/helpers/helper-misc.php:358
1661
+ msgid "Marshall Islands"
 
1662
  msgstr ""
1663
 
 
1664
  #: core/helpers/helper-misc.php:359
1665
  msgid "Martinique"
1666
  msgstr ""
1667
 
 
1668
  #: core/helpers/helper-misc.php:360
1669
  msgid "Mauritania"
1670
  msgstr ""
1671
 
 
 
 
 
 
 
 
 
 
 
 
1672
  #: core/helpers/helper-misc.php:361
1673
  msgid "Mauritius"
1674
  msgstr ""
1675
 
1676
+ #: core/helpers/helper-misc.php:362
1677
+ msgid "Mayotte"
 
 
 
 
 
 
1678
  msgstr ""
1679
 
 
1680
  #: core/helpers/helper-misc.php:363
1681
  msgid "Mexico"
1682
  msgstr ""
1683
 
1684
+ #: core/helpers/helper-misc.php:364
1685
+ msgid "Micronesia, Federated States of"
 
 
 
 
 
 
 
 
 
 
 
1686
  msgstr ""
1687
 
1688
+ #: core/helpers/helper-misc.php:365
1689
+ msgid "Moldova, Republic of"
 
1690
  msgstr ""
1691
 
1692
+ #: core/helpers/helper-misc.php:366
1693
+ msgid "Monaco"
 
1694
  msgstr ""
1695
 
1696
+ #: core/helpers/helper-misc.php:367
1697
+ msgid "Mongolia"
 
1698
  msgstr ""
1699
 
1700
+ #: core/helpers/helper-misc.php:368
1701
+ msgid "Montserrat"
 
1702
  msgstr ""
1703
 
1704
+ #: core/helpers/helper-misc.php:369
1705
+ msgid "Morocco"
 
1706
  msgstr ""
1707
 
1708
+ #: core/helpers/helper-misc.php:370
1709
+ msgid "Mozambique"
 
1710
  msgstr ""
1711
 
1712
+ #: core/helpers/helper-misc.php:371
1713
+ msgid "Myanmar"
 
1714
  msgstr ""
1715
 
1716
+ #: core/helpers/helper-misc.php:372
1717
+ msgid "Namibia"
 
1718
  msgstr ""
1719
 
 
1720
  #: core/helpers/helper-misc.php:373
1721
  msgid "Nauru"
1722
  msgstr ""
1723
 
1724
+ #: core/helpers/helper-misc.php:374
1725
+ msgid "Nepal"
 
1726
  msgstr ""
1727
 
1728
+ #: core/helpers/helper-misc.php:375
1729
+ msgid "Netherlands"
 
1730
  msgstr ""
1731
 
1732
+ #: core/helpers/helper-misc.php:376
1733
+ msgid "Netherlands Antilles"
 
1734
  msgstr ""
1735
 
1736
+ #: core/helpers/helper-misc.php:377
1737
+ msgid "New Caledonia"
 
1738
  msgstr ""
1739
 
1740
+ #: core/helpers/helper-misc.php:378
1741
+ msgid "New Zealand"
 
1742
  msgstr ""
1743
 
1744
+ #: core/helpers/helper-misc.php:379
1745
+ msgid "Nicaragua"
 
1746
  msgstr ""
1747
 
1748
+ #: core/helpers/helper-misc.php:380
1749
+ msgid "Niger"
 
1750
  msgstr ""
1751
 
1752
+ #: core/helpers/helper-misc.php:381
1753
+ msgid "Nigeria"
 
1754
  msgstr ""
1755
 
1756
+ #: core/helpers/helper-misc.php:382
1757
+ msgid "Niue"
 
1758
  msgstr ""
1759
 
1760
+ #: core/helpers/helper-misc.php:383
1761
+ msgid "Norfolk Island"
 
1762
  msgstr ""
1763
 
1764
+ #: core/helpers/helper-misc.php:384
1765
+ msgid "Northern Mariana Islands"
1766
  msgstr ""
1767
 
1768
+ #: core/helpers/helper-misc.php:385
1769
+ msgid "Norway"
 
1770
  msgstr ""
1771
 
1772
+ #: core/helpers/helper-misc.php:386
1773
+ msgid "Oman"
1774
  msgstr ""
1775
 
1776
+ #: core/helpers/helper-misc.php:387
1777
+ msgid "Pakistan"
 
1778
  msgstr ""
1779
 
 
1780
  #: core/helpers/helper-misc.php:388
1781
  msgid "Palau"
1782
  msgstr ""
1783
 
1784
+ #: core/helpers/helper-misc.php:389
1785
+ msgid "Panama"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1786
  msgstr ""
1787
 
1788
+ #: core/helpers/helper-misc.php:390
1789
+ msgid "Papua New Guinea"
1790
  msgstr ""
1791
 
1792
+ #: core/helpers/helper-misc.php:391
1793
+ msgid "Paraguay"
 
1794
  msgstr ""
1795
 
1796
+ #: core/helpers/helper-misc.php:392
1797
+ msgid "Peru"
 
1798
  msgstr ""
1799
 
1800
+ #: core/helpers/helper-misc.php:393
1801
+ msgid "Philippines"
 
1802
  msgstr ""
1803
 
1804
+ #: core/helpers/helper-misc.php:394
1805
+ msgid "Pitcairn"
 
1806
  msgstr ""
1807
 
1808
+ #: core/helpers/helper-misc.php:395
1809
+ msgid "Poland"
 
1810
  msgstr ""
1811
 
1812
+ #: core/helpers/helper-misc.php:396
1813
+ msgid "Portugal"
 
1814
  msgstr ""
1815
 
1816
+ #: core/helpers/helper-misc.php:397
1817
+ msgid "Puerto Rico"
1818
  msgstr ""
1819
 
1820
+ #: core/helpers/helper-misc.php:398
1821
+ msgid "Qatar"
 
1822
  msgstr ""
1823
 
1824
+ #: core/helpers/helper-misc.php:399
1825
+ msgid "Reunion"
 
1826
  msgstr ""
1827
 
1828
+ #: core/helpers/helper-misc.php:400
1829
+ msgid "Romania"
 
1830
  msgstr ""
1831
 
1832
+ #: core/helpers/helper-misc.php:401
1833
+ msgid "Russian Federation"
1834
  msgstr ""
1835
 
1836
+ #: core/helpers/helper-misc.php:402
1837
+ msgid "Rwanda"
 
1838
  msgstr ""
1839
 
1840
+ #: core/helpers/helper-misc.php:403
1841
+ msgid "Saint Kitts and Nevis"
 
1842
  msgstr ""
1843
 
1844
+ #: core/helpers/helper-misc.php:404
1845
+ msgid "Saint Lucia"
 
1846
  msgstr ""
1847
 
 
1848
  #: core/helpers/helper-misc.php:405
1849
  msgid "Saint Vincent and the Grenadines"
1850
  msgstr ""
1851
 
1852
+ #: core/helpers/helper-misc.php:406
1853
+ msgid "Samoa"
 
1854
  msgstr ""
1855
 
1856
+ #: core/helpers/helper-misc.php:407
1857
+ msgid "San Marino"
1858
  msgstr ""
1859
 
1860
+ #: core/helpers/helper-misc.php:408
1861
+ msgid "Sao Tome and Principe"
1862
  msgstr ""
1863
 
1864
+ #: core/helpers/helper-misc.php:409
1865
+ msgid "Saudi Arabia"
 
1866
  msgstr ""
1867
 
1868
+ #: core/helpers/helper-misc.php:410
1869
+ msgid "Senegal"
 
1870
  msgstr ""
1871
 
1872
+ #: core/helpers/helper-misc.php:411
1873
+ msgid "Seychelles"
1874
  msgstr ""
1875
 
1876
+ #: core/helpers/helper-misc.php:412
1877
+ msgid "Sierra Leone"
 
1878
  msgstr ""
1879
 
1880
+ #: core/helpers/helper-misc.php:413
1881
+ msgid "Singapore"
1882
  msgstr ""
1883
 
1884
+ #: core/helpers/helper-misc.php:414
1885
+ msgid "Slovakia (Slovak Republic)"
 
1886
  msgstr ""
1887
 
1888
+ #: core/helpers/helper-misc.php:415
1889
+ msgid "Slovenia"
1890
+ msgstr ""
1891
+
1892
+ #: core/helpers/helper-misc.php:416
1893
+ msgid "Solomon Islands"
1894
+ msgstr ""
1895
+
1896
+ #: core/helpers/helper-misc.php:417
1897
+ msgid "Somalia"
1898
  msgstr ""
1899
 
 
1900
  #: core/helpers/helper-misc.php:418
1901
  msgid "South Africa"
1902
  msgstr ""
1903
 
1904
+ #: core/helpers/helper-misc.php:419
1905
+ msgid "South Georgia and the South Sandwich Islands"
 
1906
  msgstr ""
1907
 
1908
+ #: core/helpers/helper-misc.php:420
1909
+ msgid "Spain"
 
1910
  msgstr ""
1911
 
1912
+ #: core/helpers/helper-misc.php:421
1913
+ msgid "Sri Lanka"
1914
  msgstr ""
1915
 
1916
+ #: core/helpers/helper-misc.php:422
1917
+ msgid "St. Helena"
1918
  msgstr ""
1919
 
1920
+ #: core/helpers/helper-misc.php:423
1921
+ msgid "St. Pierre and Miquelon"
1922
  msgstr ""
1923
 
1924
+ #: core/helpers/helper-misc.php:424
1925
+ msgid "Sudan"
1926
  msgstr ""
1927
 
1928
+ #: core/helpers/helper-misc.php:425
1929
+ msgid "Suriname"
1930
  msgstr ""
1931
 
1932
+ #: core/helpers/helper-misc.php:426
1933
+ msgid "Svalbard and Jan Mayen Islands"
1934
  msgstr ""
1935
 
1936
+ #: core/helpers/helper-misc.php:427
1937
+ msgid "Swaziland"
1938
  msgstr ""
1939
 
1940
+ #: core/helpers/helper-misc.php:428
1941
+ msgid "Sweden"
1942
  msgstr ""
1943
 
1944
+ #: core/helpers/helper-misc.php:429
1945
+ msgid "Switzerland"
1946
  msgstr ""
1947
 
1948
+ #: core/helpers/helper-misc.php:430
1949
+ msgid "Syrian Arab Republic"
1950
  msgstr ""
1951
 
1952
+ #: core/helpers/helper-misc.php:431
1953
+ msgid "Taiwan, Province of China"
1954
  msgstr ""
1955
 
1956
+ #: core/helpers/helper-misc.php:432
1957
+ msgid "Tajikistan"
1958
  msgstr ""
1959
 
1960
+ #: core/helpers/helper-misc.php:433
1961
+ msgid "Tanzania, United Republic of"
1962
  msgstr ""
1963
 
1964
+ #: core/helpers/helper-misc.php:434
1965
+ msgid "Thailand"
1966
  msgstr ""
1967
 
1968
+ #: core/helpers/helper-misc.php:435
1969
+ msgid "Togo"
1970
  msgstr ""
1971
 
1972
+ #: core/helpers/helper-misc.php:436
1973
+ msgid "Tokelau"
1974
  msgstr ""
1975
 
1976
+ #: core/helpers/helper-misc.php:437
1977
+ msgid "Tonga"
1978
  msgstr ""
1979
 
1980
+ #: core/helpers/helper-misc.php:438
1981
+ msgid "Trinidad and Tobago"
1982
  msgstr ""
1983
 
1984
+ #: core/helpers/helper-misc.php:439
1985
+ msgid "Tunisia"
1986
  msgstr ""
1987
 
1988
+ #: core/helpers/helper-misc.php:440
1989
+ msgid "Turkey"
1990
  msgstr ""
1991
 
1992
+ #: core/helpers/helper-misc.php:441
1993
+ msgid "Turkmenistan"
1994
  msgstr ""
1995
 
1996
+ #: core/helpers/helper-misc.php:442
1997
+ msgid "Turks and Caicos Islands"
1998
  msgstr ""
1999
 
2000
+ #: core/helpers/helper-misc.php:443
2001
+ msgid "Tuvalu"
2002
  msgstr ""
2003
 
2004
+ #: core/helpers/helper-misc.php:444
2005
+ msgid "Uganda"
2006
  msgstr ""
2007
 
2008
+ #: core/helpers/helper-misc.php:445
2009
+ msgid "Ukraine"
2010
  msgstr ""
2011
 
2012
+ #: core/helpers/helper-misc.php:446
2013
+ msgid "United Arab Emirates"
2014
+ msgstr ""
2015
+
2016
+ #: core/helpers/helper-misc.php:447
2017
+ msgid "United Kingdom"
2018
  msgstr ""
2019
 
2020
  #: core/helpers/helper-misc.php:448
2025
  msgid "United States Minor Outlying Islands"
2026
  msgstr ""
2027
 
2028
+ #: core/helpers/helper-misc.php:450
2029
+ msgid "Uruguay"
2030
+ msgstr ""
2031
+
2032
+ #: core/helpers/helper-misc.php:451
2033
+ msgid "Uzbekistan"
2034
+ msgstr ""
2035
+
2036
+ #: core/helpers/helper-misc.php:452
2037
+ msgid "Vanuatu"
2038
+ msgstr ""
2039
+
2040
+ #: core/helpers/helper-misc.php:453
2041
+ msgid "Venezuela"
2042
+ msgstr ""
2043
+
2044
+ #: core/helpers/helper-misc.php:454
2045
+ msgid "Vietnam"
2046
+ msgstr ""
2047
+
2048
  #: core/helpers/helper-misc.php:455
2049
  msgid "Virgin Islands (British)"
2050
  msgstr ""
2057
  msgid "Wallis and Futuna Islands"
2058
  msgstr ""
2059
 
2060
+ #: core/helpers/helper-misc.php:458
2061
+ msgid "Western Sahara"
2062
+ msgstr ""
2063
+
2064
+ #: core/helpers/helper-misc.php:459
2065
+ msgid "Yemen"
2066
+ msgstr ""
2067
+
2068
  #: core/helpers/helper-misc.php:460
2069
  msgid "Yugoslavia"
2070
  msgstr ""
2071
 
2072
+ #: core/helpers/helper-misc.php:461
2073
+ msgid "Zambia"
2074
+ msgstr ""
2075
+
2076
+ #: core/helpers/helper-misc.php:462
2077
+ msgid "Zimbabwe"
2078
+ msgstr ""
2079
+
2080
  #: core/helpers/helper-misc.php:675
2081
  msgid "Response #%s"
2082
  msgstr ""
2631
 
2632
  #: core/templates/admin-form-modal.php:12
2633
  #: core/assets/jsx/build/admin/block.js:158
2634
+ #: core/assets/jsx/src/admin/block.js:41
2635
  msgid "Insert"
2636
  msgstr ""
2637
 
2649
  #: inc/classes/class-answer-limiter-dummy.php:39
2650
  #: inc/templates/customize-controls/checkbox_dummy.php:7
2651
  #: inc/templates/customize-controls/email-parts-list-dummy.php:2
2652
+ #: inc/templates/customize-controls/number_dummy.php:4
2653
  msgid "Members Only"
2654
  msgstr ""
2655
 
2666
  msgstr ""
2667
 
2668
  #: core/templates/customize-form-build.php:9
2669
+ msgid ""
2670
+ "It doesn't look like your form has any fields yet. Want to add one?\n"
2671
+ "Click the \"Add a Field\" button to start."
2672
  msgstr ""
2673
 
2674
+ #: core/templates/customize-form-build.php:13
2675
  msgid "Add a Field"
2676
  msgstr ""
2677
 
2977
 
2978
  #: core/templates/parts/customize-radio.php:128
2979
  #: core/templates/parts/customize-select.php:114
2980
+ #: inc/classes/class-happyforms.php:138
2981
  msgid "Max number of submissions"
2982
  msgstr ""
2983
 
2989
  msgid "Max times the same answer is allowed"
2990
  msgstr ""
2991
 
2992
+ #: inc/classes/class-happyforms.php:100
2993
  msgid "Upgrade"
2994
  msgstr ""
2995
 
2996
+ #: inc/classes/class-happyforms.php:108
2997
+ msgid "Shuffle order of fields"
2998
+ msgstr ""
2999
+
3000
+ #: inc/classes/class-happyforms.php:114
3001
  msgid "Use reCAPTCHA"
3002
  msgstr ""
3003
 
3004
+ #: inc/classes/class-happyforms.php:120
3005
  msgid "Save incomplete and abandoned submissions"
3006
  msgstr ""
3007
 
3008
+ #: inc/classes/class-happyforms.php:126
3009
  msgid "Let respondents save a draft submission and come back to it later"
3010
  msgstr ""
3011
 
3012
+ #: inc/classes/class-happyforms.php:132
3013
  msgid "Require respondents to review a submission before submitting"
3014
  msgstr ""
3015
 
3016
+ #: inc/classes/class-happyforms.php:144
3017
+ msgid "Erase respondent's personal data after set number of days"
 
 
 
 
3018
  msgstr ""
3019
 
3020
+ #: inc/classes/class-happyforms.php:150
3021
  msgid "Capture user metadata (IP, language, platform, time and timezone)"
3022
  msgstr ""
3023
 
3024
+ #: inc/classes/class-happyforms.php:156
3025
  msgid "Show an error message if field contains words in Disallowed Comment Keys"
3026
  msgstr ""
3027
 
3028
+ #: inc/classes/class-happyforms.php:166
3029
  msgid "Include reply link"
3030
  msgstr ""
3031
 
3032
+ #: inc/classes/class-happyforms.php:172
3033
  msgid "Include referral web address"
3034
  msgstr ""
3035
 
3036
+ #: inc/classes/class-happyforms.php:178
3037
  msgid "To email address"
3038
  msgstr ""
3039
 
3040
+ #: inc/classes/class-happyforms.php:184
3041
  msgid "Send abandonment email"
3042
  msgstr ""
3043
 
3069
  msgid "Spam"
3070
  msgstr ""
3071
 
3072
+ #: inc/classes/class-message-controller.php:537
3073
+ #: inc/classes/class-message-controller.php:538
3074
  msgid "All Activity"
3075
  msgstr ""
3076
 
3077
+ #: inc/classes/class-message-controller.php:539
3078
  msgid "No activity found."
3079
  msgstr ""
3080
 
3163
  msgstr ""
3164
 
3165
  #: inc/classes/parts/class-part-phone-dummy.php:9
3166
+ msgid "For collecting a local or international phone number."
3167
  msgstr ""
3168
 
3169
  #: inc/classes/parts/class-part-placeholder-dummy.php:8
3468
  msgstr ""
3469
 
3470
  #: core/assets/jsx/build/admin/block.js:127
3471
+ #: core/assets/jsx/src/admin/block.js:15
3472
  msgid "Choose"
3473
  msgstr ""
3474
 
3475
  #: core/assets/jsx/build/admin/block.js:144
3476
+ #: core/assets/jsx/src/admin/block.js:27
3477
  msgid "The form previously added has been trashed or deleted."
3478
  msgstr ""
3479
 
3480
  #: core/assets/jsx/build/admin/block.js:144
3481
+ #: core/assets/jsx/src/admin/block.js:31
3482
  msgid "Pick a form to display on your site."
3483
  msgstr ""
3484
 
3485
  #: core/assets/jsx/build/admin/block.js:175
3486
+ #: core/assets/jsx/src/admin/block.js:63
3487
  msgid "Pick a form"
3488
  msgstr ""
3489
 
3490
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:211
3491
  #: inc/assets/jsx/src/admin/dashboard-modals.js:45
3492
+ msgid "One last thing"
3493
  msgstr ""
3494
 
3495
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:211
3496
  #: inc/assets/jsx/src/admin/dashboard-modals.js:46
3497
+ msgid "We'll occasionally send you emails about plugin updates. And don't sweat it, you can unsubscribe anytime."
3498
  msgstr ""
3499
 
3500
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:223
3501
  #: inc/assets/jsx/src/admin/dashboard-modals.js:54
3502
  msgid "Continue"
3503
  msgstr ""
3504
 
3505
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:246
3506
  #: inc/assets/jsx/src/admin/dashboard-modals.js:87
3507
+ msgid "Start with a free trial"
3508
  msgstr ""
3509
 
3510
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:248
3511
  #: inc/assets/jsx/src/admin/dashboard-modals.js:90
3512
+ msgid "You're just a mouse click and a few key taps away from building better forms."
3513
  msgstr ""
3514
 
3515
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:248
3516
  #: inc/assets/jsx/src/admin/dashboard-modals.js:92
3517
  msgid "Advanced features and integrations"
3518
  msgstr ""
3519
 
3520
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:248
3521
  #: inc/assets/jsx/src/admin/dashboard-modals.js:93
3522
+ msgid "Help from our friendly support team"
3523
  msgstr ""
3524
 
3525
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:248
3526
  #: inc/assets/jsx/src/admin/dashboard-modals.js:94
3527
+ msgid "Automatically transfer your free forms"
3528
  msgstr ""
3529
 
3530
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:248
3531
  #: inc/assets/jsx/src/admin/dashboard-modals.js:95
3532
+ msgid "New updates every second week"
3533
  msgstr ""
3534
 
3535
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:248
3536
  #: inc/assets/jsx/src/admin/dashboard-modals.js:97
3537
+ msgid "Ready to build better forms?"
3538
  msgstr ""
3539
 
3540
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:254
3541
  #: inc/assets/jsx/src/admin/dashboard-modals.js:101
3542
  msgid "Start a Free 7-day Trial"
3543
  msgstr ""
3544
 
3545
+ #: inc/assets/jsx/build/admin/dashboard-modals.js:258
3546
  #: inc/assets/jsx/src/admin/dashboard-modals.js:102
3547
  msgid "Nope, Maybe Later"
3548
  msgstr ""
readme.txt CHANGED
@@ -3,9 +3,9 @@
3
  Contributors: happyforms
4
  Tags: contact form, contact form plugin, forms, form builder, custom form, intake form, registration form, survey form, quiz form, payment form, newsletter form, giveaway form, fundraising form, donation form, nomination form, order form, questionnaire form, onboarding form, contract form, estimate form, research form, qualitative form, quantitative form, membership form, mobile form, feedback form, release form, inquiry form, request form, evaluation form, RSVP form, reservation form, sales lead form, popup form, quote form, event form, booking form, application form, agreement form, safety form, compliance form, assessment form, sponsorship form, report form, file upload form, satisfaction form
5
  Requires at least: 5.0
6
- Tested up to: 5.9.3
7
  Requires PHP: 7.0
8
- Stable tag: 1.15.2
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -151,6 +151,12 @@ Aw, honestly, the thought that you're writing about our contact form builder is
151
 
152
  == Changelog ==
153
 
 
 
 
 
 
 
154
  = 1.15.2 =
155
  * New feature: "Screen Options" tab now includes "View mode" for better consistency with core WordPress.
156
  * Improvement: Installation data is now deleted automatically on plugin removal for easier deactivation.
@@ -938,6 +944,9 @@ Aw, honestly, the thought that you're writing about our contact form builder is
938
 
939
  == Upgrade Notice ==
940
 
 
 
 
941
  = 1.15.2 =
942
  * New "View Mode" control in "Screen Options" tab, automatic cleanup on plugin removal, visual improvements.
943
 
3
  Contributors: happyforms
4
  Tags: contact form, contact form plugin, forms, form builder, custom form, intake form, registration form, survey form, quiz form, payment form, newsletter form, giveaway form, fundraising form, donation form, nomination form, order form, questionnaire form, onboarding form, contract form, estimate form, research form, qualitative form, quantitative form, membership form, mobile form, feedback form, release form, inquiry form, request form, evaluation form, RSVP form, reservation form, sales lead form, popup form, quote form, event form, booking form, application form, agreement form, safety form, compliance form, assessment form, sponsorship form, report form, file upload form, satisfaction form
5
  Requires at least: 5.0
6
+ Tested up to: 6.0
7
  Requires PHP: 7.0
8
+ Stable tag: 1.15.3
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
151
 
152
  == Changelog ==
153
 
154
+ = 1.15.3 =
155
+ * New feature: Submissions are checked against headless browsers for better antispam protection.
156
+ * Improvement: Field choices preserves its shuffled state when a validation occurs on submission for better usability.
157
+ * Improvement: Better wording and style fixes in the form builder.
158
+ * Bugfix: Opt-In Choice field label spacing was off.
159
+
160
  = 1.15.2 =
161
  * New feature: "Screen Options" tab now includes "View mode" for better consistency with core WordPress.
162
  * Improvement: Installation data is now deleted automatically on plugin removal for easier deactivation.
944
 
945
  == Upgrade Notice ==
946
 
947
+ = 1.15.3 =
948
+ * Improved antispam protection, better shuffling of field choices, miscellaneous improvements and bugfixes.
949
+
950
  = 1.15.2 =
951
  * New "View Mode" control in "Screen Options" tab, automatic cleanup on plugin removal, visual improvements.
952