{"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","Config","objectName","this","prototype","get","k","d","undefined","window","set","v","2","getButtonText","button","innerHTML","value","setButtonText","text","Loader","formElement","form","querySelector","loadingInterval","character","originalButton","cloneNode","setCharacter","start","loadingText","getAttribute","styles","getComputedStyle","style","width","setInterval","tick","bind","opacity","classList","add","loadingChar","stop","clearInterval","remove","3","process","ConfigStore","config","busy","mc4wp","forms","on","event","element","indexOf","document","activeElement","tagName","blur","loader","trigger","args","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","submit","returnValue","preventDefault","./_config.js","./_form-loader.js","_process","4","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<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n'use strict';\n\nfunction Config(objectName) {\n this.objectName = objectName;\n}\n\nConfig.prototype.get = function (k, d) {\n return window[this.objectName] !== undefined ? window[this.objectName][k] : d;\n};\n\nConfig.prototype.set = function (k, v) {\n if (!window[this.objectName]) {\n window[this.objectName] = {};\n }\n\n window[this.objectName][k] = v;\n};\n\nmodule.exports = Config;\n\n},{}],2:[function(require,module,exports){\n'use strict';\n\nfunction getButtonText(button) {\n return button.innerHTML ? button.innerHTML : button.value;\n}\n\nfunction setButtonText(button, text) {\n button.innerHTML ? button.innerHTML = text : button.value = text;\n}\n\nfunction Loader(formElement) {\n this.form = formElement;\n this.button = formElement.querySelector('input[type=\"submit\"], button[type=\"submit\"]');\n this.loadingInterval = 0;\n this.character = \"\\xB7\";\n\n if (this.button) {\n this.originalButton = this.button.cloneNode(true);\n }\n}\n\nLoader.prototype.setCharacter = function (c) {\n this.character = c;\n};\n\nLoader.prototype.start = function () {\n if (this.button) {\n // loading text\n var loadingText = this.button.getAttribute('data-loading-text');\n\n if (loadingText) {\n setButtonText(this.button, loadingText);\n return;\n } // Show AJAX loader\n\n\n var styles = window.getComputedStyle(this.button);\n this.button.style.width = styles.width;\n setButtonText(this.button, this.character);\n this.loadingInterval = window.setInterval(this.tick.bind(this), 500);\n } else {\n this.form.style.opacity = '0.5';\n }\n\n if (this.form.classList) {\n this.form.classList.add('mc4wp-loading');\n }\n};\n\nLoader.prototype.tick = function () {\n // count chars, start over at 5\n var text = getButtonText(this.button);\n var loadingChar = this.character;\n setButtonText(this.button, text.length >= 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 if (this.form.classList) {\n this.form.classList.remove('mc4wp-loading');\n }\n};\n\nmodule.exports = Loader;\n\n},{}],3:[function(require,module,exports){\n(function (process){\n'use strict';\n\nvar ConfigStore = require('./_config.js');\n\nvar Loader = require('./_form-loader.js');\n\nvar config = new ConfigStore('mc4wp_ajax_vars');\nvar busy = false; // failsafe against including script twice\n\nif (!config.get('ready')) {\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}\n\nfunction submit(form) {\n var loader = new Loader(form.element);\n var loadingChar = config.get('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('<div class=\"mc4wp-alert mc4wp-error\"><p>' + config.get('error_text') + '</p></div>');\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.get('ajax_url'), true);\n request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\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}\n\nconfig.set('ready', true);\n\n}).call(this,require('_process'))\n},{\"./_config.js\":1,\"./_form-loader.js\":2,\"_process\":4}],4:[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},{}]},{},[3]);\n })();"]}