{"version":3,"sources":["webpack://@verndale/toolkit/./src/js/modules/SubscribeForm.js","webpack://@verndale/toolkit/./node_modules/validator/lib/isByteLength.js","webpack://@verndale/toolkit/./node_modules/validator/lib/isEmail.js","webpack://@verndale/toolkit/./node_modules/validator/lib/isFQDN.js","webpack://@verndale/toolkit/./node_modules/validator/lib/isIP.js","webpack://@verndale/toolkit/./node_modules/validator/lib/util/assertString.js","webpack://@verndale/toolkit/./node_modules/validator/lib/util/merge.js"],"names":[],"mappings":"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","file":"scripts/567.bundle.js","sourcesContent":["import { Component } from '@verndale/core';\nimport isEmail from 'validator/lib/isEmail';\n\nclass SubscribeForm extends Component {\n setupDefaults() {\n this.dom = {\n formElements: [...this.el.elements],\n errorMessage: this.el.querySelector('.subscribe-alert'),\n successMessage: this.el.querySelector('.thank-you-message'),\n emailInput: this.el.querySelector('input[type=\"email\"]'),\n submitButton: this.el.querySelector('button[type=\"submit\"]')\n };\n\n this.validateForm();\n }\n\n addListeners() {\n this.el.addEventListener('submit', this.handleSubmit.bind(this));\n this.dom.formElements.forEach(el => {\n el.addEventListener('focusout', this.validateInput.bind(this));\n });\n }\n\n handleSubmit(e) {\n e.preventDefault();\n this.dom.errorMessage.style.display = 'none';\n if (!this.validateForm()) {\n this.dom.errorMessage.style.display = 'block';\n return;\n }\n\n const form = this.el;\n const formData = new FormData(form);\n\n const body = {\n FirstName: formData.get('FirstName'),\n LastName: formData.get('LastName'),\n Email: formData.get('Email'),\n Company_Name: formData.get('Company_Name'),\n Job_Title: formData.get('Job_Title'),\n Country: formData.get('Country'),\n Prov_State: formData.get('Prov_State'),\n Postal_ZIP: formData.get('Postal_ZIP'),\n English: formData.get('English'),\n French: formData.get('French'),\n Alumnus: formData.get('Alumnus'),\n Practice: formData.getAll('practice[]'),\n Industry: formData.getAll('industry[]'),\n Consent: formData.get('Consent')\n };\n\n fetch(form.getAttribute('action'), {\n method: 'POST',\n body: JSON.stringify(body)\n })\n .then(() => {\n this.dom.submitButton.style.display = 'none';\n this.dom.successMessage.style.display = 'block';\n })\n .catch(() => {\n console.log('error');\n });\n }\n\n validateInput(e) {\n const { target } = e;\n const errorMessage = e.target.parentNode.querySelector('.form-error');\n let isValid = true;\n\n isValid = target.checkValidity();\n\n if (target.type === 'email') {\n isValid = isValid && isEmail(target.value);\n }\n\n if (isValid) {\n target.classList.remove('is-invalid-input');\n if (errorMessage) {\n errorMessage.classList.remove('is-visible');\n }\n } else {\n target.classList.add('is-invalid-input');\n if (errorMessage) {\n errorMessage.classList.add('is-visible');\n }\n }\n this.validateForm();\n }\n\n validateForm() {\n if (this.el.checkValidity() && isEmail(this.dom.emailInput.value)) {\n this.dom.submitButton.removeAttribute('disabled');\n return true;\n }\n\n this.dom.submitButton.setAttribute('disabled', '');\n return false;\n }\n}\n\nexport default SubscribeForm;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isByteLength;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _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\n/* eslint-disable prefer-rest-params */\nfunction isByteLength(str, options) {\n (0, _assertString.default)(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}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isEmail;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\n\nvar _isByteLength = _interopRequireDefault(require(\"./isByteLength\"));\n\nvar _isFQDN = _interopRequireDefault(require(\"./isFQDN\"));\n\nvar _isIP = _interopRequireDefault(require(\"./isIP\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\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\nfunction isEmail(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(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 (!(0, _isByteLength.default)(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 && (!(0, _isByteLength.default)(user, {\n max: 64\n }) || !(0, _isByteLength.default)(domain, {\n max: 254\n }))) {\n return false;\n }\n\n if (!(0, _isFQDN.default)(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 (!(0, _isIP.default)(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 || !(0, _isIP.default)(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}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isFQDN;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nvar _merge = _interopRequireDefault(require(\"./util/merge\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\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};\n\nfunction isFQDN(str, options) {\n (0, _assertString.default)(str);\n options = (0, _merge.default)(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}\n\nmodule.exports = exports.default;\nmodule.exports.default = exports.default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isIP;\n\nvar _assertString = _interopRequireDefault(require(\"./util/assertString\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\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