{"version":3,"sources":["forms.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","mc4wp","window","forms","trigger","event","args","id","bind","evtName","cb","document","addEventListener","evt","target","el","className","indexOf","matches","form","getByElement","defaultPrevented","started","listeners","on","callback","./forms/conditional-elements.js","./forms/forms.js","2","toggleElement","show","getAttribute","conditions","split","fieldName","expectedValues","values","inputs","querySelectorAll","input","type","checked","push","value","getFieldValues","element","bubbleElement","parentElement","tagName","findForm","conditionMet","style","display","forEach","required","removeAttribute","setAttribute","evaluate","elements","handleInputEvent","3","Form","this","createElement","name","errors","serialize","populate","prototype","setData","data","console","error","getData","hash","empty","getSerializedData","setResponse","msg","querySelector","innerHTML","reset","form-serialize","populate.js","4","emit","apply","createFromElement","formElement","parseInt","get","formId","func","off","filter","eventName","eventArgs","setTimeout","./form.js","5","k_r_submitter","k_r_success_contrls","brackets","hash_serializer","result","key","match","hash_assign","keys","shift","between","Array","isArray","_values","string","index","isNaN","children","RegExp","exec","parse_keys","existing","str_serialize","replace","encodeURIComponent","options","undefined","serializer","radio_store","Object","create","disabled","test","nodeName","val","selectOptions","isSelectedOptions","j","option","allowedEmpty","hasValue","selected","slice","6","basename","hasOwnProperty","constructor","namedItem","k","toString","Date","toISOString"],"mappings":"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","file":"forms.min.js","sourcesContent":["(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 1 ? conditions[1] : '*').split('|');\n var form = findForm(el);\n var values = getFieldValues(form, fieldName); // determine whether condition is met\n\n var conditionMet = false;\n\n for (var i = 0; i < values.length; i++) {\n var value = values[i]; // condition is met when value is in array of expected values OR expected values contains a wildcard and value is not empty\n\n conditionMet = expectedValues.indexOf(value) > -1 || expectedValues.indexOf('*') > -1 && value.length > 0;\n\n if (conditionMet) {\n break;\n }\n } // toggle element display\n\n\n if (show) {\n el.style.display = conditionMet ? '' : 'none';\n } else {\n el.style.display = conditionMet ? 'none' : '';\n } // find all inputs inside this element and toggle [required] attr (to prevent HTML5 validation on hidden elements)\n\n\n var inputs = el.querySelectorAll('input,select,textarea');\n [].forEach.call(inputs, function (el) {\n if ((conditionMet || show) && el.getAttribute('data-was-required')) {\n el.required = true;\n el.removeAttribute('data-was-required');\n }\n\n if ((!conditionMet || !show) && el.required) {\n el.setAttribute('data-was-required', 'true');\n el.required = false;\n }\n });\n} // evaluate conditional elements globally\n\n\nfunction evaluate() {\n var elements = document.querySelectorAll('.mc4wp-form [data-show-if],.mc4wp-form [data-hide-if]');\n [].forEach.call(elements, toggleElement);\n} // re-evaluate conditional elements for change events on forms\n\n\nfunction handleInputEvent(evt) {\n if (!evt.target || !evt.target.form || evt.target.form.className.indexOf('mc4wp-form') < 0) {\n return;\n }\n\n var form = evt.target.form;\n var elements = form.querySelectorAll('[data-show-if],[data-hide-if]');\n [].forEach.call(elements, toggleElement);\n}\n\ndocument.addEventListener('keyup', handleInputEvent, true);\ndocument.addEventListener('change', handleInputEvent, true);\ndocument.addEventListener('mc4wp-refresh', evaluate, true);\nwindow.addEventListener('load', evaluate);\nevaluate();\n\n},{}],3:[function(require,module,exports){\n'use strict';\n\nvar serialize = require('form-serialize');\n\nvar populate = require('populate.js');\n\nvar Form = function Form(id, element) {\n this.id = id;\n this.element = element || document.createElement('form');\n this.name = this.element.getAttribute('data-name') || 'Form #' + this.id;\n this.errors = [];\n this.started = false;\n};\n\nForm.prototype.setData = function (data) {\n try {\n populate(this.element, data);\n } catch (e) {\n console.error(e);\n }\n};\n\nForm.prototype.getData = function () {\n return serialize(this.element, {\n hash: true,\n empty: true\n });\n};\n\nForm.prototype.getSerializedData = function () {\n return serialize(this.element, {\n hash: false,\n empty: true\n });\n};\n\nForm.prototype.setResponse = function (msg) {\n this.element.querySelector('.mc4wp-response').innerHTML = msg;\n}; // revert back to original state\n\n\nForm.prototype.reset = function () {\n this.setResponse('');\n this.element.querySelector('.mc4wp-form-fields').style.display = '';\n this.element.reset();\n};\n\nmodule.exports = Form;\n\n},{\"form-serialize\":5,\"populate.js\":6}],4:[function(require,module,exports){\n'use strict';\n\nvar Form = require('./form.js');\n\nvar forms = [];\nvar listeners = {};\n\nfunction emit(event, args) {\n listeners[event] = listeners[event] || [];\n listeners[event].forEach(function (f) {\n return f.apply(null, args);\n });\n}\n\nfunction on(event, func) {\n listeners[event] = listeners[event] || [];\n listeners[event].push(func);\n}\n\nfunction off(event, func) {\n listeners[event] = listeners[event] || [];\n listeners[event] = listeners[event].filter(function (f) {\n return f !== func;\n });\n} // get form by its id\n// please note that this will get the FIRST occurence of the form with that ID on the page\n\n\nfunction get(formId) {\n formId = parseInt(formId); // do we have form for this one already?\n\n for (var i = 0; i < forms.length; i++) {\n if (forms[i].id === formId) {\n return forms[i];\n }\n } // try to create from first occurence of this element\n\n\n var formElement = document.querySelector('.mc4wp-form-' + formId);\n return createFromElement(formElement, formId);\n} // get form by
element (or any input in form)\n\n\nfunction getByElement(element) {\n var formElement = element.form || element;\n\n for (var i = 0; i < forms.length; i++) {\n if (forms[i].element === formElement) {\n return forms[i];\n }\n }\n\n return createFromElement(formElement);\n} // create form object from element\n\n\nfunction createFromElement(formElement, id) {\n id = id || parseInt(formElement.getAttribute('data-id')) || 0;\n var form = new Form(id, formElement);\n forms.push(form);\n return form;\n}\n\nfunction trigger(eventName, eventArgs) {\n if (eventName === 'submit' || eventName.indexOf('.submit') > 0) {\n // don't spin up new thread for submit event as we want to preventDefault()...\n emit(eventName, eventArgs);\n } else {\n // process in separate thread to prevent errors from breaking core functionality\n window.setTimeout(function () {\n emit(eventName, eventArgs);\n }, 1);\n }\n}\n\nmodule.exports = {\n get: get,\n getByElement: getByElement,\n on: on,\n off: off,\n trigger: trigger\n};\n\n},{\"./form.js\":3}],5:[function(require,module,exports){\n// get successful control from form and assemble into object\n// http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2\n\n// types which indicate a submit action and are not successful controls\n// these will be ignored\nvar k_r_submitter = /^(?:submit|button|image|reset|file)$/i;\n\n// node names which could be successful controls\nvar k_r_success_contrls = /^(?:input|select|textarea|keygen)/i;\n\n// Matches bracket notation.\nvar brackets = /(\\[[^\\[\\]]*\\])/g;\n\n// serializes form fields\n// @param form MUST be an HTMLForm element\n// @param options is an optional argument to configure the serialization. Default output\n// with no options specified is a url encoded string\n// - hash: [true | false] Configure the output type. If true, the output will\n// be a js object.\n// - serializer: [function] Optional serializer function to override the default one.\n// The function takes 3 arguments (result, key, value) and should return new result\n// hash and url encoded str serializers are provided with this module\n// - disabled: [true | false]. If true serialize disabled fields.\n// - empty: [true | false]. If true serialize empty fields\nfunction serialize(form, options) {\n if (typeof options != 'object') {\n options = { hash: !!options };\n }\n else if (options.hash === undefined) {\n options.hash = true;\n }\n\n var result = (options.hash) ? {} : '';\n var serializer = options.serializer || ((options.hash) ? hash_serializer : str_serialize);\n\n var elements = form && form.elements ? form.elements : [];\n\n //Object store each radio and set if it's empty or not\n var radio_store = Object.create(null);\n\n for (var i=0 ; i -1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'select-multiple':\n\t\t\t\tvar values = value.constructor == Array ? value : [value];\n\n\t\t\t\tfor(var k = 0; k < element.options.length; k++) {\n\t\t\t\t\telement.options[k].selected |= (values.indexOf(element.options[k].value) > -1 );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'select':\n\t\t\tcase 'select-one':\n\t\t\t\telement.value = value.toString() || value;\n\t\t\t\tbreak;\n\n\t\t\tcase 'date':\n \t\t\telement.value = new Date(value).toISOString().split('T')[0];\t\n\t\t\t\tbreak;\n\t\t}\n\n\t}\n};\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = populate;\n} \n},{}]},{},[1]);\n"]}