{"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../node_modules/validator/es/lib/util/assertString.js","../../node_modules/validator/es/lib/util/merge.js","../../node_modules/validator/es/lib/isEmpty.js","../../node_modules/validator/es/lib/isByteLength.js","../../node_modules/validator/es/lib/isFQDN.js","../../node_modules/validator/es/lib/isIP.js","../../node_modules/validator/es/lib/isEmail.js","../../node_modules/validator/es/lib/isMobilePhone.js","../../../src/lib/validate.ts","../../../src/lib/errors.ts","../../../src/lib/recaptcha.ts","../../../src/lib/submit.ts","../../../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __createBinding,\r\n __exportStar,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n __addDisposableResource,\r\n __disposeResources,\r\n};\r\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nexport default function assertString(input) {\n var isString = typeof input === 'string' || input instanceof String;\n\n if (!isString) {\n var invalidType = _typeof(input);\n\n if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;\n throw new TypeError(\"Expected a string but received a \".concat(invalidType));\n }\n}","export default function merge() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaults = arguments.length > 1 ? arguments[1] : undefined;\n\n for (var key in defaults) {\n if (typeof obj[key] === 'undefined') {\n obj[key] = defaults[key];\n }\n }\n\n return obj;\n}","import assertString from './util/assertString';\nimport merge from './util/merge';\nvar default_is_empty_options = {\n ignore_whitespace: false\n};\nexport default function isEmpty(str, options) {\n assertString(str);\n options = merge(options, default_is_empty_options);\n return (options.ignore_whitespace ? str.trim().length : str.length) === 0;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport assertString from './util/assertString';\n/* eslint-disable prefer-rest-params */\n\nexport default function isByteLength(str, options) {\n assertString(str);\n var min;\n var max;\n\n if (_typeof(options) === 'object') {\n min = options.min || 0;\n max = options.max;\n } else {\n // backwards compatibility: isByteLength(str, min [, max])\n min = arguments[1];\n max = arguments[2];\n }\n\n var len = encodeURI(str).split(/%..|./).length - 1;\n return len >= min && (typeof max === 'undefined' || len <= max);\n}","import assertString from './util/assertString';\nimport merge from './util/merge';\nvar default_fqdn_options = {\n require_tld: true,\n allow_underscores: false,\n allow_trailing_dot: false,\n allow_numeric_tld: false,\n allow_wildcard: false,\n ignore_max_length: false\n};\nexport default function isFQDN(str, options) {\n assertString(str);\n options = merge(options, default_fqdn_options);\n /* Remove the optional trailing dot before checking validity */\n\n if (options.allow_trailing_dot && str[str.length - 1] === '.') {\n str = str.substring(0, str.length - 1);\n }\n /* Remove the optional wildcard before checking validity */\n\n\n if (options.allow_wildcard === true && str.indexOf('*.') === 0) {\n str = str.substring(2);\n }\n\n var parts = str.split('.');\n var tld = parts[parts.length - 1];\n\n if (options.require_tld) {\n // disallow fqdns without tld\n if (parts.length < 2) {\n return false;\n }\n\n if (!options.allow_numeric_tld && !/^([a-z\\u00A1-\\u00A8\\u00AA-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {\n return false;\n } // disallow spaces\n\n\n if (/\\s/.test(tld)) {\n return false;\n }\n } // reject numeric TLDs\n\n\n if (!options.allow_numeric_tld && /^\\d+$/.test(tld)) {\n return false;\n }\n\n return parts.every(function (part) {\n if (part.length > 63 && !options.ignore_max_length) {\n return false;\n }\n\n if (!/^[a-z_\\u00a1-\\uffff0-9-]+$/i.test(part)) {\n return false;\n } // disallow full-width chars\n\n\n if (/[\\uff01-\\uff5e]/.test(part)) {\n return false;\n } // disallow parts starting or ending with hyphen\n\n\n if (/^-|-$/.test(part)) {\n return false;\n }\n\n if (!options.allow_underscores && /_/.test(part)) {\n return false;\n }\n\n return true;\n });\n}","import assertString from './util/assertString';\n/**\n11.3. Examples\n\n The following addresses\n\n fe80::1234 (on the 1st link of the node)\n ff02::5678 (on the 5th link of the node)\n ff08::9abc (on the 10th organization of the node)\n\n would be represented as follows:\n\n fe80::1234%1\n ff02::5678%5\n ff08::9abc%10\n\n (Here we assume a natural translation from a zone index to the\n part, where the Nth zone of any scope is translated into\n \"N\".)\n\n If we use interface names as , those addresses could also be\n represented as follows:\n\n fe80::1234%ne0\n ff02::5678%pvc1.3\n ff08::9abc%interface10\n\n where the interface \"ne0\" belongs to the 1st link, \"pvc1.3\" belongs\n to the 5th link, and \"interface10\" belongs to the 10th organization.\n * * */\n\nvar IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';\nvar IPv4AddressFormat = \"(\".concat(IPv4SegmentFormat, \"[.]){3}\").concat(IPv4SegmentFormat);\nvar IPv4AddressRegExp = new RegExp(\"^\".concat(IPv4AddressFormat, \"$\"));\nvar IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';\nvar IPv6AddressRegExp = new RegExp('^(' + \"(?:\".concat(IPv6SegmentFormat, \":){7}(?:\").concat(IPv6SegmentFormat, \"|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){6}(?:\").concat(IPv4AddressFormat, \"|:\").concat(IPv6SegmentFormat, \"|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){5}(?::\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,2}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){4}(?:(:\").concat(IPv6SegmentFormat, \"){0,1}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,3}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){3}(?:(:\").concat(IPv6SegmentFormat, \"){0,2}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,4}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){2}(?:(:\").concat(IPv6SegmentFormat, \"){0,3}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,5}|:)|\") + \"(?:\".concat(IPv6SegmentFormat, \":){1}(?:(:\").concat(IPv6SegmentFormat, \"){0,4}:\").concat(IPv4AddressFormat, \"|(:\").concat(IPv6SegmentFormat, \"){1,6}|:)|\") + \"(?::((?::\".concat(IPv6SegmentFormat, \"){0,5}:\").concat(IPv4AddressFormat, \"|(?::\").concat(IPv6SegmentFormat, \"){1,7}|:))\") + ')(%[0-9a-zA-Z-.:]{1,})?$');\nexport default function isIP(str) {\n var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n assertString(str);\n version = String(version);\n\n if (!version) {\n return isIP(str, 4) || isIP(str, 6);\n }\n\n if (version === '4') {\n return IPv4AddressRegExp.test(str);\n }\n\n if (version === '6') {\n return IPv6AddressRegExp.test(str);\n }\n\n return false;\n}","import assertString from './util/assertString';\nimport merge from './util/merge';\nimport isByteLength from './isByteLength';\nimport isFQDN from './isFQDN';\nimport isIP from './isIP';\nvar default_email_options = {\n allow_display_name: false,\n require_display_name: false,\n allow_utf8_local_part: true,\n require_tld: true,\n blacklisted_chars: '',\n ignore_max_length: false,\n host_blacklist: [],\n host_whitelist: []\n};\n/* eslint-disable max-len */\n\n/* eslint-disable no-control-regex */\n\nvar splitNameAddress = /^([^\\x00-\\x1F\\x7F-\\x9F\\cX]+)]/.test(display_name_without_quotes);\n\n if (contains_illegal) {\n // if contains illegal characters,\n // must to be enclosed in double-quotes, otherwise it's not a valid display name\n if (display_name_without_quotes === display_name) {\n return false;\n } // the quotes in display name must start with character symbol \\\n\n\n var all_start_with_back_slash = display_name_without_quotes.split('\"').length === display_name_without_quotes.split('\\\\\"').length;\n\n if (!all_start_with_back_slash) {\n return false;\n }\n }\n\n return true;\n}\n\nexport default function isEmail(str, options) {\n assertString(str);\n options = merge(options, default_email_options);\n\n if (options.require_display_name || options.allow_display_name) {\n var display_email = str.match(splitNameAddress);\n\n if (display_email) {\n var display_name = display_email[1]; // Remove display name and angle brackets to get email address\n // Can be done in the regex but will introduce a ReDOS (See #1597 for more info)\n\n str = str.replace(display_name, '').replace(/(^<|>$)/g, ''); // sometimes need to trim the last space to get the display name\n // because there may be a space between display name and email address\n // eg. myname \n // the display name is `myname` instead of `myname `, so need to trim the last space\n\n if (display_name.endsWith(' ')) {\n display_name = display_name.slice(0, -1);\n }\n\n if (!validateDisplayName(display_name)) {\n return false;\n }\n } else if (options.require_display_name) {\n return false;\n }\n }\n\n if (!options.ignore_max_length && str.length > defaultMaxEmailLength) {\n return false;\n }\n\n var parts = str.split('@');\n var domain = parts.pop();\n var lower_domain = domain.toLowerCase();\n\n if (options.host_blacklist.includes(lower_domain)) {\n return false;\n }\n\n if (options.host_whitelist.length > 0 && !options.host_whitelist.includes(lower_domain)) {\n return false;\n }\n\n var user = parts.join('@');\n\n if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) {\n /*\n Previously we removed dots for gmail addresses before validating.\n This was removed because it allows `multiple..dots@gmail.com`\n to be reported as valid, but it is not.\n Gmail only normalizes single dots, removing them from here is pointless,\n should be done in normalizeEmail\n */\n user = user.toLowerCase(); // Removing sub-address from username before gmail validation\n\n var username = user.split('+')[0]; // Dots are not included in gmail length restriction\n\n if (!isByteLength(username.replace(/\\./g, ''), {\n min: 6,\n max: 30\n })) {\n return false;\n }\n\n var _user_parts = username.split('.');\n\n for (var i = 0; i < _user_parts.length; i++) {\n if (!gmailUserPart.test(_user_parts[i])) {\n return false;\n }\n }\n }\n\n if (options.ignore_max_length === false && (!isByteLength(user, {\n max: 64\n }) || !isByteLength(domain, {\n max: 254\n }))) {\n return false;\n }\n\n if (!isFQDN(domain, {\n require_tld: options.require_tld,\n ignore_max_length: options.ignore_max_length\n })) {\n if (!options.allow_ip_domain) {\n return false;\n }\n\n if (!isIP(domain)) {\n if (!domain.startsWith('[') || !domain.endsWith(']')) {\n return false;\n }\n\n var noBracketdomain = domain.slice(1, -1);\n\n if (noBracketdomain.length === 0 || !isIP(noBracketdomain)) {\n return false;\n }\n }\n }\n\n if (user[0] === '\"') {\n user = user.slice(1, user.length - 1);\n return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);\n }\n\n var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;\n var user_parts = user.split('.');\n\n for (var _i = 0; _i < user_parts.length; _i++) {\n if (!pattern.test(user_parts[_i])) {\n return false;\n }\n }\n\n if (options.blacklisted_chars) {\n if (user.search(new RegExp(\"[\".concat(options.blacklisted_chars, \"]+\"), 'g')) !== -1) return false;\n }\n\n return true;\n}","import assertString from './util/assertString';\n/* eslint-disable max-len */\n\nvar phones = {\n 'am-AM': /^(\\+?374|0)((10|[9|7][0-9])\\d{6}$|[2-4]\\d{7}$)/,\n 'ar-AE': /^((\\+?971)|0)?5[024568]\\d{7}$/,\n 'ar-BH': /^(\\+?973)?(3|6)\\d{7}$/,\n 'ar-DZ': /^(\\+?213|0)(5|6|7)\\d{8}$/,\n 'ar-LB': /^(\\+?961)?((3|81)\\d{6}|7\\d{7})$/,\n 'ar-EG': /^((\\+?20)|0)?1[0125]\\d{8}$/,\n 'ar-IQ': /^(\\+?964|0)?7[0-9]\\d{8}$/,\n 'ar-JO': /^(\\+?962|0)?7[789]\\d{7}$/,\n 'ar-KW': /^(\\+?965)([569]\\d{7}|41\\d{6})$/,\n 'ar-LY': /^((\\+?218)|0)?(9[1-6]\\d{7}|[1-8]\\d{7,9})$/,\n 'ar-MA': /^(?:(?:\\+|00)212|0)[5-7]\\d{8}$/,\n 'ar-OM': /^((\\+|00)968)?(9[1-9])\\d{6}$/,\n 'ar-PS': /^(\\+?970|0)5[6|9](\\d{7})$/,\n 'ar-SA': /^(!?(\\+?966)|0)?5\\d{8}$/,\n 'ar-SY': /^(!?(\\+?963)|0)?9\\d{8}$/,\n 'ar-TN': /^(\\+?216)?[2459]\\d{7}$/,\n 'az-AZ': /^(\\+994|0)(10|5[015]|7[07]|99)\\d{7}$/,\n 'bs-BA': /^((((\\+|00)3876)|06))((([0-3]|[5-6])\\d{6})|(4\\d{7}))$/,\n 'be-BY': /^(\\+?375)?(24|25|29|33|44)\\d{7}$/,\n 'bg-BG': /^(\\+?359|0)?8[789]\\d{7}$/,\n 'bn-BD': /^(\\+?880|0)1[13456789][0-9]{8}$/,\n 'ca-AD': /^(\\+376)?[346]\\d{5}$/,\n 'cs-CZ': /^(\\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,\n 'da-DK': /^(\\+?45)?\\s?\\d{2}\\s?\\d{2}\\s?\\d{2}\\s?\\d{2}$/,\n 'de-DE': /^((\\+49|0)1)(5[0-25-9]\\d|6([23]|0\\d?)|7([0-57-9]|6\\d))\\d{7,9}$/,\n 'de-AT': /^(\\+43|0)\\d{1,4}\\d{3,12}$/,\n 'de-CH': /^(\\+41|0)([1-9])\\d{1,9}$/,\n 'de-LU': /^(\\+352)?((6\\d1)\\d{6})$/,\n 'dv-MV': /^(\\+?960)?(7[2-9]|9[1-9])\\d{5}$/,\n 'el-GR': /^(\\+?30|0)?6(8[5-9]|9(?![26])[0-9])\\d{7}$/,\n 'el-CY': /^(\\+?357?)?(9(9|6)\\d{6})$/,\n 'en-AI': /^(\\+?1|0)264(?:2(35|92)|4(?:6[1-2]|76|97)|5(?:3[6-9]|8[1-4])|7(?:2(4|9)|72))\\d{4}$/,\n 'en-AU': /^(\\+?61|0)4\\d{8}$/,\n 'en-AG': /^(?:\\+1|1)268(?:464|7(?:1[3-9]|[28]\\d|3[0246]|64|7[0-689]))\\d{4}$/,\n 'en-BM': /^(\\+?1)?441(((3|7)\\d{6}$)|(5[0-3][0-9]\\d{4}$)|(59\\d{5}$))/,\n 'en-BS': /^(\\+?1[-\\s]?|0)?\\(?242\\)?[-\\s]?\\d{3}[-\\s]?\\d{4}$/,\n 'en-GB': /^(\\+?44|0)7\\d{9}$/,\n 'en-GG': /^(\\+?44|0)1481\\d{6}$/,\n 'en-GH': /^(\\+233|0)(20|50|24|54|27|57|26|56|23|28|55|59)\\d{7}$/,\n 'en-GY': /^(\\+592|0)6\\d{6}$/,\n 'en-HK': /^(\\+?852[-\\s]?)?[456789]\\d{3}[-\\s]?\\d{4}$/,\n 'en-MO': /^(\\+?853[-\\s]?)?[6]\\d{3}[-\\s]?\\d{4}$/,\n 'en-IE': /^(\\+?353|0)8[356789]\\d{7}$/,\n 'en-IN': /^(\\+?91|0)?[6789]\\d{9}$/,\n 'en-JM': /^(\\+?876)?\\d{7}$/,\n 'en-KE': /^(\\+?254|0)(7|1)\\d{8}$/,\n 'en-SS': /^(\\+?211|0)(9[1257])\\d{7}$/,\n 'en-KI': /^((\\+686|686)?)?( )?((6|7)(2|3|8)[0-9]{6})$/,\n 'en-KN': /^(?:\\+1|1)869(?:46\\d|48[89]|55[6-8]|66\\d|76[02-7])\\d{4}$/,\n 'en-LS': /^(\\+?266)(22|28|57|58|59|27|52)\\d{6}$/,\n 'en-MT': /^(\\+?356|0)?(99|79|77|21|27|22|25)[0-9]{6}$/,\n 'en-MU': /^(\\+?230|0)?\\d{8}$/,\n 'en-NA': /^(\\+?264|0)(6|8)\\d{7}$/,\n 'en-NG': /^(\\+?234|0)?[789]\\d{9}$/,\n 'en-NZ': /^(\\+?64|0)[28]\\d{7,9}$/,\n 'en-PG': /^(\\+?675|0)?(7\\d|8[18])\\d{6}$/,\n 'en-PK': /^((00|\\+)?92|0)3[0-6]\\d{8}$/,\n 'en-PH': /^(09|\\+639)\\d{9}$/,\n 'en-RW': /^(\\+?250|0)?[7]\\d{8}$/,\n 'en-SG': /^(\\+65)?[3689]\\d{7}$/,\n 'en-SL': /^(\\+?232|0)\\d{8}$/,\n 'en-TZ': /^(\\+?255|0)?[67]\\d{8}$/,\n 'en-UG': /^(\\+?256|0)?[7]\\d{8}$/,\n 'en-US': /^((\\+1|1)?( |-)?)?(\\([2-9][0-9]{2}\\)|[2-9][0-9]{2})( |-)?([2-9][0-9]{2}( |-)?[0-9]{4})$/,\n 'en-ZA': /^(\\+?27|0)\\d{9}$/,\n 'en-ZM': /^(\\+?26)?09[567]\\d{7}$/,\n 'en-ZW': /^(\\+263)[0-9]{9}$/,\n 'en-BW': /^(\\+?267)?(7[1-8]{1})\\d{6}$/,\n 'es-AR': /^\\+?549(11|[2368]\\d)\\d{8}$/,\n 'es-BO': /^(\\+?591)?(6|7)\\d{7}$/,\n 'es-CO': /^(\\+?57)?3(0(0|1|2|4|5)|1\\d|2[0-4]|5(0|1))\\d{7}$/,\n 'es-CL': /^(\\+?56|0)[2-9]\\d{1}\\d{7}$/,\n 'es-CR': /^(\\+506)?[2-8]\\d{7}$/,\n 'es-CU': /^(\\+53|0053)?5\\d{7}/,\n 'es-DO': /^(\\+?1)?8[024]9\\d{7}$/,\n 'es-HN': /^(\\+?504)?[9|8|3|2]\\d{7}$/,\n 'es-EC': /^(\\+?593|0)([2-7]|9[2-9])\\d{7}$/,\n 'es-ES': /^(\\+?34)?[6|7]\\d{8}$/,\n 'es-PE': /^(\\+?51)?9\\d{8}$/,\n 'es-MX': /^(\\+?52)?(1|01)?\\d{10,11}$/,\n 'es-NI': /^(\\+?505)\\d{7,8}$/,\n 'es-PA': /^(\\+?507)\\d{7,8}$/,\n 'es-PY': /^(\\+?595|0)9[9876]\\d{7}$/,\n 'es-SV': /^(\\+?503)?[67]\\d{7}$/,\n 'es-UY': /^(\\+598|0)9[1-9][\\d]{6}$/,\n 'es-VE': /^(\\+?58)?(2|4)\\d{9}$/,\n 'et-EE': /^(\\+?372)?\\s?(5|8[1-4])\\s?([0-9]\\s?){6,7}$/,\n 'fa-IR': /^(\\+?98[\\-\\s]?|0)9[0-39]\\d[\\-\\s]?\\d{3}[\\-\\s]?\\d{4}$/,\n 'fi-FI': /^(\\+?358|0)\\s?(4[0-6]|50)\\s?(\\d\\s?){4,8}$/,\n 'fj-FJ': /^(\\+?679)?\\s?\\d{3}\\s?\\d{4}$/,\n 'fo-FO': /^(\\+?298)?\\s?\\d{2}\\s?\\d{2}\\s?\\d{2}$/,\n 'fr-BF': /^(\\+226|0)[67]\\d{7}$/,\n 'fr-BJ': /^(\\+229)\\d{8}$/,\n 'fr-CD': /^(\\+?243|0)?(8|9)\\d{8}$/,\n 'fr-CM': /^(\\+?237)6[0-9]{8}$/,\n 'fr-FR': /^(\\+?33|0)[67]\\d{8}$/,\n 'fr-GF': /^(\\+?594|0|00594)[67]\\d{8}$/,\n 'fr-GP': /^(\\+?590|0|00590)[67]\\d{8}$/,\n 'fr-MQ': /^(\\+?596|0|00596)[67]\\d{8}$/,\n 'fr-PF': /^(\\+?689)?8[789]\\d{6}$/,\n 'fr-RE': /^(\\+?262|0|00262)[67]\\d{8}$/,\n 'he-IL': /^(\\+972|0)([23489]|5[012345689]|77)[1-9]\\d{6}$/,\n 'hu-HU': /^(\\+?36|06)(20|30|31|50|70)\\d{7}$/,\n 'id-ID': /^(\\+?62|0)8(1[123456789]|2[1238]|3[1238]|5[12356789]|7[78]|9[56789]|8[123456789])([\\s?|\\d]{5,11})$/,\n 'ir-IR': /^(\\+98|0)?9\\d{9}$/,\n 'it-IT': /^(\\+?39)?\\s?3\\d{2} ?\\d{6,7}$/,\n 'it-SM': /^((\\+378)|(0549)|(\\+390549)|(\\+3780549))?6\\d{5,9}$/,\n 'ja-JP': /^(\\+81[ \\-]?(\\(0\\))?|0)[6789]0[ \\-]?\\d{4}[ \\-]?\\d{4}$/,\n 'ka-GE': /^(\\+?995)?(79\\d{7}|5\\d{8})$/,\n 'kk-KZ': /^(\\+?7|8)?7\\d{9}$/,\n 'kl-GL': /^(\\+?299)?\\s?\\d{2}\\s?\\d{2}\\s?\\d{2}$/,\n 'ko-KR': /^((\\+?82)[ \\-]?)?0?1([0|1|6|7|8|9]{1})[ \\-]?\\d{3,4}[ \\-]?\\d{4}$/,\n 'ky-KG': /^(\\+?7\\s?\\+?7|0)\\s?\\d{2}\\s?\\d{3}\\s?\\d{4}$/,\n 'lt-LT': /^(\\+370|8)\\d{8}$/,\n 'lv-LV': /^(\\+?371)2\\d{7}$/,\n 'mg-MG': /^((\\+?261|0)(2|3)\\d)?\\d{7}$/,\n 'mn-MN': /^(\\+|00|011)?976(77|81|88|91|94|95|96|99)\\d{6}$/,\n 'my-MM': /^(\\+?959|09|9)(2[5-7]|3[1-2]|4[0-5]|6[6-9]|7[5-9]|9[6-9])[0-9]{7}$/,\n 'ms-MY': /^(\\+?60|0)1(([0145](-|\\s)?\\d{7,8})|([236-9](-|\\s)?\\d{7}))$/,\n 'mz-MZ': /^(\\+?258)?8[234567]\\d{7}$/,\n 'nb-NO': /^(\\+?47)?[49]\\d{7}$/,\n 'ne-NP': /^(\\+?977)?9[78]\\d{8}$/,\n 'nl-BE': /^(\\+?32|0)4\\d{8}$/,\n 'nl-NL': /^(((\\+|00)?31\\(0\\))|((\\+|00)?31)|0)6{1}\\d{8}$/,\n 'nl-AW': /^(\\+)?297(56|59|64|73|74|99)\\d{5}$/,\n 'nn-NO': /^(\\+?47)?[49]\\d{7}$/,\n 'pl-PL': /^(\\+?48)? ?[5-8]\\d ?\\d{3} ?\\d{2} ?\\d{2}$/,\n 'pt-BR': /^((\\+?55\\ ?[1-9]{2}\\ ?)|(\\+?55\\ ?\\([1-9]{2}\\)\\ ?)|(0[1-9]{2}\\ ?)|(\\([1-9]{2}\\)\\ ?)|([1-9]{2}\\ ?))((\\d{4}\\-?\\d{4})|(9[1-9]{1}\\d{3}\\-?\\d{4}))$/,\n 'pt-PT': /^(\\+?351)?9[1236]\\d{7}$/,\n 'pt-AO': /^(\\+244)\\d{9}$/,\n 'ro-MD': /^(\\+?373|0)((6(0|1|2|6|7|8|9))|(7(6|7|8|9)))\\d{6}$/,\n 'ro-RO': /^(\\+?40|0)\\s?7\\d{2}(\\/|\\s|\\.|-)?\\d{3}(\\s|\\.|-)?\\d{3}$/,\n 'ru-RU': /^(\\+?7|8)?9\\d{9}$/,\n 'si-LK': /^(?:0|94|\\+94)?(7(0|1|2|4|5|6|7|8)( |-)?)\\d{7}$/,\n 'sl-SI': /^(\\+386\\s?|0)(\\d{1}\\s?\\d{3}\\s?\\d{2}\\s?\\d{2}|\\d{2}\\s?\\d{3}\\s?\\d{3})$/,\n 'sk-SK': /^(\\+?421)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/,\n 'sq-AL': /^(\\+355|0)6[789]\\d{6}$/,\n 'sr-RS': /^(\\+3816|06)[- \\d]{5,9}$/,\n 'sv-SE': /^(\\+?46|0)[\\s\\-]?7[\\s\\-]?[02369]([\\s\\-]?\\d){7}$/,\n 'tg-TJ': /^(\\+?992)?[5][5]\\d{7}$/,\n 'th-TH': /^(\\+66|66|0)\\d{9}$/,\n 'tr-TR': /^(\\+?90|0)?5\\d{9}$/,\n 'tk-TM': /^(\\+993|993|8)\\d{8}$/,\n 'uk-UA': /^(\\+?38|8)?0\\d{9}$/,\n 'uz-UZ': /^(\\+?998)?(6[125-79]|7[1-69]|88|9\\d)\\d{7}$/,\n 'vi-VN': /^((\\+?84)|0)((3([2-9]))|(5([25689]))|(7([0|6-9]))|(8([1-9]))|(9([0-9])))([0-9]{7})$/,\n 'zh-CN': /^((\\+|00)86)?(1[3-9]|9[28])\\d{9}$/,\n 'zh-TW': /^(\\+?886\\-?|0)?9\\d{8}$/,\n 'dz-BT': /^(\\+?975|0)?(17|16|77|02)\\d{6}$/,\n 'ar-YE': /^(((\\+|00)9677|0?7)[0137]\\d{7}|((\\+|00)967|0)[1-7]\\d{6})$/,\n 'ar-EH': /^(\\+?212|0)[\\s\\-]?(5288|5289)[\\s\\-]?\\d{5}$/,\n 'fa-AF': /^(\\+93|0)?(2{1}[0-8]{1}|[3-5]{1}[0-4]{1})(\\d{7})$/\n};\n/* eslint-enable max-len */\n// aliases\n\nphones['en-CA'] = phones['en-US'];\nphones['fr-CA'] = phones['en-CA'];\nphones['fr-BE'] = phones['nl-BE'];\nphones['zh-HK'] = phones['en-HK'];\nphones['zh-MO'] = phones['en-MO'];\nphones['ga-IE'] = phones['en-IE'];\nphones['fr-CH'] = phones['de-CH'];\nphones['it-CH'] = phones['fr-CH'];\nexport default function isMobilePhone(str, locale, options) {\n assertString(str);\n\n if (options && options.strictMode && !str.startsWith('+')) {\n return false;\n }\n\n if (Array.isArray(locale)) {\n return locale.some(function (key) {\n // https://github.com/gotwarlost/istanbul/blob/master/ignoring-code-for-coverage.md#ignoring-code-for-coverage-purposes\n // istanbul ignore else\n if (phones.hasOwnProperty(key)) {\n var phone = phones[key];\n\n if (phone.test(str)) {\n return true;\n }\n }\n\n return false;\n });\n } else if (locale in phones) {\n return phones[locale].test(str); // alias falsey locale as 'any'\n } else if (!locale || locale === 'any') {\n for (var key in phones) {\n // istanbul ignore else\n if (phones.hasOwnProperty(key)) {\n var phone = phones[key];\n\n if (phone.test(str)) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n throw new Error(\"Invalid locale '\".concat(locale, \"'\"));\n}\nexport var locales = Object.keys(phones);","import isEmpty from \"validator/es/lib/isEmpty\";\nimport isEmail from \"validator/es/lib/isEmail\";\nimport isMobilePhone, { MobilePhoneLocale } from \"validator/es/lib/isMobilePhone\";\n\nimport type { Field, FieldErrorMessages, Settings, _FieldError, _UnparsedError } from \"./types\";\n\nexport function validate(field: Field): _FieldError {\n if (field instanceof HTMLDivElement || field instanceof HTMLFieldSetElement) {\n const radios = Array.from(field.querySelectorAll(\"input[type=radio]\")) as HTMLInputElement[];\n\n const hasRequired = !!radios.filter((radio) => radio.required || radio.hasAttribute(\"data-required\"))[0];\n const hasChecked = !!radios.filter((radio) => radio.checked)[0];\n\n if (hasRequired && !hasChecked) {\n return \"invalid\";\n }\n } else {\n const type = field.type;\n const isRequired = field.required || field.hasAttribute(\"data-required\");\n\n if (type === \"checkbox\" && field instanceof HTMLInputElement) {\n if (isRequired && !field.checked) {\n return \"invalid\";\n }\n } else if (type === \"select-one\" || type === \"select-multiple\") {\n if (!isRequired) {\n return \"valid\";\n }\n const disabled = field.querySelector(\"option[disabled]\") as HTMLOptionElement;\n\n let value = field.value;\n\n if (type === \"select-multiple\") {\n value = Array.from(field.querySelectorAll(\"option:checked\"))\n .map((option) => (option as HTMLOptionElement).value)\n .join(\", \");\n }\n\n if (!value || (disabled && disabled.value === value)) {\n return \"invalid\";\n }\n } else {\n const value = field.value || \"\";\n\n if (isEmpty(value)) {\n if (isRequired) {\n return \"empty\";\n }\n } else {\n if (type === \"email\") {\n if (!isEmail(value)) {\n return \"invalid\";\n }\n }\n if (type === \"tel\") {\n const locale = field.dataset.locale as MobilePhoneLocale;\n if (!isMobilePhone(value, locale)) {\n return \"invalid\";\n }\n }\n }\n }\n }\n\n return \"valid\";\n}\n\nexport function validateField(field: Field, settings: Settings): _UnparsedError {\n const result = validate(field);\n\n const fieldName = field.name;\n\n let messages: FieldErrorMessages = {\n invalid: `Invalid value for ${fieldName}`,\n empty: `Provide a value for ${fieldName}`\n },\n handleError;\n\n if (settings.errors && Array.isArray(settings.errors)) {\n const customError = settings.errors.find((customErrorObj) => {\n return customErrorObj.field === fieldName;\n });\n\n if (customError) {\n messages = { ...messages, ...customError.messages };\n handleError = customError.handleError;\n }\n }\n\n if (result === \"empty\") {\n field.classList.add(settings.errorFieldClass);\n\n return {\n field,\n errorCode: 0,\n errorMessage: messages.empty,\n handleError\n };\n }\n\n if (result === \"invalid\") {\n field.classList.add(settings.errorFieldClass);\n\n return {\n field,\n errorCode: 1,\n errorMessage: messages.invalid,\n handleError\n };\n }\n}\n\nexport function validateFields(fields: Field[], settings: Settings): _UnparsedError[] {\n return fields.map((field) => validateField(field, settings)).filter((error) => error);\n}\n","import type { ErrorClasses, Field, ParsedError, Settings, _UnparsedError } from \"./types\";\n\nexport function handleErrors(errors: _UnparsedError[], settings: Settings) {\n settings.internal.parsedErrors = errors.map((error) => parseError(error));\n\n const customErrors = settings.events.error(settings.internal.parsedErrors);\n\n if (customErrors) {\n settings.internal.parsedErrors = customErrors;\n }\n\n settings.internal.parsedErrors.forEach((error) => {\n showError(error, settings);\n });\n}\n\nexport function parseError(error: _UnparsedError): ParsedError {\n if (error.errorMessage) {\n if (error.errorMessage.includes(\"Violation of PRIMARY KEY\")) {\n error.errorCode = 10;\n error.errorMessage = \"Email address already exists\";\n }\n\n if (error.errorMessage.includes(\"Cannot insert the value\")) {\n const match = error.errorMessage.match(/column '(.+?)'/);\n\n if (match) {\n const name = match[1];\n error.errorCode = 11;\n error.errorMessage = `Provide a value for ${name}`;\n }\n }\n\n if (error.errorMessage.includes(\"CustomerKey\")) {\n error.errorCode = 12;\n error.errorMessage = `Invalid data extension`;\n }\n\n if (error.errorMessage.includes(\"Errors occurred\")) {\n error.errorCode = 13;\n error.errorMessage = \"Something went wrong\";\n }\n }\n\n return {\n field: error.field,\n code: error.errorCode,\n message: error.errorMessage,\n handleError: error.handleError\n };\n}\n\nfunction addErrorListItem(errorListItem: HTMLLIElement, settings: Settings) {\n if (!settings.errorListEl) {\n const errorListEl = document.createElement(\"ul\");\n errorListEl.role = \"alert\";\n errorListEl.classList.add(settings.errorListClass);\n\n settings.errorListEl = errorListEl;\n\n if (settings.errorPosition === \"bottom\") {\n settings.errorEl.append(errorListEl);\n } else {\n settings.errorEl.prepend(errorListEl);\n }\n }\n\n settings.errorListEl.append(errorListItem);\n}\n\nexport function addFieldErrorListItem(errorListItem: HTMLLIElement, field: Field, settings: Settings) {\n if (!field.errorEl || settings.errorPosition === \"top\" || settings.errorPosition === \"bottom\") {\n field.errorEl = document.createElement(\"ul\");\n field.errorEl.classList.add(settings.errorFieldListClass);\n }\n\n if (!field.errorEls) {\n field.errorEls = [];\n }\n\n field.errorEls.push(errorListItem);\n\n if (field.errorEl) {\n field.errorEl.append(errorListItem);\n }\n}\n\nexport function showError(error: ParsedError, settings: Settings) {\n const field = error.field as Field;\n\n const errorListItem = document.createElement(\"li\");\n errorListItem.classList.add(settings.errorClass);\n errorListItem.innerHTML = error.message;\n\n if (!field || settings.errorPosition === \"top\" || settings.errorPosition === \"bottom\") {\n if (field) {\n addFieldErrorListItem(errorListItem, field, settings);\n field.classList.add(settings.errorFieldClass);\n }\n\n addErrorListItem(errorListItem, settings);\n } else {\n if (error.handleError) {\n const classes: ErrorClasses = {\n errorClass: settings.errorClass,\n errorFieldClass: settings.errorFieldClass,\n errorFieldListClass: settings.errorFieldListClass,\n errorListClass: settings.errorListClass\n };\n\n addFieldErrorListItem(errorListItem, field, settings);\n error.handleError(field, error.message, field.errorEl, error.code, classes);\n } else if (settings.errorPosition === \"before\" || settings.errorPosition === \"after\") {\n addFieldErrorListItem(errorListItem, field, settings);\n\n field.classList.add(settings.errorFieldClass);\n field[settings.errorPosition](field.errorEl);\n }\n }\n}\n\nexport function removeErrorList(settings: Settings) {\n if (settings.errorListEl) {\n settings.errorListEl.remove();\n delete settings.errorListEl;\n }\n}\n\nexport function removeFieldError(field: Field, settings: Settings) {\n if (field.errorEl) {\n field.errorEl.remove();\n delete field.errorEl;\n\n field.classList.remove(settings.errorFieldClass);\n }\n\n if (field.errorEls && field.errorEls.length > 0) {\n field.errorEls.forEach((errorEl) => {\n errorEl.remove();\n });\n\n delete field.errorEls;\n }\n\n if (settings.errorListEl && settings.errorListEl.childNodes.length === 0) {\n settings.errorListEl.remove();\n delete settings.errorListEl;\n }\n\n field.classList.remove(settings.errorFieldClass);\n}\n\nexport function removeAllErrors(fields: Field[], settings: Settings) {\n removeErrorList(settings);\n\n fields.forEach((field) => {\n removeFieldError(field, settings);\n });\n\n settings.internal.errors = [];\n settings.internal.parsedErrors = [];\n\n settings.events.errorsRemoved();\n}\n","import { handleErrors, removeErrorList } from \"./errors\";\nimport { Settings, _RecaptchaResults } from \"./types\";\n\nexport async function loadRecaptcha(\n element: HTMLElement,\n formName: string,\n sitekey: string,\n onSubmit: (token: string) => void,\n settings: Settings\n) {\n const id = formName + \"-recaptcha\";\n\n async function waitForRecaptcha() {\n return new Promise((resolve) => {\n const rate = 50;\n let elapsed = 0;\n\n const interval = setInterval(() => {\n elapsed += rate;\n\n if (elapsed >= settings.recaptchaTimeout) {\n clearInterval(interval);\n resolve(false);\n }\n\n if (\n window.grecaptcha &&\n window.grecaptcha.ready &&\n window.grecaptcha.render &&\n window.grecaptcha.reset &&\n window.grecaptcha.execute\n ) {\n clearInterval(interval);\n resolve(true);\n }\n }, rate);\n });\n }\n\n settings.internal.ready = false;\n\n if (settings.disableButtonWhileRecaptchaLoading) {\n settings.submitEl.disabled = true;\n }\n\n const start = new Date().getTime();\n const recaptchaIsLoaded = await waitForRecaptcha();\n const time = new Date().getTime() - start;\n\n if (recaptchaIsLoaded) {\n const recaptchaEl = document.createElement(\"div\");\n recaptchaEl.id = id;\n recaptchaEl.classList.add(\"recaptcha\");\n recaptchaEl.style.display = \"none\";\n\n element.append(recaptchaEl);\n\n grecaptcha.ready(() => {\n settings.recaptchaWidget = grecaptcha.render(recaptchaEl, {\n sitekey,\n size: \"invisible\",\n callback: onSubmit,\n \"error-callback\": () => {\n handleErrors(\n [\n {\n errorCode: 5,\n errorMessage: \"Error verifying reCAPTCHA, please try again.\"\n }\n ],\n settings\n );\n }\n });\n\n settings.recaptchaLoaded = true;\n settings.events.recaptchaLoaded(time);\n });\n } else {\n console.warn(\n `reCAPTCHA not found on page after ${settings.recaptchaTimeout}ms. reCAPTCHA is disabled for form: ${formName}`\n );\n }\n\n if (settings.disableButtonWhileRecaptchaLoading) {\n settings.submitEl.disabled = false;\n }\n\n settings.internal.ready = true;\n}\n\nexport async function getRecaptchaToken(settings: Settings) {\n grecaptcha.reset(settings.recaptchaWidget);\n grecaptcha.execute(settings.recaptchaWidget);\n}\n\nexport async function validateRecaptchaToken(token: string): Promise<_RecaptchaResults> {\n const response = await fetch(\"https://cloud.email.wwwincnews.com/recaptcha\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({ token })\n });\n\n const data = await response.json();\n\n return data;\n}\n","import { handleErrors } from \"./errors\";\nimport { validateRecaptchaToken } from \"./recaptcha\";\nimport type { Brand, Field, Settings, Value, _EventRequest, _SFMCValue, _UnparsedError } from \"./types\";\n\nexport const submit = {\n async DE(settings: Settings) {\n const urls: { [key: string]: string } = {\n WWW: \"https://cloud.email.wwwincnews.com/form\",\n BTS: \"https://cloud.email.batesfootwear.com/form\",\n CAT: \"https://cloud.email.catfootwear.com/form\",\n CHA: \"https://cloud.email.chacos.com/form\",\n HDF: \"https://cloud.email.harley-davidsonfootwear.com/form\",\n HUS: \"https://cloud.email.hushpuppies.com/form\",\n HYT: \"https://cloud.email.hytest.com/form\",\n KED: \"https://cloud.email.keds.com/form\",\n MER: \"https://cloud.email.merrell.com/form\",\n PRO: \"https://cloud.email.prokeds.com/form\",\n SAU: \"https://cloud.email.saucony.com/form\",\n SPE: \"https://cloud.email.sperry.com/form\",\n WOL: \"https://cloud.email.wolverine.com/form\"\n };\n\n const url = urls[settings.brand];\n\n const properties: _SFMCValue[] = Object.entries(settings.internal.data).map(([key, value]) => ({\n Name: key,\n Value: value\n }));\n\n if (settings.submitRecaptchaToken && settings.recaptchaToken) {\n properties.push({ Name: \"RecaptchaToken\", Value: settings.recaptchaToken });\n }\n\n const response = await fetch(url, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n dataExtension: settings.dataExtension,\n properties\n })\n });\n\n const data = await response.json();\n\n if (data.status === \"Error\") {\n if (!data.errorMessage && data.statusMessage) {\n data.errorMessage = data.statusMessage;\n }\n\n throw [\n {\n errorCode: data.errorCode,\n errorMessage: data.errorMessage\n }\n ];\n }\n\n return data;\n },\n\n async MC(settings: Settings) {\n const { data } = settings.internal;\n const country = data.Country || \"US\";\n\n const supportedBrandNames: { [key in Brand]+?: string } = {\n CAT: \"CAT\",\n CHA: \"Chaco\",\n MER: \"Merrell\",\n SAU: \"Sauc\",\n WOL: \"Wolverine\"\n };\n\n const brandName = supportedBrandNames[settings.brand];\n\n if (!brandName) {\n throw [\n {\n errorCode: 3,\n errorMessage: \"Invalid brand: Must be CAT, CHA, MER, SAU or WOL for method = MC\"\n }\n ];\n }\n\n const key = `${data.EmailAddress}-${brandName}-${country}`;\n\n const request: _EventRequest = {\n brand: settings.internal.brandFullName,\n edk: settings.eventDefinitionKey || (data.EventDefinitionKey as string),\n key,\n data: {\n SubscriberKey: key,\n LanguageCode: `${data.Language}-${country}`,\n Source: \"EventCampaign\",\n Country: country,\n ...data,\n IsWelcome: data.IsWelcome ? \"Y\" : \"N\"\n }\n };\n\n const response = await fetch(\"https://cloud.email.wwwincnews.com/event\", {\n method: \"POST\",\n body: JSON.stringify(request)\n }).then((res) => res.json());\n\n if (response.error) {\n throw [\n {\n errorCode: response.errorCode,\n errorMessage: response.error\n }\n ];\n }\n\n if (!response.success) {\n throw [\n {\n errorCode: 5,\n errorMessage: \"Something went wrong\"\n }\n ];\n }\n\n return response;\n },\n\n async BM(settings: Settings) {\n const { emailPreferencesURL: url } = settings;\n\n const email = settings.internal.data.EmailAddress;\n\n if (!email || typeof email !== \"string\") {\n const error: _UnparsedError = {\n errorCode: 2,\n errorMessage: \"Email field required when method = BM or WISDM\"\n };\n\n throw error;\n }\n\n const body = new FormData();\n body.append(\"OptStatus\", \"I\");\n body.append(\"EmailAddress\", email);\n body.append(\"g-recaptcha-response\", settings.recaptchaToken);\n\n const response = await fetch(url, {\n method: \"POST\",\n body\n });\n\n const data = await response.text();\n\n return data;\n }\n};\n\nexport function formatFieldData(field: Field): Value {\n const name = field.dataset.field;\n let value: string | number | boolean | undefined;\n\n if (field.tagName === \"DIV\" || field.tagName === \"FIELDSET\") {\n const radios = Array.from(field.querySelectorAll(\"input[type=radio]\") as NodeListOf);\n const checked = radios.filter((radio) => radio.checked)[0];\n\n if (checked) {\n value = checked.value;\n } else {\n value = null;\n }\n } else {\n const type = field.type;\n\n if (type === \"checkbox\" && field instanceof HTMLInputElement) {\n value = field.checked;\n } else {\n if (field.value) {\n if (isNaN(Number(field.value))) {\n value = field.value;\n } else {\n value = Number(field.value);\n }\n } else {\n value = null;\n }\n }\n }\n\n if (value === undefined) {\n value = \"\";\n }\n\n return { name, value };\n}\n\nexport async function handleSubmit(settings: Settings) {\n try {\n let response: any;\n\n if (settings.recaptchaToken) {\n const validationResults = await validateRecaptchaToken(settings.recaptchaToken);\n settings.events.recaptchaVerification(validationResults);\n\n if (!validationResults.success) {\n const error: _UnparsedError = {\n errorCode: 4,\n errorMessage: \"Invalid reCAPTCHA token\"\n };\n\n throw error;\n }\n }\n\n response = await submit[settings.method](settings);\n\n if (settings.redirect) {\n window.location.href = settings.redirect;\n }\n\n settings.events.success(response);\n } catch (errors) {\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n\n const filteredErrors: _UnparsedError[] = errors.filter(\n (error: _UnparsedError | Error) => \"errorMessage\" in error && \"errorCode\" in error\n );\n\n if (filteredErrors.length) {\n settings.internal.errors.push(...filteredErrors);\n handleErrors(settings.internal.errors, settings);\n } else {\n errors.forEach((error: Error) => {\n console.error(error);\n });\n }\n }\n}\n","import { validateField, validateFields } from \"./lib/validate.js\";\nimport { removeFieldError, handleErrors, parseError, showError } from \"./lib/errors.js\";\nimport { loadRecaptcha, getRecaptchaToken } from \"./lib/recaptcha.js\";\nimport { removeAllErrors } from \"./lib/errors.js\";\nimport { formatFieldData, handleSubmit } from \"./lib/submit.js\";\n\nimport type {\n _FieldError,\n _SFMCValue,\n _UnparsedError,\n Brand,\n BrandFullName,\n Events,\n Field,\n FieldErrorMessages,\n Form,\n Options,\n Settings,\n Value\n} from \"./lib/types.js\";\n\nexport type {\n _FieldError,\n _SFMCValue,\n _UnparsedError,\n Events,\n Field,\n FieldErrorMessages,\n Form,\n Options,\n Settings,\n Value\n};\n\n/**\n * __createForm__\n *\n * Creates a form object with methods for\n * submitting and validating & initializes\n * form on specified element\n *\n * @param settings.el - HTMLElement or string selector\n * @param options - Options object for form configuration\n * @returns Form object\n *\n * @public\n */\nexport default function createForm(el: HTMLElement | string, options: Options): Form {\n try {\n if (typeof el === \"string\") {\n el = document.querySelector(el) as HTMLElement;\n }\n\n if (!el) {\n throw new Error(`Could not find element`);\n }\n\n const defaults: Settings = {\n brand: \"WWW\",\n dataExtension: \"FED_Testing\",\n el,\n emailPreferencesURL: null,\n errors: true,\n errorEl: el,\n errorClass: \"form-error\",\n errorFieldClass: \"form-error-field\",\n errorFieldListClass: \"form-field-errors\",\n errorListClass: \"form-errors\",\n errorPosition: \"top\",\n events: {\n error() {},\n errorsRemoved() {},\n recaptchaSubmit() {},\n recaptchaLoaded() {},\n recaptchaVerification() {},\n submit() {},\n success() {}\n },\n internal: {\n brandFullName: \"Wolverine_World_Wide\",\n values: [],\n data: null,\n errors: [],\n parsedErrors: [],\n ready: true\n },\n method: \"DE\",\n recaptcha: false,\n recaptchaLoaded: false,\n recaptchaSiteKey: \"6LfEEdAZAAAAAFkQnHboH4NGsRUUJAwLD4YtXoM2\",\n recaptchaTimeout: 3000,\n recaptchaWidget: null,\n submitEl:\n (el.querySelector(\"button[type=submit]\") as HTMLButtonElement) ||\n (el.querySelector(\"input[type=submit]\") as HTMLInputElement),\n submitRecaptchaToken: false,\n testing: false,\n validateOnBlur: false,\n disableButtonWhileRecaptchaLoading: true\n };\n\n if (options) {\n if (options.method === \"SFMC\") {\n options.method = \"DE\";\n }\n\n if (options.method === \"WISDM\") {\n options.method = \"BM\";\n }\n }\n\n const settings: Settings = Object.assign(defaults, options);\n\n if (!settings.el) {\n throw new Error(\"Could not find element\");\n }\n\n if (!settings.el.dataset.name) {\n throw new Error(\"Form element must have data-name attribute\");\n }\n\n const name = settings.el.dataset.name.replace(/[ \\-_]/g, \"\");\n\n const fields = Array.from(settings.el.querySelectorAll(\"[data-field]\")) as Field[];\n\n if (!fields.length) {\n throw new Error(\"No fields found\");\n }\n\n if (![\"DE\", \"MC\", \"BM\"].includes(settings.method)) {\n settings.method = \"DE\";\n console.warn(\"Invalid method. Using default: DE\");\n }\n\n if (settings.method === \"DE\") {\n if (!options || typeof options.dataExtension === \"undefined\") {\n console.warn(\"No data extension provided. Using default: FED_Testing\");\n }\n\n if (!options || typeof options.brand === \"undefined\") {\n console.warn(\"No brand provided. Using default: WWW\");\n }\n }\n\n if (settings.method === \"BM\") {\n try {\n function getNested(obj: any, ...args: string[]) {\n return args.reduce((acc, arg) => (acc && acc[arg] ? acc[arg] : undefined), obj);\n }\n\n settings.emailPreferencesURL =\n getNested(window, \"emailPreferencesURL\") || getNested(window, \"app\", \"urls\", \"emailPreferencesUrl\") || null;\n\n if (!settings.emailPreferencesURL) {\n throw new Error(\n \"No window.emailPreferencesURL or window.app.urls.emailPreferenceUrl found. Required for WISDM method.\"\n );\n }\n } catch {\n throw new Error(\"Error getting email preferences URL.\");\n }\n\n settings.recaptcha = true;\n }\n\n const brandFullNames: {\n [key in Brand]: BrandFullName;\n } = {\n WWW: \"Wolverine_World_Wide\",\n BTS: \"Bates\",\n CAT: \"CAT\",\n CHA: \"Chaco\",\n HDF: \"Harley-Davidson\",\n HUS: \"Hush_Puppies\",\n HYT: \"Hytest\",\n KED: \"Keds\",\n MER: \"Merrell\",\n PRO: \"Pro-Keds\",\n SAU: \"Saucony\",\n SPE: \"Sperry\",\n WOL: \"Wolverine\"\n };\n\n settings.internal.brandFullName = brandFullNames[settings.brand];\n\n fields.forEach((field) => {\n field.name = field.dataset.field;\n\n if (field instanceof HTMLInputElement || field instanceof HTMLTextAreaElement) {\n field.addEventListener(\"keyup\", (event) => {\n const { key } = event as KeyboardEvent;\n\n if (key === \"Enter\") {\n event.preventDefault();\n submit();\n }\n });\n }\n\n function handleFieldChange() {\n if (settings.validateOnBlur === false) return;\n\n if (settings.validateOnBlur === \"always\") {\n const error = validateField(field, settings);\n removeFieldError(field, settings);\n\n if (error) {\n const parsedError = parseError(error);\n showError(parsedError, settings);\n }\n } else if (settings.validateOnBlur === \"error\") {\n if (field.errorEl) {\n const error = validateField(field, settings);\n\n if (!error) {\n removeFieldError(field, settings);\n }\n }\n }\n }\n\n if (field.type === \"checkbox\" || field.type === \"select-one\" || field.type === \"select-multiple\") {\n field.addEventListener(\"change\", () => {\n if (field.errorEl) {\n handleFieldChange();\n }\n });\n } else if (field instanceof HTMLDivElement || field instanceof HTMLFieldSetElement) {\n const radios = Array.from(field.querySelectorAll(\"input[type=radio]\")) as Field[];\n\n radios.forEach((radio) => {\n radio.addEventListener(\"change\", () => {\n if (field.errorEl) {\n handleFieldChange();\n }\n });\n });\n } else {\n field.addEventListener(\"blur\", handleFieldChange);\n }\n });\n\n async function submit() {\n try {\n if (!settings.internal.ready) return;\n\n settings.internal.ready = false;\n settings.internal.errors = [];\n\n removeAllErrors(fields, settings);\n\n settings.internal.errors.push(...validateFields(fields, settings));\n settings.internal.values = fields.map((field) => formatFieldData(field)).concat(settings.values || []);\n settings.internal.data = Object.fromEntries([\n [\"CountryCode\", \"US\"],\n [\"LanguageCode\", \"en-US\"],\n [\"IsWelcome\", false],\n ...settings.internal.values.map((item) => [item.name, item.value])\n ]);\n\n const updatedData = settings.events.submit(settings.internal.data);\n\n if (updatedData) {\n settings.internal.data = updatedData;\n }\n\n let requiredFields: string[] = [];\n\n if (settings.method === \"BM\") {\n requiredFields = [\"EmailAddress\"];\n }\n\n if (settings.method === \"MC\") {\n requiredFields = [\"EmailAddress\"];\n\n if (!settings.eventDefinitionKey && !settings.internal.data.EventDefinitionKey) {\n settings.internal.errors.push({\n errorCode: 6,\n errorMessage: \"Missing eventDefinitionKey\"\n });\n }\n }\n\n const missingFields = requiredFields.filter((field) => settings.internal.data[field] === undefined);\n\n if (missingFields.length) {\n settings.internal.errors.push({\n errorCode: 11,\n errorMessage: `Missing required field${missingFields.length > 1 ? \"s\" : \"\"}: ${missingFields.join(\", \")}`\n });\n }\n\n if (settings.internal.errors.length) {\n const errors = Array.from(new Map(settings.internal.errors.map((item) => [item[\"field\"], item])).values());\n\n handleErrors(errors, settings);\n settings.internal.ready = true;\n\n return;\n }\n\n if (settings.recaptcha && settings.recaptchaLoaded) {\n getRecaptchaToken(settings);\n } else {\n await handleSubmit(settings);\n settings.internal.ready = true;\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n async function recaptchaCallback(token: string) {\n settings.recaptchaToken = token;\n settings.events.recaptchaSubmit(token);\n await handleSubmit(settings);\n settings.internal.ready = true;\n }\n\n if (settings.recaptcha) {\n loadRecaptcha(settings.el, name, settings.recaptchaSiteKey, recaptchaCallback, settings).then(() => {\n if (!settings.recaptchaLoaded) {\n return;\n }\n });\n }\n\n if (settings.submitEl) {\n settings.submitEl.addEventListener(\"click\", submit);\n }\n\n return {\n el: settings.el,\n error(error: _UnparsedError | string, show: boolean): void {\n if (typeof error === \"string\") {\n error = {\n errorCode: null,\n errorMessage: error\n };\n }\n\n settings.internal.errors.push(error);\n\n if (show) {\n removeAllErrors(fields, settings);\n handleErrors([error], settings);\n }\n },\n name,\n settings,\n submit,\n on(event, func): void {\n settings.events[event] = func;\n }\n };\n } catch (error) {\n console.error(`Error initializing form`);\n console.error(error);\n return null;\n }\n}\n"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","SuppressedError","error","suppressed","message","Error","name","_typeof","obj","Symbol","iterator","constructor","prototype","assertString","input","isString","String","invalidType","TypeError","concat","merge","arguments","length","undefined","defaults","key","default_is_empty_options","ignore_whitespace","isEmpty","str","options","trim","isByteLength","min","max","len","encodeURI","split","default_fqdn_options","require_tld","allow_underscores","allow_trailing_dot","allow_numeric_tld","allow_wildcard","ignore_max_length","isFQDN","substring","indexOf","parts","tld","test","every","part","IPv4SegmentFormat","IPv4AddressFormat","IPv4AddressRegExp","RegExp","IPv6SegmentFormat","IPv6AddressRegExp","isIP","version","default_email_options","allow_display_name","require_display_name","allow_utf8_local_part","blacklisted_chars","host_blacklist","host_whitelist","splitNameAddress","emailUserPart","gmailUserPart","quotedEmailUser","emailUserUtf8Part","quotedEmailUserUtf8","defaultMaxEmailLength","validateDisplayName","display_name","display_name_without_quotes","replace","contains_illegal","all_start_with_back_slash","isEmail","display_email","match","endsWith","slice","domain","pop","lower_domain","toLowerCase","includes","user","join","domain_specific_validation","username","_user_parts","i","allow_ip_domain","startsWith","noBracketdomain","pattern","user_parts","_i","search","phones","isMobilePhone","locale","strictMode","Array","isArray","some","hasOwnProperty","phone"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}