{"version":3,"sources":["webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./src/components/common/Forms/Label/index.tsx","webpack:///./src/components/common/Forms/Field/index.tsx","webpack:///./src/components/common/Forms/validation.ts","webpack:///./src/components/common/Forms/Input/index.tsx","webpack:///./src/components/common/Forms/ControlButton/index.tsx","webpack:///./src/components/common/Forms/FormGroup/index.tsx","webpack:///./src/components/common/Forms/Select/index.tsx","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/helpers/Form/index.tsx","webpack:///./node_modules/react-trigger-change/lib/change.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./src/components/NewsLetterSignUp/index.tsx"],"names":["factory","module","exports","OldCookies","window","Cookies","api","noConflict","extend","i","result","arguments","length","attributes","key","decode","s","replace","decodeURIComponent","init","converter","set","value","document","path","defaults","expires","Date","toUTCString","JSON","stringify","test","e","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","split","cookie","get","json","jar","cookies","parts","slice","join","charAt","name","read","parse","getJSON","remove","withConverter","_ref","text","forId","_ref$hidden","hidden","className","concat","htmlFor","label","children","EMAIL_REGEX","POSTCODE_REGEX","dateStr","yearInt","today","dateLimit","setFullYear","getFullYear","moment","isBetween","email","required","string","postcode","code","dob","momentDate","isValid","isBefore","ageCheck","underageCheck","numbersCheck","nameWithNumbers","lengthCheck","phoneNumber","countryCallingCode","phoneNumberStartsWithZero","_extends","Object","assign","bind","n","t","r","hasOwnProperty","call","apply","_slicedToArray","Array","isArray","_arrayWithHoles","l","Symbol","iterator","u","a","f","o","next","done","push","return","_iterableToArrayLimit","_arrayLikeToArray","toString","constructor","from","_unsupportedIterableToArray","TypeError","_nonIterableRest","type","id","disabled","placeholder","alert","handleChange","handleBlur","handleFocus","handleKeyPress","validations","ignore","_useState2","setIsValid","_useState4","validationAlerts","setValidationAlerts","validate","event","errors","reduce","acc","validation","target","altertType","altertText","fieldProps","onKeyPress","onChange","isNumber","_onChange","onBlur","_onBlur","onFocus","_onFocus","wrapperClass","inputClass","Alert","map","validationAlert","index","checked","hasError","errorMessage","checkboxClass","Error","options","forEach","selectClass","option","displayText","selected","webpackContext","req","webpackContextResolve","__webpack_require__","keys","resolve","_typeof","prototype","_regeneratorRuntime","defineProperty","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","h","y","GeneratorFunction","GeneratorFunctionPrototype","p","this","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","then","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_defineProperties","_toPropertyKey","_callSuper","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","Boolean","valueOf","Reflect","construct","_isNativeReflectConstruct","_setPrototypeOf","_defineProperty","toPrimitive","Number","_toPrimitive","Form","_React$Component","props","_this","_classCallCheck","state","hasErrors","alerts","xsrfRequestToken","_inherits","_createClass","hasXsrfRequestToken","token","setState","parent","data","querySelectorAll","field","alertErrors","getElementsByClassName","inputErrors","filter","classList","contains","input","textarea","select","_callee","_this$props","isAjax","submitHandler","beforeRequest","callingCode","_context","preventDefault","triggerAllChildren","getFormData","ajaxAction","_submit","_next","_throw","_x","_this2","_this$props2","action","isSubmittingHandler","requestCompleteHandler","requestWithErrorHandler","headers","url","response","error","errs","errKey","err","_this3","_this$props3","footerAlerts","onSubmit","submit","generateAlerts","node","descriptor","initialValue","initialChecked","initialCheckedRadio","range","initMin","initMax","initStep","initVal","nodeName","toLowerCase","deletePropertySafe","elem","prop","desc","getOwnPropertyDescriptor","preventChecking","createEvent","initEvent","dispatchEvent","color","date","datetime","month","number","password","search","tel","time","week","min","max","step","propertyName","radio","radios","getCheckedRadio","addEventListener","removeEventListener","self","Function","Timeout","clearFn","_id","_clearFn","setTimeout","scope","clearTimeout","setInterval","clearInterval","timeout","close","unref","ref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","setImmediate","global","clearImmediate","registerImmediate","html","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","process","nextTick","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","createElement","documentElement","script","onreadystatechange","removeChild","appendChild","Math","random","source","indexOf","attachEvent","callback","args","task","run","entryId","title","image","socialLinks","termsAndConditionsLink","privacyPolicyLink","request","_ref$isEmbed","isEmbed","formContainer","gender","setGender","setEmail","_useState6","firstName","setFirstName","_useState8","lastName","setLastName","_useState10","isSubmitting","setIsSubmitting","_useState12","setDob","_useState14","agreeTerms","setAgreeTerms","_useState16","parentalConsent","setParentalConsent","_useState18","requiresParentalConsent","setRequiresParentalConsent","_useState20","partnersOptIn","setPartnersOptIn","_useState22","yearAge","setYearAge","ageInYears","floor","diff","errorExists","file","alt","description","widthSizes","aspectRatio","Input","Label","Control","href","showLoader","list"],"mappings":"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","file":"habitat.13.component.js","sourcesContent":["/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3.  If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t//     character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","import * as React from 'react';\nvar Label = function Label(_ref) {\n  var text = _ref.text,\n    forId = _ref.forId,\n    _ref$hidden = _ref.hidden,\n    hidden = _ref$hidden === void 0 ? false : _ref$hidden;\n  return /*#__PURE__*/React.createElement(\"label\", {\n    className: \"form-label \".concat(hidden && 'visually-hidden'),\n    htmlFor: forId\n  }, text);\n};\nexport default Label;","import * as React from 'react';\nimport Label from '../Label';\nimport './styles.scss';\nvar Field = function Field(_ref) {\n  var label = _ref.label,\n    children = _ref.children;\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: \"form-field\"\n  }, /*#__PURE__*/React.createElement(Label, label), children);\n};\nexport default Field;","import * as moment from 'moment';\nimport { isValidPhoneNumber } from 'react-phone-number-input';\nvar DATE_FORMAT = 'DD/MM/YYYY';\nvar EMAIL_REGEX = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,})+$/;\nvar POSTCODE_REGEX = /^(([A-Z][0-9]{1,2})|(([A-Z][A-HJ-Y][0-9]{1,2})|(([A-Z][0-9][A-Z])|([A-Z][A-HJ-Y][0-9]?[A-Z])))) [0-9][A-Z]{2}$/i;\nvar isDateValidAndInPast = function isDateValidAndInPast(date) {\n  var momentDate = moment(date, DATE_FORMAT, true);\n  return momentDate.isValid() && momentDate.isBefore(new Date());\n};\nvar isDateWithinLimit = function isDateWithinLimit(dateStr, yearInt) {\n  var today = new Date();\n  var dateLimit = today.setFullYear(today.getFullYear() - yearInt);\n  return !moment(dateStr, DATE_FORMAT).isBetween(dateLimit, new Date());\n};\nvar validateEmailAddress = function validateEmailAddress(email) {\n  if (!email || EMAIL_REGEX.test(email)) {\n    return true;\n  }\n};\nvar validatePostCode = function validatePostCode(code) {\n  if (!code || POSTCODE_REGEX.test(code)) {\n    return true;\n  }\n};\nvar validateDob = function validateDob(dob) {\n  if (!dob || isDateValidAndInPast(dob)) {\n    return true;\n  }\n};\nvar validateDobAge = function validateDobAge(dob) {\n  if (!dob || isDateWithinLimit(dob, 13)) {\n    return true;\n  }\n};\nvar validateDobUnderage = function validateDobUnderage(dob) {\n  if (!dob || isDateWithinLimit(dob, 18)) {\n    return true;\n  }\n};\nvar validateLength = function validateLength(string) {\n  if (!string || string.length >= 2) {\n    return true;\n  }\n};\nvar validateNameForNumbers = function validateNameForNumbers(string) {\n  var nameWithNumbers = /[\\d]/.test(string);\n  if (!string || !nameWithNumbers) {\n    return true;\n  }\n};\nvar validateRequired = function validateRequired(string) {\n  return string !== '' && string !== null;\n};\nvar validatePhoneNumber = function validatePhoneNumber(string, countryCallingCode) {\n  if (!string || isValidPhoneNumber(\"+\".concat(countryCallingCode).concat(string))) {\n    return true;\n  }\n};\nvar validateStartsWithZero = function validateStartsWithZero(string, countryCallingCode) {\n  if (!string || string[0] === '0' || countryCallingCode !== '44') {\n    return true;\n  }\n};\nvar validatons = {\n  email: validateEmailAddress,\n  required: validateRequired,\n  postcode: validatePostCode,\n  dob: validateDob,\n  ageCheck: validateDobAge,\n  underageCheck: validateDobUnderage,\n  numbersCheck: validateNameForNumbers,\n  lengthCheck: validateLength,\n  phoneNumber: validatePhoneNumber,\n  phoneNumberStartsWithZero: validateStartsWithZero\n};\nexport default validatons;","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport Alert from '../../Alert';\nimport validationMethods from '../validation';\nimport './styles.scss';\n\n/**\r\n * Some parts of this will need to go into\r\n * a Higher order component to be shared with any \r\n * other form components we create down the line \r\n */\n\nvar Input = function Input(_ref) {\n  var type = _ref.type,\n    id = _ref.id,\n    name = _ref.name,\n    value = _ref.value,\n    disabled = _ref.disabled,\n    placeholder = _ref.placeholder,\n    alert = _ref.alert,\n    handleChange = _ref.handleChange,\n    handleBlur = _ref.handleBlur,\n    handleFocus = _ref.handleFocus,\n    handleKeyPress = _ref.handleKeyPress,\n    validations = _ref.validations,\n    ignore = _ref.ignore,\n    children = _ref.children,\n    countryCallingCode = _ref.countryCallingCode;\n  var _useState = useState(null),\n    _useState2 = _slicedToArray(_useState, 2),\n    isValid = _useState2[0],\n    setIsValid = _useState2[1];\n  var _useState3 = useState([]),\n    _useState4 = _slicedToArray(_useState3, 2),\n    validationAlerts = _useState4[0],\n    setValidationAlerts = _useState4[1];\n  useEffect(function () {\n    if (!validations) {\n      setIsValid(true);\n    }\n  }, []);\n  var validate = function validate(event) {\n    if (validations) {\n      var errors = validations.reduce(function (acc, validation) {\n        if (!validationMethods[validation.type](event.target.value, countryCallingCode)) {\n          acc.push({\n            type: validation.altertType,\n            text: validation.altertText\n          });\n        }\n        return acc;\n      }, []);\n      if (errors.length) {\n        setIsValid(false);\n      } else {\n        setIsValid(true);\n      }\n      setValidationAlerts(errors);\n    } else {\n      setIsValid(true);\n    }\n  };\n  var _onChange = function onChange(event) {\n    var NUMBER_REGEX = /^[0-9]*$/g;\n\n    // Forcing Safari input to accept only numbers\n    var isNumber = NUMBER_REGEX.test(event.target.value);\n    if (type === 'tel' && (!isNumber || event.target.value.length > 20)) {\n      return;\n    }\n\n    // Validate new value\n    validate(event);\n    // Do some local change stuff in here....\n    // run the handleChange prop method\n    handleChange && handleChange(event);\n  };\n  var _onBlur = function onBlur(event) {\n    // Validate new value\n    validate(event);\n    // run the handleChange prop method\n    handleBlur && handleBlur(event);\n  };\n  var _onFocus = function onFocus(event) {\n    // Do some local focus stuff in here....\n    // run the handleChange prop method\n    handleFocus && handleFocus(event);\n  };\n  var fieldProps = {\n    name: name,\n    value: value ? value : '',\n    id: id ? id : null,\n    alert: alert ? alert : null,\n    disabled: disabled ? disabled : null,\n    placeholder: placeholder ? placeholder : null,\n    onKeyPress: handleKeyPress ? function (event) {\n      return handleKeyPress(event);\n    } : null,\n    onChange: function onChange(event) {\n      _onChange(event);\n    },\n    onBlur: function onBlur(event) {\n      return _onBlur(event);\n    },\n    onFocus: function onFocus(event) {\n      return _onFocus(event);\n    }\n  };\n  var wrapperClass = \"\\n      form-element\\n      \".concat(alert && \"form-element--\".concat(alert.type), \"\\n      \").concat(!isValid && \"form-element--not-valid\", \"\\n      \").concat(!!validationAlerts.length && 'form-element--has-errors', \"\\n      \").concat(countryCallingCode && 'form-element--with-children', \"\\n    \");\n  var inputClass = \"\\n      form-element__input\\n      \".concat(!isValid && 'form-element__input--not-valid', \"\\n      \").concat(isValid && 'form-element__input--valid', \"\\n      \").concat(!!validationAlerts.length && 'form-element__input--has-errors', \"\\n      \").concat(ignore && 'ignore', \"\\n    \");\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: wrapperClass\n  }, countryCallingCode && children, type === 'textarea' && /*#__PURE__*/React.createElement(\"textarea\", _extends({\n    className: \"form-element__input\"\n  }, fieldProps)), type !== 'textarea' && /*#__PURE__*/React.createElement(\"input\", _extends({\n    className: inputClass,\n    type: type\n  }, fieldProps)), alert && /*#__PURE__*/React.createElement(Alert, alert), validationAlerts && /*#__PURE__*/React.createElement(React.Fragment, null, validationAlerts.map(function (validationAlert, index) {\n    return /*#__PURE__*/React.createElement(Alert, _extends({\n      key: \"validation-alert\".concat(index)\n    }, validationAlert));\n  })));\n};\nexport default Input;","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from 'react';\nimport Alert from '../../Alert';\nimport './styles.scss';\nvar ControlButton = function ControlButton(_ref) {\n  var type = _ref.type,\n    name = _ref.name,\n    checked = _ref.checked,\n    label = _ref.label,\n    id = _ref.id,\n    alert = _ref.alert,\n    disabled = _ref.disabled,\n    validations = _ref.validations,\n    hasError = _ref.hasError,\n    handleChange = _ref.handleChange,\n    errorMessage = _ref.errorMessage;\n  var fieldProps = {\n    type: type,\n    name: name,\n    label: label,\n    id: id,\n    checked: checked ? checked : false,\n    alert: alert ? alert : null,\n    disabled: disabled ? disabled : null,\n    onChange: handleChange ? function (event) {\n      return handleChange(event);\n    } : null\n  };\n  var checkboxClass = \"\\n      form-control-button\\n      \".concat(alert && \"form-control-button--\".concat(alert.type), \"\\n      \").concat(disabled && \"form-control-button--disabled\", \"\\n      \").concat(type === 'radio' && \"form-control-button--radio\", \"\\n    \");\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n    className: checkboxClass\n  }, /*#__PURE__*/React.createElement(\"input\", _extends({\n    className: \"\\n              \".concat(alert ? \"form-control-button__input form-control-button__input--\".concat(alert.type) : \"form-control-button__input\", \"\\n              \").concat(hasError && 'form-element__input--not-valid', \"\\n            \")\n  }, fieldProps)), /*#__PURE__*/React.createElement(\"label\", {\n    className: \"form-control-button__label\",\n    htmlFor: id\n  }, label)), alert && /*#__PURE__*/React.createElement(Alert, alert), hasError && errorMessage && /*#__PURE__*/React.createElement(Alert, {\n    type: \"error\",\n    text: errorMessage\n  }));\n};\nexport default ControlButton;","import * as React from 'react';\n// import './styles.scss';\n\nvar FormGroup = function FormGroup(_ref) {\n  var label = _ref.label,\n    children = _ref.children;\n  if (children) {\n    throw Error('FormGroup component only expects one child');\n  }\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: \"form-group\"\n  }, /*#__PURE__*/React.createElement(\"label\", null, label), children);\n};\nexport default FormGroup;","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport Alert from '../../Alert';\nimport validationMethods from '../validation';\nimport './styles.scss';\nvar Select = function Select(_ref) {\n  var id = _ref.id,\n    name = _ref.name,\n    value = _ref.value,\n    disabled = _ref.disabled,\n    options = _ref.options,\n    alert = _ref.alert,\n    handleChange = _ref.handleChange,\n    handleBlur = _ref.handleBlur,\n    handleFocus = _ref.handleFocus,\n    handleKeyPress = _ref.handleKeyPress,\n    validations = _ref.validations,\n    ignore = _ref.ignore;\n  var _useState = useState(null),\n    _useState2 = _slicedToArray(_useState, 2),\n    isValid = _useState2[0],\n    setIsValid = _useState2[1];\n  var _useState3 = useState([]),\n    _useState4 = _slicedToArray(_useState3, 2),\n    validationAlerts = _useState4[0],\n    setValidationAlerts = _useState4[1];\n  useEffect(function () {\n    if (!validations) {\n      setIsValid(true);\n    }\n  }, []);\n  var validate = function validate(event) {\n    if (validations) {\n      var errors = [];\n      validations.forEach(function (validation) {\n        if (!validationMethods[validation.type](event.target.value)) {\n          setIsValid(false);\n          errors.push({\n            type: validation.altertType,\n            text: validation.altertText\n          });\n        } else {\n          setIsValid(true);\n        }\n      });\n      setValidationAlerts(errors);\n    } else {\n      setIsValid(true);\n    }\n  };\n  var _onChange = function onChange(event) {\n    // Validate new value\n    validate(event);\n    // Do some local change stuff in here....\n    // run the handleChange prop method\n    handleChange && handleChange(event);\n  };\n  var _onBlur = function onBlur(event) {\n    // Validate new value\n    validate(event);\n    // run the handleChange prop method\n    handleBlur && handleBlur(event);\n  };\n  var _onFocus = function onFocus(event) {\n    // Do some local focus stuff in here....\n    // run the handleChange prop method\n    handleFocus && handleFocus(event);\n  };\n  var fieldProps = {\n    name: name,\n    value: value ? value : '',\n    id: id ? id : null,\n    alert: alert ? alert : null,\n    disabled: disabled ? disabled : null,\n    onKeyPress: handleKeyPress ? function (event) {\n      return handleKeyPress(event);\n    } : null,\n    onChange: function onChange(event) {\n      _onChange(event);\n    },\n    onBlur: function onBlur(event) {\n      return _onBlur(event);\n    },\n    onFocus: function onFocus(event) {\n      return _onFocus(event);\n    }\n  };\n  var wrapperClass = \"\\n      form-element\\n      \".concat(alert && \"form-element--\".concat(alert.type), \"\\n      \").concat(!isValid && \"form-element--not-valid\", \"\\n    \");\n  var selectClass = \"\\n      form-element__select\\n      \".concat(!isValid && 'form-element__select--not-valid', \"\\n      \").concat(isValid && 'form-element__select--valid', \"\\n      \").concat(validationAlerts.length && 'form-element__select--has-errors', \"\\n      \").concat(ignore && 'ignore', \"\\n      \");\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: wrapperClass\n  }, /*#__PURE__*/React.createElement(\"select\", _extends({\n    className: selectClass\n  }, fieldProps), options.map(function (option) {\n    return /*#__PURE__*/React.createElement(\"option\", {\n      key: option.displayText,\n      value: option.value,\n      selected: option.selected\n    }, option.displayText);\n  })), alert && /*#__PURE__*/React.createElement(Alert, alert), validationAlerts && /*#__PURE__*/React.createElement(React.Fragment, null, validationAlerts.map(function (validationAlert, index) {\n    return /*#__PURE__*/React.createElement(Alert, _extends({\n      key: \"validation-alert\".concat(index)\n    }, validationAlert));\n  })));\n};\nexport default Select;","var map = {\n\t\"./af\": 996,\n\t\"./af.js\": 996,\n\t\"./ar\": 997,\n\t\"./ar-dz\": 998,\n\t\"./ar-dz.js\": 998,\n\t\"./ar-kw\": 999,\n\t\"./ar-kw.js\": 999,\n\t\"./ar-ly\": 1000,\n\t\"./ar-ly.js\": 1000,\n\t\"./ar-ma\": 1001,\n\t\"./ar-ma.js\": 1001,\n\t\"./ar-ps\": 1002,\n\t\"./ar-ps.js\": 1002,\n\t\"./ar-sa\": 1003,\n\t\"./ar-sa.js\": 1003,\n\t\"./ar-tn\": 1004,\n\t\"./ar-tn.js\": 1004,\n\t\"./ar.js\": 997,\n\t\"./az\": 1005,\n\t\"./az.js\": 1005,\n\t\"./be\": 1006,\n\t\"./be.js\": 1006,\n\t\"./bg\": 1007,\n\t\"./bg.js\": 1007,\n\t\"./bm\": 1008,\n\t\"./bm.js\": 1008,\n\t\"./bn\": 1009,\n\t\"./bn-bd\": 1010,\n\t\"./bn-bd.js\": 1010,\n\t\"./bn.js\": 1009,\n\t\"./bo\": 1011,\n\t\"./bo.js\": 1011,\n\t\"./br\": 1012,\n\t\"./br.js\": 1012,\n\t\"./bs\": 1013,\n\t\"./bs.js\": 1013,\n\t\"./ca\": 1014,\n\t\"./ca.js\": 1014,\n\t\"./cs\": 1015,\n\t\"./cs.js\": 1015,\n\t\"./cv\": 1016,\n\t\"./cv.js\": 1016,\n\t\"./cy\": 1017,\n\t\"./cy.js\": 1017,\n\t\"./da\": 1018,\n\t\"./da.js\": 1018,\n\t\"./de\": 1019,\n\t\"./de-at\": 1020,\n\t\"./de-at.js\": 1020,\n\t\"./de-ch\": 1021,\n\t\"./de-ch.js\": 1021,\n\t\"./de.js\": 1019,\n\t\"./dv\": 1022,\n\t\"./dv.js\": 1022,\n\t\"./el\": 1023,\n\t\"./el.js\": 1023,\n\t\"./en-au\": 1024,\n\t\"./en-au.js\": 1024,\n\t\"./en-ca\": 1025,\n\t\"./en-ca.js\": 1025,\n\t\"./en-gb\": 1026,\n\t\"./en-gb.js\": 1026,\n\t\"./en-ie\": 1027,\n\t\"./en-ie.js\": 1027,\n\t\"./en-il\": 1028,\n\t\"./en-il.js\": 1028,\n\t\"./en-in\": 1029,\n\t\"./en-in.js\": 1029,\n\t\"./en-nz\": 1030,\n\t\"./en-nz.js\": 1030,\n\t\"./en-sg\": 1031,\n\t\"./en-sg.js\": 1031,\n\t\"./eo\": 1032,\n\t\"./eo.js\": 1032,\n\t\"./es\": 1033,\n\t\"./es-do\": 1034,\n\t\"./es-do.js\": 1034,\n\t\"./es-mx\": 1035,\n\t\"./es-mx.js\": 1035,\n\t\"./es-us\": 1036,\n\t\"./es-us.js\": 1036,\n\t\"./es.js\": 1033,\n\t\"./et\": 1037,\n\t\"./et.js\": 1037,\n\t\"./eu\": 1038,\n\t\"./eu.js\": 1038,\n\t\"./fa\": 1039,\n\t\"./fa.js\": 1039,\n\t\"./fi\": 1040,\n\t\"./fi.js\": 1040,\n\t\"./fil\": 1041,\n\t\"./fil.js\": 1041,\n\t\"./fo\": 1042,\n\t\"./fo.js\": 1042,\n\t\"./fr\": 1043,\n\t\"./fr-ca\": 1044,\n\t\"./fr-ca.js\": 1044,\n\t\"./fr-ch\": 1045,\n\t\"./fr-ch.js\": 1045,\n\t\"./fr.js\": 1043,\n\t\"./fy\": 1046,\n\t\"./fy.js\": 1046,\n\t\"./ga\": 1047,\n\t\"./ga.js\": 1047,\n\t\"./gd\": 1048,\n\t\"./gd.js\": 1048,\n\t\"./gl\": 1049,\n\t\"./gl.js\": 1049,\n\t\"./gom-deva\": 1050,\n\t\"./gom-deva.js\": 1050,\n\t\"./gom-latn\": 1051,\n\t\"./gom-latn.js\": 1051,\n\t\"./gu\": 1052,\n\t\"./gu.js\": 1052,\n\t\"./he\": 1053,\n\t\"./he.js\": 1053,\n\t\"./hi\": 1054,\n\t\"./hi.js\": 1054,\n\t\"./hr\": 1055,\n\t\"./hr.js\": 1055,\n\t\"./hu\": 1056,\n\t\"./hu.js\": 1056,\n\t\"./hy-am\": 1057,\n\t\"./hy-am.js\": 1057,\n\t\"./id\": 1058,\n\t\"./id.js\": 1058,\n\t\"./is\": 1059,\n\t\"./is.js\": 1059,\n\t\"./it\": 1060,\n\t\"./it-ch\": 1061,\n\t\"./it-ch.js\": 1061,\n\t\"./it.js\": 1060,\n\t\"./ja\": 1062,\n\t\"./ja.js\": 1062,\n\t\"./jv\": 1063,\n\t\"./jv.js\": 1063,\n\t\"./ka\": 1064,\n\t\"./ka.js\": 1064,\n\t\"./kk\": 1065,\n\t\"./kk.js\": 1065,\n\t\"./km\": 1066,\n\t\"./km.js\": 1066,\n\t\"./kn\": 1067,\n\t\"./kn.js\": 1067,\n\t\"./ko\": 1068,\n\t\"./ko.js\": 1068,\n\t\"./ku\": 1069,\n\t\"./ku-kmr\": 1070,\n\t\"./ku-kmr.js\": 1070,\n\t\"./ku.js\": 1069,\n\t\"./ky\": 1071,\n\t\"./ky.js\": 1071,\n\t\"./lb\": 1072,\n\t\"./lb.js\": 1072,\n\t\"./lo\": 1073,\n\t\"./lo.js\": 1073,\n\t\"./lt\": 1074,\n\t\"./lt.js\": 1074,\n\t\"./lv\": 1075,\n\t\"./lv.js\": 1075,\n\t\"./me\": 1076,\n\t\"./me.js\": 1076,\n\t\"./mi\": 1077,\n\t\"./mi.js\": 1077,\n\t\"./mk\": 1078,\n\t\"./mk.js\": 1078,\n\t\"./ml\": 1079,\n\t\"./ml.js\": 1079,\n\t\"./mn\": 1080,\n\t\"./mn.js\": 1080,\n\t\"./mr\": 1081,\n\t\"./mr.js\": 1081,\n\t\"./ms\": 1082,\n\t\"./ms-my\": 1083,\n\t\"./ms-my.js\": 1083,\n\t\"./ms.js\": 1082,\n\t\"./mt\": 1084,\n\t\"./mt.js\": 1084,\n\t\"./my\": 1085,\n\t\"./my.js\": 1085,\n\t\"./nb\": 1086,\n\t\"./nb.js\": 1086,\n\t\"./ne\": 1087,\n\t\"./ne.js\": 1087,\n\t\"./nl\": 1088,\n\t\"./nl-be\": 1089,\n\t\"./nl-be.js\": 1089,\n\t\"./nl.js\": 1088,\n\t\"./nn\": 1090,\n\t\"./nn.js\": 1090,\n\t\"./oc-lnc\": 1091,\n\t\"./oc-lnc.js\": 1091,\n\t\"./pa-in\": 1092,\n\t\"./pa-in.js\": 1092,\n\t\"./pl\": 1093,\n\t\"./pl.js\": 1093,\n\t\"./pt\": 1094,\n\t\"./pt-br\": 1095,\n\t\"./pt-br.js\": 1095,\n\t\"./pt.js\": 1094,\n\t\"./ro\": 1096,\n\t\"./ro.js\": 1096,\n\t\"./ru\": 1097,\n\t\"./ru.js\": 1097,\n\t\"./sd\": 1098,\n\t\"./sd.js\": 1098,\n\t\"./se\": 1099,\n\t\"./se.js\": 1099,\n\t\"./si\": 1100,\n\t\"./si.js\": 1100,\n\t\"./sk\": 1101,\n\t\"./sk.js\": 1101,\n\t\"./sl\": 1102,\n\t\"./sl.js\": 1102,\n\t\"./sq\": 1103,\n\t\"./sq.js\": 1103,\n\t\"./sr\": 1104,\n\t\"./sr-cyrl\": 1105,\n\t\"./sr-cyrl.js\": 1105,\n\t\"./sr.js\": 1104,\n\t\"./ss\": 1106,\n\t\"./ss.js\": 1106,\n\t\"./sv\": 1107,\n\t\"./sv.js\": 1107,\n\t\"./sw\": 1108,\n\t\"./sw.js\": 1108,\n\t\"./ta\": 1109,\n\t\"./ta.js\": 1109,\n\t\"./te\": 1110,\n\t\"./te.js\": 1110,\n\t\"./tet\": 1111,\n\t\"./tet.js\": 1111,\n\t\"./tg\": 1112,\n\t\"./tg.js\": 1112,\n\t\"./th\": 1113,\n\t\"./th.js\": 1113,\n\t\"./tk\": 1114,\n\t\"./tk.js\": 1114,\n\t\"./tl-ph\": 1115,\n\t\"./tl-ph.js\": 1115,\n\t\"./tlh\": 1116,\n\t\"./tlh.js\": 1116,\n\t\"./tr\": 1117,\n\t\"./tr.js\": 1117,\n\t\"./tzl\": 1118,\n\t\"./tzl.js\": 1118,\n\t\"./tzm\": 1119,\n\t\"./tzm-latn\": 1120,\n\t\"./tzm-latn.js\": 1120,\n\t\"./tzm.js\": 1119,\n\t\"./ug-cn\": 1121,\n\t\"./ug-cn.js\": 1121,\n\t\"./uk\": 1122,\n\t\"./uk.js\": 1122,\n\t\"./ur\": 1123,\n\t\"./ur.js\": 1123,\n\t\"./uz\": 1124,\n\t\"./uz-latn\": 1125,\n\t\"./uz-latn.js\": 1125,\n\t\"./uz.js\": 1124,\n\t\"./vi\": 1126,\n\t\"./vi.js\": 1126,\n\t\"./x-pseudo\": 1127,\n\t\"./x-pseudo.js\": 1127,\n\t\"./yo\": 1128,\n\t\"./yo.js\": 1128,\n\t\"./zh-cn\": 1129,\n\t\"./zh-cn.js\": 1129,\n\t\"./zh-hk\": 1130,\n\t\"./zh-hk.js\": 1130,\n\t\"./zh-mo\": 1131,\n\t\"./zh-mo.js\": 1131,\n\t\"./zh-tw\": 1132,\n\t\"./zh-tw.js\": 1132\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1148;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = \"function\" == typeof Symbol ? Symbol : {}, a = i.iterator || \"@@iterator\", c = i.asyncIterator || \"@@asyncIterator\", u = i.toStringTag || \"@@toStringTag\"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, \"\"); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, \"_invoke\", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: \"normal\", arg: t.call(e, r) }; } catch (t) { return { type: \"throw\", arg: t }; } } e.wrap = wrap; var h = \"suspendedStart\", l = \"suspendedYield\", f = \"executing\", s = \"completed\", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { [\"next\", \"throw\", \"return\"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if (\"throw\" !== c.type) { var u = c.arg, h = u.value; return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) { invoke(\"next\", t, i, a); }, function (t) { invoke(\"throw\", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke(\"throw\", t, i, a); }); } a(c.arg); } var r; o(this, \"_invoke\", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error(\"Generator is already running\"); if (o === s) { if (\"throw\" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else \"return\" === n.method && n.abrupt(\"return\", n.arg); o = f; var p = tryCatch(e, r, n); if (\"normal\" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, \"throw\" === n && e.iterator.return && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y; var i = tryCatch(o, e.iterator, r.arg); if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = \"normal\", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: \"root\" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || \"\" === e) { var r = e[a]; if (r) return r.call(e); if (\"function\" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + \" is not iterable\"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) { var e = \"function\" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () { return this; }), define(g, \"toString\", function () { return \"[object Generator]\"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if (\"throw\" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if (\"root\" === i.tryLoc) return handle(\"end\"); if (i.tryLoc <= this.prev) { var c = n.call(i, \"catchLoc\"), u = n.call(i, \"finallyLoc\"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error(\"try statement without catch or finally\"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) { var i = o; break; } } i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if (\"throw\" === t.type) throw t.arg; return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if (\"throw\" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, \"next\" === this.method && (this.arg = t), y; } }, e; }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport * as React from 'react';\nimport axios from 'axios';\nimport reactTriggerChange from 'react-trigger-change';\nimport Cookies from 'js-cookie';\nimport { Alert } from '../../common';\nimport { Field, Input, ControlButton, FormGroup, Label, Select } from '../../common/Forms';\nimport { COOKIE_CONFIG } from '../../../configs';\nvar Form = /*#__PURE__*/function (_React$Component) {\n  function Form(props) {\n    var _this;\n    _classCallCheck(this, Form);\n    _this = _callSuper(this, Form, [props]);\n    _this.state = {\n      hasErrors: null,\n      alerts: [],\n      xsrfRequestToken: null\n    };\n    return _this;\n  }\n\n  /* Static sub components */\n  _inherits(Form, _React$Component);\n  return _createClass(Form, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.hasXsrfRequestToken();\n    }\n\n    /**\r\n     * Checks for the .net XSRF-Request-Token\r\n     * in cookies and sets it to state.\r\n     */\n  }, {\n    key: \"hasXsrfRequestToken\",\n    value: function hasXsrfRequestToken() {\n      var token = Cookies.get(COOKIE_CONFIG.xsrfRequestToken);\n      if (token) {\n        this.setState({\n          xsrfRequestToken: token\n        });\n      }\n    }\n\n    /**\r\n     * Searches and maps out all child field\r\n     * of the component and returns them in an\r\n     * object suitable for axois pramams.\r\n     */\n  }, {\n    key: \"getFormData\",\n    value: function getFormData(parent) {\n      var data = {};\n      parent.querySelectorAll('select:not(.ignore), input:not(.ignore), textarea:not(.ignore)').forEach(function (field) {\n        if (field.type === 'checkbox' || field.type === 'radio') {\n          data[field.name] = field.checked;\n        } else {\n          data[field.name] = field.value;\n        }\n      });\n      return data;\n    }\n\n    /* Checks input children for error */\n  }, {\n    key: \"hasErrors\",\n    value: function hasErrors(parent) {\n      var alertErrors = document.getElementsByClassName('alert--error-captcha').length;\n      var inputErrors = _toConsumableArray(parent.querySelectorAll('input')).filter(function (field) {\n        return field.classList.contains('form-element__input--not-valid');\n      }).length;\n      return Boolean(inputErrors || alertErrors);\n    }\n\n    /**\r\n     * Triggers change event on all children\r\n     * for validation purposes.\r\n     */\n  }, {\n    key: \"triggerAllChildren\",\n    value: function triggerAllChildren(parent) {\n      _toConsumableArray(parent.querySelectorAll('input')).forEach(function (input) {\n        reactTriggerChange(input);\n      });\n      _toConsumableArray(parent.querySelectorAll('textarea')).forEach(function (textarea) {\n        reactTriggerChange(textarea);\n      });\n      _toConsumableArray(parent.querySelectorAll('select')).forEach(function (select) {\n        reactTriggerChange(select);\n      });\n    }\n\n    /* Submit handler */\n  }, {\n    key: \"submit\",\n    value: (function () {\n      var _submit = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {\n        var _this$props, isAjax, submitHandler, beforeRequest, data, callingCode, phoneNumber, hasErrors;\n        return _regeneratorRuntime().wrap(function _callee$(_context) {\n          while (1) switch (_context.prev = _context.next) {\n            case 0:\n              _this$props = this.props, isAjax = _this$props.isAjax, submitHandler = _this$props.submitHandler, beforeRequest = _this$props.beforeRequest;\n              event.preventDefault();\n              _context.next = 4;\n              return this.triggerAllChildren(event.target);\n            case 4:\n              data = this.getFormData(event.target);\n              callingCode = data['countryCallingCode'];\n              if (callingCode) {\n                phoneNumber = data['phoneNumber'];\n                Object.assign(data, {\n                  phoneNumber: phoneNumber ? \"\".concat(callingCode, \" \").concat(phoneNumber) : ''\n                });\n                delete data['countryCallingCode'];\n              }\n              hasErrors = this.hasErrors(event.target);\n              this.setState({\n                hasErrors: hasErrors\n              });\n              if (beforeRequest) {\n                beforeRequest();\n              }\n              if (!hasErrors) {\n                _context.next = 12;\n                break;\n              }\n              return _context.abrupt(\"return\");\n            case 12:\n              if (!isAjax) {\n                _context.next = 15;\n                break;\n              }\n              this.ajaxAction(data);\n              return _context.abrupt(\"return\");\n            case 15:\n              if (submitHandler) {\n                submitHandler();\n              }\n            case 16:\n            case \"end\":\n              return _context.stop();\n          }\n        }, _callee, this);\n      }));\n      function submit(_x) {\n        return _submit.apply(this, arguments);\n      }\n      return submit;\n    }()\n    /**\r\n     * The axois promise assumes that the server\r\n     * response will return either Alert[] or Alert.\r\n     */\n    )\n  }, {\n    key: \"ajaxAction\",\n    value: function ajaxAction(data) {\n      var _this2 = this;\n      var _this$props2 = this.props,\n        method = _this$props2.method,\n        action = _this$props2.action,\n        isSubmittingHandler = _this$props2.isSubmittingHandler,\n        requestCompleteHandler = _this$props2.requestCompleteHandler,\n        requestWithErrorHandler = _this$props2.requestWithErrorHandler;\n      var xsrfRequestToken = this.state.xsrfRequestToken;\n      var headers = {};\n      if (xsrfRequestToken) {\n        headers['X-CSRF-TOKEN'] = xsrfRequestToken;\n      }\n      axios({\n        method: method,\n        url: action,\n        headers: headers,\n        data: data\n      }).then(function (response) {\n        if (response.data) {\n          _this2.setState({\n            alerts: [response.data]\n          });\n          if (requestCompleteHandler) {\n            requestCompleteHandler();\n          }\n          isSubmittingHandler(false);\n        }\n      }).catch(function (error) {\n        if (error.response.data.errors) {\n          var errs = [];\n          Object.keys(error.response.data.errors).map(function (errKey) {\n            error.response.data.errors[errKey].map(function (err) {\n              return errs.push({\n                type: 'error',\n                text: err\n              });\n            });\n          });\n          _this2.setState({\n            alerts: errs\n          });\n          requestWithErrorHandler();\n        }\n      });\n    }\n  }, {\n    key: \"generateAlerts\",\n    value: function generateAlerts(alerts) {\n      return /*#__PURE__*/React.createElement(React.Fragment, null, alerts.length > 0 && /*#__PURE__*/React.createElement(\"div\", {\n        className: \"form__alerts\"\n      }, alerts.map(function (alert, index) {\n        return /*#__PURE__*/React.createElement(Alert, _extends({\n          key: \"alert-\".concat(index)\n        }, alert));\n      })));\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this3 = this;\n      var _this$props3 = this.props,\n        method = _this$props3.method,\n        action = _this$props3.action,\n        children = _this$props3.children,\n        footerAlerts = _this$props3.footerAlerts;\n      var alerts = this.state.alerts;\n      return (\n        /*#__PURE__*/\n        // eslint-disable-next-line\n        React.createElement(\"form\", {\n          className: \"form\",\n          method: method,\n          action: action,\n          onSubmit: function onSubmit() {\n            return _this3.submit(event);\n          }\n        }, !footerAlerts && /*#__PURE__*/React.createElement(React.Fragment, null, this.generateAlerts(alerts)), children, footerAlerts && /*#__PURE__*/React.createElement(\"div\", {\n          className: \"form__footer\"\n        }, this.generateAlerts(alerts)))\n      );\n    }\n  }]);\n}(React.Component);\n_defineProperty(Form, \"defaultProps\", {\n  isAjax: true\n});\n_defineProperty(Form, \"Field\", Field);\n_defineProperty(Form, \"Input\", Input);\n_defineProperty(Form, \"Select\", Select);\n_defineProperty(Form, \"Control\", ControlButton);\n_defineProperty(Form, \"Group\", FormGroup);\n_defineProperty(Form, \"Label\", Label);\nexport default Form;","// Trigger React's synthetic change events on input, textarea and select elements\n// https://github.com/facebook/react/pull/4051 - React 15 fix\n// https://github.com/facebook/react/pull/5746 - React 16 fix\n\n'use strict';\n\n// Constants and functions are declared inside the closure.\n// In this way, reactTriggerChange can be passed directly to executeScript in Selenium.\nmodule.exports = function reactTriggerChange(node) {\n  var supportedInputTypes = {\n    color: true,\n    date: true,\n    datetime: true,\n    'datetime-local': true,\n    email: true,\n    month: true,\n    number: true,\n    password: true,\n    range: true,\n    search: true,\n    tel: true,\n    text: true,\n    time: true,\n    url: true,\n    week: true\n  };\n  var nodeName = node.nodeName.toLowerCase();\n  var type = node.type;\n  var event;\n  var descriptor;\n  var initialValue;\n  var initialChecked;\n  var initialCheckedRadio;\n\n  // Do not try to delete non-configurable properties.\n  // Value and checked properties on DOM elements are non-configurable in PhantomJS.\n  function deletePropertySafe(elem, prop) {\n    var desc = Object.getOwnPropertyDescriptor(elem, prop);\n    if (desc && desc.configurable) {\n      delete elem[prop];\n    }\n  }\n\n  // In IE10 propertychange is not dispatched on range input if invalid\n  // value is set.\n  function changeRangeValue(range) {\n    var initMin = range.min;\n    var initMax = range.max;\n    var initStep = range.step;\n    var initVal = Number(range.value);\n\n    range.min = initVal;\n    range.max = initVal + 1;\n    range.step = 1;\n    range.value = initVal + 1;\n    deletePropertySafe(range, 'value');\n    range.min = initMin;\n    range.max = initMax;\n    range.step = initStep;\n    range.value = initVal;\n  }\n\n  function getCheckedRadio(radio) {\n    var name = radio.name;\n    var radios;\n    var i;\n    if (name) {\n      radios = document.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n      for (i = 0; i < radios.length; i += 1) {\n        if (radios[i].checked) {\n          return radios[i] !== radio ? radios[i] : null;\n        }\n      }\n    }\n    return null;\n  }\n\n  function preventChecking(e) {\n    e.preventDefault();\n    if (!initialChecked) {\n      e.target.checked = false;\n    }\n    if (initialCheckedRadio) {\n      initialCheckedRadio.checked = true;\n    }\n  }\n\n  if (nodeName === 'select' ||\n    (nodeName === 'input' && type === 'file')) {\n    // IE9-IE11, non-IE\n    // Dispatch change.\n    event = document.createEvent('HTMLEvents');\n    event.initEvent('change', true, false);\n    node.dispatchEvent(event);\n  } else if ((nodeName === 'input' && supportedInputTypes[type]) ||\n    nodeName === 'textarea') {\n    // React 16\n    // Cache artificial value property descriptor.\n    // Property doesn't exist in React <16, descriptor is undefined.\n    descriptor = Object.getOwnPropertyDescriptor(node, 'value');\n\n    // React 0.14: IE9\n    // React 15: IE9-IE11\n    // React 16: IE9\n    // Dispatch focus.\n    event = document.createEvent('UIEvents');\n    event.initEvent('focus', false, false);\n    node.dispatchEvent(event);\n\n    // React 0.14: IE9\n    // React 15: IE9-IE11\n    // React 16\n    // In IE9-10 imperative change of node value triggers propertychange event.\n    // Update inputValueTracking cached value.\n    // Remove artificial value property.\n    // Restore initial value to trigger event with it.\n    if (type === 'range') {\n      changeRangeValue(node);\n    } else {\n      initialValue = node.value;\n      node.value = initialValue + '#';\n      deletePropertySafe(node, 'value');\n      node.value = initialValue;\n    }\n\n    // React 15: IE11\n    // For unknown reason React 15 added listener for propertychange with addEventListener.\n    // This doesn't work, propertychange events are deprecated in IE11,\n    // but allows us to dispatch fake propertychange which is handled by IE11.\n    event = document.createEvent('HTMLEvents');\n    event.initEvent('propertychange', false, false);\n    event.propertyName = 'value';\n    node.dispatchEvent(event);\n\n    // React 0.14: IE10-IE11, non-IE\n    // React 15: non-IE\n    // React 16: IE10-IE11, non-IE\n    event = document.createEvent('HTMLEvents');\n    event.initEvent('input', true, false);\n    node.dispatchEvent(event);\n\n    // React 16\n    // Restore artificial value property descriptor.\n    if (descriptor) {\n      Object.defineProperty(node, 'value', descriptor);\n    }\n  } else if (nodeName === 'input' && type === 'checkbox') {\n    // Invert inputValueTracking cached value.\n    node.checked = !node.checked;\n\n    // Dispatch click.\n    // Click event inverts checked value.\n    event = document.createEvent('MouseEvents');\n    event.initEvent('click', true, true);\n    node.dispatchEvent(event);\n  } else if (nodeName === 'input' && type === 'radio') {\n    // Cache initial checked value.\n    initialChecked = node.checked;\n\n    // Find and cache initially checked radio in the group.\n    initialCheckedRadio = getCheckedRadio(node);\n\n    // React 16\n    // Cache property descriptor.\n    // Invert inputValueTracking cached value.\n    // Remove artificial checked property.\n    // Restore initial value, otherwise preventDefault will eventually revert the value.\n    descriptor = Object.getOwnPropertyDescriptor(node, 'checked');\n    node.checked = !initialChecked;\n    deletePropertySafe(node, 'checked');\n    node.checked = initialChecked;\n\n    // Prevent toggling during event capturing phase.\n    // Set checked value to false if initialChecked is false,\n    // otherwise next listeners will see true.\n    // Restore initially checked radio in the group.\n    node.addEventListener('click', preventChecking, true);\n\n    // Dispatch click.\n    // Click event inverts checked value.\n    event = document.createEvent('MouseEvents');\n    event.initEvent('click', true, true);\n    node.dispatchEvent(event);\n\n    // Remove listener to stop further change prevention.\n    node.removeEventListener('click', preventChecking, true);\n\n    // React 16\n    // Restore artificial checked property descriptor.\n    if (descriptor) {\n      Object.defineProperty(node, 'checked', descriptor);\n    }\n  }\n};\n","var scope = (typeof global !== \"undefined\" && global) ||\n            (typeof self !== \"undefined\" && self) ||\n            window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n  return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n  return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n  if (timeout) {\n    timeout.close();\n  }\n};\n\nfunction Timeout(id, clearFn) {\n  this._id = id;\n  this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n  this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n  clearTimeout(item._idleTimeoutId);\n  item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n  clearTimeout(item._idleTimeoutId);\n  item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n  clearTimeout(item._idleTimeoutId);\n\n  var msecs = item._idleTimeout;\n  if (msecs >= 0) {\n    item._idleTimeoutId = setTimeout(function onTimeout() {\n      if (item._onTimeout)\n        item._onTimeout();\n    }, msecs);\n  }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto.  Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n                       (typeof global !== \"undefined\" && global.setImmediate) ||\n                       (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n                         (typeof global !== \"undefined\" && global.clearImmediate) ||\n                         (this && this.clearImmediate);\n","(function (global, undefined) {\n    \"use strict\";\n\n    if (global.setImmediate) {\n        return;\n    }\n\n    var nextHandle = 1; // Spec says greater than zero\n    var tasksByHandle = {};\n    var currentlyRunningATask = false;\n    var doc = global.document;\n    var registerImmediate;\n\n    function setImmediate(callback) {\n      // Callback can either be a function or a string\n      if (typeof callback !== \"function\") {\n        callback = new Function(\"\" + callback);\n      }\n      // Copy function arguments\n      var args = new Array(arguments.length - 1);\n      for (var i = 0; i < args.length; i++) {\n          args[i] = arguments[i + 1];\n      }\n      // Store and register the task\n      var task = { callback: callback, args: args };\n      tasksByHandle[nextHandle] = task;\n      registerImmediate(nextHandle);\n      return nextHandle++;\n    }\n\n    function clearImmediate(handle) {\n        delete tasksByHandle[handle];\n    }\n\n    function run(task) {\n        var callback = task.callback;\n        var args = task.args;\n        switch (args.length) {\n        case 0:\n            callback();\n            break;\n        case 1:\n            callback(args[0]);\n            break;\n        case 2:\n            callback(args[0], args[1]);\n            break;\n        case 3:\n            callback(args[0], args[1], args[2]);\n            break;\n        default:\n            callback.apply(undefined, args);\n            break;\n        }\n    }\n\n    function runIfPresent(handle) {\n        // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n        // So if we're currently running a task, we'll need to delay this invocation.\n        if (currentlyRunningATask) {\n            // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n            // \"too much recursion\" error.\n            setTimeout(runIfPresent, 0, handle);\n        } else {\n            var task = tasksByHandle[handle];\n            if (task) {\n                currentlyRunningATask = true;\n                try {\n                    run(task);\n                } finally {\n                    clearImmediate(handle);\n                    currentlyRunningATask = false;\n                }\n            }\n        }\n    }\n\n    function installNextTickImplementation() {\n        registerImmediate = function(handle) {\n            process.nextTick(function () { runIfPresent(handle); });\n        };\n    }\n\n    function canUsePostMessage() {\n        // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n        // where `global.postMessage` means something completely different and can't be used for this purpose.\n        if (global.postMessage && !global.importScripts) {\n            var postMessageIsAsynchronous = true;\n            var oldOnMessage = global.onmessage;\n            global.onmessage = function() {\n                postMessageIsAsynchronous = false;\n            };\n            global.postMessage(\"\", \"*\");\n            global.onmessage = oldOnMessage;\n            return postMessageIsAsynchronous;\n        }\n    }\n\n    function installPostMessageImplementation() {\n        // Installs an event handler on `global` for the `message` event: see\n        // * https://developer.mozilla.org/en/DOM/window.postMessage\n        // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n        var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n        var onGlobalMessage = function(event) {\n            if (event.source === global &&\n                typeof event.data === \"string\" &&\n                event.data.indexOf(messagePrefix) === 0) {\n                runIfPresent(+event.data.slice(messagePrefix.length));\n            }\n        };\n\n        if (global.addEventListener) {\n            global.addEventListener(\"message\", onGlobalMessage, false);\n        } else {\n            global.attachEvent(\"onmessage\", onGlobalMessage);\n        }\n\n        registerImmediate = function(handle) {\n            global.postMessage(messagePrefix + handle, \"*\");\n        };\n    }\n\n    function installMessageChannelImplementation() {\n        var channel = new MessageChannel();\n        channel.port1.onmessage = function(event) {\n            var handle = event.data;\n            runIfPresent(handle);\n        };\n\n        registerImmediate = function(handle) {\n            channel.port2.postMessage(handle);\n        };\n    }\n\n    function installReadyStateChangeImplementation() {\n        var html = doc.documentElement;\n        registerImmediate = function(handle) {\n            // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n            // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n            var script = doc.createElement(\"script\");\n            script.onreadystatechange = function () {\n                runIfPresent(handle);\n                script.onreadystatechange = null;\n                html.removeChild(script);\n                script = null;\n            };\n            html.appendChild(script);\n        };\n    }\n\n    function installSetTimeoutImplementation() {\n        registerImmediate = function(handle) {\n            setTimeout(runIfPresent, 0, handle);\n        };\n    }\n\n    // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n    var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n    attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n    // Don't get fooled by e.g. browserify environments.\n    if ({}.toString.call(global.process) === \"[object process]\") {\n        // For Node.js before 0.9\n        installNextTickImplementation();\n\n    } else if (canUsePostMessage()) {\n        // For non-IE10 modern browsers\n        installPostMessageImplementation();\n\n    } else if (global.MessageChannel) {\n        // For web workers, where supported\n        installMessageChannelImplementation();\n\n    } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n        // For IE 6–8\n        installReadyStateChangeImplementation();\n\n    } else {\n        // For older browsers\n        installSetTimeoutImplementation();\n    }\n\n    attachTo.setImmediate = setImmediate;\n    attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nimport * as React from 'react';\nimport { useEffect, useState, useRef } from 'react';\nimport { Button, SocialLinks } from './../common';\nimport { Image } from '../../components/common';\nimport * as moment from 'moment';\nvar DATE_FORMAT = 'DD/MM/YYYY';\nimport Form from '../helpers/Form';\nimport './styles.scss';\nimport { setInterval } from 'timers';\nimport validatons from '../common/Forms/validations.json';\nvar NewsLetterSignUp = function NewsLetterSignUp(_ref) {\n  var entryId = _ref.entryId,\n    title = _ref.title,\n    image = _ref.image,\n    socialLinks = _ref.socialLinks,\n    termsAndConditionsLink = _ref.termsAndConditionsLink,\n    privacyPolicyLink = _ref.privacyPolicyLink,\n    request = _ref.request,\n    _ref$isEmbed = _ref.isEmbed,\n    isEmbed = _ref$isEmbed === void 0 ? false : _ref$isEmbed;\n  var formContainer = useRef(null);\n  // const [isLoading, setIsLoading] = useState<boolean>(true);\n  var _useState = useState(''),\n    _useState2 = _slicedToArray(_useState, 2),\n    gender = _useState2[0],\n    setGender = _useState2[1];\n  var _useState3 = useState(''),\n    _useState4 = _slicedToArray(_useState3, 2),\n    email = _useState4[0],\n    setEmail = _useState4[1];\n  var _useState5 = useState(''),\n    _useState6 = _slicedToArray(_useState5, 2),\n    firstName = _useState6[0],\n    setFirstName = _useState6[1];\n  var _useState7 = useState(''),\n    _useState8 = _slicedToArray(_useState7, 2),\n    lastName = _useState8[0],\n    setLastName = _useState8[1];\n  var _useState9 = useState(false),\n    _useState10 = _slicedToArray(_useState9, 2),\n    isSubmitting = _useState10[0],\n    setIsSubmitting = _useState10[1];\n  var _useState11 = useState(''),\n    _useState12 = _slicedToArray(_useState11, 2),\n    dob = _useState12[0],\n    setDob = _useState12[1];\n  var _useState13 = useState(null),\n    _useState14 = _slicedToArray(_useState13, 2),\n    agreeTerms = _useState14[0],\n    setAgreeTerms = _useState14[1];\n  var _useState15 = useState(null),\n    _useState16 = _slicedToArray(_useState15, 2),\n    parentalConsent = _useState16[0],\n    setParentalConsent = _useState16[1];\n  var _useState17 = useState(false),\n    _useState18 = _slicedToArray(_useState17, 2),\n    requiresParentalConsent = _useState18[0],\n    setRequiresParentalConsent = _useState18[1];\n  var _useState19 = useState(false),\n    _useState20 = _slicedToArray(_useState19, 2),\n    partnersOptIn = _useState20[0],\n    setPartnersOptIn = _useState20[1];\n  var _useState21 = useState(),\n    _useState22 = _slicedToArray(_useState21, 2),\n    yearAge = _useState22[0],\n    setYearAge = _useState22[1];\n  useEffect(function () {\n    var ageInYears = Math.floor(moment(new Date()).diff(moment(dob, DATE_FORMAT), 'years', true));\n    setYearAge(ageInYears);\n    if (ageInYears < 13) {\n      setRequiresParentalConsent(true);\n    } else {\n      setRequiresParentalConsent(false);\n    }\n  }, [dob]);\n  var errorExists = function errorExists() {\n    var hasErrors = document.getElementsByClassName('alert--error');\n    if (hasErrors.length > 0 && yearAge > 13) {\n      setInterval(function () {\n        return setIsSubmitting(false);\n      }, 50);\n    }\n  };\n  var beforeSubmit = function beforeSubmit() {\n    setIsSubmitting(true);\n    errorExists();\n  };\n  var reset = function reset() {\n    setIsSubmitting(false);\n    setEmail('');\n    setFirstName('');\n    setLastName('');\n    setDob('');\n    setGender(null);\n    setAgreeTerms(null);\n    setPartnersOptIn(false);\n    errorExists();\n  };\n  return /*#__PURE__*/React.createElement(\"section\", {\n    className: \"news-letter-signup \".concat(isEmbed ? 'news-letter-signup--is-embed' : ''),\n    id: \"subscribe\"\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__container container\"\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__grid\"\n  }, image && /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__image\"\n  }, /*#__PURE__*/React.createElement(Image, {\n    url: image.file.url,\n    alt: image.description,\n    widthSizes: ['800', '1600'],\n    aspectRatio: \"1x1\"\n  })), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__details\"\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__details__inner\"\n  }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h3\", {\n    className: \"news-letter-signup__heading\"\n  }, title), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__form\",\n    ref: formContainer\n  }, /*#__PURE__*/React.createElement(Form, {\n    action: request.action,\n    method: request.method,\n    submitHandler: setIsSubmitting,\n    beforeRequest: beforeSubmit,\n    requestCompleteHandler: function requestCompleteHandler() {\n      return reset();\n    }\n  }, /*#__PURE__*/React.createElement(Form.Input, {\n    type: \"hidden\",\n    name: \"entryId\",\n    id: \"entryId\",\n    value: entryId\n  }), /*#__PURE__*/React.createElement(Form.Label, {\n    forId: \"email\",\n    text: \"enter email address\",\n    hidden: true\n  }), /*#__PURE__*/React.createElement(Form.Input, {\n    type: \"text\",\n    name: \"email\",\n    id: \"email\",\n    value: email,\n    handleChange: function handleChange(event) {\n      return setEmail(event.target.value);\n    },\n    placeholder: \"Please enter your email\",\n    validations: validatons.email\n  }), Boolean(email.length) && /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__form__hidden\"\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__form-group\"\n  }, /*#__PURE__*/React.createElement(Form.Input, {\n    type: \"text\",\n    name: \"firstName\",\n    id: \"firstName\",\n    value: firstName,\n    handleChange: function handleChange(event) {\n      return setFirstName(event.target.value);\n    },\n    placeholder: \"First Name\",\n    validations: validatons.firstName\n  }), /*#__PURE__*/React.createElement(Form.Input, {\n    type: \"text\",\n    name: \"lastName\",\n    id: \"lastName\",\n    value: lastName,\n    handleChange: function handleChange(event) {\n      return setLastName(event.target.value);\n    },\n    placeholder: \"Last Name\",\n    validations: validatons.lastName\n  })), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__form-group\"\n  }, /*#__PURE__*/React.createElement(Form.Input, {\n    type: \"text\",\n    name: \"dob\",\n    id: \"dob\",\n    value: dob,\n    handleChange: function handleChange(event) {\n      return setDob(event.target.value);\n    },\n    placeholder: \"Date of birth (DD/MM/YYYY)\",\n    validations: [{\n      type: 'dob',\n      altertType: 'error',\n      altertText: 'The date of birth you have entered is invalid.'\n    }, {\n      type: 'required',\n      altertType: 'error',\n      altertText: 'Date of birth is a required field'\n    }]\n  }), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"form-element form-element--gender\"\n  }, /*#__PURE__*/React.createElement(\"select\", {\n    name: \"gender\",\n    value: gender,\n    onChange: function onChange(e) {\n      if (e.target.value !== 'Gender') {\n        setGender(e.target.value);\n      }\n    }\n  }, /*#__PURE__*/React.createElement(\"option\", {\n    selected: true\n  }, \"Gender\"), /*#__PURE__*/React.createElement(\"option\", {\n    value: \"male\"\n  }, \"Male\"), /*#__PURE__*/React.createElement(\"option\", {\n    value: \"female\"\n  }, \"Female\"), /*#__PURE__*/React.createElement(\"option\", {\n    value: \"non-binary\"\n  }, \"Non-binary\"), /*#__PURE__*/React.createElement(\"option\", {\n    value: \"prefer not to say\"\n  }, \"Prefer not to say\")), /*#__PURE__*/React.createElement(Form.Input, {\n    type: \"text\",\n    name: \"gender\",\n    id: \"gender\",\n    value: gender,\n    validations: validatons.gender\n  }))), requiresParentalConsent && /*#__PURE__*/React.createElement(\"div\", {\n    className: \"form__alerts\"\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"alert alert--error\"\n  }, /*#__PURE__*/React.createElement(\"span\", {\n    className: \"alert__text\"\n  }, \"You must be over the age of 13 or confirm parental consent below\")))), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__form-accept\"\n  }, /*#__PURE__*/React.createElement(Form.Control, {\n    type: \"checkbox\",\n    name: \"agreeTerms\",\n    id: \"agreeTerms\",\n    checked: agreeTerms,\n    handleChange: function handleChange(event) {\n      return setAgreeTerms(event.target.checked);\n    },\n    hasError: agreeTerms === false,\n    errorMessage: \"You need to agree to the terms and conditions.\",\n    label: /*#__PURE__*/React.createElement(React.Fragment, null, \"I agree to the\", ' ', termsAndConditionsLink ? /*#__PURE__*/React.createElement(\"a\", {\n      target: \"_blank\",\n      href: termsAndConditionsLink.url\n    }, termsAndConditionsLink.title) : /*#__PURE__*/React.createElement(React.Fragment, null, \"terms &mp; conditions\"), ' ', \"and\", ' ', privacyPolicyLink ? /*#__PURE__*/React.createElement(\"a\", {\n      target: \"_blank\",\n      href: privacyPolicyLink.url\n    }, privacyPolicyLink.title) : /*#__PURE__*/React.createElement(React.Fragment, null, \"Privacy Policy\"))\n  }), requiresParentalConsent && /*#__PURE__*/React.createElement(Form.Control, {\n    type: \"checkbox\",\n    name: \"parentalConsent\",\n    id: \"parentalConsent\",\n    checked: parentalConsent,\n    handleChange: function handleChange(event) {\n      return setParentalConsent(event.target.checked);\n    },\n    hasError: parentalConsent === false,\n    errorMessage: \"You need to confirm that you have parental consent.\",\n    label: /*#__PURE__*/React.createElement(React.Fragment, null, \"I am under 13. I have parental consent and have signed up using my parent's email address.\")\n  }), !requiresParentalConsent && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"consent-label\"\n  }, /*#__PURE__*/React.createElement(\"h3\", null, \"I consent to:\")), /*#__PURE__*/React.createElement(Form.Control, {\n    type: \"checkbox\",\n    name: \"partnersOptIn\",\n    id: \"partnersOptIn\",\n    checked: partnersOptIn,\n    handleChange: function handleChange(event) {\n      return setPartnersOptIn(event.target.checked);\n    },\n    label: \"Team GB partner marketing (selected promotions and offers from Team GB partners & suppliers)\"\n  }))), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"text-align-right\"\n  }, /*#__PURE__*/React.createElement(Button, {\n    type: \"submit\",\n    label: \"sign up\",\n    showLoader: isSubmitting\n  }))))), socialLinks && /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"news-letter-signup__links\"\n  }, /*#__PURE__*/React.createElement(SocialLinks, {\n    list: socialLinks\n  }))))))));\n};\nexport default NewsLetterSignUp;"],"sourceRoot":""}