{"version":3,"sources":["ajax-forms/assets/js/ajax-forms.js"],"names":["r","e","n","t","o","i","f","c","u","a","Error","code","p","exports","call","length","1","require","module","getButtonText","button","innerHTML","value","setButtonText","text","Loader","formElement","this","form","querySelector","loadingInterval","character","originalButton","cloneNode","prototype","setCharacter","start","loadingText","getAttribute","styles","window","getComputedStyle","style","width","setInterval","tick","bind","opacity","classList","add","loadingChar","stop","clearInterval","className","replace","2","process","config","mc4wp_ajax_vars","busy","submit","loader","element","trigger","event","args","mc4wp","forms","id","setResponse","request","XMLHttpRequest","onreadystatechange","response","readyState","status","data","JSON","parse","responseText","error","console","log","message","errors","getData","hide_fields","display","reset","redirect_to","location","href","open","setRequestHeader","send","getSerializedData","fire","on","indexOf","document","activeElement","tagName","blur","returnValue","preventDefault","./_form-loader.js","_process","3","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","Array","arguments","push","apply","title","browser","env","argv","version","versions","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask"],"mappings":"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","file":"ajax-forms.min.js","sourcesContent":["(function () { var require = undefined; var define = undefined; (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i= 5 ? loadingChar : text + \" \" + loadingChar);\n};\n\nLoader.prototype.stop = function () {\n if (this.button) {\n this.button.style.width = this.originalButton.style.width;\n var text = getButtonText(this.originalButton);\n setButtonText(this.button, text);\n window.clearInterval(this.loadingInterval);\n } else {\n this.form.style.opacity = '';\n }\n\n this.form.className = this.form.className.replace('mc4wp-loading', '');\n};\n\nmodule.exports = Loader;\n\n},{}],2:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar Loader = require('./_form-loader.js');\n\nvar config = window.mc4wp_ajax_vars;\nvar busy = false;\n\nfunction submit(form) {\n var loader = new Loader(form.element);\n var loadingChar = config['loading_character'];\n\n if (loadingChar) {\n loader.setCharacter(loadingChar);\n }\n\n function start() {\n // Clear possible errors from previous submit\n form.setResponse('');\n loader.start();\n fire();\n }\n\n function fire() {\n // prepare request\n busy = true;\n var request = new XMLHttpRequest();\n\n request.onreadystatechange = function () {\n var response = request; // are we done?\n\n if (response.readyState >= 4) {\n clean();\n\n if (response.status >= 200 && response.status < 400) {\n var data; // Request success! :-)\n\n try {\n data = JSON.parse(response.responseText);\n } catch (error) {\n console.log('Mailchimp for WordPress: failed to parse AJAX response.\\n\\nError: \"' + error + '\"'); // Not good..\n\n form.setResponse('

' + config['error_text'] + '

');\n return;\n }\n\n process(data);\n } else {\n // Error :(\n console.log(response.responseText);\n }\n }\n };\n\n request.open('POST', config['ajax_url'], true);\n request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n request.setRequestHeader('Accept', 'application/json');\n request.send(form.getSerializedData());\n }\n\n function process(response) {\n trigger('submitted', [form, null]);\n\n if (response.error) {\n form.setResponse(response.error.message);\n trigger('error', [form, response.error.errors]);\n } else {\n var data = form.getData(); // trigger events\n\n trigger('success', [form, data]);\n trigger(response.data.event, [form, data]); // for BC: always trigger \"subscribed\" event when firing \"updated_subscriber\" event\n // third boolean parameter indicates this was a BC event\n\n if (response.data.event === 'updated_subscriber') {\n trigger('subscribed', [form, data, true]);\n }\n\n if (response.data.hide_fields) {\n form.element.querySelector('.mc4wp-form-fields').style.display = 'none';\n } // show success message\n\n\n form.setResponse(response.data.message); // reset form element\n\n form.element.reset(); // maybe redirect to url\n\n if (response.data.redirect_to) {\n window.location.href = response.data.redirect_to;\n }\n }\n }\n\n function trigger(event, args) {\n window.mc4wp.forms.trigger(event, args);\n window.mc4wp.forms.trigger(args[0].id + \".\" + event, args);\n }\n\n function clean() {\n loader.stop();\n busy = false;\n } // let's do this!\n\n\n if (!busy) {\n start();\n }\n} // failsafe against including script twice\n\n\nif (!config['inited']) {\n window.mc4wp.forms.on('submit', function (form, event) {\n // does this form have AJAX enabled?\n if (form.element.getAttribute('class').indexOf('mc4wp-ajax') < 0) {\n return;\n } // blur active input field\n\n\n if (document.activeElement && document.activeElement.tagName === 'INPUT') {\n document.activeElement.blur();\n }\n\n try {\n submit(form);\n } catch (e) {\n console.error(e);\n return true;\n }\n\n event.returnValue = false;\n event.preventDefault();\n return false;\n });\n config['inited'] = true;\n}\n\n}).call(this,require('_process'))\n},{\"./_form-loader.js\":1,\"_process\":3}],3:[function(require,module,exports){\n\"use strict\";\n\n// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};\n\n},{}]},{},[2]);\n })();"]}