{"version":3,"sources":["webpack://@verndale/toolkit/./node_modules/form-serialize/index.js","webpack://@verndale/toolkit/./node_modules/js-cookie/src/js.cookie.js","webpack://@verndale/toolkit/./node_modules/lodash.debounce/index.js","webpack://@verndale/toolkit/./node_modules/pristinejs/dist/pristine.js","webpack://@verndale/toolkit/./node_modules/uuid/index.js","webpack://@verndale/toolkit/./node_modules/uuid/lib/bytesToUuid.js","webpack://@verndale/toolkit/./node_modules/uuid/lib/rng-browser.js","webpack://@verndale/toolkit/./node_modules/uuid/v1.js","webpack://@verndale/toolkit/./node_modules/uuid/v4.js"],"names":["k_r_submitter","k_r_success_contrls","brackets","serialize","form","options","result","serializer","hash_serializer","str_serialize","elements","radio_store","i","element","key","val","selectOptions","isSelectedOptions","j","option","allowedEmpty","hasValue","parse_keys","string","keys","prefix","children","match","hash_assign","value","between","index","matches","existing","module","factory","registeredInModuleLoader","OldCookies","api","extend","attributes","decode","s","init","converter","set","stringifiedAttributes","attributeName","get","json","jar","cookies","parts","cookie","name","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","freeGlobal","freeSelf","root","objectProto","objectToString","nativeMax","nativeMin","now","debounce","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","toNumber","isObject","invokeFunc","time","args","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","shouldInvoke","trailingEdge","cancel","flush","debounced","isInvoking","type","isObjectLike","isSymbol","other","isBinary","global","lang","findAncestor","el","cls","tmpl","o","_arguments","a","b","groupedElemCount","input","mergeConfig","obj1","obj2","attr","defaultConfig","PRISTINE_ERROR","SELECTOR","ALLOWED_ATTRIBUTES","EMAIL_REGEX","MESSAGE_REGEX","currentLocale","validators","_","validator","length","limit","pattern","m","otherFieldSelector","Pristine","config","live","self","fns","params","messages","messageMatch","locale","_addValidatorToField","e","valueParams","silent","fields","valid","field","_validateField","_showSuccess","_showError","erroneousFields","errors","elem","fn","msg","priority","halt","_getErrorElements","errorClassElement","errorTextParent","errorTextElement","errorElements","inputId","errorId","error","_removeError","langObj","v1","v4","uuid","byteToHex","bytesToUuid","buf","offset","bth","getRandomValues","rnds8","rnds","r","rng","_nodeId","_clockseq","_lastMSecs","_lastNSecs","node","clockseq","seedBytes","msecs","nsecs","dt","tl","tmh","n","ii"],"mappings":"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","file":"Areas/SunriseSeniorLiving/Scripts/38.538f9a2fa30c9100778e.bundle.js","sourcesContent":["// 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\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Pristine = factory());\n}(this, (function () { 'use strict';\n\n var lang = {\n en: {\n required: \"This field is required\",\n email: \"This field requires a valid e-mail address\",\n number: \"This field requires a number\",\n integer: \"This field requires an integer value\",\n url: \"This field requires a valid website URL\",\n tel: \"This field requires a valid telephone number\",\n maxlength: \"This fields length must be < ${1}\",\n minlength: \"This fields length must be > ${1}\",\n min: \"Minimum value for this field is ${1}\",\n max: \"Maximum value for this field is ${1}\",\n pattern: \"Please match the requested format\",\n equals: \"The two fields do not match\",\n default: \"Please enter a correct value\"\n }\n };\n\n function findAncestor(el, cls) {\n while ((el = el.parentElement) && !el.classList.contains(cls)) {}\n return el;\n }\n\n function tmpl(o) {\n var _arguments = arguments;\n\n return this.replace(/\\${([^{}]*)}/g, function (a, b) {\n return _arguments[b];\n });\n }\n\n function groupedElemCount(input) {\n return input.pristine.self.form.querySelectorAll('input[name=\"' + input.getAttribute('name') + '\"]:checked').length;\n }\n\n function mergeConfig(obj1, obj2) {\n for (var attr in obj2) {\n if (!(attr in obj1)) {\n obj1[attr] = obj2[attr];\n }\n }\n return obj1;\n }\n\n var defaultConfig = {\n classTo: 'form-group',\n errorClass: 'has-danger',\n successClass: 'has-success',\n errorTextParent: 'form-group',\n errorTextTag: 'div',\n errorTextClass: 'text-help'\n };\n\n var PRISTINE_ERROR = 'pristine-error';\n var SELECTOR = \"input:not([type^=hidden]):not([type^=submit]), select, textarea\";\n var ALLOWED_ATTRIBUTES = [\"required\", \"min\", \"max\", 'minlength', 'maxlength', 'pattern'];\n var EMAIL_REGEX = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n var MESSAGE_REGEX = /-message(?:-([a-z]{2}(?:_[A-Z]{2})?))?/; // matches, -message, -message-en, -message-en_US\n var currentLocale = 'en';\n var validators = {};\n\n var _ = function _(name, validator) {\n validator.name = name;\n if (validator.priority === undefined) validator.priority = 1;\n validators[name] = validator;\n };\n\n _('text', { fn: function fn(val) {\n return true;\n }, priority: 0 });\n _('required', { fn: function fn(val) {\n return this.type === 'radio' || this.type === 'checkbox' ? groupedElemCount(this) : val !== undefined && val.trim() !== '';\n }, priority: 99, halt: true });\n _('email', { fn: function fn(val) {\n return !val || EMAIL_REGEX.test(val);\n } });\n _('number', { fn: function fn(val) {\n return !val || !isNaN(parseFloat(val));\n }, priority: 2 });\n _('integer', { fn: function fn(val) {\n return !val || /^\\d+$/.test(val);\n } });\n _('minlength', { fn: function fn(val, length) {\n return !val || val.length >= parseInt(length);\n } });\n _('maxlength', { fn: function fn(val, length) {\n return !val || val.length <= parseInt(length);\n } });\n _('min', { fn: function fn(val, limit) {\n return !val || (this.type === 'checkbox' ? groupedElemCount(this) >= parseInt(limit) : parseFloat(val) >= parseFloat(limit));\n } });\n _('max', { fn: function fn(val, limit) {\n return !val || (this.type === 'checkbox' ? groupedElemCount(this) <= parseInt(limit) : parseFloat(val) <= parseFloat(limit));\n } });\n _('pattern', { fn: function fn(val, pattern) {\n var m = pattern.match(new RegExp('^/(.*?)/([gimy]*)$'));return !val || new RegExp(m[1], m[2]).test(val);\n } });\n _('equals', { fn: function fn(val, otherFieldSelector) {\n var other = document.querySelector(otherFieldSelector);return other && (!val && !other.value || other.value === val);\n } });\n\n function Pristine(form, config, live) {\n\n var self = this;\n\n init(form, config, live);\n\n function init(form, config, live) {\n\n form.setAttribute(\"novalidate\", \"true\");\n\n self.form = form;\n self.config = mergeConfig(config || {}, defaultConfig);\n self.live = !(live === false);\n self.fields = Array.from(form.querySelectorAll(SELECTOR)).map(function (input) {\n\n var fns = [];\n var params = {};\n var messages = {};\n\n [].forEach.call(input.attributes, function (attr) {\n if (/^data-pristine-/.test(attr.name)) {\n var name = attr.name.substr(14);\n var messageMatch = name.match(MESSAGE_REGEX);\n if (messageMatch !== null) {\n var locale = messageMatch[1] === undefined ? 'en' : messageMatch[1];\n if (!messages.hasOwnProperty(locale)) messages[locale] = {};\n messages[locale][name.slice(0, name.length - messageMatch[0].length)] = attr.value;\n return;\n }\n if (name === 'type') name = attr.value;\n _addValidatorToField(fns, params, name, attr.value);\n } else if (~ALLOWED_ATTRIBUTES.indexOf(attr.name)) {\n _addValidatorToField(fns, params, attr.name, attr.value);\n } else if (attr.name === 'type') {\n _addValidatorToField(fns, params, attr.value);\n }\n });\n\n fns.sort(function (a, b) {\n return b.priority - a.priority;\n });\n\n self.live && input.addEventListener(!~['radio', 'checkbox'].indexOf(input.getAttribute('type')) ? 'input' : 'change', function (e) {\n self.validate(e.target);\n }.bind(self));\n\n return input.pristine = { input: input, validators: fns, params: params, messages: messages, self: self };\n }.bind(self));\n }\n\n function _addValidatorToField(fns, params, name, value) {\n var validator = validators[name];\n if (validator) {\n fns.push(validator);\n if (value) {\n var valueParams = name === \"pattern\" ? [value] : value.split(',');\n valueParams.unshift(null); // placeholder for input's value\n params[name] = valueParams;\n }\n }\n }\n\n /***\n * Checks whether the form/input elements are valid\n * @param input => input element(s) or a jquery selector, null for full form validation\n * @param silent => do not show error messages, just return true/false\n * @returns {boolean} return true when valid false otherwise\n */\n self.validate = function (input, silent) {\n silent = input && silent === true || input === true;\n var fields = self.fields;\n if (input !== true && input !== false) {\n if (input instanceof HTMLElement) {\n fields = [input.pristine];\n } else if (input instanceof NodeList || input instanceof (window.$ || Array) || input instanceof Array) {\n fields = Array.from(input).map(function (el) {\n return el.pristine;\n });\n }\n }\n\n var valid = true;\n\n for (var i = 0; fields[i]; i++) {\n var field = fields[i];\n if (_validateField(field)) {\n !silent && _showSuccess(field);\n } else {\n valid = false;\n !silent && _showError(field);\n }\n }\n return valid;\n };\n\n /***\n * Get errors of a specific field or the whole form\n * @param input\n * @returns {Array|*}\n */\n self.getErrors = function (input) {\n if (!input) {\n var erroneousFields = [];\n for (var i = 0; i < self.fields.length; i++) {\n var field = self.fields[i];\n if (field.errors.length) {\n erroneousFields.push({ input: field.input, errors: field.errors });\n }\n }\n return erroneousFields;\n }\n if (input.tagName && input.tagName.toLowerCase() === \"select\") {\n return input.pristine.errors;\n }\n return input.length ? input[0].pristine.errors : input.pristine.errors;\n };\n\n /***\n * Validates a single field, all validator functions are called and error messages are generated\n * when a validator fails\n * @param field\n * @returns {boolean}\n * @private\n */\n function _validateField(field) {\n var errors = [];\n var valid = true;\n for (var i = 0; field.validators[i]; i++) {\n var validator = field.validators[i];\n var params = field.params[validator.name] ? field.params[validator.name] : [];\n params[0] = field.input.value;\n if (!validator.fn.apply(field.input, params)) {\n valid = false;\n\n if (typeof validator.msg === \"function\") {\n errors.push(validator.msg(field.input.value, params));\n } else if (typeof validator.msg === \"string\") {\n errors.push(tmpl.apply(validator.msg, params));\n } else if (validator.msg === Object(validator.msg) && validator.msg[currentLocale]) {\n // typeof generates unnecessary babel code\n errors.push(tmpl.apply(validator.msg[currentLocale], params));\n } else if (field.messages[currentLocale] && field.messages[currentLocale][validator.name]) {\n errors.push(tmpl.apply(field.messages[currentLocale][validator.name], params));\n } else if (lang[currentLocale] && lang[currentLocale][validator.name]) {\n errors.push(tmpl.apply(lang[currentLocale][validator.name], params));\n } else {\n errors.push(tmpl.apply(lang[currentLocale].default, params));\n }\n\n if (validator.halt === true) {\n break;\n }\n }\n }\n field.errors = errors;\n return valid;\n }\n\n /***\n * Add a validator to a specific dom element in a form\n * @param elem => The dom element where the validator is applied to\n * @param fn => validator function\n * @param msg => message to show when validation fails. Supports templating. ${0} for the input's value, ${1} and\n * so on are for the attribute values\n * @param priority => priority of the validator function, higher valued function gets called first.\n * @param halt => whether validation should stop for this field after current validation function\n */\n self.addValidator = function (elem, fn, msg, priority, halt) {\n if (elem instanceof HTMLElement) {\n elem.pristine.validators.push({ fn: fn, msg: msg, priority: priority, halt: halt });\n elem.pristine.validators.sort(function (a, b) {\n return b.priority - a.priority;\n });\n } else {\n console.warn(\"The parameter elem must be a dom element\");\n }\n };\n\n /***\n * An utility function that returns a 2-element array, first one is the element where error/success class is\n * applied. 2nd one is the element where error message is displayed. 2nd element is created if doesn't exist and cached.\n * @param field\n * @returns {*}\n * @private\n */\n function _getErrorElements(field) {\n if (field.errorElements) {\n return field.errorElements;\n }\n var errorClassElement = findAncestor(field.input, self.config.classTo);\n var errorTextParent = null,\n errorTextElement = null;\n if (self.config.classTo === self.config.errorTextParent) {\n errorTextParent = errorClassElement;\n } else {\n errorTextParent = errorClassElement.querySelector('.' + self.config.errorTextParent);\n }\n if (errorTextParent) {\n errorTextElement = errorTextParent.querySelector('.' + PRISTINE_ERROR);\n if (!errorTextElement) {\n errorTextElement = document.createElement(self.config.errorTextTag);\n errorTextElement.className = PRISTINE_ERROR + ' ' + self.config.errorTextClass;\n errorTextParent.appendChild(errorTextElement);\n errorTextElement.pristineDisplay = errorTextElement.style.display;\n }\n }\n return field.errorElements = [errorClassElement, errorTextElement];\n }\n\n function _showError(field) {\n var errorElements = _getErrorElements(field);\n var errorClassElement = errorElements[0],\n errorTextElement = errorElements[1];\n\n var input = field.input;\n\n var inputId = input.id || Math.floor(new Date().valueOf() * Math.random());\n var errorId = 'error-' + inputId;\n\n if (errorClassElement) {\n errorClassElement.classList.remove(self.config.successClass);\n errorClassElement.classList.add(self.config.errorClass);\n input.setAttribute('aria-describedby', errorId);\n input.setAttribute('aria-invalid', 'true');\n }\n if (errorTextElement) {\n errorTextElement.setAttribute('id', errorId);\n errorTextElement.setAttribute('role', 'alert');\n errorTextElement.innerHTML = field.errors.join('
');\n errorTextElement.style.display = errorTextElement.pristineDisplay || '';\n }\n }\n\n /***\n * Adds error to a specific field\n * @param input\n * @param error\n */\n self.addError = function (input, error) {\n input = input.length ? input[0] : input;\n input.pristine.errors.push(error);\n _showError(input.pristine);\n };\n\n function _removeError(field) {\n var errorElements = _getErrorElements(field);\n var errorClassElement = errorElements[0],\n errorTextElement = errorElements[1];\n var input = field.input;\n\n\n if (errorClassElement) {\n // IE > 9 doesn't support multiple class removal\n errorClassElement.classList.remove(self.config.errorClass);\n errorClassElement.classList.remove(self.config.successClass);\n input.removeAttribute('aria-describedby');\n input.removeAttribute('aria-invalid');\n }\n if (errorTextElement) {\n errorTextElement.removeAttribute('id');\n errorTextElement.removeAttribute('role');\n errorTextElement.innerHTML = '';\n errorTextElement.style.display = 'none';\n }\n return errorElements;\n }\n\n function _showSuccess(field) {\n var errorClassElement = _removeError(field)[0];\n errorClassElement && errorClassElement.classList.add(self.config.successClass);\n }\n\n /***\n * Resets the errors\n */\n self.reset = function () {\n for (var i = 0; self.fields[i]; i++) {\n self.fields[i].errorElements = null;\n }\n Array.from(self.form.querySelectorAll('.' + PRISTINE_ERROR)).map(function (elem) {\n elem.parentNode.removeChild(elem);\n });\n Array.from(self.form.querySelectorAll('.' + self.config.classTo)).map(function (elem) {\n elem.classList.remove(self.config.successClass);\n elem.classList.remove(self.config.errorClass);\n });\n };\n\n /***\n * Resets the errors and deletes all pristine fields\n */\n self.destroy = function () {\n self.reset();\n self.fields.forEach(function (field) {\n delete field.input.pristine;\n });\n self.fields = [];\n };\n\n self.setGlobalConfig = function (config) {\n defaultConfig = config;\n };\n\n return self;\n }\n\n /***\n *\n * @param name => Name of the global validator\n * @param fn => validator function\n * @param msg => message to show when validation fails. Supports templating. ${0} for the input's value, ${1} and\n * so on are for the attribute values\n * @param priority => priority of the validator function, higher valued function gets called first.\n * @param halt => whether validation should stop for this field after current validation function\n */\n Pristine.addValidator = function (name, fn, msg, priority, halt) {\n _(name, { fn: fn, msg: msg, priority: priority, halt: halt });\n };\n\n Pristine.addMessages = function (locale, messages) {\n var langObj = lang.hasOwnProperty(locale) ? lang[locale] : lang[locale] = {};\n\n Object.keys(messages).forEach(function (key, index) {\n langObj[key] = messages[key];\n });\n };\n\n Pristine.setLocale = function (locale) {\n currentLocale = locale;\n };\n\n return Pristine;\n\n})));\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n"],"sourceRoot":""}