{"version":3,"file":"GroupDetails.js","mappings":"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","sources":["webpack://portalcomponents/./ClientApp/Components/Shared/Configuration.js","webpack://portalcomponents/./ClientApp/Components/Shared/ComponentBase.js","webpack://portalcomponents/./ClientApp/Components/Shared/I18n.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/GroupsApiService.js","webpack://portalcomponents/./ClientApp/Components/Helpers/CommonBuilder.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/CommunicationService.js","webpack://portalcomponents/./ClientApp/Components/Services/UserService.js","webpack://portalcomponents/./ClientApp/Components/Services/HouseholdApiService.js","webpack://portalcomponents/./ClientApp/Components/Helpers/DropdownBuilder.js","webpack://portalcomponents/./ClientApp/Components/Helpers/ErrorBuilder.js","webpack://portalcomponents/./ClientApp/Components/Services/LookupApiService.js","webpack://portalcomponents/./ClientApp/Components/mpp-group-details.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 _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 _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 _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 GroupsApiService = /*#__PURE__*/function () {\n function GroupsApiService() {\n _classCallCheck(this, GroupsApiService);\n\n var config = new Configuration();\n this._appRoot = config.GetAppRoot();\n }\n\n _createClass(GroupsApiService, [{\n key: \"GetMyGroups\",\n value: function GetMyGroups() {\n var url = \"\".concat(this._appRoot, \"/Api/GroupsApi/MyGroups\");\n return Ajax.Get(url);\n }\n }, {\n key: \"SearchGroups\",\n value: function SearchGroups(formData) {\n var url = \"\".concat(this._appRoot, \"/Api/GroupsApi/SearchGroups\");\n return Ajax.Post(url, formData);\n }\n }, {\n key: \"SuggestGroup\",\n value: function SuggestGroup(formData) {\n var url = \"\".concat(this._appRoot, \"/Api/GroupsApi/SuggestGroup\");\n return Ajax.Post(url, formData);\n }\n }, {\n key: \"GetGroupDetails\",\n value: function GetGroupDetails(id, showFullAddress, countGroupInquiries) {\n var url = \"\".concat(this._appRoot, \"/Api/GroupsApi/GetGroupDetails/\").concat(id, \"?showFullAddress=\").concat(showFullAddress, \"&countGroupInquiries=\").concat(countGroupInquiries);\n return Ajax.Get(url);\n }\n }, {\n key: \"SignUp\",\n value: function SignUp(formData) {\n var url = \"\".concat(this._appRoot, \"/Api/GroupsApi/SignUp\");\n return Ajax.Post(url, formData);\n }\n }, {\n key: \"Inquire\",\n value: function Inquire(formData) {\n var url = \"\".concat(this._appRoot, \"/Api/GroupsApi/Inquire\");\n return Ajax.Post(url, formData);\n }\n }, {\n key: \"GetConfigurations\",\n value: function GetConfigurations() {\n var url = \"\".concat(this._appRoot, \"/Api/GroupsApi/GetConfigurations\");\n return Ajax.Get(url);\n }\n }, {\n key: \"HasInquired\",\n value: function HasInquired(groupId, contactId) {\n var url = \"\".concat(this._appRoot, \"/Api/GroupsApi/HasInquired?groupId=\").concat(groupId).concat(!!contactId ? \"&contactId=\".concat(contactId) : '');\n return Ajax.Get(url);\n }\n }, {\n key: \"HasSignedUp\",\n value: function HasSignedUp(groupId, contactId) {\n var url = \"\".concat(this._appRoot, \"/Api/GroupsApi/HasSignedUp?groupId=\").concat(groupId).concat(!!contactId ? \"&contactId=\".concat(contactId) : '');\n return Ajax.Get(url);\n }\n }]);\n\n return GroupsApiService;\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 { URLSearchParameters } from \"../Shared/URLSearchParameters\";\nexport var CommonBuilder = /*#__PURE__*/function () {\n function CommonBuilder() {\n _classCallCheck(this, CommonBuilder);\n }\n\n _createClass(CommonBuilder, null, [{\n key: \"GetId\",\n value: function GetId() {\n var urlParams = new URLSearchParameters(window.location.search);\n var id = urlParams.get(\"id\") || this.ParseFromPath(urlParams.toString());\n return +id;\n }\n }, {\n key: \"GetInvoiceId\",\n value: function GetInvoiceId() {\n var urlParams = new URLSearchParameters(window.location.search);\n var id = urlParams.get(\"invoiceid\");\n return id;\n }\n }, {\n key: \"ParseFromPath\",\n value: function ParseFromPath(queryString) {\n //let locationWithoutQueryString = location.href.replace(`?${queryString}`, '');\n console.log('location.href', location.href);\n var locationWithoutQueryString = location.href.split(\"?\")[0];\n var urlArray = locationWithoutQueryString.split('/'); //let id = location.href.endsWith(\"/\") ? urlArray[urlArray.length - 2] : urlArray[urlArray.length - 1];\n\n var id = urlArray[urlArray.length - 1] != \"\" ? urlArray[urlArray.length - 1] : urlArray[urlArray.length - 2];\n return +id;\n }\n }, {\n key: \"isMobile\",\n value: function isMobile() {\n var match = window.matchMedia || window.msMatchMedia;\n\n if (match) {\n var mq = match(\"(pointer:coarse)\");\n return mq.matches;\n }\n\n return false;\n }\n }]);\n\n return CommonBuilder;\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=\"\")\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=\"\")\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 = \"\");\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, \"
\");\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: '' + address + '',\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 \"
\\n\\t
\\n\\t
\\n\\t\\t
\\n\\t\\t \".concat(data.title, \"\\n\\t\\t
\\n\\t\\t\\t\").concat(data.address, \"\\n\\t\\t
\\n\\t\\t Get Directions\\n\\t\\t
\\n\\t
\\n\\t
\\n
\");\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 \"

\").concat(navLabel, \"

\");\n }\n }, {\n key: \"BuildFinderDetailImage\",\n value: function BuildFinderDetailImage(imageSrc, type) {\n if (imageSrc === null || imageSrc === undefined) {\n return \"
\");\n } else {\n return \"
\");\n }\n }\n }, {\n key: \"BuildImage\",\n value: function BuildImage(imageSrc, type) {\n if (imageSrc === null || imageSrc === undefined) {\n return \"\");\n } else {\n return \"\");\n }\n }\n }, {\n key: \"BuildTitle\",\n value: function BuildTitle(headerName) {\n return \"

\".concat(headerName, \"

\");\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 \"\").concat(headerName, \"\");\n }\n }, {\n key: \"BuildCustomButton\",\n value: function BuildCustomButton(targetUrl, btnText) {\n if (!!targetUrl) {\n return \"\").concat(btnText, \"\");\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 \"
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\".concat(dateTimes.map(function (dateTime) {\n return \"

\").concat(dateTime.text, \"

\");\n }).join(''), \"\\n\\t\\t\\t
\\n\\t\\t\\t\").concat(isAddToCalendar ? \"\".concat(this.BuildButton({\n type: 'primary',\n text: 'Add to Calendar'\n })) : '', \"\\n\\t\\t
\");\n }\n }, {\n key: \"BuildGroupDateTime\",\n value: function BuildGroupDateTime(meetingFrequency, meetingDay, meetingTime) {\n return \"
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

\".concat(!!meetingFrequency ? \"\".concat(meetingFrequency, \" on\") : '', \" \").concat(!!meetingDay ? meetingDay : '', \" \").concat(!!meetingTime && !!meetingDay ? \"@ \".concat(new DateTimeFormatter().ToShortTime(meetingTime)) : '', \"

\\n\\t\\t\\t
\\n\\t\\t
\");\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 \"
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

\".concat(meetingDay, \" @ \").concat(new DateTimeFormatter().ToShortTime(meetingTime), \"

\\n\\t\\t\\t\\t\").concat(location === null ? '' : \"

\".concat(location, \"

\"), \"\\n\\t\\t\\t
\\n\\t\\t\\t\").concat(isAddToCalendar ? \"\".concat(this.BuildButton({\n type: 'primary',\n text: 'Add to Calendar'\n })) : '', \"\\n\\t\\t
\");\n }\n }, {\n key: \"BuildOpportunityDateTime\",\n value: function BuildOpportunityDateTime(startDate, meetingDay) {\n return \"
\\n\\t\\t\\t
\\n\\t\\t\\t\\t

\".concat(startDate === null ? meetingDay : new DateTimeFormatter().ToShortDateTime(startDate), \"

\\n\\t\\t\\t
\\n\\t\\t
\");\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 \"

\\n\\t\\t\\t\".concat(new TextFormatter(description).addLineBreaks(), \"\\n\\t\\t

\");\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 \"
\".concat(new TextFormatter(regular).addLineBreaks(), \" \").concat(new TextFormatter(counterText).addLineBreaks(), \"
\");\n } else {\n return \"
\".concat(special, \"
\").concat(new TextFormatter(regular).addLineBreaks(), \" \").concat(new TextFormatter(counterText).addLineBreaks(), \"
\");\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 \"
\".concat(label, \"
\");\n } else {\n return \"
\".concat(title, \"
\").concat(label, \"
\");\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 \"
\\n\\t\\t\\t\".concat(label, \":\\n\\t\\t\\t
    \\n\\t\\t\\t\\t\").concat(address.filter(function (el) {\n return el !== null;\n }).map(function (line) {\n return \"
  • \".concat(line, \"
  • \");\n }).join(''), \"\\n\\t\\t\\t
\\n\\t\\t
\");\n }\n }, {\n key: \"BuildButton\",\n value: function BuildButton(_ref) {\n var type = _ref.type,\n text = _ref.text;\n return \"\");\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 \"
    \\n\\t\\t\\t\".concat(labels.map(function (label) {\n return \"
  • \".concat(InnerPageBuilder.ApplyI18n(i18n, label), \"
  • \");\n }).join(''), \"\\n\\t\\t
\");\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 \"
\\n\\t\\t\\t\\n\\t\\t\\t
\\n\\t\\t\\t\\t\").concat(labels.map(function (label) {\n return \"

\".concat(label, \"

\");\n }).join(''), \"\\n\\t\\t\\t\\tGet Directions\\n\\t\\t\\t
\\n\\t\\t
\");\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 \"
\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\").concat(text, \"\\n\\t\\t\\t
\\n\\t\\t
\");\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 \"

\".concat(address, \"

\\n\\t\\t\\t\\t\").concat(text, \" >\");\n } else {\n return \"\").concat(text, \" >\");\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 \"
\\n\\t\\t\\t

Progress:

\\n\\t\\t\\t

\".concat(header, \"

\\n\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t

\").concat(description, \"

\\n\\t\\t
\");\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 \"
\\n\\t\\t\\t
\".concat(headerName, \":
\\n\\t\\t\\t
    \\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(' ', '
    ');\n return \"
  • \\n\\t\\t\\t\\t\\t\\t\\t\") : \">\".concat(displayName.charAt(0)), \"\\n\\t\\t\\t\\t\\t\\t\\t\").concat(displayName, \"\\n\\t\\t\\t\\t\\t\\t
  • \");\n }).join(''), \"\\n\\t\\t\\t
\\n\\t\\t
\");\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
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t

\".concat(title, \"

\\n\\t\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t

\").concat(meetingInstructions, \"

\\n\\t\\t\\t
\\n\\t\\t
\\n\\t\\t
\\n\\t\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t

\").concat(dateTimes.map(function (dateTime) {\n return \"\".concat(dateTime);\n }).join(''), \"

\\n\\t\\t\\t
\\n\\t\\t
\\n\\t\\t
\\n\\t\\t\\t\\t\\n\\t\\t\\t\\t

\").concat(description, \"

\\n\\t\\t
\");\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 \"
\\n\\t\\t\\t\".concat(params.map(function (param) {\n return \"\".concat(param);\n }).join(''), \"\\n\\t\\t
\");\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 CommunicationService = /*#__PURE__*/function () {\n function CommunicationService() {\n _classCallCheck(this, CommunicationService);\n\n var config = new Configuration();\n this._appRoot = config.GetAppRoot();\n }\n\n _createClass(CommunicationService, [{\n key: \"SendEmail\",\n value: function SendEmail(formData) {\n var url = \"\".concat(this._appRoot, \"/Api/CommunicationApi/SendSimpleEmail\");\n return Ajax.Post(url, formData);\n }\n }, {\n key: \"GetEmailTemplate\",\n value: function GetEmailTemplate(emailTemplateId) {\n var url = \"\".concat(this._appRoot, \"/Api/CommunicationApi/GetEmailTemplate?emailTemplateId=\").concat(emailTemplateId);\n return Ajax.Get(url);\n }\n }]);\n\n return CommunicationService;\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 _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 _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