{"version":3,"file":"MppCustomForm.js","mappings":"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","sources":["webpack://portalcomponents/./ClientApp/Components/Shared/Configuration.js","webpack://portalcomponents/./ClientApp/Components/Helpers/FormFieldBuilder.js","webpack://portalcomponents/./ClientApp/Components/Helpers/FileUploader.js","webpack://portalcomponents/./ClientApp/Components/Shared/Exceptions.js","webpack://portalcomponents/./ClientApp/Components/Shared/LocalStorageManager.js","webpack://portalcomponents/./ClientApp/Components/Shared/SessionStorageManager.js","webpack://portalcomponents/./ClientApp/Components/Shared/URLSearchParameters.js","webpack://portalcomponents/./ClientApp/Components/Services/OAuthService.js","webpack://portalcomponents/./ClientApp/Components/Services/Ajax.js","webpack://portalcomponents/./ClientApp/Components/Services/CustomFormApiService.js","webpack://portalcomponents/./ClientApp/Components/Shared/I18n.js","webpack://portalcomponents/./ClientApp/Components/Helpers/CustomFormBuilder.js","webpack://portalcomponents/./ClientApp/Components/Helpers/DropdownBuilder.js","webpack://portalcomponents/./ClientApp/Components/Helpers/FormManager.js","webpack://portalcomponents/./ClientApp/Components/Helpers/DateTimeFormatter.js","webpack://portalcomponents/./ClientApp/Components/Helpers/TextFormatter.js","webpack://portalcomponents/./ClientApp/Components/Maps/GMapsApi.js","webpack://portalcomponents/./ClientApp/Components/Maps/stylers.js","webpack://portalcomponents/./ClientApp/Components/Helpers/MapBuilder.js","webpack://portalcomponents/./ClientApp/Components/Maps/marker.tmpl.js","webpack://portalcomponents/./ClientApp/Components/Shared/ReturnContextProvider.js","webpack://portalcomponents/./ClientApp/Components/Helpers/InnerPageBuilder.js","webpack://portalcomponents/./ClientApp/Components/Services/HouseholdApiService.js","webpack://portalcomponents/./ClientApp/Components/Services/UserService.js","webpack://portalcomponents/./ClientApp/Components/Shared/ComponentBase.js","webpack://portalcomponents/./ClientApp/Components/mpp-custom-form.js"],"sourcesContent":["function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*jshint esversion: 8 */\nvar authConfigurationCache = null;\nexport var Configuration = /*#__PURE__*/function () {\n function Configuration() {\n _classCallCheck(this, Configuration);\n\n this.SCRIPT_NAME = \"/dist/MPWidgets.\";\n }\n\n _createClass(Configuration, [{\n key: \"GetAuthConfiguration\",\n value: function GetAuthConfiguration(useCacheIfAvailable) {\n if (useCacheIfAvailable === true && authConfigurationCache != null) {\n return Promise.resolve(authConfigurationCache);\n }\n\n var appRoot = this.GetAppRoot();\n\n if (appRoot === \"\") {\n return;\n }\n\n var url = \"\".concat(appRoot, \"/Api/Auth\");\n return fetch(url).then(function (authInfo) {\n return authInfo.json().then(function (authConfiguration) {\n authConfigurationCache = authConfiguration;\n return authConfiguration;\n });\n }, function (err) {\n console.error(\"Unable to retrieve auth info!\");\n console.error(err);\n throw new Error(err);\n });\n }\n }, {\n key: \"GetAuthToken\",\n value: function GetAuthToken(cacheKey) {\n var appRoot = this.GetAppRoot();\n var url = \"\".concat(appRoot, \"/Home/Tokens?cacheKey=\").concat(cacheKey);\n return fetch(url).then(function (authInfo) {\n return authInfo.json();\n }, function (err) {\n console.error(\"Unable to retrieve auth token!\");\n console.error(err);\n throw new Error(err);\n });\n }\n }, {\n key: \"GetCSRFToken\",\n value: function GetCSRFToken() {\n var appRoot = this.GetAppRoot();\n var url = \"\".concat(appRoot, \"/Home/CSRFToken\");\n return fetch(url).then(function (authInfo) {\n return authInfo.json();\n }, function (err) {\n console.error(\"Unable to retrieve CSRF token!\");\n console.error(err);\n throw new Error(err);\n });\n }\n }, {\n key: \"GetAppRoot\",\n value: function GetAppRoot() {\n //if (sessionStorage.appRoot) {\n //\treturn sessionStorage.appRoot;\n //} else {\n //Find base URL of main components script and put it into session storage:\n if (document.getElementById(\"MPWidgets\") !== null && document.getElementById(\"MPWidgets\") !== undefined) {\n var currentScriptSrc = document.getElementById(\"MPWidgets\").src;\n\n if (currentScriptSrc) {\n var appRoot = currentScriptSrc.substring(0, currentScriptSrc.indexOf(this.SCRIPT_NAME));\n sessionStorage.appRoot = appRoot;\n return appRoot;\n } else {\n // eslint-disable-next-line no-console\n console.log(\"Error: Could not find script in header of page with id='MPWidgets'\");\n }\n } // }\n\n }\n }, {\n key: \"GetConfigurationSetting\",\n value: function GetConfigurationSetting(keyName) {\n return fetch(\"\".concat(this.GetAppRoot(), \"/Api/ConfigurationApi/GetConfigurationSettingValue?keyName=\").concat(keyName)).then(function (response) {\n return response.text();\n });\n }\n }, {\n key: \"GetCustomStyles\",\n value: function GetCustomStyles() {\n return fetch(\"\".concat(this.GetAppRoot(), \"/Api/ConfigurationApi/GetCustomStyles\")).then(function (response) {\n return response.json();\n });\n }\n }, {\n key: \"GetLocalCountryCode\",\n value: function GetLocalCountryCode(countryList) {\n var result = \"US\";\n\n if (!!window.navigator && !!countryList && !!countryList.length) {\n var locale = window.navigator.language || result;\n var localeParts = locale.split(\"-\");\n var countryCode = localeParts[localeParts.length - 1];\n var matches = countryList.filter(function (country) {\n return country.abbreviation == countryCode;\n });\n\n if (!!matches && matches.length > 0) {\n result = countryCode;\n }\n }\n\n return result;\n }\n }, {\n key: \"GetSiteInfo\",\n value: function GetSiteInfo() {\n var appRoot = this.GetAppRoot();\n var url = \"\".concat(appRoot, \"/api/ConfigurationApi/GetSiteInfo\");\n return fetch(url).then(function (response) {\n if (!response.ok) {\n throw new Error('Failed to fetch site info');\n }\n\n return response.json();\n }).then(function (data) {\n if (_typeof(data) !== 'object' || data === null) {\n throw new Error('Invalid site info data');\n }\n\n return data;\n })[\"catch\"](function () {\n return {};\n });\n }\n }]);\n\n return Configuration;\n}();\nexport var ConfigurationService = new Configuration();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { ConfigurationService } from '../Shared/Configuration';\nexport var FormFieldBuilder = /*#__PURE__*/function () {\n function FormFieldBuilder() {\n _classCallCheck(this, FormFieldBuilder);\n\n this._config = ConfigurationService;\n this._appRoot = this._config.GetAppRoot();\n }\n\n _createClass(FormFieldBuilder, [{\n key: \"BuildHiddenInput\",\n value: function BuildHiddenInput() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n if (value === null || value === undefined) {\n value = '';\n }\n\n return \"<input type=\\\"hidden\\\" id=\\\"\".concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" value=\\\"\").concat(value, \"\\\" />\");\n }\n }, {\n key: \"BuildTextInput\",\n value: function BuildTextInput() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var requiredMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var value = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var isHidden = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n var dependsOnId = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var dependsOnValue = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n var maxLength = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 250;\n var withCounter = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n var altLabel = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : '';\n\n if (value === null || value === undefined) {\n value = '';\n }\n\n if (!!altLabel) {\n return \"<div \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \" class=\\\"mppw-form-field mpp-mt-10 \").concat(value.length ? \"mppw-form-field__static-container\" : \"\", \"\\\">\\n\\t\\t\\t<label for=\\\"\").concat(name, \"\\\" id=\\\"\").concat(name + \"ForLabel\", \"\\\">\").concat(this._RenderAltLabel(altLabel, isRequired), \":</label>\\n\\t\\t\\t<input type=\\\"text\\\" id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" \").concat(value ? 'value=' + value : '', \" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required data-required-message=\\\"\".concat(requiredMessage, \"\\\"\") : '', \" maxlength=\\\"\").concat(maxLength, \"\\\" minlength=\\\"0\\\" \").concat(withCounter === true ? \"data-input-text-counter=true\" : \"\", \" />\\n\\t\\t\\t\").concat(withCounter === true ? \"<div class=\\\"mppw-textarea-counter\\\"></div>\" : '', \"\\n\\t\\t</div>\");\n } else {\n return \"<div \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \" class=\\\"mppw-form-field mpp-mt-10 \").concat(value.length ? \"mppw-form-field__static-container\" : \"\", \"\\\">\\n\\t\\t\\t<input type=\\\"text\\\" id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" \").concat(value ? 'value=' + value : '', \" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required data-required-message=\\\"\".concat(requiredMessage, \"\\\"\") : '', \" maxlength=\\\"\").concat(maxLength, \"\\\" minlength=\\\"0\\\" \").concat(withCounter === true ? \"data-input-text-counter=true\" : \"\", \" />\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\" for=\\\"\").concat(name, \"\\\" id=\\\"\").concat(name + \"ForLabel\", \"\\\" >\").concat(label).concat(isRequired ? \"*\" : \"\", \":</label>\\n\\t\\t\\t\").concat(withCounter === true ? \"<div class=\\\"mppw-textarea-counter\\\"></div>\" : '', \"\\n\\t\\t</div>\");\n }\n }\n }, {\n key: \"BuildFileUploader\",\n value: function BuildFileUploader() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'Browse';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var requiredMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var fileUploadHtml = \"\\n\\t\\t\\t<div class=\\\"mppw-form-field mppw-form-field--file mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t\\t<div class=\\\"mppw-upload-droparea\\\" id=\\\"mppw-upload-droparea-\").concat(name, \"\\\">\\n\\t\\t\\t <div class=\\\"mppw-upload-form\\\">\\n\\t\\t\\t\\t<label class=\\\"mppw-form-field__label\\\" style=\\\"text-align: left; font-size: 12px; top: 4px; left: 10px;\\\" for=\\\"\").concat(name, \"\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \":</label>\\n\\t\\t\\t\\t<img class=\\\"mppw-upload-image\\\" src=\\\"\").concat(this._appRoot, \"/Content/icons/cloud-upload.png\\\" />\\n\\t\\t\\t\\t<br>\\n\\t\\t\\t\\t<h3 class=\\\"mppw-upload-text\\\">Drop files here</h3>\\n\\t\\t\\t\\t<h5 class=\\\"mppw-upload-text\\\">or</h5>\\n\\t\\t\\t\\t<input type=\\\"file\\\" class=\\\"mppw-upload-file\\\" name=\\\"\").concat(name, \"\\\" id=\\\"mppw-upload-file-\").concat(name, \"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required data-required-message=\\\"\".concat(requiredMessage, \"\\\"\") : '', \" multiple>\\n\\t\\t\\t\\t <label class=\\\"submit--btn mppw-upload-text\\\" for=\\\"mppw-upload-file-\").concat(name, \"\\\">\\n\\t\\t\\t\\t\\t<h3 class=\\\"mppw-upload-text\\\">Click to select files</h3>\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</div>\\n\\t\\t\\t<div class=\\\"mppw-upload-gallery\\\" id=\\\"mppw-upload-gallery-\").concat(name, \"\\\" />\\n\\t\\t\\t</div>\\n\\t\\t\\t</div>\\n\\t\\t\\t\");\n return fileUploadHtml;\n }\n }, {\n key: \"BuildDateInput\",\n value: function BuildDateInput() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var invalidMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var min = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '1900-01-01';\n var max = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var value = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var isHidden = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;\n var dependsOnId = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : '';\n var dependsOnValue = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : '';\n return \"<div class=\\\"mppw-form-field mpp-mt-10 \".concat(value.length ? \"mppw-form-field__static-container\" : \"\", \"\\\" \").concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<input type=\\\"date\\\" id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" value=\\\"\").concat(value, \"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" data-invalid-message=\\\"\").concat(invalidMessage, \"\\\" min=\\\"\").concat(min, \"\\\" max=\\\"\").concat(max, \"\\\" />\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\" for=\\\"\").concat(name, \"\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \":</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildPhoneInput\",\n value: function BuildPhoneInput() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var requiredMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var value = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n var requireIfBlank = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 'email';\n return \"<div class=\\\"mppw-form-field mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<input type=\\\"tel\\\" id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" \").concat(value ? 'value=' + value : '', \" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required data-require-if-blank=\\\"\".concat(requireIfBlank, \"\\\" data-invalid-message=\\\"Must be in format xxx-xxx-xxxx or begin with a +\\\" data-required-message=\\\"\").concat(requiredMessage, \"\\\"\") : '', \" maxlength=\\\"50\\\" />\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\" for=\\\"\").concat(name, \"\\\" id=\\\"\").concat(name + \"ForLabel\", \"\\\" >\").concat(label).concat(isRequired ? \"*\" : \"\", \":</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildEmailInput\",\n value: function BuildEmailInput() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var requiredMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var value = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var isHidden = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n var dependsOnId = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var dependsOnValue = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n var requireIfBlank = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 'mobilePhone';\n return \"<div class=\\\"mppw-form-field mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<input type=\\\"email\\\" id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" \").concat(value ? 'value=' + value : '', \" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required data-require-if-blank=\\\"\".concat(requireIfBlank, \"\\\" data-invalid-message=\\\"Email address is invalid\\\" data-required-message=\\\"\").concat(requiredMessage, \"\\\"\") : '', \" />\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\" for=\\\"\").concat(name, \"\\\" id=\\\"\").concat(name + \"ForLabel\", \"\\\" >\").concat(label).concat(isRequired ? \"*\" : \"\", \":</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildSelect\",\n value: function BuildSelect() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n return \"<div class=\\\"mppw-form-field mppw-form-field__static-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<select id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" value=\\\"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" >\\n\\t\\t\\t\\t\").concat(options.map(function (option, i) {\n return \"<option value=\\\"\".concat(i + 1, \"\\\">\").concat(option, \"</option>\");\n }).join(''), \"\\n\\t\\t\\t</select>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\">Select \").concat(label).concat(isRequired ? \"*\" : \"\", \"</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCountrySelect\",\n value: function BuildCountrySelect() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n return \"<div class=\\\"mppw-form-field mppw-form-field__static-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<select id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" value=\\\"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" >\\n\\t\\t\\t\\t\").concat(options.map(function (option, i) {\n return \"<option value=\\\"\".concat(option.id, \"\\\">\").concat(option.value, \"</option>\");\n }).join(''), \"\\n\\t\\t\\t</select>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\">Select \").concat(label).concat(isRequired ? \"*\" : \"\", \"</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCheckbox\",\n value: function BuildCheckbox() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var isHidden = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var dependsOnId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var dependsOnValue = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n return \"<div class=\\\"mppw-form-field mppw-form-field__static-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<div id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" value=\\\"\\\">\\n\\t\\t\\t\\t<label>\\n\\t\\t\\t\\t\\t<label>I accept the <u>\").concat(label, \"</u></label>\\n\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" name=\\\"\").concat(name, \"Check\\\" id=\\\"\").concat(name, \"Check\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" value=\\\"true\\\" />\\n\\t\\t\\t\\t\\t<span class=\\\"mppw-checkbox\\\"></span>\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</div>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \"</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCheckboxHousehold\",\n value: function BuildCheckboxHousehold() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isHidden = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var dependsOnId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var dependsOnValue = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n return \"<div class=\\\"mppw-form-field mppw-form-field__static-container mpp-household--checkbox-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<div id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mpp-household--checkbox\\\" value=\\\"\\\">\\n\\t\\t\\t\\t<label>\\n\\t\\t\\t\\t\\t<label>\").concat(label, \"</label>\\n\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" name=\\\"\").concat(name, \"Check\\\" id=\\\"\").concat(name, \"Check\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" value=\\\"true\\\" />\\n\\t\\t\\t\\t\\t<span class=\\\"mppw-checkbox\\\"></span>\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</div>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \"</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildRadio\",\n value: function BuildRadio() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n return \"<div class=\\\"mppw-form-field mppw-form-field__static-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<div id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" value=\\\"\\\">\\n\\t\\t\\t\\t\").concat(options.map(function (option) {\n return \"<label>\\n\\t\\t\\t\\t\\t\\t<label>\".concat(option, \"</label>\\n\\t\\t\\t\\t\\t\\t<input type=\\\"radio\\\" id=\\\"\").concat(name, \"HRadio\\\" name=\\\"\").concat(name, \"HRadio\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? 'required' : '', \" value=\\\"\").concat(option, \"\\\" />\\n\\t\\t\\t\\t\\t\\t<span class=\\\"mppw-radio\\\"></span>\\n\\t\\t\\t\\t\\t</label>\");\n }).join(''), \"\\n\\t\\t\\t</div>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \"</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildVerticalRadio\",\n value: function BuildVerticalRadio() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n return \"<div class=\\\"mppw-form-field mppw-form-field__static-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<div id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" value=\\\"\\\">\\n\\t\\t\\t\\t\").concat(options.map(function (option) {\n return \"<label class=\\\"mppw-form-field__vertical-radio\\\">\\n\\t\\t\\t\\t\\t\\t<label>\".concat(option, \"</label>\\n\\t\\t\\t\\t\\t\\t<input type=\\\"radio\\\" id=\\\"\").concat(name, \"VRadio\\\" name=\\\"\").concat(name, \"VRadio\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? 'required' : '', \" value=\\\"\").concat(option, \"\\\" />\\n\\t\\t\\t\\t\\t\\t<span class=\\\"mppw-radio__vertical\\\"></span>\\n\\t\\t\\t\\t\\t</label>\");\n }).join(''), \"\\n\\t\\t\\t</div>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\">\").concat(label).concat(isRequired ? '*' : '', \"</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildTextarea\",\n value: function BuildTextarea() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var withCounter = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var maxLength = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 500;\n var isHidden = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n var dependsOnId = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var dependsOnValue = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n var altLabel = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : '';\n\n if (!!altLabel) {\n return \"<div class=\\\"mppw-form-field mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<label for=\\\"messageText\\\">\").concat(this._RenderAltLabel(altLabel, isRequired), \":</label>\\n\\t\\t\\t<textarea id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mppw-form-field__control__textarea\\\" value=\\\"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" maxlength=\\\"\").concat(maxLength, \"\\\" minlength=\\\"0\\\"></textarea>\\n\\t\\t\\t\").concat(withCounter ? \"<div class=\\\"mppw-textarea-counter\\\"></div>\" : '', \"\\n\\t\\t</div>\");\n } else {\n return \"<div class=\\\"mppw-form-field mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<textarea id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mppw-form-field__control__textarea\\\" value=\\\"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" maxlength=\\\"\").concat(maxLength, \"\\\" minlength=\\\"0\\\"></textarea>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\" for=\\\"messageText\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \":</label>\\n\\t\\t\\t\").concat(withCounter ? \"<div class=\\\"mppw-textarea-counter\\\"></div>\" : '', \"\\n\\t\\t</div>\");\n }\n }\n }, {\n key: \"BuildRow\",\n value: function BuildRow() {\n for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {\n params[_key] = arguments[_key];\n }\n\n params = params.filter(Boolean);\n return \"<div class=\\\"mpp-household--form-row\\\">\\n\\t\\t\\t\".concat(params.map(function (param) {\n return \"\".concat(param);\n }).join(''), \"\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildToggle\",\n value: function BuildToggle(id, label) {\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var checked = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n return \"<div class=\\\"mppw-form-field mpp-toggle mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(id, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<input class=\\\"toggle--input\\\" id=\\\"\").concat(id, \"\\\" type=\\\"checkbox\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(checked ? 'checked' : '', \">\\n\\t\\t\\t<label class=\\\"toggle--label\\\" for=\\\"\").concat(id, \"\\\"></label>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \"</label>\\n\\t\\t\\t<span class=\\\"mpp-toggle--label\\\">\").concat(label, \"</span>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildParagraph\",\n value: function BuildParagraph() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var isHidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var dependsOnId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var dependsOnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var id = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n return \"<div class=\\\"mppw-form-field mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(id, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t\\t<p id=\\\"\").concat(id, \"\\\">\").concat(text, \"</p>\\n\\t\\t\\t\\t</div>\");\n } /// Custom Form Inputs\n\n }, {\n key: \"BuildCustomFileUploader\",\n value: function BuildCustomFileUploader() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'Browse';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var requiredMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var altLabel = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n var fileAltUploadHtml = \"\\n\\t\\t\\t<div class=\\\"mppw-form-field-alt mppw-form-field--file mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t\\t<label class=\\\"mppw-form-field__alt-label mppw-form-field_upload-label\\\" for=\\\"\").concat(name, \"\\\">\").concat(this._RenderAltLabel(altLabel || label, isRequired), \":</label>\\n\\t\\t\\t\\t<div class=\\\"mppw-upload-droparea\\\" id=\\\"mppw-upload-droparea-\").concat(name, \"\\\" style=\\\"margin-bottom: 1rem;\\\">\\n\\t\\t\\t\\t<label class=\\\"submit--btn mppw-upload-text mppw-clickable-area-alt\\\" for=\\\"mppw-upload-file-\").concat(name, \"\\\"></label>\\n\\t\\t\\t <div class=\\\"mppw-upload-form\\\">\\n\\t\\t\\t\\t<img class=\\\"mppw-upload-image\\\" src=\\\"\").concat(this._appRoot, \"/Content/icons/cloud-upload.png\\\" />\\n\\t\\t\\t\\t<h3 class=\\\"mppw-upload-text\\\">Drop a file here</h3>\\n\\t\\t\\t\\t<h5 class=\\\"mppw-upload-text\\\">or</h5>\\n\\t\\t\\t\\t<input type=\\\"file\\\" class=\\\"mppw-upload-file\\\" name=\\\"\").concat(name, \"\\\" id=\\\"mppw-upload-file-\").concat(name, \"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required data-required-message=\\\"\".concat(requiredMessage, \"\\\"\") : '', \" multiple>\\n\\t\\t\\t\\t<h3 class=\\\"mppw-upload-text\\\">Click to select a file</h3>\\n\\t\\t\\t\\t<div class=\\\"mppw-upload-text-only-accept\\\">\\n\\t\\t\\t\\t\\tOnly accept .pdf, .png, .gif, .jpg, .jpeg, .jfif, .pjpeg, .pjp, .avif\\n\\t\\t\\t\\t\\t<br />\\n\\t\\t\\t\\t\\tAnd a max size of 20MB for a file.\\n\\t\\t\\t\\t</div>\\n\\t\\t\\t\\t<label class=\\\"mppw-invalid-file-type-label\\\" id=\\\"mppw-invalid-file-type-label-\").concat(name, \"\\\" ></label/>\\n\\t\\t\\t</div>\\n\\t\\t\\t<div class=\\\"mppw-upload-gallery\\\" id=\\\"mppw-upload-gallery-\").concat(name, \"\\\" />\\n\\t\\t\\t</div>\\n\\t\\t\\t</div>\\n\\t\\t\\t\");\n return fileAltUploadHtml;\n }\n }, {\n key: \"BuildCustomDateInput\",\n value: function BuildCustomDateInput() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var invalidMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var min = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '1900-01-01';\n var max = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var value = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : ' ';\n var isHidden = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;\n var dependsOnId = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : '';\n var dependsOnValue = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : '';\n var altLabel = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : '';\n return \"<div class=\\\"mppw-form-field-alt mpp-mt-10 custom-date-input mpp-customform-col-12 \".concat(value.length ? \"mppw-form-field__static-container\" : \"\", \"\\\" \").concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<label class=\\\"mppw-form-field__alt-label mppw-blue\\\" for=\\\"\").concat(name, \"\\\">\").concat(this._RenderAltLabel(altLabel || label, isRequired), \"</label>\\n\\t\\t\\t<input type=\\\"date\\\" id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mppw-form-field_alt-control\\\" \").concat(value ? 'value=' + value : '', \" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" data-invalid-message=\\\"\").concat(invalidMessage, \"\\\" min=\\\"\").concat(min, \"\\\" max=\\\"\").concat(max, \"\\\" />\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCustomTextarea\",\n value: function BuildCustomTextarea() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var withCounter = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var maxLength = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 500;\n var isHidden = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n var dependsOnId = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var dependsOnValue = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n var altLabel = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : '';\n return \"<div class=\\\"mppw-form-field-alt mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<label for=\\\"messageText\\\" class=\\\"mppw-form-field__alt-label mppw-blue\\\">\").concat(this._RenderAltLabel(altLabel || label, isRequired), \"</label>\\n\\t\\t\\t<textarea id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mppw-form-field_alt-control mppw-form-field__control__textarea\\\" value=\\\" \\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" maxlength=\\\"\").concat(maxLength, \"\\\" minlength=\\\"0\\\"></textarea>\\n\\t\\t\\t\").concat(withCounter ? \"<div class=\\\"mppw-textarea-counter\\\"></div>\" : '', \"\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCustomParagraph\",\n value: function BuildCustomParagraph() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var isHidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var dependsOnId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var dependsOnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var id = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n return \"<div class=\\\"mppw-form-field mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(id, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t\\t<p id=\\\"\").concat(id, \"\\\" class=\\\"mppw-form-field_instruction_font\\\">\").concat(text, \"</p>\\n\\t\\t\\t\\t</div>\");\n }\n }, {\n key: \"BuildCustomTextInput\",\n value: function BuildCustomTextInput() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var requiredMessage = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var value = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var isHidden = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n var dependsOnId = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var dependsOnValue = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n var maxLength = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 250;\n var withCounter = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n var altLabel = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : '';\n\n if (value === null || value === undefined) {\n value = '';\n }\n\n return \"<div \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \" class=\\\"mppw-form-field-alt mpp-mt-10 \").concat(value.length ? \"mppw-form-field__static-container\" : \"\", \"\\\">\\n\\t\\t\\t<label for=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__alt-label mppw-blue\\\">\").concat(this._RenderAltLabel(altLabel || label, isRequired), \"</label>\\n\\t\\t\\t<input type=\\\"text\\\" id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mppw-form-field_alt-control\\\" value=\\\"\").concat(value, \"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required data-required-message=\\\"\".concat(requiredMessage, \"\\\"\") : '', \" maxlength=\\\"\").concat(maxLength, \"\\\" minlength=\\\"0\\\" \").concat(withCounter === true ? \"data-input-text-counter=true\" : \"\", \" />\\n\\t\\t\\t\").concat(withCounter === true ? \"<div class=\\\"mppw-textarea-counter\\\"></div>\" : '', \"\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCustomSelect\",\n value: function BuildCustomSelect() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var altLabel = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n return \"<div class=\\\"mppw-form-field-alt mppw-form-field__static-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<label class=\\\"mppw-form-field__alt-label mppw-blue\\\">\").concat(this._RenderAltLabel(altLabel || label, isRequired), \"</label>\\n\\t\\t\\t<select id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mppw-form-field_alt-control\\\" value=\\\" \\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" >\\n\\t\\t\\t\\t<option value=\\\"\\\">-- Select --</option>\\n\\t\\t\\t\\t\").concat(options.map(function (option) {\n option = option.replaceAll('\"', '"');\n return \"<option value=\\\"\".concat(option, \"\\\">\").concat(option, \"</option>\");\n }).join(''), \"\\n\\t\\t\\t</select>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCustomFormSelect\",\n value: function BuildCustomFormSelect() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n return \"<div class=\\\"mppw-form-field mppw-form-field__static-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<select id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control\\\" value=\\\" \\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" >\\n\\t\\t\\t\\t\").concat(options.map(function (option) {\n return \"<option value=\\\"\".concat(option.id, \"\\\">\").concat(option.value, \"</option>\");\n }).join(''), \"\\n\\t\\t\\t</select>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \"</label>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCustomHorizontalRadio\",\n value: function BuildCustomHorizontalRadio() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var altLabel = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n return \"<div class=\\\"mppw-form-field-alt mppw-form-field__static-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<label class=\\\"mppw-form-field__alt-label mppw-blue\\\">\").concat(this._RenderAltLabel(altLabel || label, isRequired), \"</label>\\n\\t\\t\\t<div id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mppw-form-field_alt-control\\\" value=\\\" \\\">\\n\\t\\t\\t\\t\").concat(options.map(function (option) {\n option = option.replaceAll('\"', '"');\n return \"<label>\\n\\t\\t\\t\\t\\t\\t<span>\".concat(option, \"</span>\\n\\t\\t\\t\\t\\t\\t<input type=\\\"radio\\\" id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? 'required' : '', \" value=\\\"\").concat(option, \"\\\" />\\n\\t\\t\\t\\t\\t\\t<span class=\\\"mppw-radio\\\"></span>\\n\\t\\t\\t\\t\\t</label>\");\n }).join(''), \"\\n\\t\\t\\t</div>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCustomVerticalRadio\",\n value: function BuildCustomVerticalRadio() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var isHidden = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var dependsOnId = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n var dependsOnValue = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var altLabel = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';\n return \"<div class=\\\"mppw-form-field-alt mppw-form-field__static-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<label class=\\\"mppw-form-field__alt-label mppw-blue\\\">\").concat(this._RenderAltLabel(altLabel || label, isRequired), \"</label>\\n\\t\\t\\t<div id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mppw-form-field_alt-control\\\" value=\\\" \\\">\\n\\t\\t\\t\\t\").concat(options.map(function (option) {\n option = option.replaceAll('\"', '"');\n return \"<label class=\\\"mppw-form-field__vertical-radio\\\">\\n\\t\\t\\t\\t\\t\\t<span>\".concat(option, \"</span>\\n\\t\\t\\t\\t\\t\\t<input type=\\\"radio\\\" id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? 'required' : '', \" value=\\\"\").concat(option, \"\\\" />\\n\\t\\t\\t\\t\\t\\t<span class=\\\"mppw-radio__vertical\\\"></span>\\n\\t\\t\\t\\t\\t</label>\");\n }).join(''), \"\\n\\t\\t\\t</div>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildCustomCheckbox\",\n value: function BuildCustomCheckbox() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var isRequired = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isHidden = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var dependsOnId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var dependsOnValue = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n return \"<div class=\\\"mppw-form-field mppw-form-field__static-container mpp-household--checkbox-container mpp-mt-10\\\" \".concat(dependsOnId ? 'data-depends-on=' + dependsOnId : '', \" data-id=\\\"\").concat(name, \"\\\" data-depends-on-value=\\\"\").concat(dependsOnValue, \"\\\" \").concat(isHidden ? 'style=\"display: none;\"' : '', \">\\n\\t\\t\\t<div id=\\\"\").concat(name, \"\\\" name=\\\"\").concat(name, \"\\\" class=\\\"mppw-form-field__control mpp-household--checkbox\\\" value=\\\"\\\">\\n\\t\\t\\t\\t<label>\\n\\t\\t\\t\\t\\t<label class=\\\"mppw-form-field_instruction_font\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \"</label>\\n\\t\\t\\t\\t\\t<input type=\\\"checkbox\\\" name=\\\"\").concat(name, \"\\\" id=\\\"\").concat(name, \"\\\" \").concat(isHidden ? 'disabled=\"disabled\"' : '', \" \").concat(isRequired ? \"required\" : '', \" value=\\\"Yes\\\" />\\n\\t\\t\\t\\t\\t<span class=\\\"mppw-checkbox\\\"></span>\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</div>\\n\\t\\t\\t<label class=\\\"mppw-form-field__label mppw-blue\\\">\").concat(label).concat(isRequired ? \"*\" : \"\", \"</label>\\n\\t\\t</div>\");\n } /// Custom Form Inputs\n\n }, {\n key: \"_RenderRequiredAsterisk\",\n value: function _RenderRequiredAsterisk(isRequired) {\n if (isRequired === true) {\n return \"<span class='mppw-form-field__alt-label-required'>*</span>\";\n } else {\n return \"\";\n }\n }\n }, {\n key: \"_RenderAltLabel\",\n value: function _RenderAltLabel(labelContent, isRequired) {\n if (!!labelContent) {\n var requiredTag = this._RenderRequiredAsterisk(isRequired);\n\n return \"\\n\\t\\t\\t\\t<div class='mppw-form-field__alt-label-container'>\\n\\t\\t\\t\\t\\t<div class='mppw-form-field__alt-label-content'>\".concat(labelContent, \"</div>\\n\\t\\t\\t\\t\\t\").concat(requiredTag, \"\\n\\t\\t\\t\\t</div>\");\n }\n\n return \"\";\n }\n }]);\n\n return FormFieldBuilder;\n}();","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\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.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { Configuration } from \"../Shared/Configuration\";\nexport var FileUploader = /*#__PURE__*/function () {\n function FileUploader() {\n _classCallCheck(this, FileUploader);\n\n this._invalidFileTypeMessage = \"Invalid file type\";\n this._invalidFileSizeMessage = \"Over a max size of\";\n this._selectDifferentFileMessage = \"Please select a different file.\";\n }\n\n _createClass(FileUploader, [{\n key: \"InitializeFileUploader\",\n value: function InitializeFileUploader(name, formContainer, fileUploadComponentHtml, root, invalidFileTypeMessage, invalidFileSizeMessage, selectDifferentFileMessage) {\n this._invalidFileTypeMessage = invalidFileTypeMessage;\n this._invalidFileSizeMessage = invalidFileSizeMessage;\n this._selectDifferentFileMessage = selectDifferentFileMessage;\n var $formRow = document.createElement(\"div\");\n var $formControl = document.createElement(\"div\");\n $formControl.innerHTML = fileUploadComponentHtml;\n $formRow.appendChild($formControl);\n formContainer.appendChild($formRow);\n this._dropArea = root.querySelector(\"#mppw-upload-droparea-\".concat(name));\n this._fileInputId = root.querySelector(\"#mppw-upload-file-\".concat(name));\n this._filePreviewGallery = root.querySelector(\"#mppw-upload-gallery-\".concat(name));\n this._invalidFileTypeLabel = root.querySelector(\"#mppw-invalid-file-type-label-\".concat(name));\n this._invalidFileTypeLabel.style.display = \"none\";\n this.BindEventListener(root);\n }\n }, {\n key: \"BindEventListener\",\n value: function BindEventListener(root) {\n var _this = this;\n\n // Prevent default drag behavior\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(function (eventName) {\n _this._dropArea.addEventListener(eventName, _this.preventDefaults, false);\n\n document.body.addEventListener(eventName, _this.preventDefaults, false);\n }); // Highlight drop area when item is dragged over it\n\n ['dragenter', 'dragover'].forEach(function (eventName) {\n _this._dropArea.addEventListener(eventName, function (event) {\n _this._dropArea.classList.add('highlight');\n });\n });\n ['dragleave', 'drop'].forEach(function (eventName) {\n _this._dropArea.addEventListener(eventName, function (event) {\n _this._dropArea.classList.remove('active');\n });\n }); // Handle dropped files\n\n this._dropArea.addEventListener('drop', function (event) {\n var dt = event.dataTransfer;\n var files = dt.files;\n _this._fileInputId.files = files;\n\n _this.handleFiles(files, root);\n }); // Handle onchange\n\n\n this._fileInputId.addEventListener('change', function (event) {\n _this.handleFiles(_this._fileInputId.files, root);\n });\n }\n }, {\n key: \"preventDefaults\",\n value: function preventDefaults(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n }, {\n key: \"validateUploadFileExtension\",\n value: function validateUploadFileExtension(fileName) {\n return /\\.(pdf|png|gif|jpg|jpeg|jfif|pjpeg|pjp|avif)$/i.test(fileName);\n }\n }, {\n key: \"handleFiles\",\n value: function handleFiles(files, root) {\n var _this2 = this;\n\n files = _toConsumableArray(files);\n var fileSize = 0,\n maxFileSize = 20480;\n\n if (files !== null && files !== undefined && files.length > 1) {\n files = files.slice(0, 1);\n }\n\n this.clearPreviewFiles();\n files.forEach(function (file) {\n if (file.name) {\n if (file.size > 0) {\n fileSize = Math.round(file.size / 1024);\n }\n\n if (!_this2.validateUploadFileExtension(file.name)) {\n _this2._invalidFileTypeLabel.style.display = \"block\";\n _this2._invalidFileTypeLabel.innerHTML = _this2._invalidFileTypeMessage + \", \" + file.name + \". \" + _this2._selectDifferentFileMessage;\n } else if (fileSize > maxFileSize) {\n _this2._invalidFileTypeLabel.style.display = \"block\";\n _this2._invalidFileTypeLabel.innerHTML = _this2._invalidFileSizeMessage + \" 20MB, \" + file.name + \". \" + _this2._selectDifferentFileMessage;\n } else {\n _this2.previewFile(file, root);\n }\n }\n });\n }\n }, {\n key: \"clearPreviewFiles\",\n value: function clearPreviewFiles() {\n this._invalidFileTypeLabel.style.display = \"none\";\n\n if (this._filePreviewGallery != null) {\n this._filePreviewGallery.innerHTML = '';\n }\n }\n }, {\n key: \"previewFile\",\n value: function previewFile(file, root) {\n var self = this;\n var reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onloadend = function () {\n // Determine placeholder image to show\n var img = document.createElement('img');\n\n if (file.type.startsWith('image/') === true) {\n // Display uploaded image\n img.src = reader.result;\n } else {\n // Display name and placeholder image\n img.src = new Configuration().GetAppRoot() + '/Content/icons/icon-file-earmark.svg';\n } // Build file preview\n\n\n var fileElement = document.createElement('div');\n fileElement.classList.add('mppw-gallery-file');\n var fileName = document.createElement('span');\n fileName.innerHTML += file.name;\n var fileCloseIcon = document.createElement('img');\n fileCloseIcon.setAttribute('title', 'Click to remove this file.');\n fileCloseIcon.classList.add('mppw-gallery-file-close-icon');\n fileCloseIcon.src = new Configuration().GetAppRoot() + \"/Content/icons/minus-circle.png\";\n fileCloseIcon.addEventListener('click', function handleClick() {\n if (self._filePreviewGallery != null) {\n self._filePreviewGallery.innerHTML = '';\n }\n\n if (self._fileInputId != null) {\n self._fileInputId.value = null;\n }\n });\n fileElement.appendChild(img);\n fileElement.appendChild(fileName);\n fileElement.appendChild(fileCloseIcon);\n\n self._filePreviewGallery.appendChild(fileElement);\n };\n }\n }], [{\n key: \"UploadFile\",\n value: function UploadFile(url, name, file, elem, callback) {\n var xhr = new XMLHttpRequest();\n var fd = new FormData();\n xhr.open(\"POST\", url, true);\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4 && xhr.status === 200) {\n var data = JSON.parse(xhr.response);\n if (callback) callback(elem, data);\n }\n };\n\n fd.append(name, file); // Initiate a multipart/form-data upload\n\n xhr.send(fd);\n }\n }]);\n\n return FileUploader;\n}();","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/*jshint esversion: 8 */\nexport var ArgumentException = /*#__PURE__*/function (_Error) {\n _inherits(ArgumentException, _Error);\n\n var _super = _createSuper(ArgumentException);\n\n function ArgumentException(argName) {\n _classCallCheck(this, ArgumentException);\n\n return _super.call(this, \"Argument \".concat(argName, \" is invalid, null or undefined\"));\n }\n\n return ArgumentException;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nexport var ArgumentTypeException = /*#__PURE__*/function (_Error2) {\n _inherits(ArgumentTypeException, _Error2);\n\n var _super2 = _createSuper(ArgumentTypeException);\n\n function ArgumentTypeException(argName) {\n _classCallCheck(this, ArgumentTypeException);\n\n return _super2.call(this, \"Type of argument \".concat(argName, \" is invalid\"));\n }\n\n return ArgumentTypeException;\n}( /*#__PURE__*/_wrapNativeSuper(Error));","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*jshint esversion: 8 */\nimport { ArgumentException } from \"./Exceptions\";\nimport { ArgumentTypeException } from \"./Exceptions\";\n\nvar _getKey = function _getKey(key) {\n return \"mpp-widgets_\".concat(key);\n};\n/**\r\n * Static storage wrapper class. Provides get, set and clear abilities\r\n */\n\n\nexport var LocalStorageManager = /*#__PURE__*/function () {\n function LocalStorageManager() {\n _classCallCheck(this, LocalStorageManager);\n }\n\n _createClass(LocalStorageManager, null, [{\n key: \"setItem\",\n value:\n /**\r\n * Sets item in storage under provided key name\r\n * @param {string} key Key under which item is stored\r\n * @param {object} item Item to be stored\r\n * @throws {ArgumentException}\r\n * @throws {ArgumentTypeException}\r\n */\n function setItem(key, item) {\n if (!key) {\n throw new ArgumentException(\"key\");\n }\n\n if (typeof key !== \"string\") {\n throw new ArgumentTypeException(\"key\");\n }\n\n if (!!window.localStorage && !!window.localStorage.setItem) {\n var fullKey = _getKey(key);\n\n window.localStorage.setItem(fullKey, item);\n }\n }\n /**\r\n * Gets item from storage, if not available returns null\r\n * @param {string} key Key under which item is stored\r\n * @returns {object} Item object if available, otherwise returns null\r\n * @throws {ArgumentException}\r\n * @throws {ArgumentTypeException}\r\n */\n\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n if (!key) {\n throw new ArgumentException(\"key\");\n }\n\n if (typeof key !== \"string\") {\n throw new ArgumentTypeException(\"key\");\n }\n\n var item = null;\n\n if (!!window.localStorage && !!window.localStorage.getItem) {\n var fullKey = _getKey(key);\n\n item = window.localStorage.getItem(fullKey) || null;\n }\n\n return item;\n }\n /**\r\n * Clears all \"context\" items in localStorage\r\n */\n\n }, {\n key: \"clear\",\n value: function clear(startsWith) {\n if (!!window.localStorage && !!window.localStorage.removeItem) {\n var storageKeys = Object.keys(window.localStorage);\n\n if (!!storageKeys.length) {\n var searchFor = _getKey(startsWith);\n\n for (var key in storageKeys) {\n if (!!key) {\n var keyValue = storageKeys[key];\n\n if (!!keyValue && !!keyValue.startsWith && !!keyValue.startsWith(searchFor)) {\n window.localStorage.removeItem(keyValue);\n }\n }\n }\n }\n }\n }\n }]);\n\n return LocalStorageManager;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*jshint esversion: 8 */\nimport { ArgumentException } from \"./Exceptions\";\nimport { ArgumentTypeException } from \"./Exceptions\";\n\nvar _getKey = function _getKey(key) {\n return \"mpp-widgets_\".concat(key);\n};\n/**\r\n * Static storage wrapper class. Provides get, set and clear abilities\r\n */\n\n\nexport var SessionStorageManager = /*#__PURE__*/function () {\n function SessionStorageManager() {\n _classCallCheck(this, SessionStorageManager);\n }\n\n _createClass(SessionStorageManager, null, [{\n key: \"setItem\",\n value:\n /**\r\n * Sets item in storage under provided key name\r\n * @param {string} key Key under which item is stored\r\n * @param {object} item Item to be stored\r\n * @throws {ArgumentException}\r\n * @throws {ArgumentTypeException}\r\n */\n function setItem(key, item) {\n if (!key) {\n throw new ArgumentException(\"key\");\n }\n\n if (typeof key !== \"string\") {\n throw new ArgumentTypeException(\"key\");\n }\n\n if (!!window.sessionStorage && !!window.sessionStorage.setItem) {\n var fullKey = _getKey(key);\n\n window.sessionStorage.setItem(fullKey, item);\n }\n }\n /**\r\n * Gets item from storage, if not available returns null\r\n * @param {string} key Key under which item is stored\r\n * @returns {object} Item object if available, otherwise returns null\r\n * @throws {ArgumentException}\r\n * @throws {ArgumentTypeException}\r\n */\n\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n if (!key) {\n throw new ArgumentException(\"key\");\n }\n\n if (typeof key !== \"string\") {\n throw new ArgumentTypeException(\"key\");\n }\n\n var item = null;\n\n if (!!window.sessionStorage && !!window.sessionStorage.getItem) {\n var fullKey = _getKey(key);\n\n item = window.sessionStorage.getItem(fullKey) || null;\n }\n\n return item;\n }\n /**\r\n * Clears all \"context\" items in sessionStorage\r\n */\n\n }, {\n key: \"clear\",\n value: function clear(startsWith) {\n if (!!window.sessionStorage && !!window.sessionStorage.removeItem) {\n var storageKeys = Object.keys(window.sessionStorage);\n\n if (!!storageKeys.length) {\n var searchFor = _getKey(startsWith);\n\n for (var key in storageKeys) {\n if (!!key) {\n var keyValue = storageKeys[key];\n\n if (!!keyValue && !!keyValue.startsWith && !!keyValue.startsWith(searchFor)) {\n window.sessionStorage.removeItem(keyValue);\n }\n }\n }\n }\n }\n }\n }]);\n\n return SessionStorageManager;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar privateMethods = {\n getUrlParameter: function getUrlParameter(params, name) {\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]');\n var regex = new RegExp('[\\\\?&]' + name + '=([^&#]*)');\n var results = regex.exec(params);\n return results === null ? '' : decodeURIComponent(results[1].replace(/\\+/g, ' '));\n }\n};\nexport var URLSearchParameters = /*#__PURE__*/function () {\n /**\r\n * @return {URLSearchParameters}\r\n */\n function URLSearchParameters(params) {\n _classCallCheck(this, URLSearchParameters);\n\n this._params = params;\n if (URLSearchParams) this._urlSearchParams = new URLSearchParams(this._params);\n return this;\n }\n\n _createClass(URLSearchParameters, [{\n key: \"get\",\n value: function get(name) {\n if (this._params === \"\") return \"\";\n return URLSearchParams ? this._urlSearchParams.get(name) : privateMethods.getUrlParameter.call(this._params, name);\n }\n }, {\n key: \"has\",\n value: function has(name) {\n if (this._params === \"\") return false;\n\n if (URLSearchParams) {\n return this._urlSearchParams.has(name);\n } else {\n var param = privateMethods.getUrlParameter.call(this._params, name);\n return param !== undefined;\n }\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return this._params ? this._params.substr(1) : \"\";\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return this._params !== \"\";\n }\n }]);\n\n return URLSearchParameters;\n}();","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* jshint esversion: 8 */\nimport { ConfigurationService } from '../Shared/Configuration';\nimport { LocalStorageManager } from '../Shared/LocalStorageManager';\nimport { SessionStorageManager } from '../Shared/SessionStorageManager';\nimport { URLSearchParameters } from '../Shared/URLSearchParameters';\nvar _tokenKeyName = \"AuthToken\";\nvar _idTokenKeyName = \"IdToken\";\nvar _expiresAfterName = \"ExpiresAfter\";\nvar _csrfToken = \"CSRFToken\";\nwindow.mppw_refreshTokenPromise = null;\nexport var OAuthService = /*#__PURE__*/function () {\n function OAuthService() {\n _classCallCheck(this, OAuthService);\n }\n\n _createClass(OAuthService, null, [{\n key: \"Token\",\n get: function get() {\n var tokenValue = LocalStorageManager.getItem(_tokenKeyName);\n var token = tokenValue === \"null\" ? null : tokenValue;\n return token;\n },\n set: function set(token) {\n LocalStorageManager.setItem(_tokenKeyName, token);\n }\n }, {\n key: \"IdToken\",\n get: function get() {\n var idTokenValue = LocalStorageManager.getItem(_idTokenKeyName);\n var idToken = idTokenValue === \"null\" ? null : idTokenValue;\n return idToken;\n },\n set: function set(idToken) {\n LocalStorageManager.setItem(_idTokenKeyName, idToken);\n }\n }, {\n key: \"ExpiresAfter\",\n get: function get() {\n var expiresAfterValue = LocalStorageManager.getItem(_expiresAfterName);\n var expiresAfter = expiresAfterValue === \"null\" ? null : new Date(expiresAfterValue);\n return expiresAfter;\n },\n set: function set(expiresAfter) {\n LocalStorageManager.setItem(_expiresAfterName, expiresAfter);\n }\n }, {\n key: \"CSRFToken\",\n get: function get() {\n try {\n var token = JSON.parse(SessionStorageManager.getItem(_csrfToken));\n return token;\n } catch (_unused) {\n return null;\n }\n },\n set: function set(token) {\n SessionStorageManager.setItem(_csrfToken, JSON.stringify(token));\n }\n }, {\n key: \"SignIn\",\n value: function SignIn() {\n ConfigurationService.GetAuthConfiguration().then(function (oauthConfig) {\n if (!!oauthConfig) {\n var url = \"\".concat(oauthConfig.signInUrl, \"?\") + \"response_type=\".concat(oauthConfig.responseType) + \"&scope=\".concat(oauthConfig.scope) + \"&client_id=\".concat(oauthConfig.clientId) + \"&redirect_uri=\".concat(oauthConfig.redirectUrl) + \"&nonce=\".concat(oauthConfig.nonce) + \"&state=\".concat(encodeURIComponent(window.location));\n OAuthService.Token = null;\n window.location.replace(url);\n }\n });\n }\n }, {\n key: \"SignOut\",\n value: function SignOut() {\n ConfigurationService.GetAuthConfiguration(true).then(function (oauthConfig) {\n if (!!oauthConfig) {\n var url = \"\".concat(oauthConfig.signOutUrl, \"?\") + \"id_token_hint=\".concat(OAuthService.IdToken) + \"&post_logout_redirect_uri=\".concat(oauthConfig.postLogoutRedirectUrl) + \"&state=\".concat(encodeURI(window.location));\n OAuthService.Token = null;\n OAuthService.IdToken = null;\n window.location.replace(url);\n }\n });\n }\n }, {\n key: \"SaveCSRFTokenAsync\",\n value: function () {\n var _SaveCSRFTokenAsync = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var result;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return ConfigurationService.GetCSRFToken();\n\n case 2:\n result = _context.sent;\n OAuthService.CSRFToken = result;\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function SaveCSRFTokenAsync() {\n return _SaveCSRFTokenAsync.apply(this, arguments);\n }\n\n return SaveCSRFTokenAsync;\n }()\n }, {\n key: \"SaveAuthTokensAsync\",\n value: function () {\n var _SaveAuthTokensAsync = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var tokenParamName, userSearchParameters, token, url, tokens;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n tokenParamName = \"cacheKey\";\n userSearchParameters = new URLSearchParameters(window.location.search);\n token = userSearchParameters.get(tokenParamName);\n\n if (!token) {\n _context2.next = 9;\n break;\n }\n\n if (!!window.history && !!window.history.replaceState && !!token) {\n url = String(window.location);\n url = url.replace(\"?\" + tokenParamName + \"=\", \"\").replace(\"&\" + tokenParamName + \"=\", \"\").replace(token, \"\");\n window.history.replaceState({}, document.title, url);\n }\n\n _context2.next = 7;\n return ConfigurationService.GetAuthToken(token);\n\n case 7:\n tokens = _context2.sent;\n\n OAuthService._SaveTokens(tokens);\n\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function SaveAuthTokensAsync() {\n return _SaveAuthTokensAsync.apply(this, arguments);\n }\n\n return SaveAuthTokensAsync;\n }()\n }, {\n key: \"RefreshTokensAsync\",\n value: function () {\n var _RefreshTokensAsync = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(window.mppw_refreshTokenPromise != null)) {\n _context3.next = 2;\n break;\n }\n\n return _context3.abrupt(\"return\", window.mppw_refreshTokenPromise);\n\n case 2:\n // Put RE-AUTH promise into a global var so that other requests may reuse existing promise until it is resolved\n window.mppw_refreshTokenPromise = new Promise(function (resolve) {\n if (!OAuthService.Token || !OAuthService.IdToken || !OAuthService.ExpiresAfter) {\n resolve();\n return;\n }\n\n ConfigurationService.GetAuthConfiguration(true).then(function (oauthConfig) {\n if (!!oauthConfig) {\n var url = \"\".concat(oauthConfig.signInUrl, \"?\") + \"response_type=\".concat(oauthConfig.responseType) + \"&scope=\".concat(oauthConfig.scope) + \"&client_id=\".concat(oauthConfig.clientId) + \"&redirect_uri=\".concat(oauthConfig.redirectUrl) + \"&nonce=\".concat(oauthConfig.nonce) + \"&state=REAUTH\";\n fetch(url, {\n credentials: \"include\"\n }).then(function (response) {\n return response.json().then(function (tokens) {\n OAuthService._SaveTokens(tokens);\n\n resolve();\n })[\"catch\"](function () {\n OAuthService._ClearTokens();\n\n resolve();\n });\n })[\"catch\"](function () {\n OAuthService._ClearTokens();\n\n resolve();\n });\n }\n });\n })[\"finally\"](function () {\n // Remove resolved promise from the global var\n window.mppw_refreshTokenPromise = null;\n });\n return _context3.abrupt(\"return\", window.mppw_refreshTokenPromise);\n\n case 4:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n function RefreshTokensAsync() {\n return _RefreshTokensAsync.apply(this, arguments);\n }\n\n return RefreshTokensAsync;\n }()\n }, {\n key: \"_SaveTokens\",\n value: function _SaveTokens(tokens) {\n OAuthService.Token = tokens.accessToken;\n OAuthService.IdToken = tokens.idToken;\n var expiresAfter = new Date();\n expiresAfter.setSeconds(expiresAfter.getSeconds() + tokens.expiresIn - 60);\n OAuthService.ExpiresAfter = expiresAfter;\n }\n }, {\n key: \"_ClearTokens\",\n value: function _ClearTokens() {\n OAuthService.Token = null;\n OAuthService.IdToken = null;\n OAuthService.ExpiresAfter = null;\n }\n }]);\n\n return OAuthService;\n}();","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\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\nimport { OAuthService } from './OAuthService'; // adapted from: https://stackoverflow.com/questions/51297206/fetch-api-global-error-handler\n\nvar _addAuth = function _addAuth(options) {\n options = options || {};\n\n if (!!OAuthService.Token) {\n options.credentials = \"include\";\n options.withCredentials = true;\n options.headers = options.headers || {};\n options.headers.Authorization = \"Bearer \".concat(OAuthService.Token);\n }\n\n return options;\n};\n\nvar _addCSRF = function _addCSRF(options) {\n return new Promise(function (resolve) {\n options = options || {};\n options.headers = options.headers || {};\n\n if (!!OAuthService.CSRFToken && !!OAuthService.CSRFToken.token && !!OAuthService.CSRFToken.expiresAfterUtc) {\n var expiresAfterUTC = new Date(OAuthService.CSRFToken.expiresAfterUtc);\n\n var nowUTC = _getCurrentUTCDateTime();\n\n if (nowUTC >= expiresAfterUTC) {\n OAuthService.SaveCSRFTokenAsync().then(function () {\n options.headers[\"x-csrf-token\"] = OAuthService.CSRFToken.token;\n resolve(options);\n });\n } else {\n options.headers[\"x-csrf-token\"] = OAuthService.CSRFToken.token;\n resolve(options);\n }\n } else {\n resolve(options);\n }\n });\n};\n\nvar _getCurrentUTCDateTime = function _getCurrentUTCDateTime() {\n var now = new Date();\n var utcDateTime = Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds(), now.getUTCMilliseconds());\n return utcDateTime;\n};\n\nvar _htmlSanitizer = /<\\/?(embed|form|frame|frameset|html|iframe|input|keygen|link|meta|noembed|noframes|noscript|object|plaintext|pre|script|select|style|svg|video|wbr|xmp)[^>]*>/ig;\nvar _eventSanitizer = /(<[^>]+\\s)on[^=]+/ig;\n\nvar _htmlSanitize = function _htmlSanitize(textObj) {\n var sanitize = function sanitize(str) {\n return str.replace(_htmlSanitizer, \"\").replace(_eventSanitizer, \"$1 sanitizedEvent\");\n };\n\n var cleanKeys = function cleanKeys(obj, depth) {\n if (!obj) {\n return obj;\n }\n\n Object.getOwnPropertyNames(obj).forEach(function (key) {\n if (typeof obj[key] === \"string\") {\n obj[key] = sanitize(obj[key]);\n }\n\n if (_typeof(obj[key]) === \"object\" && depth < 40) {\n obj[key] = cleanKeys(obj[key], depth + 1);\n }\n });\n return obj;\n };\n\n return cleanKeys(textObj, 0);\n};\n\nexport var Ajax = /*#__PURE__*/function () {\n function Ajax() {\n _classCallCheck(this, Ajax);\n }\n\n _createClass(Ajax, null, [{\n key: \"Get\",\n value: function Get(url) {\n return Ajax.RefreshTokensIfNeededAsync().then(function () {\n return new Promise(function (resolve, reject) {\n var options = _addAuth();\n\n fetch(url, options).then(function (response) {\n if (response.ok) {\n response.json().then(function (json) {\n resolve(_htmlSanitize(json));\n })[\"catch\"](function (err) {\n reject(err);\n });\n } else {\n if (response.status === 401) {\n OAuthService.SignIn();\n } else {\n reject(response);\n }\n }\n });\n });\n });\n }\n }, {\n key: \"Post\",\n value: function () {\n var _Post = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(url, data, additionalHeaders) {\n var retry,\n options,\n response,\n json,\n err,\n _args = arguments;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n retry = _args.length > 3 && _args[3] !== undefined ? _args[3] : true;\n _context.next = 3;\n return Ajax.RefreshTokensIfNeededAsync();\n\n case 3:\n options = _addAuth({\n method: \"POST\",\n body: data\n });\n\n if (additionalHeaders) {\n Object.keys(additionalHeaders).forEach(function (header) {\n options.headers[header] = additionalHeaders[header];\n });\n }\n\n _context.next = 7;\n return _addCSRF(options);\n\n case 7:\n options = _context.sent;\n _context.prev = 8;\n _context.next = 11;\n return fetch(url, options);\n\n case 11:\n response = _context.sent;\n\n if (!response.ok) {\n _context.next = 21;\n break;\n }\n\n _context.next = 15;\n return response.json();\n\n case 15:\n json = _context.sent;\n _context.next = 18;\n return _htmlSanitize(json);\n\n case 18:\n return _context.abrupt(\"return\", _context.sent);\n\n case 21:\n _context.next = 23;\n return response.json();\n\n case 23:\n err = _context.sent;\n throw err;\n\n case 25:\n _context.next = 36;\n break;\n\n case 27:\n _context.prev = 27;\n _context.t0 = _context[\"catch\"](8);\n\n if (!(retry && _context.t0.SecondaryStatusCode && _context.t0.SecondaryStatusCode === \"CSRF\")) {\n _context.next = 35;\n break;\n }\n\n _context.next = 32;\n return OAuthService.SaveCSRFTokenAsync();\n\n case 32:\n return _context.abrupt(\"return\", this.Post(url, data, additionalHeaders, false));\n\n case 35:\n throw _context.t0;\n\n case 36:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[8, 27]]);\n }));\n\n function Post(_x, _x2, _x3) {\n return _Post.apply(this, arguments);\n }\n\n return Post;\n }()\n }, {\n key: \"RefreshTokensIfNeededAsync\",\n value: function () {\n var _RefreshTokensIfNeededAsync = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var currentTime, expiresAfter;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n currentTime = new Date();\n expiresAfter = OAuthService.ExpiresAfter;\n\n if (!(currentTime > expiresAfter)) {\n _context2.next = 5;\n break;\n }\n\n _context2.next = 5;\n return OAuthService.RefreshTokensAsync();\n\n case 5:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function RefreshTokensIfNeededAsync() {\n return _RefreshTokensIfNeededAsync.apply(this, arguments);\n }\n\n return RefreshTokensIfNeededAsync;\n }()\n }]);\n\n return Ajax;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { Configuration } from \"../Shared/Configuration\";\nimport { Ajax } from \"./Ajax\";\nexport var CustomFormApiService = /*#__PURE__*/function () {\n function CustomFormApiService() {\n _classCallCheck(this, CustomFormApiService);\n\n var config = new Configuration();\n this._appRoot = config.GetAppRoot();\n }\n\n _createClass(CustomFormApiService, [{\n key: \"GetForm\",\n value: function GetForm(FormGuid) {\n var url = \"\".concat(this._appRoot, \"/Api/CustomFormApi/GetForm?FormGuid=\").concat(FormGuid);\n return Ajax.Get(url);\n }\n }, {\n key: \"GetFormFields\",\n value: function GetFormFields(FormGuid) {\n var url = \"\".concat(this._appRoot, \"/Api/CustomFormApi/GetFormFields?FormGuid=\").concat(FormGuid);\n return Ajax.Get(url);\n }\n }, {\n key: \"GetContactById\",\n value: function GetContactById(contactId) {\n var url = \"\".concat(this._appRoot, \"/Api/CustomFormApi/GetContactById?contactId=\").concat(contactId);\n return Ajax.Get(url);\n }\n }, {\n key: \"PostFormData\",\n value: function PostFormData(formData) {\n var url = \"\".concat(this._appRoot, \"/Api/CustomFormApi/PostFormData\");\n return Ajax.Post(url, formData);\n }\n }, {\n key: \"GetConfigurations\",\n value: function GetConfigurations() {\n var url = \"\".concat(this._appRoot, \"/Api/CustomFormApi/GetConfigurations\");\n return Ajax.Get(url);\n }\n }]);\n\n return CustomFormApiService;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { Configuration } from \"./Configuration\";\nexport var I18N = /*#__PURE__*/function () {\n function I18N(componentName) {\n _classCallCheck(this, I18N);\n\n this._componentName = componentName;\n this._locale = I18N.GetCurrentLocale();\n var config = new Configuration();\n this._appRoot = config.GetAppRoot();\n return fetch(\"\".concat(this._appRoot, \"/Api/ConfigurationApi/GetLabels?componentName=\").concat(this._componentName, \"&locale=\").concat(this._locale), {\n credentials: \"include\",\n mode: \"cors\",\n withCredentials: true\n }).then(function (response) {\n return response.json();\n });\n /*\r\n \t.catch((a, b) => {\r\n \t\t//TODO: Write this error into HTML:\r\n \t\tconsole.log(\"a\", a);\r\n \t\t//console.log(\"b\", b);\r\n \t\tvar h = this; //.getRootNode().host;\r\n \t\tconsole.log(\"h\", h);\r\n \t\tthis.parentNode.innerHTML = `Error: ${a}`;\r\n });\r\n */\n }\n\n _createClass(I18N, null, [{\n key: \"GetCurrentLocale\",\n value: function GetCurrentLocale() {\n return localStorage.userLocale || \"en\";\n }\n }]);\n\n return I18N;\n}();","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\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.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { FormFieldBuilder } from \"./FormFieldBuilder\";\nimport { FileUploader } from \"./FileUploader\";\nimport { CustomFormApiService } from \"../Services/CustomFormApiService\";\nimport { OAuthService } from \"../Services/OAuthService\";\nimport { I18N } from \"../Shared/I18n\";\nvar _customFormInputPrefix = \"\"; // Gets set in RenderCustomForm function\n\nexport var CustomFormBuilder = /*#__PURE__*/function () {\n function CustomFormBuilder() {\n _classCallCheck(this, CustomFormBuilder);\n }\n\n _createClass(CustomFormBuilder, null, [{\n key: \"getTranslations\",\n value: function () {\n var _getTranslations = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _this = this;\n\n var i18n;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (this._i18n) {\n _context.next = 5;\n break;\n }\n\n _context.next = 3;\n return new I18N(\"mpp-custom-form\")[\"catch\"](function (error) {\n if (error.toString().startsWith(\"TypeError\")) {\n _this._root.innerHTML = \"Unable to connect. Please check Permitted URLs.\";\n } else {\n _this._root.innerHTML = \"\".concat(error);\n }\n });\n\n case 3:\n i18n = _context.sent;\n this._i18n = i18n;\n\n case 5:\n return _context.abrupt(\"return\", this._i18n);\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getTranslations() {\n return _getTranslations.apply(this, arguments);\n }\n\n return getTranslations;\n }()\n /**\r\n * @summary Will render a custom form.\r\n * @param {string} customFormGuid The custom forms Guid identifier\r\n * @param {Element} customFormFieldsElement The html element that will house the custom form elements\r\n * @param {Element} customFormRootElement The root html form element which contains the customFormFieldsElement\r\n */\n\n }, {\n key: \"RenderCustomForm\",\n value: function () {\n var _RenderCustomForm = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(customFormGuid, customFormFieldsElement, customFormRootElement, skipFormInstructions, isUserAuthenticated) {\n var customFormService, _yield$Promise$all, _yield$Promise$all2, customFormData, customFormConfig, customForm;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return this.getTranslations();\n\n case 2:\n customFormFieldsElement.innerHTML = \"\";\n\n if (!customFormGuid) {\n _context2.next = 15;\n break;\n }\n\n customFormService = new CustomFormApiService();\n _context2.next = 7;\n return Promise.all([customFormService.GetFormFields(customFormGuid), customFormService.GetConfigurations(), customFormService.GetForm(customFormGuid)]);\n\n case 7:\n _yield$Promise$all = _context2.sent;\n _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3);\n customFormData = _yield$Promise$all2[0];\n customFormConfig = _yield$Promise$all2[1];\n customForm = _yield$Promise$all2[2];\n _customFormInputPrefix = customFormConfig.customFormInputPrefix;\n skipFormInstructions !== true && this.DrawFormInstructions(customFormFieldsElement, customFormData);\n\n if (customForm.formData.Force_Login && !isUserAuthenticated) {\n this.DrawLoginRequest(customFormFieldsElement);\n } else {\n CustomFormBuilder.DrawForm(customFormFieldsElement, customFormData, customFormRootElement);\n }\n\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function RenderCustomForm(_x, _x2, _x3, _x4, _x5) {\n return _RenderCustomForm.apply(this, arguments);\n }\n\n return RenderCustomForm;\n }()\n }, {\n key: \"DrawLoginRequest\",\n value: function () {\n var _DrawLoginRequest = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(customFormFieldsElement) {\n var errorMessageContainer, errorIcon, errorMessage, loginButtonContainer, loginButton;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return this.getTranslations();\n\n case 2:\n errorMessageContainer = document.createElement(\"div\");\n errorMessageContainer.classList.add(\"mppw-alert\");\n errorMessageContainer.classList.add(\"mppw-alert__warning\");\n errorIcon = document.createElement(\"div\");\n errorIcon.classList.add(\"mppw-alert__icon\");\n errorMessageContainer.appendChild(errorIcon);\n errorMessage = document.createElement(\"span\");\n errorMessage.classList.add(\"mppw-alert__text\");\n errorMessage.innerText = this._i18n.customFormPleaseLoginMessage;\n errorMessageContainer.appendChild(errorMessage);\n loginButtonContainer = document.createElement(\"div\");\n loginButtonContainer.style.display = \"flex\";\n loginButtonContainer.style.justifyContent = \"center\";\n loginButtonContainer.style.marginBottom = \"20px\";\n loginButton = document.createElement(\"input\");\n loginButton.setAttribute(\"type\", \"button\");\n loginButton.className = \"mppw-btn primary\";\n loginButton.value = \"Login\";\n loginButton.addEventListener(\"click\", function () {\n OAuthService.SignIn();\n });\n customFormFieldsElement.appendChild(errorMessageContainer);\n loginButtonContainer.appendChild(loginButton);\n customFormFieldsElement.appendChild(loginButtonContainer);\n\n case 24:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function DrawLoginRequest(_x6) {\n return _DrawLoginRequest.apply(this, arguments);\n }\n\n return DrawLoginRequest;\n }()\n }, {\n key: \"DrawFormInstructions\",\n value: function DrawFormInstructions(formContainer, data) {\n // Display custom forms instructions label\n if (!!data && !!data.instructions) {\n var formInstructions = document.createElement(\"h3\");\n formInstructions.innerHTML = data.instructions;\n formContainer.appendChild(formInstructions);\n }\n }\n }, {\n key: \"DrawForm\",\n value: function DrawForm(formContainer, data, root) {\n var _this2 = this;\n\n var formFieldBuilder = new FormFieldBuilder(); // Add hidden inputs\n\n if (!!data && data.formFields.length > 0) {\n // Add custom form id, this will be needed later when saving the form\n var formIdInputContainer = document.createElement(\"div\");\n var formIdElement = formFieldBuilder.BuildHiddenInput(_customFormInputPrefix + \"formid\", data.formFields[0].Form_ID);\n formIdInputContainer.innerHTML = formIdElement;\n formContainer.appendChild(formIdInputContainer);\n }\n\n for (var r = 0; r < data.formFields.length; r++) {\n var $formRow = document.createElement(\"div\");\n var $formControl = document.createElement(\"div\");\n\n if (!data.formFields[r][\"Is_Hidden\"]) {\n // Create each field type\n $formControl.innerHTML = this.BuildFormControl(data.formFields[r], formContainer, root);\n $formRow.appendChild($formControl);\n formContainer.appendChild($formRow); // Setup depends on fields\n\n data.uniqueParentFields.forEach(function (fieldId) {\n if (data.formFields[r].Form_Field_ID === fieldId) {\n // Bind event listener to these field id's\n _this2.BindParentFormFieldListener(data.formFields[r], root, data.customFieldsTree);\n }\n });\n }\n }\n }\n }, {\n key: \"BindParentFormFieldListener\",\n value: function BindParentFormFieldListener(formField, root, customFieldsTree) {\n var self = this; // The types of fields\n\n var FieldTypes = {\n \"VerticalRadioButtons\": 4,\n \"HorizontalRadioButtons\": 7\n }; // Only allow radio buttons\n\n if (formField.Field_Type_ID === FieldTypes.HorizontalRadioButtons || formField.Field_Type_ID === FieldTypes.VerticalRadioButtons) {\n root.querySelector('#formFields').addEventListener('change', function (event) {\n if (event.target.id == formField.Form_Field_ID.toString()) {\n var dependsOnSelectedId = event.target.id;\n var dependsOnSelectedValue = event.target.value; // Show all elements with dependsOnSelectedId and dependsOnSelectedValue\n\n self.ShowHideDependsOnElements(dependsOnSelectedId, dependsOnSelectedValue, root, customFieldsTree);\n }\n });\n } else {\n return;\n }\n } // When initially loading the form disable all depends on field inputs\n\n }, {\n key: \"DisableAllDependsOnInputs\",\n value: function DisableAllDependsOnInputs(root) {\n // Get all dependent fields\n var dependsOnFields = root.querySelectorAll('[data-depends-on-value]');\n\n for (var i = 0; i < dependsOnFields.length; i++) {\n var dependsOnFieldValue = dependsOnFields[i].getAttribute(\"data-depends-on-value\"); // Only hide if element has a depends on value\n\n if (!!dependsOnFieldValue) {\n // Get all inputs for the given div\n var inputElements = dependsOnFields[i].getElementsByTagName(\"input\");\n var selectElements = dependsOnFields[i].getElementsByTagName(\"select\");\n var textareaElements = dependsOnFields[i].getElementsByTagName(\"textarea\"); // Hide fields\n\n dependsOnFields[i].style.display = 'none'; // Add disabled to prevent form validation issues on hidden inputs\n\n var _iterator = _createForOfIteratorHelper(inputElements),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var el = _step.value;\n el.setAttribute(\"disabled\", \"disabled\");\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(selectElements),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _el = _step2.value;\n\n _el.setAttribute(\"disabled\", \"disabled\");\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n var _iterator3 = _createForOfIteratorHelper(textareaElements),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var _el2 = _step3.value;\n\n _el2.setAttribute(\"disabled\", \"disabled\");\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }\n }\n }, {\n key: \"FindNodeById\",\n value: function FindNodeById(node, id) {\n if (node.nodeId == id) {\n return node;\n } else {\n var _iterator4 = _createForOfIteratorHelper(node.children),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var child = _step4.value;\n var result = this.FindNodeById(child, id);\n\n if (result != null) {\n return result;\n }\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n }\n\n return null;\n }\n }, {\n key: \"HideElement\",\n value: function HideElement(node, root) {\n var formRoot = root; // Select all elements based on parentId\n\n var hideField = formRoot.querySelector(\"[data-id='\".concat(node.nodeId, \"']\"));\n\n if (hideField !== null && hideField !== undefined) {\n // Get all inputs for the given element\n var inputElements = hideField.getElementsByTagName(\"input\");\n var selectElements = hideField.getElementsByTagName(\"select\");\n var textareaElements = hideField.getElementsByTagName(\"textarea\"); // Hide fields\n\n hideField.style.display = 'none'; // If the form is validated, need to remove any validation errors when switching between depends on fields\n // Otherwise this causes some weird UI display issues\n\n if (hideField.classList.contains('mppw-form-field--is-invalid')) {\n hideField.classList.remove('mppw-form-field--is-invalid');\n\n if (hideField.nextSibling) {\n if (hideField.nextSibling.classList.contains('mppw-form-field__message_container')) {\n hideField.nextSibling.remove();\n }\n }\n } // Add disabled to prevent form validation issues on hidden inputs\n\n\n var _iterator5 = _createForOfIteratorHelper(inputElements),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var el = _step5.value;\n\n if (el.type === 'radio') {\n // Clear any previous radio checked options\n el.checked = 0;\n }\n\n el.setAttribute(\"disabled\", true);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n\n var _iterator6 = _createForOfIteratorHelper(selectElements),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var _el3 = _step6.value;\n\n _el3.setAttribute(\"disabled\", true);\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n\n var _iterator7 = _createForOfIteratorHelper(textareaElements),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var _el4 = _step7.value;\n\n _el4.setAttribute(\"disabled\", true);\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n } // Flattens a tree\n\n }, {\n key: \"FlattenTree\",\n value: function FlattenTree(root) {\n var stack = [],\n array = [],\n hashMap = {},\n nodeRoot = root;\n stack.push(nodeRoot);\n\n while (stack.length !== 0) {\n var node = stack.pop();\n\n if (node) {\n if (node.children.length <= 0) {\n if (!hashMap[node.nodeId]) {\n hashMap[node.nodeId] = true;\n array.push(node);\n }\n } else {\n if (!hashMap[node.nodeId]) {\n hashMap[node.nodeId] = true;\n\n var tempNode = _objectSpread({}, node);\n\n tempNode.children = [];\n array.push(tempNode);\n }\n\n for (var i = node.children.length - 1; i >= 0; i--) {\n stack.push(node.children[i]);\n }\n }\n }\n }\n\n return array;\n }\n }, {\n key: \"HideAllElements\",\n value: function HideAllElements(elementsArray, root) {\n var formRoot = root;\n\n var _iterator8 = _createForOfIteratorHelper(elementsArray),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var el = _step8.value;\n this.HideElement(el, formRoot);\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n } // Shows or hides inputs based on depends on value\n\n }, {\n key: \"ShowHideDependsOnElements\",\n value: function ShowHideDependsOnElements(dependsOnId, dependsOnValue, root, customFieldsTree) {\n var formRoot = root; // Try to find node at top-level array location based on dependsonid\n\n var node = customFieldsTree.find(function (n) {\n return n.nodeId === dependsOnId;\n }); // If the node was not found at the top-level location\n // all levels of children need to be searched\n\n if (node === undefined || node === null) {\n for (var i = 0; i < customFieldsTree.length; i++) {\n node = this.FindNodeById(customFieldsTree[i], dependsOnId);\n\n if (node !== undefined && node !== null) {\n break;\n }\n }\n } // Set the nodesToHide initially to the node found above\n\n\n var nodesToHide = node; // If this node has children then set it to those children\n\n if (node) {\n if (node.children.length > 0) {\n nodesToHide = node.children.filter(function (n) {\n return n.value != dependsOnValue;\n });\n }\n\n var _iterator9 = _createForOfIteratorHelper(nodesToHide),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var _node = _step9.value;\n // Create a flattened array of all elements at this nodes level\n var flattenedArray = this.FlattenTree(_node); // Take the flattened array and hide all elements within it\n\n this.HideAllElements(flattenedArray, formRoot);\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n } // Get all dependent fields to show\n\n\n var showFields = formRoot.querySelectorAll(\"[data-depends-on='\".concat(dependsOnId, \"']\"));\n\n for (var i = 0; i < showFields.length; i++) {\n var dataAttrValue = showFields[i].getAttribute(\"data-depends-on-value\"); // Get all inputs for the given div\n\n var inputElements = showFields[i].getElementsByTagName(\"input\");\n var textareaElements = showFields[i].getElementsByTagName(\"textarea\");\n var selectElements = showFields[i].getElementsByTagName(\"select\");\n\n if (dataAttrValue === dependsOnValue) {\n // Show fields\n showFields[i].style.display = 'block'; // Remove the disabled attribute on elements\n\n var _iterator10 = _createForOfIteratorHelper(inputElements),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var el = _step10.value;\n el.removeAttribute(\"disabled\");\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n var _iterator11 = _createForOfIteratorHelper(selectElements),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var _el5 = _step11.value;\n\n _el5.removeAttribute(\"disabled\");\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n var _iterator12 = _createForOfIteratorHelper(textareaElements),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var _el6 = _step12.value;\n\n _el6.removeAttribute(\"disabled\");\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n }\n }\n }\n }, {\n key: \"BuildFormControl\",\n value: function BuildFormControl(fieldData, formContainer, root) {\n var formFieldBuilder = new FormFieldBuilder(); // The types of fields\n\n var FieldTypes = {\n \"TextBox\": 1,\n \"Textarea\": 2,\n \"Date\": 3,\n \"VerticalRadioButtons\": 4,\n \"DropdownList\": 5,\n \"Instructions\": 6,\n \"HorizontalRadioButtons\": 7,\n \"Checkbox\": 8,\n \"FileUpload\": 9\n }; // Assign passed in fieldData\n\n var Form_Field_ID = fieldData.Form_Field_ID,\n Field_Label = fieldData.Field_Label,\n Alternate_Label = fieldData.Alternate_Label,\n Field_Type_ID = fieldData.Field_Type_ID,\n Required = fieldData.Required,\n Field_Order = fieldData.Field_Order,\n Field_Values = fieldData.Field_Values,\n Depends_On = fieldData.Depends_On,\n Depends_On_Value = fieldData.Depends_On_Value;\n var Label = !!Alternate_Label ? Alternate_Label : Field_Label;\n var controlHtml = \"\";\n\n switch (fieldData[\"Field_Type_ID\"]) {\n case FieldTypes.TextBox:\n if (!!Depends_On && !!Depends_On_Value) {\n // Set field to be initially hidden/disabled.\n // Once the user sets a value for the parent depends on field will they be shown\n controlHtml = formFieldBuilder.BuildCustomTextInput(Form_Field_ID, Field_Label, Required, '', '', true, Depends_On, Depends_On_Value, 250, true, Alternate_Label);\n } else {\n controlHtml = formFieldBuilder.BuildCustomTextInput(Form_Field_ID, Field_Label, Required, '', '', false, '', '', 250, true, Alternate_Label);\n }\n\n break;\n\n case FieldTypes.Textarea:\n if (!!Depends_On && !!Depends_On_Value) {\n controlHtml = formFieldBuilder.BuildCustomTextarea(Form_Field_ID, Field_Label, Required, true, 30000, true, Depends_On, Depends_On_Value, Alternate_Label);\n } else {\n controlHtml = formFieldBuilder.BuildCustomTextarea(Form_Field_ID, Field_Label, Required, true, 30000, null, '', '', Alternate_Label);\n }\n\n break;\n\n case FieldTypes.Date:\n if (!!Depends_On && !!Depends_On_Value) {\n controlHtml = formFieldBuilder.BuildCustomDateInput(Form_Field_ID, Field_Label, Required, '', '', '', '', true, Depends_On, Depends_On_Value, Alternate_Label);\n } else {\n controlHtml = formFieldBuilder.BuildCustomDateInput(Form_Field_ID, Field_Label, Required, '', '', '', '', null, '', '', Alternate_Label);\n }\n\n break;\n\n case FieldTypes.VerticalRadioButtons:\n var vRadioOptions = Field_Values.split(/\\r?\\n/);\n\n if (!!Depends_On && !!Depends_On_Value) {\n controlHtml = formFieldBuilder.BuildCustomVerticalRadio(Form_Field_ID, Field_Label, Required, vRadioOptions, true, Depends_On, Depends_On_Value, Alternate_Label);\n } else {\n controlHtml = formFieldBuilder.BuildCustomVerticalRadio(Form_Field_ID, Field_Label, Required, vRadioOptions, null, '', '', Alternate_Label);\n }\n\n break;\n\n case FieldTypes.DropdownList:\n var selectOptions = Field_Values.split(/\\r?\\n/);\n\n if (!!Depends_On && !!Depends_On_Value) {\n controlHtml = formFieldBuilder.BuildCustomSelect(Form_Field_ID, Field_Label, Required, selectOptions, true, Depends_On, Depends_On_Value, Alternate_Label);\n } else {\n controlHtml = formFieldBuilder.BuildCustomSelect(Form_Field_ID, Field_Label, Required, selectOptions, null, '', '', Alternate_Label);\n }\n\n break;\n\n case FieldTypes.Instructions:\n if (!!Depends_On && !!Depends_On_Value) {\n controlHtml = formFieldBuilder.BuildCustomParagraph(Label, true, Depends_On, Depends_On_Value, Form_Field_ID);\n } else {\n controlHtml = formFieldBuilder.BuildCustomParagraph(Label);\n }\n\n break;\n\n case FieldTypes.HorizontalRadioButtons:\n var hRadioOptions = Field_Values.split(/\\r?\\n/);\n\n if (!!Depends_On && !!Depends_On_Value) {\n controlHtml = formFieldBuilder.BuildCustomHorizontalRadio(Form_Field_ID, Field_Label, Required, hRadioOptions, true, Depends_On, Depends_On_Value, Alternate_Label);\n } else {\n controlHtml = formFieldBuilder.BuildCustomHorizontalRadio(Form_Field_ID, Field_Label, Required, hRadioOptions, null, '', '', Alternate_Label);\n }\n\n break;\n\n case FieldTypes.Checkbox:\n if (!!Depends_On && !!Depends_On_Value) {\n controlHtml = formFieldBuilder.BuildCustomCheckbox(Form_Field_ID, Label, Required, true, Depends_On, Depends_On_Value);\n } else {\n controlHtml = formFieldBuilder.BuildCustomCheckbox(Form_Field_ID, Label, Required);\n }\n\n break;\n\n case FieldTypes.FileUpload:\n var fileUploadHtml = '';\n\n if (!!Depends_On && !!Depends_On_Value) {\n fileUploadHtml = formFieldBuilder.BuildCustomFileUploader(Form_Field_ID, Field_Label, Required, '', true, Depends_On, Depends_On_Value, Alternate_Label);\n } else {\n fileUploadHtml = formFieldBuilder.BuildCustomFileUploader(Form_Field_ID, Field_Label, Required, '', null, '', '', Alternate_Label);\n }\n\n var fileUploader = new FileUploader();\n fileUploader.InitializeFileUploader(Form_Field_ID, formContainer, fileUploadHtml, root, this._i18n.invalidFileTypeMessage, this._i18n.invalidFileSizeMessage, this._i18n.selectDifferentFileMessage);\n break;\n\n default:\n if (!!Depends_On && !!Depends_On_Value) {\n controlHtml = formFieldBuilder.BuildCustomTextInput(Form_Field_ID, Field_Label, Required, '', '', true, Depends_On, Depends_On_Value, 250, true, Alternate_Label);\n } else {\n controlHtml = formFieldBuilder.BuildCustomTextInput(Form_Field_ID, Field_Label, Required, '', '', false, '', '', 250, true, Alternate_Label);\n }\n\n break;\n }\n\n return controlHtml;\n } // Draw the contact form based on the custom form template html file\n\n }, {\n key: \"DrawContactForm\",\n value: function DrawContactForm(i18n, formContainer) {\n var contactFormHtml = `<div id=\"contactDetailsDiv\"><div class=\"mppw-row\"><div class=\"mppw-col\"><h3>${i18n.contactLabel}</h3></div></div><div class=\"mppw-row\"><div class=\"mppw-col\"><div class=\"mppw-form-field\"><input type=\"text\" id=\"firstName\" name=\"FirstName\" class=\"mppw-form-field__control\" required=\"\" data-required-message=\"First Name is required\"> <label class=\"mppw-form-field__label\" for=\"firstName\">${i18n.firstNameLabel}*:</label></div></div><div class=\"mppw-col\"><div class=\"mppw-form-field\"><input type=\"text\" id=\"lastName\" name=\"LastName\" class=\"mppw-form-field__control\" required=\"\" data-required-message=\"Last Name is required\"> <label class=\"mppw-form-field__label\" for=\"lastName\">${i18n.lastNameLabel}*:</label></div></div></div><div class=\"mppw-row\"><div class=\"mppw-col\"><div class=\"mppw-form-field\"><input type=\"email\" id=\"emailAddress\" name=\"EmailAddress\" class=\"mppw-form-field__control\" required=\"\" data-require-if-blank=\"MobilePhoneNumber\" data-required-message=\"${i18n.phoneOrEmailRequiredLabel}\"> <label class=\"mppw-form-field__label\" for=\"emailAddress\">${i18n.emailAddressLabel}*:</label></div></div><div class=\"mppw-col\"><div class=\"mppw-form-field\"><input type=\"tel\" id=\"mobilePhone\" name=\"MobilePhoneNumber\" class=\"mppw-form-field__control\" required=\"\" data-require-if-blank=\"EmailAddress\" data-required-message=\"${i18n.phoneOrEmailRequiredLabel}\"> <label class=\"mppw-form-field__label\" for=\"mobilePhone\">${i18n.mobilePhoneLabel}*:</label></div></div></div></div>` ;\n var $formRow = document.createElement(\"div\");\n var $formControl = document.createElement(\"div\");\n $formControl.innerHTML = contactFormHtml;\n $formRow.appendChild($formControl);\n formContainer.appendChild($formRow);\n } // Draw the address form based on the custom form template html file\n\n }, {\n key: \"DrawAddressForm\",\n value: function DrawAddressForm(i18n, formContainer, countryDropdownData) {\n this._formFieldBuilder = new FormFieldBuilder();\n var addressFormHtml = `<div class=\"mppw-row\"><div class=\"mppw-col\"><h3>${i18n.addressLabel}</h3></div></div><div class=\"mppw-row\"><div class=\"mppw-col\">${this._formFieldBuilder.BuildCustomFormSelect(\"Country\", i18n.countryLabel, true, countryDropdownData)}</div></div><div class=\"mppw-form-field\"><input type=\"text\" id=\"addressLine1\" name=\"AddressLine1\" class=\"mppw-form-field__control\" required=\"\" data-required-message=\"Address Line 1 is required\"> <label class=\"mppw-form-field__label\" for=\"addressLine1\">${i18n.addressLineLabel} 1*:</label></div><div class=\"mppw-form-field\"><input type=\"text\" id=\"addressLine2\" name=\"AddressLine2\" class=\"mppw-form-field__control\"> <label class=\"mppw-form-field__label\" for=\"addressLine2\">${i18n.addressLineLabel} 2:</label></div><div class=\"mppw-row\"><div class=\"mpp-customform-col-4\"><div class=\"mppw-form-field\"><input type=\"text\" id=\"city\" name=\"City\" class=\"mppw-form-field__control\" required=\"\" data-required-message=\"City is required\"> <label class=\"mppw-form-field__label\" for=\"addressLine1\">${i18n.cityLabel}*:</label></div></div><div class=\"mpp-customform-col-4\"><div class=\"mppw-form-field\"><input type=\"text\" id=\"stateRegion\" name=\"StateRegion\" class=\"mppw-form-field__control\" required=\"\" data-required-message=\"State is required\"> <label class=\"mppw-form-field__label\" for=\"addressLine1\">${i18n.stateRegionLabel}*:</label></div></div><div class=\"mpp-customform-col-4\"><div class=\"mppw-form-field\"><input type=\"text\" id=\"postalCode\" name=\"PostalCode\" class=\"mppw-form-field__control\" required=\"\" data-required-message=\"Postal Code is required\"> <label class=\"mppw-form-field__label\" for=\"addressLine1\">${i18n.postalCodeLabel}*:</label></div></div></div>` ;\n var $formRow = document.createElement(\"div\");\n var $formControl = document.createElement(\"div\");\n $formControl.innerHTML = addressFormHtml;\n $formRow.appendChild($formControl);\n formContainer.appendChild($formRow);\n }\n }, {\n key: \"BuildHtml\",\n value: function BuildHtml(elementType, options, text, click) {\n var el = document.createElement(elementType);\n\n if (!!options) {\n options.forEach(function (opt) {\n if (opt[0] === \"class\") {\n el.classList.add(opt[1]);\n return;\n }\n\n el.setAttribute(opt[0], opt[1]);\n });\n }\n\n if (!!text) {\n el.appendChild(document.createTextNode(text));\n }\n\n if (!!click) {\n el.addEventListener(\"click\", click);\n }\n\n return el;\n }\n }]);\n\n return CustomFormBuilder;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { I18N } from \"../Shared/I18n\";\nexport var DropdownBuilder = /*#__PURE__*/function () {\n function DropdownBuilder() {\n _classCallCheck(this, DropdownBuilder);\n\n this._locale = null;\n } // Removes all <option> elements from select and populates with data formatted as id, value\n\n\n _createClass(DropdownBuilder, null, [{\n key: \"LoadDropdown\",\n value: function LoadDropdown(selectElement, data, placeholder) {\n // Remove all dropdown options:\n for (var j = selectElement.options.length - 1; j >= 0; j--) {\n selectElement.remove(j);\n } // Create empty first item:\n\n\n var firstOpt = document.createElement(\"option\");\n firstOpt.innerText = placeholder ? placeholder : \"- All Records -\";\n firstOpt.value = \"\";\n selectElement.appendChild(firstOpt); // Create option elements based on data:\n\n for (var i = 0; i < data.length; i++) {\n var opt = document.createElement(\"option\");\n opt.value = data[i].id;\n opt.innerText = data[i].value || data[i].name;\n\n if (data[i].disabled) {\n opt.setAttribute(\"disabled\", \"\");\n opt.style = \"background-color: #d9d8d8\";\n }\n\n selectElement.appendChild(opt);\n }\n } // Removes all <option> elements from select and populates with data formatted\n\n }, {\n key: \"BuildDropdownWithOptGroup\",\n value: function BuildDropdownWithOptGroup(selectElement, data, placeholder) {\n // Remove all dropdown optgroups and options:\n selectElement.innerHTML = \"\";\n\n var groupBy = function groupBy(keys) {\n return function (array) {\n return array.reduce(function (objectsByKeyValue, obj) {\n var value = keys.map(function (key) {\n return obj[key];\n });\n objectsByKeyValue[value] = (objectsByKeyValue[value] || []).concat(obj);\n return objectsByKeyValue;\n }, {});\n };\n };\n\n var groupByGroupName = groupBy(['groupName']);\n var attributeByGroupName = Object.keys(groupByGroupName(data));\n var firstOpt = document.createElement(\"option\");\n firstOpt.innerText = placeholder ? placeholder : \"- Select -\";\n firstOpt.value = \"\";\n selectElement.appendChild(firstOpt);\n attributeByGroupName.forEach(function (groupName) {\n var optgroup = document.createElement(\"optgroup\");\n optgroup.label = groupName;\n var attrs = data.filter(function (attr) {\n return attr.groupName === groupName;\n });\n\n for (var i = 0; i < attrs.length; i++) {\n var opt = document.createElement(\"option\");\n opt.value = attrs[i].id;\n opt.innerText = attrs[i].name;\n optgroup.appendChild(opt);\n }\n\n selectElement.appendChild(optgroup);\n });\n } // Removes all <option> elements from select and populates with data formatted as id, value\n\n }, {\n key: \"BuildCountryDropdown\",\n value: function BuildCountryDropdown(selectElement, data, placeholder) {\n // Remove all dropdown options:\n for (var j = selectElement.options.length - 1; j >= 0; j--) {\n selectElement.remove(j);\n } // Create empty first item:\n\n\n var firstOpt = document.createElement(\"option\");\n firstOpt.innerText = placeholder ? placeholder : \"- All Records -\";\n firstOpt.value = \"\";\n selectElement.appendChild(firstOpt); // Create option elements based on data:\n\n for (var i = 0; i < data.length; i++) {\n if (data[i].abbreviation) {\n var opt = document.createElement(\"option\");\n opt.value = data[i].abbreviation;\n opt.innerText = data[i].value || data[i].name;\n\n if (data[i].abbreviation === 'US') {\n // move USA to top of optionsList\n selectElement.insertBefore(opt, selectElement[1]);\n } else {\n selectElement.appendChild(opt);\n }\n }\n }\n }\n }, {\n key: \"_GetMonthBaseOnLocale\",\n value: function _GetMonthBaseOnLocale(idx) {\n var objDate = new Date();\n objDate.setDate(1);\n objDate.setMonth(idx - 1);\n var month = objDate.toLocaleString(this._locale, {\n month: \"long\"\n });\n return month;\n }\n }, {\n key: \"BuildMonthsList\",\n value: function BuildMonthsList(selectElement, placeholder) {\n // Remove all dropdown options:\n for (var j = selectElement.options.length - 1; j >= 0; j--) {\n selectElement.remove(j);\n } // Create empty first item:\n\n\n var firstOpt = document.createElement(\"option\");\n firstOpt.innerText = placeholder ? placeholder : \"- All Records -\";\n firstOpt.value = \"\";\n selectElement.appendChild(firstOpt);\n this._locale = I18N.GetCurrentLocale();\n var monthNames = [];\n\n for (var m = 1; m <= 12; m++) {\n monthNames.push(this._GetMonthBaseOnLocale(m));\n }\n\n for (var i = 0; i < monthNames.length; i++) {\n var opt = document.createElement(\"option\");\n opt.value = i + 1;\n opt.innerText = monthNames[i];\n selectElement.appendChild(opt);\n }\n } // istanbul ignore next\n\n }, {\n key: \"GetCurrentMonth\",\n value: function GetCurrentMonth() {\n var date = new Date();\n return date.getMonth() + 1;\n }\n }, {\n key: \"ReduceMonthDropDown\",\n value: function ReduceMonthDropDown(selectElement, numberOfMonthsOut) {\n var month = this.GetCurrentMonth();\n var keptMonths = [];\n var monthValue = 0;\n\n for (var rr = 0; rr < numberOfMonthsOut; rr++) {\n monthValue = month + rr;\n\n if (monthValue > 12) {\n monthValue = monthValue - 12;\n }\n\n keptMonths.push(monthValue);\n }\n\n Array.from(selectElement.querySelectorAll(\"option\")).forEach(function (opt) {\n var value = opt.value;\n var monthNumber = Number(\"+\".concat(value));\n\n if (!!value && !keptMonths.includes(monthNumber)) {\n opt.disabled = true;\n opt.style.color = \"#C0C0C0\";\n }\n });\n }\n }]);\n\n return DropdownBuilder;\n}();","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nexport var FormManager = /*#__PURE__*/function () {\n // Constructor:\n function FormManager(form) {\n _classCallCheck(this, FormManager);\n\n this._form = form;\n this._isDirty = false;\n this._handleUnloadPageFunction = null;\n\n this._wireupValidation();\n\n this._form.setAttribute(\"novalidate\", true);\n }\n\n _createClass(FormManager, [{\n key: \"Dispose\",\n value: function Dispose() {\n if (this._handleUnloadPageFunction != null) {\n window.removeEventListener(\"beforeunload\", this._handleUnloadPageFunction);\n }\n } // Method for checking validity of entire form:\n\n }, {\n key: \"IsValid\",\n value: function IsValid() {\n var isValid = true;\n\n var _iterator = _createForOfIteratorHelper(this._form.elements),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var field = _step.value;\n\n if (field.type != \"submit\" && field.type != \"reset\" && field.type != \"hidden\" && field.type != \"button\" && !field.disabled) {\n if (!this.ValidateField(field)) {\n isValid = false;\n }\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return isValid;\n }\n }, {\n key: \"SetIsDirty\",\n value: function SetIsDirty(value) {\n this._isDirty = value;\n } // Method for checking validity of particular form field\n\n }, {\n key: \"ValidateField\",\n value: function ValidateField(field) {\n var isValid = true;\n\n if (!!field.dataset.ignoreValidation) {\n return true;\n }\n\n var requiredMessage = field.dataset.requiredMessage || \"Required\";\n var invalidMessage = field.dataset.invalidMessage || \"Invalid format\";\n field.setAttribute('value', field.value); // Format validation:\n\n if (field.type == \"date\" && !!field.getAttribute(\"min\") && new Date(field.getAttribute(\"min\")) > new Date(field.value)) {\n this._setInvalid(field, invalidMessage);\n\n isValid = false;\n } else if (field.type == \"date\" && !!field.getAttribute(\"max\") && new Date(field.value) > new Date(field.getAttribute(\"max\"))) {\n this._setInvalid(field, invalidMessage);\n\n isValid = false;\n } else if (field.type != \"date\" && !!field.getAttribute(\"min\") && field.getAttribute(\"min\") > field.value.length) {\n this._setInvalid(field, invalidMessage);\n\n isValid = false;\n } else if (field.type != \"date\" && !!field.getAttribute(\"max\") && field.value.length > field.getAttribute(\"max\")) {\n this._setInvalid(field, invalidMessage);\n\n isValid = false;\n } else if (!!field.getAttribute(\"maxlength\") && field.value.length > field.getAttribute(\"maxlength\")) {\n this._setInvalid(field, invalidMessage);\n\n isValid = false;\n } else if (field.type === \"tel\" && field.value.length > 0 && field.value[0] !== '+' && !FormManager.PHONE_REGEX.test(field.value)) {\n this._setInvalid(field, invalidMessage);\n\n isValid = false;\n } else if (field.type === \"email\" && field.value.length > 0 && !FormManager.EMAIL_REGEX.test(field.value)) {\n this._setInvalid(field, invalidMessage);\n\n isValid = false;\n } else {\n this._setValid(field);\n } // Story: Make email required if phone is empty (and vice-versa)\n // Alternate field dependency (must have required attribute and require-if-blank=\"<alternate field name>\")\n // i.e. This field is required if the provided field is not populated\n\n\n var dependencyPassed = true;\n\n if (!!field.dataset.requireIfBlank) {\n var $dependentField = this._form.querySelector(\"[name=\\\"\".concat(field.dataset.requireIfBlank, \"\\\"]\"));\n\n if (!!$dependentField) {\n dependencyPassed = !this._checkRequired($dependentField);\n }\n } // Parent field dependency (must have required attribute and require-if=\"<parent field name>\")\n // i.e. This field is required if the provided field is populated\n\n\n if (!!field.dataset.requireIf) {\n var $parentField = this._form.querySelector(\"[name=\\\"\".concat(field.dataset.requireIf, \"\\\"]\"));\n\n if (!!$parentField) {\n dependencyPassed = this._checkRequired($parentField);\n }\n } // Required validation:\n\n\n if (field.getAttribute(\"required\") != null && isValid == true && dependencyPassed == true) {\n isValid = this._checkRequired(field);\n\n if (!isValid) {\n this._setInvalid(field, requiredMessage);\n } else {\n this._setValid(field);\n }\n }\n\n return isValid;\n } // Method for resetting form after a successful submission\n\n }, {\n key: \"Reset\",\n value: function Reset() {\n var form = this._form;\n form.reset(); // TODO: remove when we figure out why reset() doesn't work for group-details contactForm\n\n this.ResetFormValues();\n this.SetIsDirty(false);\n }\n }, {\n key: \"ResetValidationMessages\",\n value: function ResetValidationMessages() {\n var form = this._form;\n\n for (var i = 0; i < form.length; i++) {\n var formElement = form.elements[i];\n\n switch (formElement.type) {\n case 'submit':\n case 'hidden':\n case 'reset':\n case 'button':\n // Do not reset value when type is one of above\n break;\n\n default:\n formElement.parentElement.classList.remove(FormManager.FIELD_CONTAINER_VALID_CLASSNAME);\n formElement.parentElement.classList.remove(FormManager.FIELD_CONTAINER_INVALID_CLASSNAME);\n\n this._clearMessages(formElement);\n\n }\n }\n } // Resets form element values to empty string\n\n }, {\n key: \"ResetFormValues\",\n value: function ResetFormValues() {\n var form = this._form;\n\n for (var i = 0; i < form.length; i++) {\n var formElement = form.elements[i];\n\n switch (formElement.type) {\n case 'submit':\n case 'hidden':\n case 'reset':\n case 'button':\n // Do not reset value when type is one of above\n break;\n\n default:\n formElement.setAttribute('value', '');\n formElement.parentElement.classList.remove(FormManager.FIELD_CONTAINER_VALID_CLASSNAME);\n formElement.parentElement.classList.remove(FormManager.FIELD_CONTAINER_INVALID_CLASSNAME);\n\n this._clearMessages(formElement);\n\n if (formElement.type === 'textarea') {//formElement.parentElement.lastElementChild.innerHTML = '';\n }\n\n }\n }\n } //Private methods:\n\n }, {\n key: \"_checkRequired\",\n value: function _checkRequired(field) {\n var isValid = true;\n\n switch (field.type) {\n case \"checkbox\":\n if (!!field.dataset.checkboxGroup) {\n // At least one checkbox in group satisfies requirement:\n isValid = this._form.querySelectorAll(\"input[data-checkbox-group='\".concat(field.dataset.checkboxGroup, \"']:checked\")).length > 0;\n } else {\n isValid = field.checked;\n }\n\n break;\n\n case \"radio\":\n isValid = this._form.querySelectorAll(\"input[name='\".concat(field.name, \"']:checked\")).length > 0;\n break;\n\n case \"select-one\":\n case \"select-multiple\":\n isValid = !!field.value;\n break;\n\n default:\n isValid = field.value.length > 0;\n }\n\n return isValid;\n }\n }, {\n key: \"_wireupValidation\",\n value: function _wireupValidation() {\n var _this = this;\n\n //Notify user when user is navigating away from dirty form:\n this._handleUnloadPageFunction = function (event) {\n if (!!_this._isDirty) {\n event.returnValue = true; // Browsers no longer display this custom message\n\n return \"Are you sure you want to navigate away from this page? Changes made will not be saved.\";\n }\n };\n\n window.addEventListener(\"beforeunload\", this._handleUnloadPageFunction); //Immediately validate each field on change:\n\n var allElements = this._form.elements;\n Array.from(allElements).forEach(function (element) {\n element.addEventListener(\"change\", function () {\n _this.ValidateField(element);\n\n _this.SetIsDirty(true); //Validate dependent fields:\n\n\n if (!!element.dataset.requireIfBlank) {\n var dependentField = _this._form.querySelector(\"[name=\\\"\".concat(element.dataset.requireIfBlank, \"\\\"]\"));\n\n if (!!dependentField) {\n _this.ValidateField(dependentField);\n }\n }\n\n if (!!element.dataset.requireIf) {\n var parentField = _this._form.querySelector(\"[name=\\\"\".concat(element.dataset.requireIf, \"\\\"]\"));\n\n if (!!parentField) {\n _this.ValidateField(parentField);\n }\n }\n });\n }); // Counter for text areas:\n\n var textAreas = this._form.querySelectorAll(\"textarea\");\n\n Array.from(textAreas).forEach(function (element) {\n element.addEventListener(\"keyup\", function () {\n var characterCount = element.value.length;\n var maxCount = element.getAttribute('maxlength') || 500;\n var counterDiv = element.nextElementSibling.nextElementSibling; // standardize placement of structure for nextElementSibling\n\n if (!!counterDiv && counterDiv.classList.contains(FormManager.TEXTAREA_COUNTER_CLASSNAME)) {\n if (characterCount > 0) {\n counterDiv.innerText = \"\".concat(characterCount, \" / \").concat(maxCount);\n } else {\n counterDiv.innerText = '';\n }\n }\n });\n }); // Counter for input text boxes\n // Right now only used in mpp-custom-forms\n\n var textInputs = this._form.querySelectorAll('[data-input-text-counter]');\n\n Array.from(textInputs).forEach(function (element) {\n element.addEventListener(\"keyup\", function () {\n var characterCount = element.value.length;\n var maxCount = element.getAttribute('maxlength') || 500;\n var counterDiv = element.nextElementSibling.nextElementSibling; // standardize placement of structure for nextElementSibling\n\n if (!!counterDiv && counterDiv.classList.contains(FormManager.TEXTAREA_COUNTER_CLASSNAME)) {\n if (characterCount > 0) {\n counterDiv.innerText = \"\".concat(characterCount, \" / \").concat(maxCount);\n } else {\n counterDiv.innerText = '';\n }\n }\n });\n }); // Mask for phone numbers:\n\n var phoneFields = this._form.querySelectorAll(\"input[type='tel']\");\n\n Array.from(phoneFields).forEach(function (element) {\n element.addEventListener(\"input\", function (e) {\n if (!e.target.value.startsWith(\"+\")) {\n var x = e.target.value.replace(/\\D/g, '');\n\n if (x.length > 10) {\n x = x.match(/(\\d{0,1})(\\d{0,3})(\\d{0,3})(\\d{0,4})/);\n e.target.value = !x[2] ? x[1] : x[1] + '-' + x[2] + (x[3] ? '-' + x[3] : '') + (x[4] ? '-' + x[4] : '');\n } else {\n x = x.match(/(\\d{0,3})(\\d{0,3})(\\d{0,4})/);\n e.target.value = !x[2] ? x[1] : x[1] + '-' + x[2] + (x[3] ? '-' + x[3] : '');\n }\n } else {\n var y = e.target.value.replace(/[^0-9\\+\\-]/g, '');\n e.target.value = y;\n }\n });\n });\n }\n }, {\n key: \"_setInvalid\",\n value: function _setInvalid(field, message) {\n var formField = field.closest(\".\".concat(FormManager.FIELD_CONTAINER_CLASSNAME));\n var formFieldAlt = field.closest(\".\".concat(FormManager.FIELD_CONTAINER_CLASSNAME_ALT));\n var existingMessageDiv = formField === null ? formFieldAlt.nextSibling : formField.nextSibling;\n\n if (!!existingMessageDiv && !!existingMessageDiv.classList && existingMessageDiv.classList.contains(FormManager.MESSAGE_CONTAINER_CLASSNAME)) {\n existingMessageDiv.parentNode.removeChild(existingMessageDiv);\n }\n\n if (!!formField) {\n formField.classList.remove(FormManager.FIELD_CONTAINER_VALID_CLASSNAME);\n formField.classList.add(FormManager.FIELD_CONTAINER_INVALID_CLASSNAME);\n } else {\n formFieldAlt.classList.remove(FormManager.FIELD_CONTAINER_VALID_CLASSNAME);\n formFieldAlt.classList.add(FormManager.FIELD_CONTAINER_INVALID_CLASSNAME);\n }\n\n if (message !== \"\") {\n var messageDiv = document.createElement(\"div\");\n messageDiv.setAttribute(\"class\", FormManager.MESSAGE_CONTAINER_CLASSNAME);\n messageDiv.innerHTML = \"<label class=\\\"mppw-form-field__message--is-invalid\\\">\".concat(message, \"</label>\");\n\n if (!!formField) {\n formField.parentNode.insertBefore(messageDiv, formField.nextSibling);\n } else {\n formFieldAlt.parentNode.insertBefore(messageDiv, formFieldAlt.nextSibling);\n }\n }\n }\n }, {\n key: \"_setValid\",\n value: function _setValid(field) {\n var formField = field.closest(\".\".concat(FormManager.FIELD_CONTAINER_CLASSNAME));\n var formFieldAlt = field.closest(\".\".concat(FormManager.FIELD_CONTAINER_CLASSNAME_ALT));\n var existingMessageDiv = formField === null ? formFieldAlt.nextSibling : formField.nextSibling;\n\n if (!!existingMessageDiv && !!existingMessageDiv.classList && existingMessageDiv.classList.contains(FormManager.MESSAGE_CONTAINER_CLASSNAME)) {\n existingMessageDiv.parentNode.removeChild(existingMessageDiv);\n }\n\n if (!!formField) {\n formField.classList.remove(FormManager.FIELD_CONTAINER_INVALID_CLASSNAME);\n formField.classList.add(FormManager.FIELD_CONTAINER_VALID_CLASSNAME);\n } else {\n formFieldAlt.classList.remove(FormManager.FIELD_CONTAINER_INVALID_CLASSNAME);\n formFieldAlt.classList.add(FormManager.FIELD_CONTAINER_VALID_CLASSNAME);\n }\n }\n }, {\n key: \"_clearMessages\",\n value: function _clearMessages(field) {\n var formField = field.closest(\".\".concat(FormManager.FIELD_CONTAINER_CLASSNAME));\n var formFieldAlt = field.closest(\".\".concat(FormManager.FIELD_CONTAINER_CLASSNAME_ALT));\n var existingMessageDiv = formField === null ? formFieldAlt.nextSibling : formField.nextSibling;\n\n if (!!existingMessageDiv && !!existingMessageDiv.classList && existingMessageDiv.classList.contains(FormManager.MESSAGE_CONTAINER_CLASSNAME)) {\n existingMessageDiv.parentNode.removeChild(existingMessageDiv);\n }\n\n if (!!formField) {\n formField.classList.remove(FormManager.FIELD_CONTAINER_INVALID_CLASSNAME);\n formField.classList.remove(FormManager.FIELD_CONTAINER_VALID_CLASSNAME);\n } else {\n formFieldAlt.classList.remove(FormManager.FIELD_CONTAINER_INVALID_CLASSNAME);\n formFieldAlt.classList.remove(FormManager.FIELD_CONTAINER_VALID_CLASSNAME);\n }\n }\n }], [{\n key: \"TEXTAREA_COUNTER_CLASSNAME\",\n get: //Constants:\n function get() {\n return \"mppw-textarea-counter\";\n }\n }, {\n key: \"MESSAGE_CONTAINER_CLASSNAME\",\n get: function get() {\n return \"mppw-form-field__message_container\";\n }\n }, {\n key: \"FIELD_CONTAINER_CLASSNAME\",\n get: function get() {\n return \"mppw-form-field\";\n }\n }, {\n key: \"FIELD_CONTAINER_CLASSNAME_ALT\",\n get: function get() {\n return \"mppw-form-field-alt\";\n }\n }, {\n key: \"FIELD_CONTAINER_VALID_CLASSNAME\",\n get: function get() {\n return \"mppw-form-field--is-valid\";\n }\n }, {\n key: \"FIELD_CONTAINER_INVALID_CLASSNAME\",\n get: function get() {\n return \"mppw-form-field--is-invalid\";\n }\n }, {\n key: \"EMAIL_REGEX\",\n get: function get() {\n return /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n }\n }, {\n key: \"PHONE_REGEX\",\n get: function get() {\n return /^((\\d{3}-\\d{3}-\\d{4}( x\\d+)?)|(\\d{11}( x\\d+)?)|(\\+\\d.*))$/;\n }\n }]);\n\n return FormManager;\n}();","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\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.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*jshint esversion: 6 */\nimport { StringUtils } from \"./StringUtils\";\nexport var DateTimeFormatter = /*#__PURE__*/function () {\n function DateTimeFormatter() {\n _classCallCheck(this, DateTimeFormatter);\n\n this._locale = localStorage.userLocale || \"en\";\n this._dayMonthOptions = {\n month: 'short',\n day: 'numeric'\n };\n this._shortOptions = {\n weekday: 'short',\n year: 'numeric',\n month: 'short',\n day: 'numeric'\n };\n this._timeOptions = {\n hour: 'numeric',\n minute: '2-digit'\n };\n this._weekDays = ['Sundays', 'Mondays', 'Tuesdays', 'Wednesdays', 'Thursdays', 'Fridays', 'Saturdays'];\n }\n /**\r\n * This function is needed to normalize date/time string value without timezone offset specified\r\n * which causes issues in Safari browsers\r\n * @param {*} dateValue - date time string\r\n */\n\n\n _createClass(DateTimeFormatter, [{\n key: \"NormalizeDateTime\",\n value: function NormalizeDateTime(dateValue) {\n if (!dateValue) return null;\n var parts = dateValue.split(/[^0-9]/).map(Number);\n\n var _parts = _slicedToArray(parts, 6),\n year = _parts[0],\n month = _parts[1],\n day = _parts[2],\n hour = _parts[3],\n minute = _parts[4],\n second = _parts[5];\n\n return parts.length >= 3 ? new Date(year, month - 1, day, hour || 0, minute || 0, second || 0) : null;\n }\n }, {\n key: \"ToShortDate\",\n value: function ToShortDate(dateValue) {\n if (!(dateValue = this.NormalizeDateTime(dateValue))) {\n return \"\";\n }\n\n var d = new Date(dateValue);\n return d.toLocaleDateString(this._locale, this._shortOptions);\n }\n }, {\n key: \"ToShortDateTime\",\n value: function ToShortDateTime(dateValue) {\n if (!(dateValue = this.NormalizeDateTime(dateValue))) {\n return \"\";\n }\n\n var d = new Date(dateValue);\n return d.toLocaleDateString(this._locale, this._shortOptions) + ' ' + d.toLocaleTimeString(this._locale, this._timeOptions);\n }\n }, {\n key: \"ToShortTime\",\n value: function ToShortTime(dateValue) {\n if (!(dateValue = this.NormalizeDateTime(dateValue))) {\n return \"\";\n }\n\n var d = new Date(dateValue);\n return d.toLocaleTimeString(this._locale, this._timeOptions);\n }\n }, {\n key: \"ToShortDateRange\",\n value: function ToShortDateRange(startDate, endDate) {\n if (!(startDate = this.NormalizeDateTime(startDate)) || !(endDate = this.NormalizeDateTime(endDate))) {\n return \"\";\n }\n\n startDate = new Date(startDate);\n endDate = new Date(endDate);\n var start = startDate.toLocaleDateString(this._locale, this._shortOptions);\n var end = endDate.toLocaleDateString(this._locale, this._shortOptions);\n return start + ' - ' + end;\n }\n }, {\n key: \"ToShortDayMonthOnlyRange\",\n value: function ToShortDayMonthOnlyRange(startDate, endDate) {\n if (!(startDate = this.NormalizeDateTime(startDate)) || !(endDate = this.NormalizeDateTime(endDate))) {\n return \"\";\n }\n\n startDate = new Date(startDate);\n endDate = new Date(endDate);\n var start = startDate.toLocaleDateString(this._locale, this._dayMonthOptions);\n var end = endDate.toLocaleDateString(this._locale, this._dayMonthOptions);\n return start + ' - ' + end;\n }\n }, {\n key: \"ToShortDateTimeRange\",\n value: function ToShortDateTimeRange(startDate, endDate) {\n if (!(startDate = this.NormalizeDateTime(startDate)) || !(endDate = this.NormalizeDateTime(endDate))) {\n return \"\";\n }\n\n startDate = new Date(startDate);\n endDate = new Date(endDate);\n var start = startDate.toLocaleDateString(this._locale, this._shortOptions);\n var end = endDate.toLocaleDateString(this._locale, this._shortOptions);\n\n if (start === end) {\n return start + ' ' + startDate.toLocaleTimeString(this._locale, this._timeOptions) + ' - ' + endDate.toLocaleTimeString(this._locale, this._timeOptions);\n } else {\n return start + ' ' + startDate.toLocaleTimeString(this._locale, this._timeOptions) + ' - ' + end + ' ' + endDate.toLocaleTimeString(this._locale, this._timeOptions);\n }\n }\n }, {\n key: \"IsInThePast\",\n value: function IsInThePast(dateValue) {\n if (!(dateValue = this.NormalizeDateTime(dateValue))) {\n return false;\n }\n\n return new Date(dateValue) < new Date();\n }\n }, {\n key: \"IsBeforeThisDate\",\n value: function IsBeforeThisDate(dateValue, dateValueToCompare) {\n if (!(dateValue = this.NormalizeDateTime(dateValue))) {\n return false;\n }\n\n if (!(dateValueToCompare = this.NormalizeDateTime(dateValueToCompare))) {\n return false;\n }\n\n return new Date(dateValue) < new Date(dateValueToCompare);\n }\n }, {\n key: \"IsAfterThisDate\",\n value: function IsAfterThisDate(dateValue, dateValueToCompare) {\n if (!(dateValue = this.NormalizeDateTime(dateValue))) {\n return false;\n }\n\n if (!(dateValueToCompare = this.NormalizeDateTime(dateValueToCompare))) {\n return false;\n }\n\n return new Date(dateValue) > new Date(dateValueToCompare);\n }\n }, {\n key: \"GetDayOfWeekFromString\",\n value: function GetDayOfWeekFromString(dayOfWeek) {\n return this._weekDays.indexOf(dayOfWeek);\n }\n }, {\n key: \"GetDayOfWeekAfterThisDate\",\n value: function GetDayOfWeekAfterThisDate(dateValue, dayOfWeek) {\n if (!(dateValue = this.NormalizeDateTime(dateValue))) {\n return false;\n }\n\n var finalDate = new Date(dateValue);\n var currentDayOfWeek = finalDate.getDay();\n var targetDayOfWeek = this.GetDayOfWeekFromString(dayOfWeek);\n\n while (currentDayOfWeek !== targetDayOfWeek) {\n finalDate.setDate(finalDate.getDate() + 1);\n currentDayOfWeek = finalDate.getDay();\n }\n\n return finalDate;\n }\n }, {\n key: \"ToShortDateFormatted\",\n value: function ToShortDateFormatted(dateValue) {\n var standardFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!(dateValue = this.NormalizeDateTime(dateValue))) {\n return false;\n }\n\n var d = dateValue ? new Date(dateValue) : new Date();\n var dd = d.getDate();\n var mm = d.getMonth() + 1;\n var yyyy = d.getFullYear();\n\n if (dd < 10) {\n dd = '0' + dd;\n }\n\n if (mm < 10) {\n mm = '0' + mm;\n }\n\n if (standardFormat === true) {\n return mm + '/' + dd + '/' + yyyy;\n } else {\n return yyyy + '-' + mm + '-' + dd;\n }\n }\n }, {\n key: \"MonthDiff\",\n value: function MonthDiff(a, b) {\n if (a.getDate() < b.getDate()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -this.MonthDiff(b, a);\n } // difference in months\n\n\n var wholeMonthDiff = (b.getFullYear() - a.getFullYear()) * 12 + (b.getMonth() - a.getMonth()); // b is in (anchor - 1 month, anchor + 1 month)\n\n var clonedA = new Date(a);\n var anchor = clonedA.setMonth(clonedA.getMonth() + wholeMonthDiff);\n var anchor2;\n var adjust;\n\n if (b - anchor < 0) {\n var cloned2A = new Date(a);\n anchor2 = cloned2A.setMonth(cloned2A.getMonth() + wholeMonthDiff - 1); // linear across the month\n\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n var _cloned2A = new Date(a);\n\n anchor2 = _cloned2A.setMonth(_cloned2A.getMonth() + wholeMonthDiff + 1); // linear across the month\n\n adjust = (b - anchor) / (anchor2 - anchor);\n } //check for negative zero, return zero if negative zero\n\n\n return Math.floor(wholeMonthDiff + adjust) || 0;\n }\n }, {\n key: \"YearDiff\",\n value: function YearDiff(a, b) {\n return Math.floor(this.MonthDiff(a, b) / 12);\n }\n }]);\n\n return DateTimeFormatter;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*jshint esversion: 6 */\nexport var TextFormatter = /*#__PURE__*/function () {\n function TextFormatter(value) {\n _classCallCheck(this, TextFormatter);\n\n this._value = !!value ? String(value) : \"\";\n }\n /**\r\n * This function is needed to honor line breaks\r\n * @param {*} textValue - string\r\n */\n\n\n _createClass(TextFormatter, [{\n key: \"addLineBreaks\",\n value: function addLineBreaks() {\n return this._value.replace(/(?:\\r\\n|\\r|\\n)/g, \"<br />\");\n }\n }]);\n\n return TextFormatter;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\r\n * GoogleMapsApi\r\n * Class to load google maps api with api key\r\n * and global Callback to init map after resolution of promise.\r\n *\r\n * @exports {GoogleMapsApi}\r\n * @example MapApi = new GoogleMapsApi();\r\n *\t\t MapApi.load().then(() => {});\r\n */\nvar GoogleMapsApi = /*#__PURE__*/function () {\n /**\r\n * Constructor\r\n * @property {string} apiKey\r\n * @property {string} callbackName\r\n */\n function GoogleMapsApi(gApiKey) {\n _classCallCheck(this, GoogleMapsApi);\n\n // api key for google maps\n this.apiKey = gApiKey; // Set global callback\n\n if (!window._GoogleMapsApi) {\n this.callbackName = '_GoogleMapsApi.mapLoaded';\n window._GoogleMapsApi = this;\n window._GoogleMapsApi.mapLoaded = this.mapLoaded.bind(this);\n }\n }\n /**\r\n * Load\r\n * Create script element with google maps\r\n * api url, containing api key and callback for\r\n * map init.\r\n * @return {promise}\r\n * @this {_GoogleMapsApi}\r\n */\n\n\n _createClass(GoogleMapsApi, [{\n key: \"load\",\n value: function load() {\n var _this = this;\n\n if (!this.promise) {\n this.promise = new Promise(function (resolve) {\n _this.resolve = resolve;\n\n if (typeof window.google === 'undefined') {\n var script = document.createElement('script');\n script.src = \"//maps.googleapis.com/maps/api/js?key=\".concat(_this.apiKey, \"&callback=\").concat(_this.callbackName);\n script.async = true;\n document.body.append(script);\n } else {\n _this.resolve();\n }\n });\n }\n\n return this.promise;\n }\n /**\r\n * mapLoaded\r\n * Global callback for loaded/resolved map instance.\r\n * @this {_GoogleMapsApi}\r\n *\r\n */\n\n }, {\n key: \"mapLoaded\",\n value: function mapLoaded() {\n if (this.resolve) {\n this.resolve();\n }\n }\n }]);\n\n return GoogleMapsApi;\n}();\n\nexport default GoogleMapsApi;","export var stylers = {\n /**\r\n * Map Styler JSON\r\n */\n styles: [{\n \"featureType\": \"administrative\",\n \"elementType\": \"labels.text.fill\",\n \"stylers\": [{\n \"color\": \"#444444\"\n }]\n }, {\n \"featureType\": \"landscape\",\n \"elementType\": \"all\",\n \"stylers\": [{\n \"color\": \"#f2f2f2\"\n }]\n }, {\n \"featureType\": \"landscape.natural.landcover\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [{\n \"visibility\": \"simplified\"\n }]\n }, {\n \"featureType\": \"poi\",\n \"elementType\": \"all\",\n \"stylers\": [{\n \"visibility\": \"off\"\n }]\n }, {\n \"featureType\": \"road\",\n \"elementType\": \"all\",\n \"stylers\": [{\n \"saturation\": -100\n }, {\n \"lightness\": 45\n }]\n }, {\n \"featureType\": \"road.highway\",\n \"elementType\": \"all\",\n \"stylers\": [{\n \"visibility\": \"simplified\"\n }]\n }, {\n \"featureType\": \"road.highway\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [{\n \"color\": \"#ffffff\"\n }]\n }, {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [{\n \"visibility\": \"off\"\n }]\n }, {\n \"featureType\": \"transit\",\n \"elementType\": \"all\",\n \"stylers\": [{\n \"visibility\": \"off\"\n }]\n }, {\n \"featureType\": \"water\",\n \"elementType\": \"all\",\n \"stylers\": [{\n \"color\": \"#dde6e8\"\n }, {\n \"visibility\": \"on\"\n }]\n }],\n\n /**\r\n * Map Icon/Pin SVG\r\n * SVG is base64 encoded.\r\n */\n icons: {\n red: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzVweCIgaGVpZ2h0PSI0M3B4IiB2aWV3Qm94PSIwIDAgMzUgNDMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUxLjMgKDU3NTQ0KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5QaW4gLSBPUiBDb3B5IDM8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBkPSJNNjgyLDM3MSBMNjgyLDM4MCBMNjczLDM3MSBMNjU5LDM3MSBMNjU5LDM0OCBMNjgyLDM0OCBMNjgyLDM3MSBaIiBpZD0icGF0aC0xIj48L3BhdGg+CiAgICAgICAgPGZpbHRlciB4PSItNDMuNSUiIHk9Ii0yNS4wJSIgd2lkdGg9IjE4Ny4wJSIgaGVpZ2h0PSIxNjIuNSUiIGZpbHRlclVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgaWQ9ImZpbHRlci0yIj4KICAgICAgICAgICAgPGZlT2Zmc2V0IGR4PSIwIiBkeT0iMiIgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9InNoYWRvd09mZnNldE91dGVyMSI+PC9mZU9mZnNldD4KICAgICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMyIgaW49InNoYWRvd09mZnNldE91dGVyMSIgcmVzdWx0PSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlR2F1c3NpYW5CbHVyPgogICAgICAgICAgICA8ZmVDb2xvck1hdHJpeCB2YWx1ZXM9IjAgMCAwIDAgMC4yMTE3NjQ3MDYgICAwIDAgMCAwIDAuMjA3ODQzMTM3ICAgMCAwIDAgMCAwLjIxNTY4NjI3NSAgMCAwIDAgMC4yNCAwIiB0eXBlPSJtYXRyaXgiIGluPSJzaGFkb3dCbHVyT3V0ZXIxIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgPC9maWx0ZXI+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0i8J+OqC1EZXNpZ24iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJQcm9mZXNzaW9uYWwtRGV0YWlsLS0tQ3JpZGVyYS0iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04OTAuMDAwMDAwLCAtNDE5MS4wMDAwMDApIiBmaWxsLXJ1bGU9Im5vbnplcm8iPgogICAgICAgICAgICA8ZyBpZD0iUHJvcGVydGllcy1NYXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLjAwMDAwMCwgMzUzMy4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJMb2NhdGlvbnMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE4Ny4wMDAwMDAsIDMxNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iUGlucyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJQaW4tLS1PUi1Db3B5LTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIxIiBmaWx0ZXI9InVybCgjZmlsdGVyLTIpIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgZmlsbD0iI0UwNDQwMyIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg=='\n }\n};","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport GoogleMapsApi from \"../Maps/GMapsApi\";\nimport { stylers } from \"../Maps/stylers\";\nimport markerTmpl from \"../Maps/marker.tmpl\";\nimport { Configuration } from \"../Shared/Configuration\";\nvar _googleMapsLink = \" https://maps.google.com/?q=\";\nexport var MapBuilder = /*#__PURE__*/function () {\n function MapBuilder() {\n _classCallCheck(this, MapBuilder);\n }\n\n _createClass(MapBuilder, null, [{\n key: \"DrawMap\",\n value: function DrawMap(element, addressData) {\n var _this = this;\n\n var config = new Configuration();\n config.GetConfigurationSetting(\"GoogleMapsAPIKey\").then(function (gApiKey) {\n var gmapApi = new GoogleMapsApi(gApiKey); // Call map renderer\n\n gmapApi.load().then(function () {\n _this._renderMap(element, addressData);\n });\n });\n }\n }, {\n key: \"GetGoogleMapsLink\",\n value: function GetGoogleMapsLink(data) {\n var mapsLink = \"\";\n\n if (!!data && data.addressId > 0 && !!data.addressLine1) {\n var encodedParameters = encodeURI(\"\".concat(data.addressLine1, \"+\").concat(data.city, \"+\").concat(data.state, \"+\").concat(data.postalCode));\n\n var _mapsLink = \"\".concat(_googleMapsLink).concat(encodedParameters);\n\n return _mapsLink;\n }\n\n return mapsLink;\n }\n /**\r\n * Render Map\r\n * @param {map obj} mapEl - Google Map\r\n * @param {obj} data - map data\r\n */\n\n }, {\n key: \"_renderMap\",\n value: function _renderMap(mapEl, data) {\n var options = {\n mapTypeId: google.maps.MapTypeId.ROADMAP,\n styles: stylers.styles,\n zoom: data.zoom,\n center: {\n lat: data.lat,\n lng: data.lng\n }\n };\n var map = new google.maps.Map(mapEl, options);\n\n this._renderMarker(map, data);\n }\n /**\r\n * Render Marker\r\n * Renders custom map marker and infowindow\r\n * @param {map element} mapEl\r\n * @param {object} data\r\n */\n\n }, {\n key: \"_renderMarker\",\n value: function _renderMarker(map, data) {\n var icon = {\n url: stylers.icons.red,\n scaledSize: new google.maps.Size(80, 80)\n };\n var tmpl = markerTmpl(data);\n var marker = new google.maps.Marker({\n position: new google.maps.LatLng(data.lat, data.lng),\n map: map,\n //icon: icon,\n title: data.title,\n content: tmpl,\n animation: google.maps.Animation.DROP\n });\n var infowindow = new google.maps.InfoWindow();\n\n this._handleMarkerClick(map, marker, infowindow);\n }\n /**\r\n * Handle Marker Click\r\n *\r\n * @param {map obj} mapEl\r\n * @param {marker} marker\r\n * @param {infowindow} infoWindow\r\n */\n\n }, {\n key: \"_handleMarkerClick\",\n value: function _handleMarkerClick(map, marker, infowindow) {\n google.maps.event.addListener(marker, 'click', function () {\n infowindow.setContent(marker.content);\n infowindow.open(map, marker);\n });\n google.maps.event.addListener(map, 'click', function (event) {\n if (infowindow) {\n infowindow.close(map, infowindow);\n }\n });\n } //TODO: remove old code:\n\n }, {\n key: \"xCreateMap\",\n value: function xCreateMap(address, mapElement) {\n var geocoder = new google.maps.Geocoder();\n var latlng = new google.maps.LatLng(-34.397, 150.644);\n var myOptions = {\n zoom: 8,\n center: latlng,\n mapTypeControl: true,\n mapTypeControlOptions: {\n style: google.maps.MapTypeControlStyle.DROPDOWN_MENU\n },\n navigationControl: true,\n mapTypeId: google.maps.MapTypeId.ROADMAP\n };\n var map = new google.maps.Map(mapElement, myOptions);\n\n if (geocoder) {\n geocoder.geocode({\n 'address': address\n }, function (results, status) {\n //let locationResult = results[0];\n if (status === google.maps.GeocoderStatus.OK) {\n if (status !== google.maps.GeocoderStatus.ZERO_RESULTS) {\n map.setCenter(results[0].geometry.location);\n var infowindow = new google.maps.InfoWindow({\n content: '<b>' + address + '</b>',\n size: new google.maps.Size(150, 50)\n });\n var marker = new google.maps.Marker({\n position: results[0].geometry.location,\n map: map,\n title: address\n });\n google.maps.event.addListener(marker, 'click', function () {\n infowindow.open(map, marker);\n }); //successful\n } else {//unsuccessful\n }\n } else {//unsuccessful\n }\n });\n }\n }\n }]);\n\n return MapBuilder;\n}();","/**\r\n * Marker Template\r\n * @param {obj} data - property data/json\r\n */\nfunction markerTmpl(data) {\n var url = encodeURIComponent(data.address);\n return \"<article class=\\\"marker-box\\\">\\n\\t<div class=\\\"marker-box__wrap\\\">\\n\\t <div class=\\\"marker-box__grid\\\">\\n\\t\\t<div class=\\\"marker-box__main\\\">\\n\\t\\t <span class=\\\"marker-box__title\\\">\".concat(data.title, \"</span>\\n\\t\\t <address class=\\\"marker-box__address\\\">\\n\\t\\t\\t<span class=\\\"marker-box__address\\\">\").concat(data.address, \"</span>\\n\\t\\t </address>\\n\\t\\t <a class=\\\"marker-box__btn btn-line\\\" href=\\\"https://www.google.com/maps/place/\").concat(url, \"/\\\" target=\\\"_blank\\\">Get Directions</a>\\n\\t\\t</div>\\n\\t </div>\\n\\t</div>\\n </article>\");\n}\n\nexport default markerTmpl;","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*jshint esversion: 8 */\nimport { SessionStorageManager } from \"./SessionStorageManager\";\nimport { ArgumentException } from \"./Exceptions\";\nimport { ArgumentTypeException } from \"./Exceptions\";\nvar _keyPrefix = \"mpp-return-context_\";\n/**\r\n * For internal use. Generates a full sessionStorage key - prefix + provided key\r\n * @param {string} key Storage key\r\n * @returns {string} Generated full storage key\r\n*/\n\nvar _getKey = function _getKey(key) {\n return \"\".concat(_keyPrefix, \"_\").concat(key);\n};\n/**\r\n * Return context provider. Gets/sets context for a category of widgets\r\n */\n\n\nexport var ReturnContext = /*#__PURE__*/function () {\n function ReturnContext() {\n _classCallCheck(this, ReturnContext);\n }\n\n _createClass(ReturnContext, null, [{\n key: \"Set\",\n value:\n /**\r\n * Saves provided formData and current URL in session storage\r\n * @param {string} category Widget category\r\n * @param {FormData} formData FormData that needs to be stored\r\n * @throws {ArgumentException}\r\n * @throws {ArgumentTypeException}\r\n */\n function Set(category, formData) {\n if (!category) {\n throw new ArgumentException(\"category\");\n }\n\n if (typeof category !== \"string\") {\n throw new ArgumentTypeException(\"category\");\n }\n\n if (!formData) {\n throw new ArgumentException(\"formData\");\n }\n\n if (_typeof(formData) !== \"object\" || !(formData instanceof FormData)) {\n throw new ArgumentTypeException(\"formData\");\n }\n\n SessionStorageManager.clear(_keyPrefix);\n var formDataObject = {};\n\n var _iterator = _createForOfIteratorHelper(formData.entries()),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var pair = _step.value;\n formDataObject[pair[0]] = !!formDataObject[pair[0]] ? formDataObject[pair[0]] + \",\" + pair[1] : pair[1];\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var item = JSON.stringify({\n Url: window.location.href,\n FormData: formDataObject\n });\n SessionStorageManager.setItem(_getKey(category), item);\n }\n /**\r\n * Retrieves context for provided category from session storage\r\n * @param {string} category Widget category\r\n * @returns {object} If available returns object { url, formData }, if not - returns null\r\n * @throws {ArgumentException}\r\n * @throws {ArgumentTypeException}\r\n */\n\n }, {\n key: \"Get\",\n value: function Get(category) {\n if (!category) {\n throw new ArgumentException(\"category\");\n }\n\n if (typeof category !== \"string\") {\n throw new ArgumentTypeException(\"category\");\n }\n\n var item = SessionStorageManager.getItem(_getKey(category));\n return JSON.parse(item);\n }\n /**\r\n * Gets widget categories\r\n * @returns {object} JSON object {category, categoryName}\r\n */\n\n }, {\n key: \"Categories\",\n get: function get() {\n return {\n Groups: \"Groups\",\n Events: \"Events\",\n Opportunities: \"Opportunities\",\n OnlineDirectory: \"OnlineDirectory\",\n None: \"None\"\n };\n }\n /**\r\n * Apllies object values to the specified form element\r\n * @param {object} formData JSON object key/value pairs\r\n * @param {Form} form Form element\r\n * @returns {boolean} Indicates if hidden container should be open\r\n * @throws {ArgumentException}\r\n */\n\n }, {\n key: \"ApplyFilter\",\n value: function ApplyFilter(formData, form, hiddenContainer) {\n var inHiddenContainer = false;\n\n if (!formData) {\n throw new ArgumentException(\"formData\");\n }\n\n if (!form) {\n throw new ArgumentException(\"form\");\n }\n\n var formElements = [];\n\n for (var i = 0; i < form.elements.length; i++) {\n formElements.push(form.elements[i]);\n }\n\n var _loop = function _loop(key) {\n value = formData[key];\n var formElementMatches = formElements.filter(function (item) {\n return item.name == key;\n });\n\n for (var _i = 0; _i < formElementMatches.length; _i++) {\n var formElement = formElementMatches[_i];\n\n if (!!formElement) {\n var changed = false;\n\n if (formElement.type === \"checkbox\") {\n var checked = value.split(\",\").includes(formElement.value);\n\n if (formElement.checked != checked) {\n formElement.checked = checked;\n changed = true;\n }\n } else {\n if (formElement.value != value) {\n formElement.value = value;\n changed = true;\n }\n }\n\n if (!inHiddenContainer && changed) {\n if (!!hiddenContainer && hiddenContainer.contains(formElement)) {\n hiddenContainer.style.display = \"\";\n inHiddenContainer = true;\n }\n }\n }\n }\n };\n\n for (var key in formData) {\n var value;\n\n _loop(key);\n }\n\n return inHiddenContainer;\n }\n }]);\n\n return ReturnContext;\n}();","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*jshint esversion: 8 */\nimport { Configuration } from \"../Shared/Configuration\";\nimport { DateTimeFormatter } from \"./DateTimeFormatter\";\nimport { TextFormatter } from \"./TextFormatter\";\nimport { MapBuilder } from \"./MapBuilder\";\nimport { ReturnContext } from \"../Shared/ReturnContextProvider\";\nexport var InnerPageBuilder = /*#__PURE__*/function () {\n function InnerPageBuilder() {\n _classCallCheck(this, InnerPageBuilder);\n }\n\n _createClass(InnerPageBuilder, null, [{\n key: \"BuildGoBack\",\n value: function BuildGoBack() {\n var navLabel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Search';\n var returnUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var category = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ReturnContext.Categories.None;\n var actualReturnUrl = null;\n var returnContext = ReturnContext.Get(category);\n\n if (!!returnContext) {\n actualReturnUrl = returnContext.Url;\n }\n\n if (!actualReturnUrl) {\n actualReturnUrl = returnUrl;\n }\n\n return \"<h3 class=\\\"mpp-innerpage--back\\\"><a href=\\\"\".concat(actualReturnUrl, \"\\\"><i class=\\\"mppw-arrow back\\\"></i> \").concat(navLabel, \"</a></h3>\");\n }\n }, {\n key: \"BuildFinderDetailImage\",\n value: function BuildFinderDetailImage(imageSrc, type) {\n if (imageSrc === null || imageSrc === undefined) {\n return \"<div class=\\\"mpp-innerpage--fixed-imgcontainer mpp-innerpage--fixed-imgplaceholder\\\" style=\\\"background-image: url('\".concat(new Configuration().GetAppRoot(), \"/Content/icons/icon-\").concat(type, \".svg')\\\"></div>\");\n } else {\n return \"<div class=\\\"mpp-innerpage--fixed-imgcontainer mpp-innerpage--fixed-img\\\" style=\\\"background-image: url('\".concat(imageSrc, \"')\\\"></div>\");\n }\n }\n }, {\n key: \"BuildImage\",\n value: function BuildImage(imageSrc, type) {\n if (imageSrc === null || imageSrc === undefined) {\n return \"<img class=\\\"mpp-innerpage--placeholder\\\" src=\\\"\".concat(new Configuration().GetAppRoot(), \"/Content/icons/icon-\").concat(type, \".svg\\\" />\");\n } else {\n return \"<img class=\\\"mpp-innerpage--image\\\" src=\\\"\".concat(imageSrc, \"\\\" width=\\\"100%\\\"/>\");\n }\n }\n }, {\n key: \"BuildTitle\",\n value: function BuildTitle(headerName) {\n return \"<h1 class=\\\"mpp-innerpage--subtitle\\\">\".concat(headerName, \"</h1>\");\n }\n }, {\n key: \"BuildSubtitle\",\n value: function BuildSubtitle() {\n var headerType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var headerName = arguments.length > 1 ? arguments[1] : undefined;\n return \"<h\".concat(headerType, \" class=\\\"mpp-innerpage--subtitle\\\">\").concat(headerName, \"</h\").concat(headerType, \">\");\n }\n }, {\n key: \"BuildCustomButton\",\n value: function BuildCustomButton(targetUrl, btnText) {\n if (!!targetUrl) {\n return \"<a href=\\\"\".concat(targetUrl, \"\\\" class=\\\"mppw-btn mpp-innerpage--button primary mb-medium\\\">\").concat(btnText, \"</a>\");\n } else {\n return \"\";\n }\n }\n }, {\n key: \"BuildDateTime\",\n value: function BuildDateTime() {\n var dateTimes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var isAddToCalendar = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return \"<div class=\\\"mpp-innerpage--datetime\\\">\\n\\t\\t\\t<div class=\\\"mpp-innerpage--datetime-wrapper\\\">\\n\\t\\t\\t\\t\".concat(dateTimes.map(function (dateTime) {\n return \"<h2 class=\\\"mpp-innerpage--datetime \".concat(dateTime.className, \"\\\">\").concat(dateTime.text, \"</h2>\");\n }).join(''), \"\\n\\t\\t\\t</div>\\n\\t\\t\\t\").concat(isAddToCalendar ? \"\".concat(this.BuildButton({\n type: 'primary',\n text: 'Add to Calendar'\n })) : '', \"\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildGroupDateTime\",\n value: function BuildGroupDateTime(meetingFrequency, meetingDay, meetingTime) {\n return \"<div class=\\\"mpp-innerpage--datetime\\\">\\n\\t\\t\\t<div class=\\\"mpp-innerpage--datetime-wrapper\\\">\\n\\t\\t\\t\\t<h2 class=\\\"mpp-innerpage--datetime\\\">\".concat(!!meetingFrequency ? \"\".concat(meetingFrequency, \" on\") : '', \" \").concat(!!meetingDay ? meetingDay : '', \" \").concat(!!meetingTime && !!meetingDay ? \"@ \".concat(new DateTimeFormatter().ToShortTime(meetingTime)) : '', \"</h2>\\n\\t\\t\\t</div>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildEventDateTime\",\n value: function BuildEventDateTime(meetingDay, meetingTime, location) {\n var isAddToCalendar = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n return \"<div class=\\\"mpp-innerpage--datetime\\\">\\n\\t\\t\\t<div class=\\\"mpp-innerpage--datetime-wrapper\\\">\\n\\t\\t\\t\\t<h2 class=\\\"mpp-innerpage--datetime\\\">\".concat(meetingDay, \" @ \").concat(new DateTimeFormatter().ToShortTime(meetingTime), \"</h2>\\n\\t\\t\\t\\t\").concat(location === null ? '' : \"<h2 class=\\\"mpp-innerpage--datetime\\\">\".concat(location, \"</h2>\"), \"\\n\\t\\t\\t</div>\\n\\t\\t\\t\").concat(isAddToCalendar ? \"\".concat(this.BuildButton({\n type: 'primary',\n text: 'Add to Calendar'\n })) : '', \"\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildOpportunityDateTime\",\n value: function BuildOpportunityDateTime(startDate, meetingDay) {\n return \"<div class=\\\"mpp-innerpage--datetime\\\">\\n\\t\\t\\t<div class=\\\"mpp-innerpage--datetime-wrapper\\\">\\n\\t\\t\\t\\t<h2 class=\\\"mpp-innerpage--datetime\\\">\".concat(startDate === null ? meetingDay : new DateTimeFormatter().ToShortDateTime(startDate), \"</h2>\\n\\t\\t\\t</div>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildDescription\",\n value: function BuildDescription() {\n var description = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (description === null || description === undefined) {\n return;\n }\n\n return \"<p class=\\\"mpp-innerpage--description\\\">\\n\\t\\t\\t\".concat(new TextFormatter(description).addLineBreaks(), \"\\n\\t\\t</p>\");\n }\n }, {\n key: \"BuildSpecialText\",\n value: function BuildSpecialText() {\n var special = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var regular = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var counterText = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n if (regular === null || regular === undefined || regular === 'undefined') {\n return;\n }\n\n if (special === '' || special === null) {\n return \"<div class=\\\"mpp-innerpage--special\\\"><div class=\\\"mpp-innerpage--special-content\\\">\".concat(new TextFormatter(regular).addLineBreaks(), \" \").concat(new TextFormatter(counterText).addLineBreaks(), \"</div></div>\");\n } else {\n return \"<div class=\\\"mpp-innerpage--special\\\"><div class=\\\"mpp-innerpage--special-title\\\">\".concat(special, \"</div><div class=\\\"mpp-innerpage--special-content\\\">\").concat(new TextFormatter(regular).addLineBreaks(), \" \").concat(new TextFormatter(counterText).addLineBreaks(), \"</div></div>\");\n }\n }\n }, {\n key: \"BuildCapacityText\",\n value: function BuildCapacityText() {\n var title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n if (label === null || label === undefined || label === 'undefined') {\n return;\n }\n\n if (title === '' || title === null) {\n return \"<div class=\\\"mpp-innerpage--capacity\\\"><div class=\\\"mpp-innerpage--capacity-content\\\">\".concat(label, \"</div></div>\");\n } else {\n return \"<div class=\\\"mpp-innerpage--capacity\\\"><div class=\\\"mpp-innerpage--capacity-title\\\">\".concat(title, \"</div><div class=\\\"mpp-innerpage--capacity-content\\\">\").concat(label, \"</div></div>\");\n }\n }\n }, {\n key: \"BuildAddress\",\n value: function BuildAddress() {\n var address = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var label = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Primary Address\";\n return \"<div class=\\\"mpp-innerpage--address-container\\\">\\n\\t\\t\\t<strong class=\\\"mpp-innerpage--address-label\\\">\".concat(label, \":</strong>\\n\\t\\t\\t<ul class=\\\"mpp-innerpage--address\\\">\\n\\t\\t\\t\\t\").concat(address.filter(function (el) {\n return el !== null;\n }).map(function (line) {\n return \"<li class=\\\"mpp-innerpage--address-line\\\">\".concat(line, \"</li>\");\n }).join(''), \"\\n\\t\\t\\t</ul>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildButton\",\n value: function BuildButton(_ref) {\n var type = _ref.type,\n text = _ref.text;\n return \"<button class=\\\"mpp-innerpage--button \".concat(type, \"\\\">\").concat(text, \"</button>\");\n } // Shows or hides the element(s) passed in\n // Example: this.DisplayElements(true, this._$formContainer, this._$pageLoadingContainer);\n\n }, {\n key: \"DisplayElements\",\n value: function DisplayElements() {\n var display = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n for (var _len = arguments.length, elements = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n elements[_key - 1] = arguments[_key];\n }\n\n for (var _i = 0, _elements = elements; _i < _elements.length; _i++) {\n var element = _elements[_i];\n\n if (element) {\n // Get all inputs for the given div\n var inputElements = element.getElementsByTagName(\"input\");\n\n if (display === true) {\n // Display div\n element.style.display = \"block\"; // Remove the disabled attribute that was set below\n\n var _iterator = _createForOfIteratorHelper(inputElements),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var el = _step.value;\n el.removeAttribute(\"disabled\");\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n // Hide div\n element.style.display = \"none\"; // Add disabled to prevent form validation issues on hidden inputs\n\n var _iterator2 = _createForOfIteratorHelper(inputElements),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _el = _step2.value;\n\n _el.setAttribute(\"disabled\", true);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n }\n }\n }, {\n key: \"BuildLabels\",\n value: function BuildLabels(labels, i18n) {\n labels = labels || [];\n labels = labels.filter(function (i) {\n return i;\n });\n return \"<ul class=\\\"mpp-innerpage--labels\\\">\\n\\t\\t\\t\".concat(labels.map(function (label) {\n return \"<li class=\\\"mpp-innerpage--label\\\">\".concat(InnerPageBuilder.ApplyI18n(i18n, label), \"</li>\");\n }).join(''), \"\\n\\t\\t</ul>\");\n }\n /**\r\n * Method looks for i18n translation if label text starts with i18n_\r\n * @param {Array} i18n Array of label translations\r\n * @param {String} label Current label\r\n */\n\n }, {\n key: \"ApplyI18n\",\n value: function ApplyI18n(i18n, label) {\n var result = label;\n\n if (!!label && !!label.indexOf && label.indexOf(\"i18n_\") == 0) {\n label = label.substring(5);\n result = i18n[label];\n }\n\n return result;\n }\n }, {\n key: \"old_BuildMap\",\n value: function old_BuildMap() {\n var labels = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['8381 Katella Ave', 'Stanton, CA 90680'];\n var address = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3315.3649250590233!2d-117.9861483308044!3d33.80289458458454!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x80dd291d79475c01%3A0x6526723d8f95e53c!2s8381+Katella+Ave%2C+Stanton%2C+CA+90680!5e0!3m2!1sen!2sus!4v1537121370163\";\n // latitude and longitude as params\n return \"<div class=\\\"mpp-innerpage--map\\\">\\n\\t\\t\\t<iframe src=\\\"\".concat(address, \"\\\" frameborder=\\\"0\\\" style=\\\"border:0\\\" allowfullscreen=\\\"\\\"></iframe>\\n\\t\\t\\t<div class=\\\"mpp-innerpage--map-info\\\">\\n\\t\\t\\t\\t\").concat(labels.map(function (label) {\n return \"<p>\".concat(label, \"</p>\");\n }).join(''), \"\\n\\t\\t\\t\\t<strong><a href=\\\"#\\\">Get Directions</a></strong>\\n\\t\\t\\t</div>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildMap\",\n value: function BuildMap(address) {\n var text = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Get Directions\";\n // latitude and longitude as params\n // if latitude and longitude doesn't exist\n // directions show place\n return \"<div class=\\\"mpp-innerpage--map\\\">\\n\\t\\t\\t<div id=\\\"map\\\" style=\\\"width: 300px; height: 300px; border: solid 2px blue;\\\"></div>\\n\\t\\t\\t<div class=\\\"mpp-innerpage--map-info\\\">\\n\\t\\t\\t\\t<strong><a href=\\\"https://www.google.com/maps/place/\".concat(address, \"/\\\" target=\\\"_blank\\\">\").concat(text, \"</a></strong>\\n\\t\\t\\t</div>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildGoogleMap\",\n value: function BuildGoogleMap($mapEl, latitude, longitude, address, title) {\n var addressData = {\n lat: latitude,\n lng: longitude,\n address: address,\n title: title,\n zoom: 10\n };\n MapBuilder.DrawMap($mapEl, addressData);\n }\n }, {\n key: \"BuildMapAddress\",\n value: function BuildMapAddress(address) {\n var showAddressLabel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var text = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"Get Directions\";\n\n if (address === null || address === undefined) {\n return '';\n } else {\n if (showAddressLabel === true) {\n return \"<p>\".concat(address, \"</p>\\n\\t\\t\\t\\t<strong><a href=\\\"\").concat(this.MapsSelector(address), \"\\\" target=\\\"_blank\\\">\").concat(text, \" ></a></strong>\");\n } else {\n return \"<strong><a href=\\\"\".concat(this.MapsSelector(address), \"\\\" target=\\\"_blank\\\">\").concat(text, \" ></a></strong>\");\n }\n }\n }\n }, {\n key: \"MapsSelector\",\n value: function MapsSelector(address) {\n if (\n /* if we're on iOS, open in Apple Maps */\n navigator.platform.indexOf(\"iPhone\") != -1 || navigator.platform.indexOf(\"iPod\") != -1 || navigator.platform.indexOf(\"iPad\") != -1) {\n var iOSMapAddress = \"maps://maps.google.com/maps?daddr=\".concat(address, \"&ll=\");\n return iOSMapAddress;\n } else {\n /* else use Google */\n var mapAddress = \"https://maps.google.com/maps?daddr=\".concat(address, \"&ll=\");\n return mapAddress;\n }\n }\n }, {\n key: \"BuildProgress\",\n value: function BuildProgress() {\n var header = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '$750 of $1,000 Goal (75%)';\n var percentage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '75';\n var description = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '12 installments beginning 05/15/2019';\n return \"<div class=\\\"progress--container\\\">\\n\\t\\t\\t<h3>Progress:</h3>\\n\\t\\t\\t<h3 class=\\\"progress--subtitle\\\">\".concat(header, \"</h3>\\n\\t\\t\\t<svg class=\\\"mpp-card--progress\\\" width=\\\"100%\\\" height=\\\"15\\\">\\n\\t\\t\\t\\t<defs>\\n\\t\\t\\t\\t\\t<linearGradient id=\\\"gradient\\\">\\n\\t\\t\\t\\t\\t\\t<stop offset=\\\"0%\\\" stop-color=\\\"#1b88b0\\\" />\\n\\t\\t\\t\\t\\t\\t<stop offset=\\\"100%\\\" stop-color=\\\"#1fb5ac\\\" />\\n\\t\\t\\t\\t\\t</linearGradient>\\n\\t\\t\\t\\t</defs>\\n\\t\\t\\t\\t<g>\\n\\t\\t\\t\\t\\t<rect fill=\\\"#efefef\\\" width=\\\"100%\\\" height=\\\"15\\\"></rect>\\n\\t\\t\\t\\t\\t<rect fill=\\\"url(#gradient)\\\" width=\\\"\").concat(percentage, \"%\\\" height=\\\"15\\\"></rect>\\n\\t\\t\\t\\t</g>\\n\\t\\t\\t</svg>\\n\\t\\t\\t<p class=\\\"mpp-card--description\\\">\").concat(description, \"</p>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildContacts\",\n value: function BuildContacts() {\n var contacts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var headerName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Contact(s)\";\n var allowEmail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (contacts === undefined || contacts === null) {\n return;\n }\n\n return \"<div class=\\\"mpp-innerpage--contacts-wrapper mpp-innerpage--special\\\">\\n\\t\\t\\t<div class=\\\"mpp-innerpage--special-title\\\">\".concat(headerName, \":</div>\\n\\t\\t\\t<ul class=\\\"mpp-innerpage--contacts mpp-innerpage--special-content\\\">\\n\\t\\t\\t\\t\").concat(contacts && contacts.map(function (contact) {\n var hasEmailAddress = contact.emailAddress && contact.emailAddress !== '';\n var displayName = contact.displayName,\n imageUrl = contact.imageUrl,\n contactId = contact.contactId;\n displayName = displayName.replace(' ', '<br>');\n return \"<li class=\\\"mpp-innerpage--contact \".concat(allowEmail && hasEmailAddress ? 'mpp-innerpage--contact-has-email' : '', \"\\\" data-id=\\\"\").concat(contactId, \"\\\">\\n\\t\\t\\t\\t\\t\\t\\t<span class=\\\"mpp-innerpage--contact-badge\\\" \").concat(imageUrl ? \"style=\\\"background: center / cover url('\".concat(imageUrl, \"?$thumbnail=true') no-repeat transparent\\\">\") : \">\".concat(displayName.charAt(0)), \"</span>\\n\\t\\t\\t\\t\\t\\t\\t<span class=\\\"mpp-innerpage--name \").concat(allowEmail && hasEmailAddress ? 'mpp-innerpage--name-has-email' : '', \"\\\">\").concat(displayName, \"</span>\\n\\t\\t\\t\\t\\t\\t</li>\");\n }).join(''), \"\\n\\t\\t\\t</ul>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildPageMetadata\",\n value: function BuildPageMetadata(title) {\n var dateTimes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var description = arguments.length > 2 ? arguments[2] : undefined;\n var meetingInstructions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n return \"\\n\\t\\t<div class=\\\"mppw-row\\\">\\n\\t\\t\\t<div class=\\\"mppw-col\\\">\\n\\t\\t\\t\\t<label><strong>Title</strong></label>\\n\\t\\t\\t\\t<p>\".concat(title, \"</p>\\n\\t\\t\\t</div>\\n\\t\\t\\t <div class=\\\"mppw-col\\\">\\n\\t\\t\\t\\t<label><strong>Meeting Instructions</strong></label>\\n\\t\\t\\t\\t<p>\").concat(meetingInstructions, \"</p>\\n\\t\\t\\t</div>\\n\\t\\t</div>\\n\\t\\t<div class=\\\"mppw-row\\\">\\n\\t\\t\\t<div class=\\\"mppw-col\\\">\\n\\t\\t\\t\\t<label><strong>Date</strong></label>\\n\\t\\t\\t\\t<p>\").concat(dateTimes.map(function (dateTime) {\n return \"\".concat(dateTime);\n }).join(''), \"</p>\\n\\t\\t\\t</div>\\n\\t\\t</div>\\n\\t\\t<div class=\\\"mppw-row\\\">\\n\\t\\t\\t\\t<label><strong>Description</strong></label>\\n\\t\\t\\t\\t<p>\").concat(description, \"</p>\\n\\t\\t</div>\");\n }\n }, {\n key: \"BuildInnerPageDetails\",\n value: function BuildInnerPageDetails() {\n for (var _len2 = arguments.length, params = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n params[_key2] = arguments[_key2];\n }\n\n params = params.filter(Boolean);\n return \"<section class=\\\"mpp-innerpage\\\">\\n\\t\\t\\t\".concat(params.map(function (param) {\n return \"\".concat(param);\n }).join(''), \"\\n\\t\\t</section>\");\n } // Adds tab click event handling\n\n }, {\n key: \"BindTabEventListeners\",\n value: function BindTabEventListeners(tabElements, root) {\n var _this = this;\n\n // Add click event listener to each element\n for (var i = 0; i < tabElements.length; i++) {\n tabElements[i].addEventListener(\"click\", function (e) {\n e.preventDefault(); // Add active class to the currently selected tab\n\n var clickedTab = e.currentTarget;\n\n _this.SetActiveTab(tabElements, clickedTab.id, root);\n });\n }\n } // Set specific tab element id as active\n\n }, {\n key: \"SetActiveTab\",\n value: function SetActiveTab(tabElements, activeTabId, root) {\n // Remove active class from tabs\n for (var y = 0; y < tabElements.length; y++) {\n tabElements[y].classList.remove(\"active\");\n } // Add active class to the currently selected tab\n\n\n var activeTabElement = root.querySelector(\"#\".concat(activeTabId));\n activeTabElement.classList.add(\"active\"); // Remove active class from all content areas\n\n var tabContentAreas = root.querySelectorAll(\".mpp-form--tab-content\");\n\n for (var j = 0; j < tabContentAreas.length; j++) {\n tabContentAreas[j].classList.remove(\"active\");\n } // Add active class to the currently selected content area\n\n\n var activeContentArea = root.querySelector(\".\".concat(activeTabId));\n activeContentArea.classList.add(\"active\");\n } // Hide all tabs in tabsToHideArray which is an array of html element id's\n\n }, {\n key: \"HideTabs\",\n value: function HideTabs(tabElements, tabsToHideArray, root) {\n var _this2 = this;\n\n // Remove hidden class from tabs\n for (var y = 0; y < tabElements.length; y++) {\n tabElements[y].classList.remove(\"hide-tab\");\n } // Remove hidden class from all content areas\n\n\n var tabContentAreas = root.querySelectorAll(\".mpp-form--tab-content\");\n\n for (var j = 0; j < tabContentAreas.length; j++) {\n tabContentAreas[j].classList.remove(\"hide-tab\");\n } // Hide specific tabs\n\n\n if (!!tabsToHideArray) {\n tabsToHideArray.forEach(function (element) {\n _this2.SetTabVisibile(element, false, root);\n });\n }\n } // Set specific html element tab id visibility\n\n }, {\n key: \"SetTabVisibile\",\n value: function SetTabVisibile(visibleTabId, visible, root) {\n var toggleTabElement = root.querySelector(\"#\".concat(visibleTabId));\n var toggleTabContentArea = root.querySelector(\".\".concat(visibleTabId));\n visible === true ? toggleTabElement.classList.remove(\"hide-tab\") : toggleTabElement.classList.add(\"hide-tab\");\n visible === true ? toggleTabContentArea.classList.remove(\"hide-tab\") : toggleTabContentArea.classList.add(\"hide-tab\");\n }\n }]);\n\n return InnerPageBuilder;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { Configuration } from \"../Shared/Configuration\";\nimport { Ajax } from \"./Ajax\";\nexport var HouseholdApiService = /*#__PURE__*/function () {\n function HouseholdApiService() {\n _classCallCheck(this, HouseholdApiService);\n\n var config = new Configuration();\n this._appRoot = config.GetAppRoot();\n }\n\n _createClass(HouseholdApiService, [{\n key: \"GetHousehold\",\n value: function GetHousehold() {\n var url = \"\".concat(this._appRoot, \"/Api/HouseholdApi/GetHousehold\");\n return Ajax.Post(url);\n }\n }, {\n key: \"GetHouseholdMembers\",\n value: function GetHouseholdMembers() {\n var url = \"\".concat(this._appRoot, \"/Api/HouseholdApi/GetHouseholdMembers\");\n return Ajax.Post(url);\n }\n }, {\n key: \"UpdateHousehold\",\n value: function UpdateHousehold(formData) {\n var url = \"\".concat(this._appRoot, \"/Api/HouseholdApi/UpdateHousehold\");\n return Ajax.Post(url, formData);\n }\n }, {\n key: \"UpdateHouseholdMember\",\n value: function UpdateHouseholdMember(formData) {\n var url = \"\".concat(this._appRoot, \"/Api/HouseholdApi/UpdateHouseholdMember\");\n return Ajax.Post(url, formData);\n }\n }]);\n\n return HouseholdApiService;\n}();","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* jshint esversion: 8 */\nimport { ConfigurationService } from \"../Shared/Configuration\";\nimport { Ajax } from \"./Ajax\";\nimport { I18N } from \"../Shared/I18n\";\nimport { OAuthService } from \"./OAuthService\";\nexport var UserService = /*#__PURE__*/function () {\n function UserService() {\n _classCallCheck(this, UserService);\n }\n\n _createClass(UserService, null, [{\n key: \"GetCurrentUser\",\n value: function () {\n var _GetCurrentUser = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var i18n, userNotAuthenticatedMsg, userNotFoundMsg, appRoot, url, currentUser;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return new I18N(\"mpp-user-service\");\n\n case 2:\n i18n = _context.sent;\n userNotAuthenticatedMsg = i18n.notAuthenticatedMessage;\n userNotFoundMsg = i18n.userNotFound; // Get configuration\n\n appRoot = ConfigurationService.GetAppRoot();\n url = \"\".concat(appRoot, \"/Api/Auth/User\"); // Get current user\n\n currentUser = new Promise(function (resolve, reject) {\n Ajax.Get(url).then(function (userInfo) {\n if (!!userInfo) {\n resolve(userInfo);\n } else {\n console.info(userNotAuthenticatedMsg);\n reject(userNotFoundMsg);\n }\n }, function () {\n console.info(userNotAuthenticatedMsg);\n reject(userNotFoundMsg);\n });\n }); // Return currentUser\n\n _context.next = 10;\n return currentUser;\n\n case 10:\n return _context.abrupt(\"return\", _context.sent);\n\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function GetCurrentUser() {\n return _GetCurrentUser.apply(this, arguments);\n }\n\n return GetCurrentUser;\n }()\n }, {\n key: \"GetCurrentUserAttributes\",\n value: function () {\n var _GetCurrentUserAttributes = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var appRoot, url, currentUserAttributes;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n // Get configuration\n appRoot = ConfigurationService.GetAppRoot();\n url = \"\".concat(appRoot, \"/Api/Attributes/ContactAttributes\"); // Get current user attributes\n\n currentUserAttributes = new Promise(function (resolve, reject) {\n Ajax.Get(url).then(function (userAttributesInfo) {\n if (!!userAttributesInfo) {\n resolve(userAttributesInfo);\n } else {\n reject(0);\n }\n }, function () {\n reject(0);\n });\n }); // Return currentUser\n\n _context2.next = 5;\n return currentUserAttributes;\n\n case 5:\n return _context2.abrupt(\"return\", _context2.sent);\n\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function GetCurrentUserAttributes() {\n return _GetCurrentUserAttributes.apply(this, arguments);\n }\n\n return GetCurrentUserAttributes;\n }()\n }, {\n key: \"GetAllActiveAttributes\",\n value: function () {\n var _GetAllActiveAttributes = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {\n var appRoot, url, allActiveAttributes;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n // Get configuration\n appRoot = ConfigurationService.GetAppRoot();\n url = \"\".concat(appRoot, \"/Api/Attributes/Available\");\n allActiveAttributes = new Promise(function (resolve, reject) {\n Ajax.Get(url).then(function (allAttributesInfo) {\n if (!!allAttributesInfo) {\n resolve(allAttributesInfo);\n } else {\n reject(0);\n }\n }, function () {\n reject(0);\n });\n }); // Return all attributes\n\n _context3.next = 5;\n return allActiveAttributes;\n\n case 5:\n return _context3.abrupt(\"return\", _context3.sent);\n\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n function GetAllActiveAttributes() {\n return _GetAllActiveAttributes.apply(this, arguments);\n }\n\n return GetAllActiveAttributes;\n }()\n }, {\n key: \"SaveUserAttributes\",\n value: function () {\n var _SaveUserAttributes = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(data) {\n var appRoot, url, allActiveAttributes;\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n // Get configuration\n appRoot = ConfigurationService.GetAppRoot();\n url = \"\".concat(appRoot, \"/Api/Attributes\");\n allActiveAttributes = new Promise(function (resolve, reject) {\n Ajax.Post(url, data, {\n 'Content-Type': \"application/json\"\n }).then(function () {\n resolve(1);\n }, function (err) {\n reject(err);\n });\n }); // Return all attributes\n\n _context4.next = 5;\n return allActiveAttributes;\n\n case 5:\n return _context4.abrupt(\"return\", _context4.sent);\n\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n function SaveUserAttributes(_x) {\n return _SaveUserAttributes.apply(this, arguments);\n }\n\n return SaveUserAttributes;\n }()\n }]);\n\n return UserService;\n}();","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/*jshint esversion: 6 */\nimport { Configuration } from \"./Configuration\";\nexport var ComponentBase = /*#__PURE__*/function (_HTMLElement) {\n _inherits(ComponentBase, _HTMLElement);\n\n var _super = _createSuper(ComponentBase);\n\n function ComponentBase() {\n var _this;\n\n _classCallCheck(this, ComponentBase);\n\n _this = _super.call(this);\n _this._baseRoot = _this.attachShadow({\n mode: \"open\"\n });\n _this._root = document.createElement(\"div\");\n\n _this._baseRoot.appendChild(_this._root);\n\n _this._Init();\n\n return _this;\n }\n\n _createClass(ComponentBase, [{\n key: \"_Init\",\n value: function _Init() {\n this.setStyleFiles();\n }\n }, {\n key: \"setStyleFiles\",\n value: function () {\n var _setStyleFiles = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _this2 = this;\n\n var config, customCss;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.customCssUrl = this.getAttribute(\"customCss\");\n config = new Configuration();\n this._appRoot = config.GetAppRoot();\n\n if (this._appRoot) {\n _context.next = 5;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 5:\n _context.next = 7;\n return config.GetCustomStyles().then(function (customCssFiles) {\n customCssFiles.forEach(function (cssFile) {\n var customCss = document.createElement('link');\n customCss.rel = \"stylesheet\";\n customCss.type = \"text/css\";\n customCss.media = \"screen\";\n customCss.href = cssFile;\n\n _this2._baseRoot.appendChild(customCss);\n });\n });\n\n case 7:\n if (!!this.customCssUrl) {\n customCss = document.createElement('link');\n customCss.rel = \"stylesheet\";\n customCss.type = \"text/css\";\n customCss.media = \"screen\";\n customCss.href = this.customCssUrl;\n\n this._baseRoot.appendChild(customCss);\n }\n\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function setStyleFiles() {\n return _setStyleFiles.apply(this, arguments);\n }\n\n return setStyleFiles;\n }()\n }], [{\n key: \"registerComponent\",\n value: function registerComponent(customElementName, componentType) {\n window.customElements.define(customElementName, componentType);\n Array.from(document.getElementsByClassName(customElementName + \"-widget\")).forEach(function (el) {\n var myWidget = new componentType();\n el.getAttributeNames().forEach(function (attr) {\n if (attr === \"class\") {\n return;\n }\n\n myWidget.setAttribute(attr, el.getAttribute(attr));\n });\n el.appendChild(myWidget);\n });\n }\n }]);\n\n return ComponentBase;\n}( /*#__PURE__*/_wrapNativeSuper(HTMLElement));","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/*jshint esversion: 6 */\nimport { CustomFormBuilder } from \"./Helpers/CustomFormBuilder\";\nimport { DropdownBuilder } from \"./Helpers/DropdownBuilder\";\nimport { FormManager } from \"./Helpers/FormManager\";\nimport { InnerPageBuilder } from \"./Helpers/InnerPageBuilder\";\nimport { CustomFormApiService } from \"./Services/CustomFormApiService\";\nimport { HouseholdApiService } from \"./Services/HouseholdApiService\";\nimport { UserService } from \"./Services/UserService\";\nimport { ComponentBase } from \"./Shared/ComponentBase\";\nimport { I18N } from \"./Shared/I18n\";\nexport var MppCustomForm = /*#__PURE__*/function (_ComponentBase) {\n _inherits(MppCustomForm, _ComponentBase);\n\n var _super = _createSuper(MppCustomForm);\n\n function MppCustomForm() {\n var _this;\n\n _classCallCheck(this, MppCustomForm);\n\n _this = _super.call(this);\n _this._completeMessage = null;\n return _this;\n }\n\n _createClass(MppCustomForm, [{\n key: \"attributeChangedCallback\",\n value: function attributeChangedCallback(name, oldValue, newValue) {\n if (!!this._$detailsContainer) {\n this.loadAttributes();\n this.LoadCustomForm();\n }\n }\n }, {\n key: \"loadAttributes\",\n value: function loadAttributes() {\n this.formGuid = this.getAttribute(\"formguid\") || null;\n } // istanbul ignore next\n\n }, {\n key: \"createI18N\",\n value: function createI18N() {\n return new I18N(\"mpp-custom-form\");\n }\n }, {\n key: \"getCustomFormService\",\n value: function getCustomFormService() {\n return new CustomFormApiService();\n }\n }, {\n key: \"connectedCallback\",\n value: function () {\n var _connectedCallback = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _this2 = this;\n\n var i18n, urlFormGuid;\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return this.createI18N();\n\n case 3:\n i18n = _context.sent;\n _context.next = 10;\n break;\n\n case 6:\n _context.prev = 6;\n _context.t0 = _context[\"catch\"](0);\n\n if (_context.t0.toString().startsWith(\"TypeError\")) {\n this._root.innerHTML = \"Unable to connect. Please check Permitted URLs.\";\n } else {\n this._root.innerHTML = \"\".concat(_context.t0);\n }\n\n return _context.abrupt(\"return\");\n\n case 10:\n this._i18n = i18n; /// Get attributes\n\n this.loadAttributes();\n this._currentUrl = new URL(window.location.href);\n urlFormGuid = this._currentUrl.searchParams.get(\"id\");\n\n if (!this.formGuid) {\n this.formGuid = urlFormGuid;\n }\n\n if (this.formGuid) {\n _context.next = 18;\n break;\n }\n\n this._root.innerHTML = this._i18n.missingFormGuidMessage;\n return _context.abrupt(\"return\");\n\n case 18:\n this.BindHtmlElements();\n this._customFormService = this.getCustomFormService();\n _context.next = 22;\n return UserService.GetCurrentUser().then(function (userInfo) {\n _this2._userInfo = userInfo;\n }, function () {\n _this2._$updateMyInfoContainer.style.display = \"none\";\n });\n\n case 22:\n /// Get custom form and bind event listeners\n this.LoadCustomForm();\n\n case 23:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this, [[0, 6]]);\n }));\n\n function connectedCallback() {\n return _connectedCallback.apply(this, arguments);\n }\n\n return connectedCallback;\n }() // istanbul ignore next\n\n }, {\n key: \"BindHtmlElements\",\n value: function BindHtmlElements() {\n /// Set root innerHTML\n ///\n this._root.innerHTML = `<link href=\"${this._appRoot}/Content/mppw-widgetstyles.css\" rel=\"stylesheet\" type=\"text/css\"/><div class=\"mppw-component-container\"><div id=\"pageLoadingContainer\" style=\"display: none;\"><i class=\"mppw-spinner\"></i></div><div id=\"detailsContainer\"></div><div class=\"mppw-form-wrapper\"><h1 id=\"customFormTitle\" class=\"mpp-mt-0\"></h1></div><div class=\"mpp-innerpage\"><p id=\"customFormDescription\"></p></div><div class=\"mpp-form--container\" id=\"formContainer\" style=\"display: none\"><form id=\"customForm\" class=\"mppw-form mppw-form-validate\"><input type=\"hidden\" id=\"field_formId\" name=\"Field_FormId\"/> <input type=\"hidden\" id=\"saveContactInfo\" name=\"SaveContactInfo\"/> <input type=\"hidden\" id=\"saveAddressInfo\" name=\"SaveAddressInfo\"/><div id=\"formHeader\"></div><div id=\"personalDetails\"><div class=\"mppw-row\"><div class=\"mppw-col\"><h3>Personal Details</h3></div></div><div class=\"mppw-row\"><div class=\"mppw-col\"><div id=\"completeFormAsContainer\" class=\"mppw-form-field mppw-form-field__static-container\"><select name=\"ContactId\" id=\"completeFormAs\" class=\"mppw-form-field__control\" value=\"\"></select> <label class=\"mppw-form-field__label\" for=\"completeFormAs\">Complete Form As*:</label></div></div></div></div><h4 id=\"updateContactWarningMessage\" style=\"display: none;\">${this._i18n.updateContactWarningMessage}</h4><h4 id=\"updateAddressWarningMessage\" style=\"display: none;\">${this._i18n.updateAddressWarningMessage}</h4><div id=\"contactFormContainer\"></div><div id=\"addressFormContainer\"></div><div id=\"formFields\"></div><div id=\"updateMyInfoContainer\" class=\"mppw-form-field\"><br/><label class=\"mpp-card-multiselect--checkbox-small\"><input type=\"checkbox\" id=\"inquire_updateMyInfo\" name=\"updateMyInfo\"/> <span style=\"float: left;\"></span></label> <label class=\"mpp-updatemyinfo--checkboxlabel\" for=\"inquire_updateMyInfo\">${this._i18n.updateMyInfoLabel}</label></div><input type=\"submit\" class=\"mppw-btn primary mpp-mt-10 submit--btn\" id=\"submitButton\" value=\"${this._i18n.submitButtonLabel}\"/></form></div><div id=\"resultMessageContainer\" class=\"mppw-alert\" style=\"display: none;\"><div class=\"mppw-alert__icon\"></div><span id=\"resultMessageText\" class=\"mppw-alert__text\"></span></div></div>` ; /// Set up attribute bindings\n ///\n\n this._$formContainer = this._root.querySelector(\"#formContainer\");\n this._$pageLoadingContainer = this._root.querySelector(\"#pageLoadingContainer\");\n this._$customFormContainer = this._root.querySelector(\"#customForm\");\n this._$detailsContainer = this._root.querySelector(\"#detailsContainer\");\n this._$contactFormContainer = this._root.querySelector(\"#contactFormContainer\");\n this._$addressFormContainer = this._root.querySelector(\"#addressFormContainer\"); // Error/success message elements\n\n this._$resultMessageContainer = this._root.querySelector(\"#resultMessageContainer\");\n this._$resultMessageText = this._root.querySelector(\"#resultMessageText\");\n this._$fieldformId = this._root.querySelector(\"#field_formId\");\n this._$saveContactInfo = this._root.querySelector(\"#saveContactInfo\");\n this._$saveAddressInfo = this._root.querySelector(\"#saveAddressInfo\");\n this._$formFields = this._root.querySelector(\"#formFields\");\n this._$completeFormAs = this._root.querySelector(\"#completeFormAs\");\n this._$completeFormAsContainer = this._root.querySelector(\"#completeFormAsContainer\");\n this._$personalDetailsContainer = this._root.querySelector(\"#personalDetails\");\n this._$contactDetailsDiv = null;\n this._$addressDetailsDiv = null;\n this._$customFormTitle = this._root.querySelector(\"#customFormTitle\");\n this._$customFormDescription = this._root.querySelector(\"#customFormDescription\");\n this._$updateContactWarningMessage = this._root.querySelector(\"#updateContactWarningMessage\");\n this._$updateAddressWarningMessage = this._root.querySelector(\"#updateAddressWarningMessage\");\n this._$updateMyInfoContainer = this._root.querySelector(\"#updateMyInfoContainer\");\n this._$updateMyInfo = this._root.querySelector(\"#inquire_updateMyInfo\"); // Address fields\n\n this._$addressLine1 = null;\n this._$addressLine2 = null;\n this._$addressCity = null;\n this._$addressState = null;\n this._$addressPostalCode = null;\n this._$submitButton = this._root.querySelector(\"#submitButton\");\n } // istanbul ignore next\n\n }, {\n key: \"getHouseholdApiService\",\n value: function getHouseholdApiService() {\n return new HouseholdApiService();\n } // Get logged in user and bind dropdown values, only if Get_Contact_Info is true for the form\n\n }, {\n key: \"DoForLoggedInUser\",\n value: function DoForLoggedInUser() {\n var _this3 = this;\n\n var householdService = this.getHouseholdApiService();\n householdService.GetHouseholdMembers().then(function (members) {\n if (!!members && members.length > 0) {\n _this3._householdMembers = members;\n var allMembers = members.map(function (member) {\n return {\n id: member.contactId,\n value: member.displayName\n };\n }); // Load family member dropdowns\n\n _this3.ShowCompleteFormAs();\n\n DropdownBuilder.LoadDropdown(_this3._$completeFormAs, allMembers, \"Blank Form\");\n _this3._$completeFormAs.value = _this3._userInfo.contactId;\n\n _this3.DisplayElements(true, _this3._$contactDetailsDiv); // Pre-populate fields when logged in\n\n\n _this3.PopulateContactFields(_this3._userInfo.contactId);\n\n _this3.PopulateAddressFields(_this3._userInfo.contactId);\n } else {\n _this3.HideCompleteFormAs();\n }\n });\n } // Gets the custom form data based on formGuid attribute\n\n }, {\n key: \"LoadCustomForm\",\n value: function LoadCustomForm() {\n var _this4 = this;\n\n this.DisplayElements(true, this._$pageLoadingContainer); // Load form data:\n\n return this._customFormService.GetForm(this.formGuid).then( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(data) {\n var _this4$_customFormDat, _this4$_customFormDat2;\n\n var isExpired;\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _this4._$detailsContainer.innerHTML = \"\";\n isExpired = data.isExpired;\n _this4._customFormData = data;\n _this4._completeMessage = (_this4$_customFormDat = (_this4$_customFormDat2 = _this4._customFormData.formData) === null || _this4$_customFormDat2 === void 0 ? void 0 : _this4$_customFormDat2.Complete_Message) !== null && _this4$_customFormDat !== void 0 ? _this4$_customFormDat : null;\n\n if (!(isExpired === true)) {\n _context2.next = 8;\n break;\n }\n\n _this4.SetMessage(\"warning\", _this4._i18n.formExpiredMessage);\n\n _context2.next = 10;\n break;\n\n case 8:\n _context2.next = 10;\n return _this4.RenderForm(data.formData, data.formConfiguration);\n\n case 10:\n _this4.DisplayElements(false, _this4._$pageLoadingContainer);\n\n if (_this4._customFormData.formData.Force_Login && !_this4._userInfo) {\n _this4._$submitButton.style.display = \"none\";\n _this4._$contactFormContainer.style.display = \"none\";\n _this4._$addressFormContainer.style.display = \"none\";\n }\n\n _this4._$updateMyInfoContainer.style.display = \"none\";\n\n if (_this4._userInfo && (_this4._getContactInfo || _this4._getAddressInfo)) {\n _this4._$updateMyInfoContainer.style.display = \"block\";\n }\n\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }())[\"catch\"](function (error) {\n console.error(error);\n\n _this4.DisplayElements(false, _this4._$pageLoadingContainer);\n });\n }\n }, {\n key: \"RenderForm\",\n value: function () {\n var _RenderForm = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(dataToRender, formConfiguration) {\n var Form_ID, Form_Title, Get_Contact_Info, Get_Address_Info, DefaultImageUrl, Instructions;\n return regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n Form_ID = dataToRender.Form_ID, Form_Title = dataToRender.Form_Title, Get_Contact_Info = dataToRender.Get_Contact_Info, Get_Address_Info = dataToRender.Get_Address_Info, DefaultImageUrl = dataToRender.DefaultImageUrl, Instructions = dataToRender.Instructions;\n this._getContactInfo = Get_Contact_Info;\n this._getAddressInfo = Get_Address_Info;\n this.DrawFormHeader(DefaultImageUrl, Form_Title, Form_ID, Instructions);\n _context3.next = 6;\n return this.DrawFormFields(formConfiguration);\n\n case 6:\n if (this._userInfo) {\n if (this._getAddressInfo) {\n this.PopulateAddressFields(this._userInfo.contactId);\n }\n }\n\n this.BindEventListeners(); // Need to initially disable and hide any fields that depend on another fields value\n\n CustomFormBuilder.DisableAllDependsOnInputs(this._root);\n this.customForm = new FormManager(this._$customFormContainer);\n\n case 10:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this);\n }));\n\n function RenderForm(_x2, _x3) {\n return _RenderForm.apply(this, arguments);\n }\n\n return RenderForm;\n }()\n }, {\n key: \"DrawFormHeader\",\n value: function DrawFormHeader(imageUrl, formTitle, formId, instructions) {\n // Draw form header\n this._$fieldformId.value = formId;\n this._$saveContactInfo.value = this._getContactInfo;\n this._$saveAddressInfo.value = this._getAddressInfo;\n var detailsContainerHTML = \"\";\n detailsContainerHTML += InnerPageBuilder.BuildInnerPageDetails(!!imageUrl ? InnerPageBuilder.BuildImage(imageUrl, \"\") : \"\");\n this._$detailsContainer.innerHTML += detailsContainerHTML;\n this._$customFormTitle.innerHTML += formTitle || \"\";\n this._$customFormDescription.innerHTML += instructions || \"\";\n }\n }, {\n key: \"DrawFormFields\",\n value: function () {\n var _DrawFormFields = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(formConfiguration) {\n return regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return CustomFormBuilder.RenderCustomForm(this.formGuid, this._$formFields, this._root, true, !!this._userInfo);\n\n case 2:\n this.DrawContactInfoFields();\n this.DrawAddressFields(formConfiguration);\n this.DisplayElements(true, this._$formContainer);\n this.DisplayElements(false, this._$pageLoadingContainer);\n\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function DrawFormFields(_x4) {\n return _DrawFormFields.apply(this, arguments);\n }\n\n return DrawFormFields;\n }()\n }, {\n key: \"DrawAddressFields\",\n value: function DrawAddressFields(formConfiguration) {\n if (this._getAddressInfo == true) {\n // Find usa\n var usa = formConfiguration.countries.find(function (element) {\n return element.value == \"United States of America\";\n }); // Insert into 0 position\n\n formConfiguration.countries.splice(0, 0, usa);\n CustomFormBuilder.DrawAddressForm(this._i18n, this._$addressFormContainer, formConfiguration.countries);\n this._$addressDetailsDiv = this._root.querySelector(\"#addressDetailsDiv\");\n this._$addressLine1 = this._root.querySelector(\"#addressLine1\");\n this._$addressLine2 = this._root.querySelector(\"#addressLine2\");\n this._$addressCity = this._root.querySelector(\"#city\");\n this._$addressState = this._root.querySelector(\"#stateRegion\");\n this._$addressPostalCode = this._root.querySelector(\"#postalCode\");\n }\n }\n }, {\n key: \"DrawContactInfoFields\",\n value: function DrawContactInfoFields() {\n if (!!this._getContactInfo) {\n CustomFormBuilder.DrawContactForm(this._i18n, this._$contactFormContainer);\n this._$contactDetailsDiv = this._root.querySelector(\"#contactDetailsDiv\");\n this._$firstName = this._root.querySelector(\"#firstName\");\n this._$lastName = this._root.querySelector(\"#lastName\");\n this._$emailAddress = this._root.querySelector(\"#emailAddress\");\n this._$mobilePhone = this._root.querySelector(\"#mobilePhone\"); // If user is logged in\n\n if (this._userInfo) this.DoForLoggedInUser();else this.HideCompleteFormAs();\n } else {\n this.HideCompleteFormAs();\n }\n }\n }, {\n key: \"BindEventListeners\",\n value: function BindEventListeners() {\n var _this5 = this;\n\n this._$submitButton.addEventListener(\"click\", function (event) {\n event.preventDefault();\n\n if (_this5.customForm.IsValid()) {\n // Disable button on submit\n _this5._$submitButton.setAttribute(\"disabled\", \"disabled\"); // Set button submitting text\n\n\n _this5._$submitButton.value = \"Submitting...\"; // Display page loading indicator\n\n _this5.DisplayElements(true, _this5._$pageLoadingContainer); // Set Form data\n\n\n var formData = new FormData(_this5._$customFormContainer);\n formData.set(\"updateMyInfo\", _this5._$updateMyInfo.checked); // Post form data\n\n _this5._postFormData(formData);\n } else {\n _this5.SetMessage(\"warning\", _this5._i18n.validationFailedMessage);\n }\n });\n\n this._$completeFormAs.addEventListener(\"change\", function (e) {\n // Only show blank form if drop down value is null\n if (!!_this5._$completeFormAs.value) {\n var selectedContactId = _this5._$completeFormAs.value;\n\n _this5.DisplayElements(true, _this5._$contactDetailsDiv); // Populate fields for selected contact\n\n\n _this5.PopulateAddressFields(selectedContactId);\n\n _this5.PopulateContactFields(selectedContactId);\n } else {\n // Show fields\n _this5.DisplayElements(true, _this5._$contactDetailsDiv);\n\n _this5.PopulateContactFields();\n\n _this5.PopulateAddressFields();\n }\n });\n }\n }, {\n key: \"_postFormData\",\n value: function _postFormData(formData) {\n var _this6 = this;\n\n return this._customFormService.PostFormData(formData).then(function (resp) {\n if (resp) {\n _this6.DisplayElements(false, _this6._$formContainer, _this6._$detailsContainer, _this6._$pageLoadingContainer, _this6._$customFormTitle, _this6._$customFormDescription);\n\n var successMessage = _this6._completeMessage || _this6._i18n.completeMessage;\n\n _this6.SetMessage(\"success\", successMessage);\n\n _this6._$submitButton.removeAttribute(\"disabled\");\n\n _this6._$submitButton.value = _this6._i18n.submitButtonLabel; // Reset form\n\n _this6.customForm.Reset();\n } else {\n _this6.SetMessage(\"danger\", _this6._i18n.customFormErrorMessage);\n\n _this6._$submitButton.removeAttribute(\"disabled\");\n\n _this6._$submitButton.value = _this6._i18n.submitButtonLabel;\n }\n })[\"catch\"](function (err) {\n var exceptionMessage = \" \";\n\n if (!!err) {\n if (err.message === \"MISSING-CONTACT-INFO\") {\n exceptionMessage += _this6._i18n.customFormMissingContactInfo;\n }\n\n if (err.message === \"MISSING-ADDRESS-INFO\") {\n exceptionMessage += _this6._i18n.customFormMissingAddressInfo;\n }\n }\n\n _this6.SetMessage(\"danger\", _this6._i18n.customFormErrorMessage + exceptionMessage);\n\n _this6._$submitButton.removeAttribute(\"disabled\");\n\n _this6._$submitButton.value = _this6._i18n.submitButtonLabel;\n\n _this6.DisplayElements(false, _this6._$pageLoadingContainer);\n });\n } // Populate address fields based on contact id\n\n }, {\n key: \"PopulateAddressFields\",\n value: function PopulateAddressFields(contactId) {\n var _this7 = this;\n\n if (!this._getAddressInfo) {\n return;\n }\n\n if (!!contactId) {\n return this._customFormService.GetContactById(contactId).then(function (resp) {\n if (!!resp) {\n if (resp.address) {\n var addressInfo = resp.address;\n _this7._$addressLine1.value = addressInfo.addressLine1;\n _this7._$addressLine2.value = addressInfo.addressLine2;\n _this7._$addressCity.value = addressInfo.city;\n _this7._$addressState.value = addressInfo.stateRegion;\n _this7._$addressPostalCode.value = addressInfo.postalCode;\n }\n }\n })[\"catch\"](function (err) {\n console.error(\"Unable to get default address info for selected contact.\");\n });\n } else {\n this._$addressLine1.value = \"\";\n this._$addressLine2.value = \"\";\n this._$addressCity.value = \"\";\n this._$addressState.value = \"\";\n this._$addressPostalCode.value = \"\";\n }\n } // Shows or hides the element(s) passed in\n // Example: this.DisplayElements(true, this._$formContainer, this._$pageLoadingContainer);\n\n }, {\n key: \"DisplayElements\",\n value: function DisplayElements() {\n var display = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n for (var _len = arguments.length, elements = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n elements[_key - 1] = arguments[_key];\n }\n\n for (var _i = 0, _elements = elements; _i < _elements.length; _i++) {\n var element = _elements[_i];\n\n if (element) {\n // Get all inputs for the given div\n var inputElements = element.getElementsByTagName(\"input\");\n\n if (display === true) {\n // Display div\n element.style.display = \"block\"; // Remove the disabled attribute that was set below\n\n var _iterator = _createForOfIteratorHelper(inputElements),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var el = _step.value;\n el.removeAttribute(\"disabled\");\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n } else {\n // Hide div\n element.style.display = \"none\"; // Add disabled to prevent form validation issues on hidden inputs\n\n var _iterator2 = _createForOfIteratorHelper(inputElements),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _el = _step2.value;\n\n _el.setAttribute(\"disabled\", true);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n }\n }\n }\n }\n }, {\n key: \"SetMessage\",\n value: function SetMessage(status, message) {\n this._$resultMessageContainer.classList.remove(\"mppw-alert__success\");\n\n this._$resultMessageContainer.classList.remove(\"mppw-alert__info\");\n\n this._$resultMessageContainer.classList.remove(\"mppw-alert__warning\");\n\n this._$resultMessageContainer.classList.remove(\"mppw-alert__danger\");\n\n this._$resultMessageContainer.classList.add(\"mppw-alert__\".concat(status));\n\n this._$resultMessageText.innerHTML = message;\n this._$resultMessageContainer.style.display = \"\";\n }\n }, {\n key: \"ShowCompleteFormAs\",\n value: function ShowCompleteFormAs() {\n this.DisplayElements(true, this._$personalDetailsContainer);\n }\n }, {\n key: \"HideCompleteFormAs\",\n value: function HideCompleteFormAs() {\n this.DisplayElements(false, this._$personalDetailsContainer);\n }\n }, {\n key: \"GetHouseHoldMemberByContactId\",\n value: function GetHouseHoldMemberByContactId(contactId) {\n if (!!contactId && !!this._householdMembers) {\n return this._householdMembers.find(function (h) {\n return h.contactId === +contactId;\n });\n }\n\n return null;\n }\n }, {\n key: \"PopulateContactFields\",\n value: function PopulateContactFields(contactId) {\n if (!!contactId) {\n var houseHoldContact = this.GetHouseHoldMemberByContactId(contactId);\n this._$firstName.value = houseHoldContact.firstName;\n this._$lastName.value = houseHoldContact.lastName;\n this._$emailAddress.value = houseHoldContact.emailAddress;\n this._$mobilePhone.value = houseHoldContact.mobilePhoneNumber;\n } else {\n this._$firstName.value = \"\";\n this._$lastName.value = \"\";\n this._$emailAddress.value = \"\";\n this._$mobilePhone.value = \"\";\n }\n }\n }], [{\n key: \"observedAttributes\",\n get: function get() {\n return [\"formguid\"];\n }\n }]);\n\n return MppCustomForm;\n}(ComponentBase); // Use spine-case as convention for element name:\n\nMppCustomForm.registerComponent(\"mpp-custom-form\", MppCustomForm);"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","authConfigurationCache","Configuration","instance","Constructor","TypeError","_classCallCheck","this","SCRIPT_NAME","protoProps","value","useCacheIfAvailable","Promise","resolve","appRoot","GetAppRoot","url","concat","fetch","then","authInfo","json","authConfiguration","err","console","error","Error","cacheKey","document","getElementById","undefined","currentScriptSrc","src","substring","indexOf","sessionStorage","log","keyName","response","text","countryList","result","window","navigator","localeParts","language","split","countryCode","matches","filter","country","abbreviation","ok","data","ConfigurationService","FormFieldBuilder","_config","_appRoot","name","arguments","label","isRequired","requiredMessage","isHidden","dependsOnId","dependsOnValue","maxLength","withCounter","altLabel","_RenderAltLabel","invalidMessage","min","max","requireIfBlank","options","map","option","join","id","_len","params","Array","_key","Boolean","param","checked","replaceAll","labelContent","requiredTag","_RenderRequiredAsterisk","_arrayLikeToArray","arr","len","arr2","FileUploader","_invalidFileTypeMessage","_invalidFileSizeMessage","_selectDifferentFileMessage","staticProps","file","elem","callback","xhr","XMLHttpRequest","fd","FormData","open","onreadystatechange","readyState","status","JSON","parse","append","send","formContainer","fileUploadComponentHtml","root","invalidFileTypeMessage","invalidFileSizeMessage","selectDifferentFileMessage","$formRow","createElement","$formControl","innerHTML","appendChild","_dropArea","querySelector","_fileInputId","_filePreviewGallery","_invalidFileTypeLabel","style","display","BindEventListener","_this","forEach","eventName","addEventListener","preventDefaults","body","event","classList","add","remove","files","dataTransfer","handleFiles","e","preventDefault","stopPropagation","fileName","test","_this2","isArray","_arrayWithoutHoles","iter","from","_iterableToArray","o","minLen","n","toString","call","slice","_unsupportedIterableToArray","_nonIterableSpread","fileSize","clearPreviewFiles","size","Math","round","validateUploadFileExtension","previewFile","self","reader","FileReader","readAsDataURL","onloadend","img","type","startsWith","fileElement","fileCloseIcon","setAttribute","_inherits","subClass","superClass","create","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","NewTarget","Reflect","construct","apply","ReferenceError","_assertThisInitialized","_wrapNativeSuper","Class","_cache","Map","fn","Function","has","get","set","Wrapper","_construct","Parent","args","a","push","bind","sham","Proxy","valueOf","p","setPrototypeOf","__proto__","getPrototypeOf","ArgumentException","_Error","_super","argName","ArgumentTypeException","_Error2","_super2","_getKey","LocalStorageManager","item","localStorage","setItem","fullKey","getItem","removeItem","storageKeys","keys","searchFor","keyValue","SessionStorageManager","privateMethods","getUrlParameter","replace","results","RegExp","exec","decodeURIComponent","URLSearchParameters","_params","URLSearchParams","_urlSearchParams","substr","asyncGeneratorStep","gen","reject","_next","_throw","arg","info","done","_asyncToGenerator","_tokenKeyName","_idTokenKeyName","_expiresAfterName","_csrfToken","mppw_refreshTokenPromise","OAuthService","_RefreshTokensAsync","_SaveAuthTokensAsync","_SaveCSRFTokenAsync","tokenValue","token","idTokenValue","idToken","expiresAfterValue","Date","expiresAfter","_unused","stringify","GetAuthConfiguration","oauthConfig","signInUrl","responseType","scope","clientId","redirectUrl","nonce","encodeURIComponent","location","Token","signOutUrl","IdToken","postLogoutRedirectUrl","encodeURI","regeneratorRuntime","mark","_callee","wrap","_context","prev","next","GetCSRFToken","sent","CSRFToken","stop","_callee2","tokenParamName","userSearchParameters","tokens","_context2","search","history","replaceState","String","title","GetAuthToken","_SaveTokens","_callee3","_context3","abrupt","ExpiresAfter","credentials","_ClearTokens","accessToken","setSeconds","getSeconds","expiresIn","_addAuth","withCredentials","headers","Authorization","_addCSRF","expiresAfterUtc","expiresAfterUTC","_getCurrentUTCDateTime","SaveCSRFTokenAsync","now","UTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","_htmlSanitizer","_eventSanitizer","_htmlSanitize","textObj","cleanKeys","depth","getOwnPropertyNames","Ajax","_RefreshTokensIfNeededAsync","_Post","RefreshTokensIfNeededAsync","SignIn","additionalHeaders","retry","_args","method","header","t0","SecondaryStatusCode","Post","_x","_x2","_x3","currentTime","RefreshTokensAsync","CustomFormApiService","config","FormGuid","Get","contactId","formData","I18N","componentName","_componentName","_locale","GetCurrentLocale","mode","userLocale","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_createForOfIteratorHelper","allowArrayLike","it","F","s","_e2","f","normalCompletion","didErr","step","_e3","_customFormInputPrefix","CustomFormBuilder","_DrawLoginRequest","_RenderCustomForm","_getTranslations","i18n","_i18n","_root","customFormGuid","customFormFieldsElement","customFormRootElement","skipFormInstructions","isUserAuthenticated","customFormService","_yield$Promise$all","_yield$Promise$all2","customFormData","customFormConfig","customForm","getTranslations","all","GetFormFields","GetConfigurations","GetForm","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","_iterableToArrayLimit","_nonIterableRest","customFormInputPrefix","DrawFormInstructions","Force_Login","DrawLoginRequest","DrawForm","_x4","_x5","errorMessageContainer","errorIcon","errorMessage","loginButtonContainer","loginButton","innerText","customFormPleaseLoginMessage","justifyContent","marginBottom","className","_x6","instructions","formInstructions","formFieldBuilder","formFields","formIdInputContainer","formIdElement","BuildHiddenInput","Form_ID","r","BuildFormControl","uniqueParentFields","fieldId","Form_Field_ID","BindParentFormFieldListener","customFieldsTree","formField","Field_Type_ID","dependsOnSelectedId","dependsOnSelectedValue","ShowHideDependsOnElements","dependsOnFields","querySelectorAll","getAttribute","inputElements","getElementsByTagName","selectElements","textareaElements","_step","_iterator","_step2","_iterator2","_step3","_iterator3","node","nodeId","_step4","_iterator4","children","child","FindNodeById","hideField","contains","nextSibling","_step5","_iterator5","el","_step6","_iterator6","_step7","_iterator7","stack","array","hashMap","nodeRoot","pop","tempNode","elementsArray","_step8","formRoot","_iterator8","HideElement","find","nodesToHide","_step9","_iterator9","_node","flattenedArray","FlattenTree","HideAllElements","showFields","dataAttrValue","_step10","_iterator10","removeAttribute","_step11","_iterator11","_step12","_iterator12","fieldData","Field_Label","Alternate_Label","Required","Field_Values","Field_Order","Depends_On","Depends_On_Value","Label","controlHtml","BuildCustomTextInput","BuildCustomTextarea","BuildCustomDateInput","vRadioOptions","BuildCustomVerticalRadio","selectOptions","BuildCustomSelect","BuildCustomParagraph","hRadioOptions","BuildCustomHorizontalRadio","BuildCustomCheckbox","fileUploadHtml","BuildCustomFileUploader","InitializeFileUploader","contactFormHtml","contactLabel","firstNameLabel","lastNameLabel","phoneOrEmailRequiredLabel","emailAddressLabel","mobilePhoneLabel","countryDropdownData","_formFieldBuilder","addressFormHtml","addressLabel","BuildCustomFormSelect","countryLabel","addressLineLabel","cityLabel","stateRegionLabel","postalCodeLabel","elementType","click","opt","createTextNode","DropdownBuilder","selectElement","placeholder","j","firstOpt","disabled","groupByGroupName","reduce","objectsByKeyValue","attributeByGroupName","groupName","optgroup","attrs","attr","insertBefore","idx","objDate","setDate","setMonth","toLocaleString","month","monthNames","m","_GetMonthBaseOnLocale","getMonth","numberOfMonthsOut","GetCurrentMonth","keptMonths","monthValue","rr","monthNumber","Number","includes","color","FormManager","form","_form","_isDirty","_handleUnloadPageFunction","_wireupValidation","removeEventListener","isValid","elements","field","ValidateField","dataset","ignoreValidation","PHONE_REGEX","EMAIL_REGEX","_setInvalid","_setValid","dependencyPassed","$dependentField","_checkRequired","requireIf","$parentField","reset","ResetFormValues","SetIsDirty","formElement","parentElement","FIELD_CONTAINER_VALID_CLASSNAME","FIELD_CONTAINER_INVALID_CLASSNAME","_clearMessages","checkboxGroup","returnValue","allElements","element","dependentField","parentField","textAreas","characterCount","maxCount","counterDiv","nextElementSibling","TEXTAREA_COUNTER_CLASSNAME","textInputs","phoneFields","y","x","match","message","closest","FIELD_CONTAINER_CLASSNAME","formFieldAlt","FIELD_CONTAINER_CLASSNAME_ALT","existingMessageDiv","MESSAGE_CONTAINER_CLASSNAME","parentNode","removeChild","messageDiv","DateTimeFormatter","_dayMonthOptions","day","_shortOptions","weekday","year","_timeOptions","hour","minute","_weekDays","dateValue","parts","_parts","second","NormalizeDateTime","toLocaleDateString","d","toLocaleTimeString","startDate","endDate","start","end","dateValueToCompare","dayOfWeek","finalDate","currentDayOfWeek","getDay","targetDayOfWeek","GetDayOfWeekFromString","getDate","standardFormat","dd","mm","yyyy","getFullYear","b","MonthDiff","adjust","wholeMonthDiff","clonedA","anchor","cloned2A","_cloned2A","floor","TextFormatter","_value","GoogleMapsApi","gApiKey","apiKey","_GoogleMapsApi","callbackName","mapLoaded","promise","google","script","async","stylers","styles","icons","red","MapBuilder","addressData","GetConfigurationSetting","load","_renderMap","addressId","addressLine1","encodedParameters","city","state","postalCode","mapEl","mapTypeId","maps","MapTypeId","ROADMAP","zoom","center","lat","lng","_renderMarker","Size","tmpl","address","marker","Marker","position","LatLng","content","animation","Animation","DROP","infowindow","InfoWindow","_handleMarkerClick","addListener","setContent","close","mapElement","geocoder","Geocoder","myOptions","mapTypeControl","mapTypeControlOptions","MapTypeControlStyle","DROPDOWN_MENU","navigationControl","geocode","GeocoderStatus","OK","ZERO_RESULTS","setCenter","geometry","_keyPrefix","ReturnContext","category","clear","formDataObject","entries","pair","Url","href","Groups","Events","Opportunities","OnlineDirectory","None","hiddenContainer","inHiddenContainer","formElements","_loop","formElementMatches","changed","InnerPageBuilder","navLabel","returnUrl","Categories","actualReturnUrl","returnContext","imageSrc","headerName","headerType","targetUrl","btnText","isAddToCalendar","dateTime","BuildButton","meetingFrequency","meetingDay","meetingTime","ToShortTime","ToShortDateTime","description","addLineBreaks","special","regular","counterText","line","_ref","_elements","labels","ApplyI18n","$mapEl","latitude","longitude","DrawMap","MapsSelector","platform","percentage","contacts","allowEmail","contact","hasEmailAddress","emailAddress","displayName","imageUrl","charAt","dateTimes","meetingInstructions","_len2","_key2","tabElements","clickedTab","currentTarget","SetActiveTab","activeTabId","tabContentAreas","tabsToHideArray","SetTabVisibile","visibleTabId","visible","toggleTabElement","toggleTabContentArea","HouseholdApiService","UserService","_SaveUserAttributes","_GetAllActiveAttributes","_GetCurrentUserAttributes","_GetCurrentUser","userNotAuthenticatedMsg","userNotFoundMsg","currentUser","notAuthenticatedMessage","userNotFound","userInfo","currentUserAttributes","userAttributesInfo","allActiveAttributes","allAttributesInfo","_callee4","_context4","MppCustomForm","_ComponentBase","_DrawFormFields","_RenderForm","_connectedCallback","_completeMessage","oldValue","newValue","_$detailsContainer","loadAttributes","LoadCustomForm","formGuid","urlFormGuid","createI18N","_currentUrl","URL","searchParams","missingFormGuidMessage","BindHtmlElements","_customFormService","getCustomFormService","GetCurrentUser","_userInfo","_$updateMyInfoContainer","updateContactWarningMessage","updateAddressWarningMessage","updateMyInfoLabel","submitButtonLabel","_$formContainer","_$pageLoadingContainer","_$customFormContainer","_$contactFormContainer","_$addressFormContainer","_$resultMessageContainer","_$resultMessageText","_$fieldformId","_$saveContactInfo","_$saveAddressInfo","_$formFields","_$completeFormAs","_$completeFormAsContainer","_$personalDetailsContainer","_$contactDetailsDiv","_$addressDetailsDiv","_$customFormTitle","_$customFormDescription","_$updateContactWarningMessage","_$updateAddressWarningMessage","_$updateMyInfo","_$addressLine1","_$addressLine2","_$addressCity","_$addressState","_$addressPostalCode","_$submitButton","_this3","getHouseholdApiService","GetHouseholdMembers","members","_householdMembers","allMembers","member","ShowCompleteFormAs","LoadDropdown","DisplayElements","PopulateContactFields","PopulateAddressFields","HideCompleteFormAs","_this4","_this4$_customFormDat","_this4$_customFormDat2","isExpired","_customFormData","Complete_Message","SetMessage","formExpiredMessage","RenderForm","formConfiguration","_getContactInfo","_getAddressInfo","dataToRender","Form_Title","Get_Contact_Info","Get_Address_Info","DefaultImageUrl","Instructions","DrawFormHeader","DrawFormFields","BindEventListeners","DisableAllDependsOnInputs","formTitle","formId","detailsContainerHTML","BuildInnerPageDetails","BuildImage","RenderCustomForm","DrawContactInfoFields","DrawAddressFields","usa","countries","splice","DrawAddressForm","DrawContactForm","_$firstName","_$lastName","_$emailAddress","_$mobilePhone","DoForLoggedInUser","_this5","IsValid","_postFormData","validationFailedMessage","selectedContactId","_this6","PostFormData","resp","successMessage","completeMessage","Reset","customFormErrorMessage","exceptionMessage","customFormMissingContactInfo","customFormMissingAddressInfo","_this7","GetContactById","addressInfo","addressLine2","stateRegion","h","houseHoldContact","GetHouseHoldMemberByContactId","firstName","lastName","mobilePhoneNumber","_HTMLElement","ComponentBase","_setStyleFiles","_baseRoot","attachShadow","_Init","setStyleFiles","customCss","customCssUrl","GetCustomStyles","customCssFiles","cssFile","rel","media","customElementName","componentType","customElements","define","getElementsByClassName","myWidget","getAttributeNames","HTMLElement","registerComponent"],"sourceRoot":""}