{"version":3,"file":"app.bundle.js","mappings":"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","sources":["webpack://@wisemapping/webapp/webpack/runtime/chunk loaded","webpack://@wisemapping/webapp/webpack/runtime/create fake namespace object","webpack://@wisemapping/webapp/webpack/runtime/load script","webpack://@wisemapping/webapp/./src/app.tsx","webpack://@wisemapping/webapp/./src/classes/app-config/index.ts","webpack://@wisemapping/webapp/./src/classes/app-i18n/index.ts","webpack://@wisemapping/webapp/./src/classes/client/mock-client/index.ts","webpack://@wisemapping/webapp/./src/classes/client/rest-client/index.ts","webpack://@wisemapping/webapp/./src/components/HOCs/withEmotionStyles.tsx","webpack://@wisemapping/webapp/./src/components/common/csrf-input/index.tsx","webpack://@wisemapping/webapp/./src/components/common/google-button/index.tsx","webpack://@wisemapping/webapp/./src/components/common/google-icon/index.tsx","webpack://@wisemapping/webapp/./src/components/common/separator/index.tsx","webpack://@wisemapping/webapp/./src/components/common/separator/style.ts","webpack://@wisemapping/webapp/./src/components/error-page/index.tsx","webpack://@wisemapping/webapp/./src/components/error-page/styled.ts","webpack://@wisemapping/webapp/./src/components/forgot-password-page/index.tsx","webpack://@wisemapping/webapp/./src/components/forgot-password-success-page/index.tsx","webpack://@wisemapping/webapp/./src/components/form/global-error/index.tsx","webpack://@wisemapping/webapp/./src/components/form/global-error/styled.ts","webpack://@wisemapping/webapp/./src/components/form/input/index.tsx","webpack://@wisemapping/webapp/./src/components/form/submit-button/index.tsx","webpack://@wisemapping/webapp/./src/components/layout/footer/index.tsx","webpack://@wisemapping/webapp/./src/components/layout/footer/styled.ts","webpack://@wisemapping/webapp/./src/components/layout/form-container/index.tsx","webpack://@wisemapping/webapp/./src/components/layout/header/index.tsx","webpack://@wisemapping/webapp/./src/components/layout/header/styled.ts","webpack://@wisemapping/webapp/./src/components/login-page/index.tsx","webpack://@wisemapping/webapp/./src/components/registration-callback/index.tsx","webpack://@wisemapping/webapp/./src/components/registration-callback/style.ts","webpack://@wisemapping/webapp/./src/components/registration-page/index.tsx","webpack://@wisemapping/webapp/./src/components/registration-page/style.ts","webpack://@wisemapping/webapp/./src/components/registration-success-page/index.tsx","webpack://@wisemapping/webapp/./src/index.tsx","webpack://@wisemapping/webapp/./src/redux/clientSlice.ts","webpack://@wisemapping/webapp/./src/redux/editorSlice.ts","webpack://@wisemapping/webapp/./src/redux/rootReducer.ts","webpack://@wisemapping/webapp/./src/redux/store.ts","webpack://@wisemapping/webapp/./src/theme/index.ts","webpack://@wisemapping/webapp/./src/utils.ts","webpack://@wisemapping/webapp/webpack/bootstrap","webpack://@wisemapping/webapp/webpack/runtime/compat get default export","webpack://@wisemapping/webapp/webpack/runtime/define property getters","webpack://@wisemapping/webapp/webpack/runtime/ensure chunk","webpack://@wisemapping/webapp/webpack/runtime/get javascript chunk filename","webpack://@wisemapping/webapp/webpack/runtime/global","webpack://@wisemapping/webapp/webpack/runtime/hasOwnProperty shorthand","webpack://@wisemapping/webapp/webpack/runtime/make namespace object","webpack://@wisemapping/webapp/webpack/runtime/node module decorator","webpack://@wisemapping/webapp/webpack/runtime/publicPath","webpack://@wisemapping/webapp/webpack/runtime/jsonp chunk loading","webpack://@wisemapping/webapp/webpack/runtime/nonce","webpack://@wisemapping/webapp/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"@wisemapping/webapp:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/*\n * Copyright [2021] [wisemapping]\n *\n * Licensed under WiseMapping Public License, Version 1.0 (the \"License\").\n * It is basically the Apache License, Version 2.0 (the \"License\") plus the\n * \"powered by wisemapping\" text requirement on every single page;\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the license at\n *\n * http://www.wisemapping.org/license\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React, { ReactElement, Suspense, useEffect } from 'react';\nimport { FormattedMessage, IntlProvider } from 'react-intl';\nimport { Route, Routes, BrowserRouter as Router, useNavigate } from 'react-router-dom';\nimport ForgotPasswordSuccessPage from './components/forgot-password-success-page';\nimport RegistationPage from './components/registration-page';\nimport LoginPage from './components/login-page';\nimport store from './redux/store';\nimport { ForgotPasswordPage } from './components/forgot-password-page';\nimport { Provider } from 'react-redux';\nimport { QueryClient, QueryClientProvider } from 'react-query';\nimport { theme } from './theme';\nimport AppI18n, { Locales } from './classes/app-i18n';\nimport CssBaseline from '@mui/material/CssBaseline';\nimport { ThemeProvider as MuiThemeProvider, StyledEngineProvider } from '@mui/material/styles';\nimport ReactGA from 'react-ga4';\nimport AppConfig from './classes/app-config';\nimport RegistrationSuccessPage from './components/registration-success-page';\nimport { ThemeProvider } from '@emotion/react';\nimport RegistrationCallbackPage from './components/registration-callback';\nimport ErrorPage from './components/error-page';\n\nconst EditorPage = React.lazy(() => import('./components/editor-page'));\nconst MapsPage = React.lazy(() => import('./components/maps-page'));\n\n// Google Analytics Initialization.\nconst trackingId = AppConfig.getGoogleAnalyticsAccount();\nif (trackingId) {\n ReactGA.initialize([\n {\n trackingId: trackingId,\n },\n ]);\n}\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n refetchIntervalInBackground: false,\n staleTime: 5 * 1000 * 60, // 10 minutes\n },\n },\n});\n\n// eslint-disable-next-line react/prop-types\nfunction Redirect({ to }) {\n const navigate = useNavigate();\n useEffect(() => {\n navigate(to);\n });\n return null;\n}\n\nconst App = (): ReactElement => {\n const locale = AppI18n.getDefaultLocale();\n const overwriteView = window.errorMvcView;\n\n // This is a hack to move error handling on Spring MVC.\n return locale.message ? (\n \n \n }\n >\n \n \n \n \n {!overwriteView ? (\n \n \n } />\n } />\n } />\n } />\n } />\n } />\n }\n />\n \n \n \n }\n >\n \n \n }\n />\n \n \n \n }\n >\n \n \n }\n />\n \n \n \n }\n >\n \n \n }\n />\n \n \n ) : (\n \n \n \n )}\n \n \n \n \n \n \n ) : (\n
\n \n
\n );\n};\n\nexport default App;\n","/*\n * Copyright [2021] [wisemapping]\n *\n * Licensed under WiseMapping Public License, Version 1.0 (the \"License\").\n * It is basically the Apache License, Version 2.0 (the \"License\") plus the\n * \"powered by wisemapping\" text requirement on every single page;\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the license at\n *\n * http://www.wisemapping.org/license\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport Client from '../client';\nimport MockClient from '../client/mock-client';\nimport RestClient from '../client/rest-client';\n\ninterface Config {\n apiBaseUrl: string;\n analyticsAccount?: string;\n recaptcha2Enabled: boolean;\n recaptcha2SiteKey?: string;\n clientType: 'mock' | 'rest';\n googleOauth2Url: string;\n}\n\nclass _AppConfig {\n private defaultInstance: Config = {\n apiBaseUrl: `${window.location.protocol}//${window.location.hostname}:${window.location.port}`,\n clientType: 'mock',\n recaptcha2Enabled: true,\n recaptcha2SiteKey: '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI',\n googleOauth2Url: '/c/registration-google?code=aFakeCode',\n };\n\n isDevelopEnv(): boolean {\n const config = this.getInstance();\n return config.clientType === 'mock';\n }\n\n private getInstance(): Config {\n // Config can be inserted in the html page to define the global properties ...\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let result = (window as any).serverconfig;\n if (!result) {\n result = this.defaultInstance;\n }\n\n return result;\n }\n\n isRestClient(): boolean {\n const config = this.getInstance();\n return config.clientType === 'rest';\n }\n\n isRecaptcha2Enabled(): boolean {\n const config = this.getInstance();\n return config.recaptcha2Enabled;\n }\n\n getRecaptcha2SiteKey(): string | undefined {\n const config = this.getInstance();\n return config.recaptcha2SiteKey;\n }\n\n getGoogleAnalyticsAccount(): string | undefined {\n const config = this.getInstance();\n return config.analyticsAccount;\n }\n\n getGoogleOauth2Url(): string | undefined {\n const config = this.getInstance();\n return config.googleOauth2Url;\n }\n\n buildClient(): Client {\n const config = this.getInstance();\n let result: Client;\n if (config.clientType == 'rest') {\n result = new RestClient(this.getBaseUrl());\n console.log('Service using rest client. ' + JSON.stringify(config));\n } else {\n console.log('Warning:Service using mockservice client');\n result = new MockClient();\n }\n\n return result;\n }\n\n getBaseUrl(): string {\n const config = this.getInstance();\n return config.apiBaseUrl;\n }\n}\nconst AppConfig = new _AppConfig();\n\nexport default AppConfig;\n","/*\n * Copyright [2021] [wisemapping]\n *\n * Licensed under WiseMapping Public License, Version 1.0 (the \"License\").\n * It is basically the Apache License, Version 2.0 (the \"License\") plus the\n * \"powered by wisemapping\" text requirement on every single page;\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the license at\n *\n * http://www.wisemapping.org/license\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useFetchAccount } from './../../redux/clientSlice';\nimport 'dayjs/locale/fr';\nimport 'dayjs/locale/en';\nimport 'dayjs/locale/es';\nimport 'dayjs/locale/de';\nimport 'dayjs/locale/ru';\nimport 'dayjs/locale/zh';\n\nexport class Locale {\n code: LocaleCode;\n label: string;\n message: Record;\n\n constructor(code: LocaleCode, label: string, message: unknown) {\n this.code = code;\n this.label = label;\n this.message = message as Record;\n }\n}\n\nexport default abstract class AppI18n {\n private static LOCAL_STORAGE_KEY = 'user.locale';\n\n public static getUserLocale(): Locale {\n // @Todo Hack: Try page must not account info. Add this to avoid 403 errors.\n const isTryPage = window.location.pathname.endsWith('/try');\n let result: Locale;\n if (!isTryPage) {\n const account = useFetchAccount();\n result = account?.locale ? account.locale : this.getDefaultLocale();\n\n // If the local storage value is different, update ...\n if (account?.locale && result.code !== localStorage.getItem(AppI18n.LOCAL_STORAGE_KEY)) {\n localStorage.setItem(AppI18n.LOCAL_STORAGE_KEY, result.code);\n }\n } else {\n result = this.getDefaultLocale();\n }\n return result;\n }\n\n public static getBrowserLocale(): Locale {\n let localeCode = (navigator.languages && navigator.languages[0]) || navigator.language;\n\n // Just remove the variant ...\n localeCode = localeCode.split('-')[0];\n\n let result = Locales.EN;\n try {\n result = localeFromStr(localeCode);\n } catch {\n console.warn(`Unsupported languange code ${localeCode}`);\n }\n\n return result;\n }\n\n public static getDefaultLocale(): Locale {\n // Fetch local from local storage ...\n let result: Locale | null = null;\n const userLocaleCode: string | null = localStorage.getItem(AppI18n.LOCAL_STORAGE_KEY);\n if (userLocaleCode) {\n result = localeFromStr(userLocaleCode);\n }\n\n // Ok, use browser default ...\n if (!result) {\n result = this.getBrowserLocale();\n }\n return result;\n }\n}\n\nexport type LocaleCode = 'en' | 'es' | 'fr' | 'de' | 'ru' | 'zh';\n\nexport const Locales = {\n EN: new Locale('en', 'English', require('./../../compiled-lang/en.json')), // eslint-disable-line\n ES: new Locale('es', 'Español', require('./../../compiled-lang/es.json')), // eslint-disable-line\n DE: new Locale('fr', 'Français', require('./../../compiled-lang/fr.json')), // eslint-disable-line\n FR: new Locale('de', 'Deutsch', require('./../../compiled-lang/de.json')), // eslint-disable-line\n RU: new Locale('ru', 'Pусский', require('./../../compiled-lang/ru.json')), // eslint-disable-line\n ZH: new Locale('zh', '中文 (简体)', require('./../../compiled-lang/zh.json')), // eslint-disable-line\n};\n\nexport const localeFromStr = (code: string): Locale => {\n const locales: Locale[] = Object.values(Locales);\n\n const result = locales.find((l) => l.code == code);\n\n if (!result) {\n throw `Language code could not be found in list of default supported: + ${code}`;\n }\n\n return result;\n};\n","/*\n * Copyright [2021] [wisemapping]\n *\n * Licensed under WiseMapping Public License, Version 1.0 (the \"License\").\n * It is basically the Apache License, Version 2.0 (the \"License\") plus the\n * \"powered by wisemapping\" text requirement on every single page;\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the license at\n *\n * http://www.wisemapping.org/license\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport Client, {\n AccountInfo,\n BasicMapInfo,\n ChangeHistory,\n ImportMapInfo,\n Label,\n MapInfo,\n NewUser,\n Permission,\n Oauth2CallbackResult,\n ForgotPasswordResult,\n} from '..';\nimport { LocaleCode, localeFromStr } from '../../app-i18n';\n\nconst label1: Label = {\n id: 1,\n title: 'label 1',\n color: 'black',\n};\n\nconst label2: Label = {\n id: 2,\n title: 'label 2',\n color: 'green',\n};\n\nconst label3: Label = {\n id: 3,\n title: 'label 3',\n color: 'red',\n};\n\nclass MockClient implements Client {\n private maps: MapInfo[] = [];\n private labels: Label[] = [];\n private permissionsByMap: Map = new Map();\n\n constructor() {\n // Remove, just for develop ....\n function createMapInfo(\n id: number,\n starred: boolean,\n title: string,\n labels: Label[],\n creator: string,\n creationTime: string,\n modifiedByUser: string,\n modifiedTime: string,\n description: string,\n isPublic: boolean,\n role: 'owner' | 'viewer' | 'editor',\n ): MapInfo {\n return {\n id,\n title,\n labels,\n createdBy: creator,\n creationTime,\n lastModificationBy: modifiedByUser,\n lastModificationTime: modifiedTime,\n starred,\n description,\n isPublic,\n role,\n };\n }\n\n this.maps = [\n createMapInfo(\n 1,\n true,\n 'El Mapa',\n [],\n 'Paulo',\n '2008-06-02T00:00:00Z',\n 'Berna',\n '2008-06-02T00:00:00Z',\n '',\n true,\n 'owner',\n ),\n createMapInfo(\n 11,\n false,\n 'El Mapa3',\n [label1, label2],\n 'Paulo3',\n '2008-06-02T00:00:00Z',\n 'Berna',\n '2008-06-02T00:00:00Z',\n '',\n false,\n 'editor',\n ),\n createMapInfo(\n 12,\n false,\n 'El Mapa3',\n [label2, label3],\n 'Paulo3',\n '2008-06-02T00:00:00Z',\n 'Berna',\n '2008-06-02T00:00:00Z',\n '',\n false,\n 'editor',\n ),\n ];\n\n this.labels = [label1, label2, label3];\n }\n\n fetchStarred(id: number): Promise {\n return Promise.resolve(Boolean(this.maps.find((m) => m.id == id)?.starred));\n }\n\n onSessionExpired(callback?: () => void): (() => void) | undefined {\n return callback;\n }\n\n deleteMapPermission(id: number, email: string): Promise {\n let perm = this.permissionsByMap.get(id) || [];\n perm = perm.filter((p) => p.email != email);\n this.permissionsByMap.set(id, perm);\n return Promise.resolve();\n }\n\n addMapPermissions(id: number, message: string, permissions: Permission[]): Promise {\n let perm = this.permissionsByMap.get(id) || [];\n perm = perm.concat(permissions);\n this.permissionsByMap.set(id, perm);\n return Promise.resolve();\n }\n\n fetchMapPermissions(id: number): Promise {\n let perm = this.permissionsByMap.get(id);\n if (!perm) {\n perm = [\n {\n name: 'Cosme Editor',\n email: 'pepe@example.com',\n role: 'editor',\n },\n {\n name: 'Cosme Owner',\n email: 'pepe2@example.com',\n role: 'owner',\n },\n {\n name: 'Cosme Viewer',\n email: 'pepe3@example.com',\n role: 'viewer',\n },\n ];\n this.permissionsByMap.set(id, perm);\n }\n return Promise.resolve(perm);\n }\n\n deleteAccount(): Promise {\n return Promise.resolve();\n }\n\n updateAccountInfo(firstname: string, lastname: string): Promise {\n console.log('firstname:' + firstname, +lastname);\n return Promise.resolve();\n }\n\n updateAccountPassword(pasword: string): Promise {\n console.log('password:' + pasword);\n return Promise.resolve();\n }\n\n updateAccountLanguage(locale: LocaleCode): Promise {\n localStorage.setItem('locale', locale);\n return Promise.resolve();\n }\n\n importMap(model: ImportMapInfo): Promise {\n console.log('model:' + model);\n return Promise.resolve(10);\n }\n\n fetchAccountInfo(): Promise {\n console.log('Fetch account info ...');\n const locale: LocaleCode | null = localStorage.getItem('locale') as LocaleCode;\n return Promise.resolve({\n firstname: 'Costme',\n lastname: 'Fulanito',\n email: 'test@example.com',\n locale: localeFromStr(locale),\n authenticationType: 'DATABASE',\n });\n }\n\n deleteMaps(ids: number[]): Promise {\n ids.forEach((id) => this.deleteMap(id));\n return Promise.resolve();\n }\n revertHistory(id: number, cid: number): Promise {\n console.log('model:' + id + cid);\n return Promise.resolve();\n }\n\n createMap(map: BasicMapInfo): Promise {\n throw new Error('Method not implemented.' + map);\n }\n\n fetchLabels(): Promise {\n console.log('Fetching labels from server');\n return Promise.resolve(this.labels);\n }\n\n updateMapToPublic(id: number, isPublic: boolean): Promise {\n const mapInfo = this.maps.find((m) => m.id == id);\n if (mapInfo) {\n mapInfo.isPublic = isPublic;\n }\n return Promise.resolve();\n }\n\n updateStarred(id: number, starred: boolean): Promise {\n const mapInfo = this.maps.find((m) => m.id == id);\n if (!mapInfo) {\n console.log(`Could not find the map iwth id ${id}`);\n return Promise.reject();\n }\n mapInfo.starred = starred;\n return Promise.resolve();\n }\n\n renameMap(id: number, basicInfo: BasicMapInfo): Promise {\n const exists = this.maps.find((m) => m.title == basicInfo.title) != undefined;\n if (!exists) {\n this.maps = this.maps.map((m) => {\n const result = m;\n if (m.id == id) {\n result.description = basicInfo.description ? basicInfo.description : '';\n result.title = basicInfo.title;\n }\n return result;\n });\n return Promise.resolve();\n } else {\n const fieldErrors: Map = new Map();\n fieldErrors.set('name', 'name already exists ');\n\n return Promise.reject({\n msg: 'Map already exists ...' + basicInfo.title,\n fields: fieldErrors,\n });\n }\n }\n\n fetchHistory(id: number): Promise {\n console.log(`Fetching history for ${id}`);\n const result = [\n {\n id: 1,\n lastModificationBy: 'Paulo',\n lastModificationTime: '2008-06-02T00:00:00Z',\n },\n {\n id: 2,\n lastModificationBy: 'Paulo',\n lastModificationTime: '2008-06-02T00:00:00Z',\n },\n {\n id: 3,\n lastModificationBy: 'Paulo',\n lastModificationTime: '2008-06-02T00:00:00Z',\n },\n {\n id: 4,\n lastModificationBy: 'Paulo',\n lastModificationTime: '2008-06-02T00:00:00Z',\n },\n {\n id: 5,\n lastModificationBy: 'Paulo',\n lastModificationTime: '2008-06-02T00:00:00Z',\n },\n {\n id: 6,\n lastModificationBy: 'Paulo',\n lastModificationTime: '2008-06-02T00:00:00Z',\n },\n {\n id: 7,\n lastModificationBy: 'Paulo',\n lastModificationTime: '2008-06-02T00:00:00Z',\n },\n ];\n return Promise.resolve(result);\n }\n\n duplicateMap(id: number, basicInfo: BasicMapInfo): Promise {\n const exists = this.maps.find((m) => m.title == basicInfo.title) != undefined;\n if (!exists) {\n const newMap: MapInfo = {\n id: Math.random() * 1000,\n description: String(basicInfo.description),\n title: basicInfo.title,\n starred: false,\n createdBy: 'current user',\n labels: [],\n lastModificationTime: '2008-06-02T00:00:00Z',\n lastModificationBy: 'Berna',\n creationTime: '2008-06-02T00:00:00Z',\n isPublic: false,\n role: 'owner',\n };\n this.maps.push(newMap);\n return Promise.resolve(newMap.id);\n } else {\n const fieldErrors: Map = new Map();\n fieldErrors.set('name', 'name already exists ');\n\n return Promise.reject({\n msg: 'Maps name must be unique:' + basicInfo.title,\n fields: fieldErrors,\n });\n }\n }\n\n createLabel(title: string, color: string): Promise {\n const newId =\n Math.max.apply(\n Number,\n this.labels.map((l) => l.id),\n ) + 1;\n this.labels.push({\n id: newId,\n title,\n color,\n });\n return newId;\n }\n\n deleteLabel(id: number): Promise {\n this.labels = this.labels.filter((l) => l.id != id);\n this.maps = this.maps.map((m) => {\n return {\n ...m,\n labels: m.labels.filter((l) => l.id != id),\n };\n });\n return Promise.resolve();\n }\n\n addLabelToMap(labelId: number, mapId: number): Promise {\n const labelToAdd = this.labels.find((l) => l.id === labelId);\n if (!labelToAdd) {\n return Promise.reject({ msg: `unable to find label with id ${labelId}` });\n }\n const map = this.maps.find((m) => m.id === mapId);\n if (!map) {\n return Promise.reject({ msg: `unable to find map with id ${mapId}` });\n }\n map.labels.push(labelToAdd);\n return Promise.resolve();\n }\n\n deleteLabelFromMap(labelId: number, mapId: number): Promise {\n const map = this.maps.find((m) => m.id === mapId);\n if (!map) {\n return Promise.reject({ msg: `unable to find map with id ${mapId}` });\n }\n map.labels = map.labels.filter((l) => l.id !== labelId);\n return Promise.resolve();\n }\n\n deleteMap(id: number): Promise {\n this.maps = this.maps.filter((m) => m.id != id);\n return Promise.resolve();\n }\n\n registerNewUser(user: NewUser): Promise {\n console.log('user:' + user);\n if (user.email == 'error@example.com') {\n return Promise.reject({ msg: 'Unexpected error' });\n }\n return Promise.resolve();\n }\n\n fetchAllMaps(): Promise {\n console.log('Fetching maps from server');\n return Promise.resolve(this.maps);\n }\n\n resetPassword(email: string): Promise {\n console.log('email:' + email);\n return Promise.resolve({ action: 'EMAIL_SENT' });\n }\n\n processGoogleCallback(): Promise {\n // artificial delay for more realistic mock experience\n const handler = (success: (result: Oauth2CallbackResult) => void) => {\n setTimeout(() => {\n success({\n email: 'test@email.com',\n // -- use case 1) user must confirm if he wants to link accounts\n // googleSync: false,\n // syncCode: \"834580239598234650234578\"\n // -- use case 2) user already confirmed\n googleSync: true,\n syncCode: undefined,\n });\n }, 3000);\n };\n return new Promise(handler);\n }\n\n confirmAccountSync(): Promise {\n return Promise.resolve();\n }\n}\n\nexport default MockClient;\n","import axios, { AxiosInstance, AxiosResponse } from 'axios';\nimport Client, {\n ErrorInfo,\n MapInfo,\n BasicMapInfo,\n NewUser,\n Label,\n ChangeHistory,\n AccountInfo,\n ImportMapInfo,\n Permission,\n Oauth2CallbackResult,\n ForgotPasswordResult,\n} from '..';\nimport { getCsrfToken } from '../../../utils';\nimport { LocaleCode, localeFromStr } from '../../app-i18n';\n\nexport default class RestClient implements Client {\n private baseUrl: string;\n private axios: AxiosInstance;\n\n private checkResponseForSessionExpired = (error: {\n response?: AxiosResponse;\n }): Promise<{ response?: AxiosResponse }> => {\n // TODO: Improve session timeout response and response handling\n if (error.response && error.response.status === 405) {\n this.sessionExpired();\n }\n return Promise.reject(error);\n };\n\n constructor(baseUrl: string) {\n this.baseUrl = baseUrl;\n this.axios = axios.create({ maxRedirects: 0 });\n const csrfToken = getCsrfToken();\n if (csrfToken) {\n this.axios.defaults.headers['X-CSRF-TOKEN'] = csrfToken;\n } else {\n console.warn('csrf token not found in html head');\n }\n this.axios.interceptors.response.use(\n (r) => r,\n (r) => this.checkResponseForSessionExpired(r),\n );\n }\n\n private _onSessionExpired: () => void;\n onSessionExpired(callback?: () => void): () => void {\n if (callback) {\n this._onSessionExpired = callback;\n }\n return this._onSessionExpired;\n }\n\n private sessionExpired() {\n if (this._onSessionExpired) {\n this._onSessionExpired();\n }\n }\n\n deleteMapPermission(id: number, email: string): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .delete(`${this.baseUrl}/c/restful/maps/${id}/collabs?email=${encodeURIComponent(email)}`, {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n fetchStarred(id: number): Promise {\n const handler = (success: (starred: boolean) => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .get(`${this.baseUrl}/c/restful/maps/${id}/starred`, {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then((response) => {\n const data = response.data;\n success(data);\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n addMapPermissions(id: number, message: string, permissions: Permission[]): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .put(\n `${this.baseUrl}/c/restful/maps/${id}/collabs/`,\n {\n message: message,\n collaborations: permissions,\n },\n { headers: { 'Content-Type': 'application/json' } },\n )\n .then(() => {\n // All was ok, let's sent to success page ...;\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n fetchMapPermissions(id: number): Promise {\n const handler = (\n success: (labels: Permission[]) => void,\n reject: (error: ErrorInfo) => void,\n ) => {\n this.axios\n .get(`${this.baseUrl}/c/restful/maps/${id}/collabs`, {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then((response) => {\n const data = response.data;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const perms: Permission[] = (data.collaborations as any[]).map((p) => {\n return {\n id: p.id,\n email: p.email,\n name: p.name,\n role: p.role,\n };\n });\n success(perms);\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n deleteAccount(): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .delete(`${this.baseUrl}/c/restful/account`, {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n updateAccountInfo(firstname: string, lastname: string): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .put(`${this.baseUrl}/c/restful/account/firstname`, firstname, {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then(() => {\n return this.axios.put(`${this.baseUrl}/c/restful/account/lastname`, lastname, {\n headers: { 'Content-Type': 'text/plain' },\n });\n })\n .then(() => {\n // All was ok, let's sent to success page ...;\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n updateAccountPassword(pasword: string): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .put(`${this.baseUrl}/c/restful/account/password`, pasword, {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n updateAccountLanguage(locale: LocaleCode): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .put(`${this.baseUrl}/c/restful/account/locale`, locale, {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then(() => {\n // All was ok, let's sent to success page ...;\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n\n // Enrich with language ...\n errorInfo.msg = `${errorInfo.msg} - Language: ${locale}`;\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n importMap(model: ImportMapInfo): Promise {\n const handler = (success: (mapId: number) => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .post(\n `${this.baseUrl}/c/restful/maps?title=${encodeURIComponent(\n model.title,\n )}&description=${encodeURIComponent(model.description ? model.description : '')}`,\n model.content,\n { headers: { 'Content-Type': 'application/xml' } },\n )\n .then((response) => {\n const mapId = Number.parseInt(response.headers.resourceid, 10);\n success(mapId);\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n fetchAccountInfo(): Promise {\n const handler = (\n success: (account: AccountInfo) => void,\n reject: (error: ErrorInfo) => void,\n ) => {\n this.axios\n .get(`${this.baseUrl}/c/restful/account`, {\n headers: { 'Content-Type': 'application/json' },\n })\n .then((response) => {\n const account = response.data;\n const locale: LocaleCode | null = account.locale;\n success({\n lastname: account.lastname ? account.lastname : '',\n firstname: account.firstname ? account.firstname : '',\n email: account.email,\n locale: locale ? localeFromStr(locale) : undefined,\n authenticationType: account.authenticationType,\n });\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n deleteMaps(ids: number[]): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .delete(`${this.baseUrl}/c/restful/maps/batch?ids=${ids.join()}`, {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const response = error.response;\n const errorInfo = this.parseResponseOnError(response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n updateMapToPublic(id: number, isPublic: boolean): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .put(`${this.baseUrl}/c/restful/maps/${id}/publish`, isPublic.toString(), {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n revertHistory(id: number, hid: number): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .post(`${this.baseUrl}/c/restful/maps/${id}/history/${hid}`, null, {\n headers: { 'Content-Type': 'text/pain' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n fetchHistory(id: number): Promise {\n const handler = (\n success: (historyList: ChangeHistory[]) => void,\n reject: (error: ErrorInfo) => void,\n ) => {\n this.axios\n .get(`${this.baseUrl}/c/restful/maps/${id}/history/`, {\n headers: { 'Content-Type': 'application/json' },\n })\n .then((response) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const historyList: ChangeHistory[] = (response.data.changes as any[]).map((h) => {\n return {\n id: h.id,\n lastModificationBy: h.creator,\n lastModificationTime: h.creationTime,\n };\n });\n success(historyList);\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n renameMap(id: number, basicInfo: BasicMapInfo): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .put(`${this.baseUrl}/c/restful/maps/${id}/title`, basicInfo.title, {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then(() => {\n return this.axios.put(\n `${this.baseUrl}/c/restful/maps/${id}/description`,\n basicInfo.description || ' ',\n { headers: { 'Content-Type': 'text/plain' } },\n );\n })\n .then(() => {\n // All was ok, let's sent to success page ...;\n success();\n })\n .catch((error) => {\n const response = error.response;\n const errorInfo = this.parseResponseOnError(response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n createMap(model: BasicMapInfo): Promise {\n const handler = (success: (mapId: number) => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .post(\n `${this.baseUrl}/c/restful/maps?title=${encodeURIComponent(\n model.title,\n )}&description=${encodeURIComponent(model.description ? model.description : '')}`,\n null,\n { headers: { 'Content-Type': 'application/json' } },\n )\n .then((response) => {\n const mapId = Number.parseInt(response.headers.resourceid, 10);\n success(mapId);\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n fetchAllMaps(): Promise {\n const handler = (\n success: (mapsInfo: MapInfo[]) => void,\n reject: (error: ErrorInfo) => void,\n ) => {\n this.axios\n .get(`${this.baseUrl}/c/restful/maps/`, {\n headers: { 'Content-Type': 'application/json' },\n })\n .then((response) => {\n const data = response.data;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const maps: MapInfo[] = (data.mindmapsInfo as any[]).map((m) => {\n return {\n id: m.id,\n starred: m.starred,\n title: m.title,\n labels: m.labels,\n createdBy: m.creator,\n creationTime: m.creationTime,\n lastModificationBy: m.lastModifierUser,\n lastModificationTime: m.lastModificationTime,\n description: m.description,\n isPublic: m['public'],\n role: m.role,\n };\n });\n success(maps);\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n registerNewUser(user: NewUser): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .post(`${this.baseUrl}/service/users/`, JSON.stringify(user), {\n headers: { 'Content-Type': 'application/json' },\n })\n .then(() => {\n // All was ok, let's sent to success page ...;\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n deleteMap(id: number): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .delete(`${this.baseUrl}/c/restful/maps/${id}`, {\n headers: { 'Content-Type': 'application/json' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n resetPassword(email: string): Promise {\n const handler = (\n success: (result: ForgotPasswordResult) => void,\n reject: (error: ErrorInfo) => void,\n ) => {\n this.axios\n .put(\n `${this.baseUrl}/service/users/resetPassword?email=${encodeURIComponent(email)}`,\n null,\n {\n headers: { 'Content-Type': 'application/json' },\n },\n )\n .then((response) => {\n // All was ok, lets return if an email was sent or the user should login with oauth\n success({ action: response.data.action });\n })\n .catch((error) => {\n const response = error.response;\n const errorInfo = this.parseResponseOnError(response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n duplicateMap(id: number, basicInfo: BasicMapInfo): Promise {\n const handler = (success: (mapId: number) => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .post(`${this.baseUrl}/c/restful/maps/${id}`, JSON.stringify(basicInfo), {\n headers: { 'Content-Type': 'application/json' },\n })\n .then((response) => {\n const mapId = Number.parseInt(response.headers.resourceid, 10);\n success(mapId);\n })\n .catch((error) => {\n const response = error.response;\n const errorInfo = this.parseResponseOnError(response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n updateStarred(id: number, starred: boolean): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .put(`${this.baseUrl}/c/restful/maps/${id}/starred`, starred.toString(), {\n headers: { 'Content-Type': 'text/plain' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const response = error.response;\n const errorInfo = this.parseResponseOnError(response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n fetchLabels(): Promise {\n const handler = (success: (labels: Label[]) => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .get(`${this.baseUrl}/c/restful/labels/`, {\n headers: { 'Content-Type': 'application/json' },\n })\n .then((response) => {\n const data = response.data;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const maps: Label[] = (data.labels as any[]).map((l) => {\n return {\n id: l.id,\n color: l.color,\n title: l.title,\n iconName: l.iconName,\n };\n });\n success(maps);\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n createLabel(title: string, color: string): Promise {\n const handler = (success: (labelId: number) => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .post(\n `${this.baseUrl}/c/restful/labels`,\n JSON.stringify({ title, color, iconName: 'smile' }),\n {\n headers: { 'Content-Type': 'application/json' },\n },\n )\n .then((response) => {\n const mapId = Number.parseInt(response.headers.resourceid, 10);\n success(mapId);\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n deleteLabel(id: number): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .delete(`${this.baseUrl}/c/restful/labels/${id}`)\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n addLabelToMap(labelId: number, mapId: number): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .post(`${this.baseUrl}/c/restful/maps/${mapId}/labels`, JSON.stringify(labelId), {\n headers: { 'Content-Type': 'application/json' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n deleteLabelFromMap(labelId: number, mapId: number): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .delete(`${this.baseUrl}/c/restful/maps/${mapId}/labels/${labelId}`)\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n processGoogleCallback(code: string): Promise {\n const handler = (\n success: (result: Oauth2CallbackResult) => void,\n reject: (error: ErrorInfo) => void,\n ) => {\n this.axios\n .post(`${this.baseUrl}/service/oauth2/googlecallback?code=${code}`, {\n headers: { 'Content-Type': 'application/json' },\n })\n .then((response) => {\n success({\n email: response.data.email,\n googleSync: response.data.googleSync,\n syncCode: response.data.syncCode,\n });\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n confirmAccountSync(email: string, code: string): Promise {\n const handler = (success: () => void, reject: (error: ErrorInfo) => void) => {\n this.axios\n .put(`${this.baseUrl}/service/oauth2/confirmaccountsync?email=${email}&code=${code}`, {\n headers: { 'Content-Type': 'application/json' },\n })\n .then(() => {\n success();\n })\n .catch((error) => {\n const errorInfo = this.parseResponseOnError(error.response);\n reject(errorInfo);\n });\n };\n return new Promise(handler);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private parseResponseOnError = (response: any): ErrorInfo => {\n console.error(`Performing backend action error: ${JSON.stringify(response)}`);\n\n let result: ErrorInfo | undefined;\n if (response) {\n const status: number = response.status;\n const data = response.data;\n console.error(`Status Code: ${status}`);\n console.error(`Status Data: ${response.data}`);\n console.error(`Status Message: ${response.message}`);\n\n switch (status) {\n case 401:\n case 302:\n this.sessionExpired();\n result = {\n msg: 'Your current session has expired. Please, sign in and try again.',\n };\n break;\n default:\n if (data) {\n // Set global errors ...\n result = {};\n const globalErrors = data.globalErrors;\n if (globalErrors && globalErrors.length > 0) {\n result.msg = globalErrors[0];\n }\n\n // Set field errors ...\n if (data.fieldErrors && Object.keys(data.fieldErrors).length > 0) {\n result.fields = data.fieldErrors;\n if (!result.msg) {\n const key = Object.keys(data.fieldErrors)[0];\n result.msg = data.fieldErrors[key];\n }\n }\n } else {\n result = { msg: response.statusText };\n }\n }\n }\n\n // Network related problem ...\n if (!result) {\n result = { msg: 'Unexpected error. Please, try latter' };\n }\n\n return result;\n };\n}\n","/*\n * Copyright [2021] [wisemapping]\n *\n * Licensed under WiseMapping Public License, Version 1.0 (the \"License\").\n * It is basically the Apache License, Version 2.0 (the \"License\") plus the\n * \"powered by wisemapping\" text requirement on every single page;\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the license at\n *\n * http://www.wisemapping.org/license\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React, { ComponentType } from 'react';\n\nfunction withEmotionStyles(css) {\n return (Component: ComponentType) => {\n const WithEmotionStyles = (hocProps): React.ReactElement => {\n return ;\n };\n WithEmotionStyles.displayName = `withEmotionStyles(${getDisplayName(Component)})`;\n return WithEmotionStyles;\n };\n}\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nexport default withEmotionStyles;\n","import React from 'react';\nimport { getCsrfToken, getCsrfTokenParameter } from '../../../utils';\n\nconst CSRFInput = (): React.ReactElement => {\n const token = getCsrfToken();\n const tokenParam = getCsrfTokenParameter();\n return <>{token && tokenParam && };\n};\n\nexport default CSRFInput;\n","/*\n * Copyright [2021] [wisemapping]\n *\n * Licensed under WiseMapping Public License, Version 1.0 (the \"License\").\n * It is basically the Apache License, Version 2.0 (the \"License\") plus the\n * \"powered by wisemapping\" text requirement on every single page;\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the license at\n *\n * http://www.wisemapping.org/license\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { css } from '@emotion/react';\nimport { Button } from '@mui/material';\nimport GoogleIcon from '../google-icon';\n\nconst googleButtonStyle = css({\n color: '#000000',\n fontWeight: '300',\n border: '1px solid black',\n '&:hover': {\n border: '1px solid black',\n },\n});\n\ntype GoogleButtonProps = {\n text: string;\n onClick: React.MouseEventHandler;\n};\n\nconst GoogleButton: React.FunctionComponent = ({\n text,\n onClick,\n}: GoogleButtonProps) => {\n return (\n \n );\n};\n\nexport default GoogleButton;\n","import React from 'react';\nimport { SvgIcon } from '@mui/material';\n\nconst GoogleIconSvg = () => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nconst GoogleIcon = ;\n\nexport default GoogleIcon;\n","/*\n * Copyright [2021] [wisemapping]\n *\n * Licensed under WiseMapping Public License, Version 1.0 (the \"License\").\n * It is basically the Apache License, Version 2.0 (the \"License\") plus the\n * \"powered by wisemapping\" text requirement on every single page;\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the license at\n *\n * http://www.wisemapping.org/license\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\nimport { useTheme } from '@mui/material/styles';\nimport { containerStyle, lineStyle, textStyle } from './style';\n\ntype SeparatorProps = {\n responsive: boolean;\n text: string;\n maxWidth?: number;\n};\n\nconst Separator: React.FunctionComponent = ({\n responsive,\n text,\n maxWidth = undefined,\n}: SeparatorProps) => {\n const theme = useTheme();\n\n return (\n // eslint-disable-next-line react/no-unknown-property\n
\n {/* eslint-disable-next-line react/no-unknown-property */}\n
\n {/* eslint-disable-next-line react/no-unknown-property */}\n
{text}
\n
\n );\n};\n\nexport default Separator;\n","import { css, SerializedStyles } from '@emotion/react';\n\nexport const containerStyle = (\n responsive: boolean,\n maxWidth: number | undefined,\n breakPointDownMd: string,\n): SerializedStyles => {\n return css([\n {\n position: 'relative',\n width: '100%',\n height: '90%',\n top: '5%',\n display: 'inline-block',\n },\n responsive && {\n [breakPointDownMd]: {\n paddingTop: '25px',\n paddingBottom: '25px',\n },\n },\n !responsive && {\n paddingTop: '25px',\n paddingBottom: '25px',\n },\n maxWidth && {\n maxWidth: maxWidth,\n },\n ]);\n};\n\nexport const lineStyle = (responsive: boolean, breakPointUpMd: string): SerializedStyles => {\n return css([\n {\n backgroundColor: '#dce2e6',\n position: 'absolute',\n left: '50%',\n height: '1px',\n width: '100%',\n transform: 'translateX(-50%)',\n },\n responsive && {\n [breakPointUpMd]: {\n height: '100%',\n width: '1px',\n transform: 'translateX(0%) translateY(0%)',\n },\n },\n ]);\n};\n\nexport const textStyle = (responsive: boolean, breakPointUpMd: string): SerializedStyles => {\n return css([\n {\n backgroundColor: '#DCE2E6',\n padding: '5px 10px',\n minWidth: '36px',\n borderRadius: '18px',\n fontSize: '18px',\n color: 'white',\n textAlign: 'center',\n display: 'inline-block',\n position: 'absolute',\n transform: 'translateX(-50%) translateY(-50%)',\n left: '50%',\n },\n responsive && {\n [breakPointUpMd]: {\n top: '15%',\n },\n },\n ]);\n};\n","import React, { useEffect } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport Header from '../layout/header';\nimport Typography from '@mui/material/Typography';\nimport ReactGA from 'react-ga4';\nimport { ErrorBody } from './styled';\n\nexport type ErrorPageType = {\n isSecurity: boolean;\n};\n\nconst ErrorPage = ({ isSecurity }: ErrorPageType): React.ReactElement => {\n const intl = useIntl();\n\n useEffect(() => {\n document.title = intl.formatMessage({\n id: 'error.page-title',\n defaultMessage: 'Unexpected Error | WiseMapping',\n });\n ReactGA.send({ hitType: 'pageview', page: window.location.pathname, title: 'ErrorPage' });\n }, []);\n\n return (\n
\n
\n\n \n \n {isSecurity ? (\n \n ) : (\n \n )}\n \n\n \n {isSecurity ? (\n \n ) : (\n \n )}\n \n \n
\n );\n};\n\nexport default ErrorPage;\n","import styled from 'styled-components';\n\nexport const ErrorBody = styled.div`\n margin: auto;\n width: 90%;\n padding: 10px;\n`;\n","import React, { useState, useEffect } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport Client, { ErrorInfo, ForgotPasswordResult } from '../../classes/client';\n\nimport Header from '../layout/header';\nimport Footer from '../layout/footer';\nimport FormContainer from '../layout/form-container';\nimport { useSelector } from 'react-redux';\nimport { useMutation } from 'react-query';\nimport { activeInstance } from '../../redux/clientSlice';\nimport Input from '../form/input';\nimport GlobalError from '../form/global-error';\nimport SubmitButton from '../form/submit-button';\nimport ReactGA from 'react-ga4';\nimport { Link as RouterLink } from 'react-router-dom';\n\nimport Typography from '@mui/material/Typography';\nimport { useNavigate } from 'react-router-dom';\nimport { Button } from '@mui/material';\nimport CSRFInput from '../common/csrf-input';\n\nconst ForgotPassword = () => {\n const [email, setEmail] = useState('');\n const [error, setError] = useState();\n const [showOauthMessage, setShowOauthMessage] = useState(false);\n const navigate = useNavigate();\n const intl = useIntl();\n\n const service: Client = useSelector(activeInstance);\n const mutation = useMutation(\n (email: string) => service.resetPassword(email),\n {\n onSuccess: (result) => {\n if (result.action === 'EMAIL_SENT') navigate('/c/forgot-password-success');\n if (result.action === 'OAUTH2_USER') setShowOauthMessage(true);\n },\n onError: (error) => {\n setError(error);\n },\n },\n );\n\n const handleOnSubmit = (event: React.FormEvent) => {\n event.preventDefault();\n mutation.mutate(email);\n };\n\n if (showOauthMessage) {\n return (\n \n \n \n \n \n \n \n \n );\n }\n\n return (\n \n \n \n \n\n \n \n \n\n \n\n
\n \n setEmail(e.target.value)}\n error={error}\n />\n\n \n \n
\n );\n};\n\nconst ForgotPasswordPage = (): React.ReactElement => {\n const intl = useIntl();\n useEffect(() => {\n document.title = intl.formatMessage({\n id: 'forgot.page-title',\n defaultMessage: 'Forgot Password | WiseMapping',\n });\n ReactGA.send({\n hitType: 'pageview',\n page: window.location.pathname,\n title: 'ForgotPassword:Init',\n });\n }, []);\n\n return (\n
\n
\n \n
\n
\n );\n};\n\nexport { ForgotPasswordPage };\n","import React, { useEffect } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport FormContainer from '../layout/form-container';\nimport Header from '../layout/header';\nimport Footer from '../layout/footer';\nimport { Link as RouterLink } from 'react-router-dom';\nimport Typography from '@mui/material/Typography';\nimport Button from '@mui/material/Button';\nimport ReactGA from 'react-ga4';\n\nconst ForgotPasswordSuccessPage = (): React.ReactElement => {\n const intl = useIntl();\n\n useEffect(() => {\n document.title = intl.formatMessage({\n id: 'forgotsuccess.page-title',\n defaultMessage: 'Password Recovered | WiseMapping',\n });\n ReactGA.send({\n hitType: 'pageview',\n page: window.location.pathname,\n title: 'ForgotPassword:Success',\n });\n });\n\n return (\n
\n
\n \n \n \n \n\n \n \n \n\n \n \n \n \n
\n
\n );\n};\n\nexport default ForgotPasswordSuccessPage;\n","import React from 'react';\nimport { ErrorInfo } from '../../../classes/client';\nimport StyledAlert from './styled';\n\ntype GlobalErrorProps = {\n error?: ErrorInfo;\n};\n\nconst GlobalError = (props: GlobalErrorProps): React.ReactElement | null => {\n const error = props.error;\n const hasError = Boolean(error?.msg);\n const errorMsg = error?.msg;\n\n return hasError ? (\n \n ) : null;\n};\n\nexport default GlobalError;\n","import withEmotionStyles from '../../HOCs/withEmotionStyles';\nimport Alert from '@mui/material/Alert';\n\nexport const StyledAlert = withEmotionStyles({\n padding: '10px 15px',\n margin: '5px 0px ',\n})(Alert);\n\nexport default StyledAlert;\n","import TextField from '@mui/material/TextField';\nimport React, { ChangeEvent } from 'react';\nimport { ErrorInfo } from '../../../classes/client';\n\ntype InputProps = {\n name: string;\n error?: ErrorInfo;\n onChange?: (event: ChangeEvent) => void;\n label: string;\n required?: boolean;\n type: string;\n value?: string;\n autoComplete?: string;\n fullWidth?: boolean;\n disabled?: boolean;\n maxLength?: number;\n rows?: number;\n};\n\nconst Input = ({\n name,\n error,\n onChange,\n required = true,\n type,\n value,\n label,\n autoComplete,\n fullWidth = true,\n disabled = false,\n maxLength = 254,\n}: InputProps): React.ReactElement => {\n const fieldError = error?.fields?.[name];\n return (\n \n );\n};\nexport default Input;\n","import Button from '@mui/material/Button';\nimport React, { useState } from 'react';\nimport { useIntl } from 'react-intl';\n\ntype SubmitButton = {\n value: string;\n disabled?: boolean;\n};\nconst SubmitButton = (props: SubmitButton): React.ReactElement => {\n const [disabled] = useState(props.disabled ? true : false);\n const intl = useIntl();\n\n let valueTxt = props.value;\n if (disabled) {\n valueTxt = intl.formatMessage({ id: 'common.wait', defaultMessage: 'Please wait ...' });\n }\n const [value] = useState(valueTxt);\n return (\n \n {value}\n \n );\n};\n\nexport default SubmitButton;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { StyledFooter } from './styled';\nimport poweredByIcon from './pwrdby-white.svg';\n\n// eslint-disable-next-line\nconst Footer = (): React.ReactElement => {\n return (\n \n
\n \n \"Powered\n \n
\n
\n

\n \n

\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n

\n \n

\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n

\n \n

\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n );\n};\n\nexport default Footer;\n","import styled from 'styled-components';\n/* Footer */\n\nexport const StyledFooter = styled.footer`\n height: 250px;\n margin-top: 80px;\n padding: 30px 40px 10px 50px;\n background-color: #f9a826;\n display: grid;\n grid-template-columns: 200px 1fr 1fr 1fr 3fr;\n overflow: hidden;\n\n & a {\n font-size: 14px;\n color: white;\n word-wrap: nowrap;\n }\n\n & h4 {\n font-size: 14px;\n color: white;\n word-wrap: nowrap;\n font-weight: 500px;\n margin: 0px;\n }\n\n & > svg {\n grid-column: 1;\n }\n\n & div:nth-child(2) {\n grid-column: 2;\n }\n\n & div:nth-child(3) {\n grid-column: 3;\n }\n & div:nth-child(4) {\n grid-column: 4;\n }\n\n & div:nth-child(5) {\n grid-column: 5;\n text-align: right;\n display: inline-block;\n visibility: visible;\n }\n`;\n","import withEmotionStyles from '../../HOCs/withEmotionStyles';\nimport Container from '@mui/material/Container';\n\nconst FormContainer = withEmotionStyles({\n padding: '20px 10px 0px 20px',\n maxWidth: '380px !important',\n textAlign: 'center',\n})(Container);\n\nexport default FormContainer;\n","import { StyledNav, StyledDiv, Logo } from './styled';\n\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Link } from 'react-router-dom';\nimport Button from '@mui/material/Button';\n\nimport logo from './logo-small.svg';\nimport { JSX } from '@emotion/react/jsx-runtime';\n\ninterface HeaderProps {\n type: 'only-signup' | 'only-signin' | 'none';\n}\n\nexport const Header = ({ type }: HeaderProps): React.ReactElement => {\n let signUpButton: string | JSX.Element | undefined;\n let text: string | JSX.Element | undefined;\n let signInButton: string | JSX.Element | undefined;\n\n if (type === 'only-signup') {\n text = (\n \n \n \n \n \n );\n signUpButton = ;\n } else if (type === 'only-signin') {\n text = (\n \n \n \n \n \n );\n signUpButton = ;\n } else if (type === 'none') {\n text = '';\n signUpButton = '';\n } else {\n signUpButton = ;\n signInButton = ;\n }\n\n return (\n \n \n \n \n \"logo\"\n \n \n {text}\n {signUpButton}\n {signInButton}\n \n \n );\n};\n\ninterface ButtonProps {\n className?: string;\n}\n\nexport const SignInButton = (props: ButtonProps): React.ReactElement => {\n return (\n \n \n \n );\n};\n\nconst SignUpButton = (props: ButtonProps): React.ReactElement => {\n return (\n \n \n \n \n \n );\n};\n\nexport default Header;\n","import styled from 'styled-components';\n\nexport const StyledNav = styled.nav`\n height: 90px;\n position: sticky;\n top: -16px;\n z-index: 1;\n -webkit-backface-visibility: hidden;\n\n &::before,\n &::after {\n content: '';\n display: block;\n height: 16px;\n position: sticky;\n }\n\n &::before {\n top: 58px;\n box-shadow: 0 4px 10px 0 rgba(202, 34, 34, 0.05), 0 5px 30px 0 rgba(0, 0, 0, 0.05);\n }\n\n &::after {\n background: linear-gradient(white, rgba(255, 255, 255, 0.3));\n top: 0;\n z-index: 2;\n }\n\n .header-area-right2 {\n grid-column-start: 3;\n text-align: right;\n }\n\n .header-area-right1 span,\n .header-area-right2 span {\n font-size: 15px;\n }\n\n .header-area-content-span {\n grid-column-start: 2;\n grid-column-end: 3;\n text-align: right;\n font-size: 14px;\n padding: 10px;\n }\n\n @media only screen and (max-width: 600px) {\n .header-area-content-span {\n display: none;\n grid-column-start: 2;\n grid-column-end: 3;\n text-align: right;\n font-size: 14px;\n padding: 10px;\n }\n }\n`;\n\nexport const StyledDiv = styled.nav`\n background: white;\n height: 74px;\n padding: 10px;\n position: sticky;\n top: 0px;\n margin-top: -16px;\n z-index: 3;\n\n display: grid;\n white-space: nowrap;\n grid-template-columns: 150px 1fr 160px 20px;\n`;\n\nexport const Logo = styled.span`\n grid-column-start: 1;\n margin-left: 20px;\n margin-top: 0px;\n\n .header-logo a {\n padding: 0px;\n }\n`;\n","import React, { useEffect } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport { Link as RouterLink } from 'react-router-dom';\nimport Header from '../layout/header';\nimport Footer from '../layout/footer';\nimport SubmitButton from '../form/submit-button';\nimport Input from '../form/input';\nimport GlobalError from '../form/global-error';\nimport FormContainer from '../layout/form-container';\nimport Typography from '@mui/material/Typography';\nimport FormControl from '@mui/material/FormControl';\nimport Link from '@mui/material/Link';\nimport ReactGA from 'react-ga4';\nimport Separator from '../common/separator';\nimport GoogleButton from '../common/google-button';\nimport AppConfig from '../../classes/app-config';\nimport CSRFInput from '../common/csrf-input';\n\nconst LoginError = () => {\n // @Todo: This must be reviewed to be based on navigation state.\n // Login error example: http://localhost:8080/c/login?login.error=2\n const errorCode = new URLSearchParams(window.location.search).get('login_error');\n const intl = useIntl();\n\n let msg: null | string = null;\n if (errorCode) {\n switch (errorCode) {\n case '3':\n msg = intl.formatMessage({\n id: 'login.userinactive',\n defaultMessage:\n \"Sorry, your account has not been activated yet. You'll receive a notification email when it becomes active. Stay tuned!.\",\n });\n break;\n default:\n msg = intl.formatMessage({\n id: 'login.error',\n defaultMessage: 'The email address or password you entered is not valid.',\n });\n }\n }\n return msg ? : null;\n};\n\nconst LoginPage = (): React.ReactElement => {\n const intl = useIntl();\n\n useEffect(() => {\n document.title = intl.formatMessage({\n id: 'login.page-title',\n defaultMessage: 'Login | WiseMapping',\n });\n ReactGA.send({ hitType: 'pageview', page: window.location.pathname, title: 'Login' });\n }, []);\n\n return (\n
\n
\n\n \n \n \n \n\n \n \n \n\n \n\n \n
\n \n \n \n
\n \n \n
\n \n \n
\n \n \n \n \n {\n const authUrl = AppConfig.getGoogleOauth2Url();\n if (authUrl) {\n window.location.href = authUrl;\n } else {\n console.log('GoogleOauth2Url is not configured.');\n }\n }}\n />\n
\n\n
\n
\n );\n};\n\nexport default LoginPage;\n","import React, { useEffect, useState } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport FormContainer from '../layout/form-container';\nimport Header from '../layout/header';\nimport Footer from '../layout/footer';\nimport { Link as RouterLink } from 'react-router-dom';\nimport Typography from '@mui/material/Typography';\nimport Button from '@mui/material/Button';\nimport ReactGA from 'react-ga4';\nimport Client, { Oauth2CallbackResult } from '../../classes/client';\nimport { useSelector } from 'react-redux';\nimport { activeInstance } from '../../redux/clientSlice';\nimport { useNavigate } from 'react-router-dom';\nimport { CircularProgress } from '@mui/material';\nimport GlobalError from '../form/global-error';\nimport { buttonsStyle } from './style';\n\nconst RegistrationCallbackPage = (): React.ReactElement => {\n const intl = useIntl();\n const client: Client = useSelector(activeInstance);\n\n const [showError, setShowError] = useState(false);\n const [callbackResult, setCallbackResult] = useState();\n const navigate = useNavigate();\n\n useEffect(() => {\n document.title = intl.formatMessage({\n id: 'registation.success-title',\n defaultMessage: 'Registation Success | WiseMapping',\n });\n ReactGA.send({\n hitType: 'pageview',\n page: window.location.pathname,\n title: 'Registration:Success',\n });\n });\n\n useEffect(() => {\n const googleOauthCode = new URLSearchParams(window.location.search).get('code');\n if (!googleOauthCode) {\n throw new Error(`Missing code definition: ${window.location.search}`);\n }\n\n client\n .processGoogleCallback(googleOauthCode)\n .then((result) => {\n if (result.googleSync) {\n // if service reports that user already has sync accounts, go to maps page\n navigate('/c/maps/');\n }\n setCallbackResult(result);\n })\n .catch((error) => {\n console.log('ERROR', error);\n setShowError(true);\n window.newrelic?.noticeError(error);\n });\n }, []);\n\n const confirmAccountSynching = () => {\n const callback = callbackResult;\n if (!callback) {\n throw new Error(`callbackResult can not be null`);\n }\n\n client\n .confirmAccountSync(callback.email, callback.syncCode)\n .then(() => {\n navigate('/c/maps/');\n })\n .catch((error) => {\n console.log('ERROR', error);\n window.newrelic?.noticeError(error);\n });\n };\n\n // if service reports that user doesnt sync accounts yet, we need to show the options\n const needConfirmLinking = !showError && callbackResult?.email && !callbackResult?.googleSync;\n\n return (\n
\n
\n \n \n {needConfirmLinking ? (\n \n ) : (\n \n )}\n \n \n {needConfirmLinking ? (\n \n ) : (\n \n )}\n \n\n {showError && (\n <>\n \n \n \n \n \n )}\n\n {!needConfirmLinking && !showError && }\n\n {needConfirmLinking && (\n <>\n \n \n \n {\n confirmAccountSynching();\n }}\n color=\"primary\"\n size=\"medium\"\n variant=\"contained\"\n disableElevation={true}\n css={buttonsStyle}\n >\n \n \n \n )}\n \n
\n
\n );\n};\n\nexport default RegistrationCallbackPage;\n","import { css } from '@emotion/react';\n\nexport const buttonsStyle = css({\n marginLeft: '10px',\n marginRight: '10px',\n});\n","import React, { useState, useEffect } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport { useNavigate } from 'react-router-dom';\nimport Client, { ErrorInfo } from '../../classes/client';\n\nimport Header from '../layout/header';\nimport Footer from '../layout/footer';\n\nimport { useSelector } from 'react-redux';\nimport { useMutation } from 'react-query';\nimport { activeInstance } from '../../redux/clientSlice';\nimport Input from '../form/input';\nimport GlobalError from '../form/global-error';\nimport SubmitButton from '../form/submit-button';\nimport Typography from '@mui/material/Typography';\nimport FormControl from '@mui/material/FormControl';\nimport AppConfig from '../../classes/app-config';\nimport ReactGA from 'react-ga4';\nimport Separator from '../common/separator';\nimport GoogleButton from '../common/google-button';\nimport { Grid, Link } from '@mui/material';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { recaptchaContainerStyle } from './style';\n\nexport type Model = {\n email: string;\n lastname: string;\n firstname: string;\n password: string;\n recaptcha: string;\n};\n\nconst defaultModel: Model = { email: '', lastname: '', firstname: '', password: '', recaptcha: '' };\n\nconst RegistrationForm = () => {\n const [model, setModel] = useState(defaultModel);\n const [error, setError] = useState();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [captcha, setCaptcha] = useState();\n const navigate = useNavigate();\n const intl = useIntl();\n\n const Client: Client = useSelector(activeInstance);\n const mutation = useMutation(\n (model: Model) => Client.registerNewUser({ ...model }),\n {\n onSuccess: () => navigate('/c/registration-success'),\n onError: (error) => {\n setError(error);\n captcha.reset();\n },\n },\n );\n\n const handleOnSubmit = (event: React.FormEvent): void => {\n event.preventDefault();\n mutation.mutate(model);\n };\n\n const handleOnChange = (event: React.ChangeEvent): void => {\n event.preventDefault();\n\n const name = event.target.name;\n const value = event.target.value;\n setModel({ ...model, [name as keyof Model]: value });\n };\n\n const maxFormWidth = 350;\n\n const handleRegisterWithGoogleClick = () => {\n const url = AppConfig.getGoogleOauth2Url();\n if (url) {\n window.location.href = url;\n } else {\n console.error('Auth callback url is null');\n }\n };\n\n return (\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n\n {AppConfig.isRecaptcha2Enabled() && (\n <>\n {/* eslint-disable-next-line react/no-unknown-property */}\n
\n setCaptcha(el)}\n sitekey={AppConfig.getRecaptcha2SiteKey()}\n onChange={(value: string) => {\n model.recaptcha = value;\n setModel(model);\n }}\n />\n
\n \n )}\n
\n \n
\n \n \n
\n
\n
\n \n \n \n \n \n
\n );\n};\n\nconst RegistationPage = (): React.ReactElement => {\n const intl = useIntl();\n\n useEffect(() => {\n document.title = intl.formatMessage({\n id: 'registration.page-title',\n defaultMessage: 'Registration | WiseMapping',\n });\n ReactGA.send({\n hitType: 'pageview',\n page: window.location.pathname,\n title: 'Registration:Init',\n });\n }, []);\n\n return (\n
\n
\n \n
\n
\n );\n};\n\nexport default RegistationPage;\n","import { css } from '@emotion/react';\n\nexport const recaptchaContainerStyle = css({\n paddingTop: '10px',\n // override captcha size, without this the component is not shown horizontally centered\n '& div div div': {\n width: '100% !important',\n height: '100% !important',\n },\n});\n","import React, { useEffect } from 'react';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport FormContainer from '../layout/form-container';\nimport Header from '../layout/header';\nimport Footer from '../layout/footer';\nimport { Link as RouterLink } from 'react-router-dom';\nimport Typography from '@mui/material/Typography';\nimport Button from '@mui/material/Button';\nimport ReactGA from 'react-ga4';\n\nconst RegistrationSuccessPage = (): React.ReactElement => {\n const intl = useIntl();\n\n useEffect(() => {\n document.title = intl.formatMessage({\n id: 'registation.success-title',\n defaultMessage: 'Registation Success | WiseMapping',\n });\n ReactGA.send({\n hitType: 'pageview',\n page: window.location.pathname,\n title: 'Registration:Success',\n });\n });\n\n return (\n
\n
\n \n \n \n \n\n \n \n \n\n \n \n \n \n
\n
\n );\n};\n\nexport default RegistrationSuccessPage;\n","// import './wdyr';\n\nimport React from 'react';\nimport App from './app';\nimport { createRoot } from 'react-dom/client';\n\ndeclare global {\n interface Window {\n newrelic: { noticeError: (Error) => void };\n errorMvcView: string;\n }\n}\n\nconst container = document.getElementById('root') as HTMLElement;\n// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\nconst root = createRoot(container!);\nroot.render();\n","/*\n * Copyright [2021] [wisemapping]\n *\n * Licensed under WiseMapping Public License, Version 1.0 (the \"License\").\n * It is basically the Apache License, Version 2.0 (the \"License\") plus the\n * \"powered by wisemapping\" text requirement on every single page;\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the license at\n *\n * http://www.wisemapping.org/license\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { createSlice } from '@reduxjs/toolkit';\nimport { useQuery } from 'react-query';\nimport Client, { AccountInfo, ErrorInfo, MapInfo } from '../classes/client';\nimport { useSelector } from 'react-redux';\nimport AppConfig from '../classes/app-config';\nimport { RootState } from './rootReducer';\n\nexport interface ClientStatus {\n state: 'healthy' | 'session-expired';\n msg?: string;\n}\n\nexport interface ClientState {\n instance: Client;\n status: ClientStatus;\n}\n\nconst initialState: ClientState = {\n instance: AppConfig.buildClient(),\n status: { state: 'healthy' },\n};\n\nexport const clientSlice = createSlice({\n name: 'client',\n initialState: initialState,\n reducers: {\n sessionExpired(state) {\n state.status = {\n state: 'session-expired',\n msg: 'Sessions has expired. You need to login again',\n };\n },\n },\n});\n\ntype MapLoadResult = {\n isLoading: boolean;\n error: ErrorInfo | null;\n map: MapInfo | undefined;\n};\n\nexport const useFetchMapById = (id: number): MapLoadResult => {\n const client: Client = useSelector(activeInstance);\n const { isLoading, error, data } = useQuery(`maps-${id}`, () => {\n return client.fetchAllMaps();\n });\n\n // If the map can not be loaded, create an error object.\n let map: MapInfo | undefined;\n let errorMsg: ErrorInfo | null = error;\n if (!isLoading) {\n // Sanitize error structure ...\n if (errorMsg) {\n errorMsg = Object.keys(errorMsg).length !== 0 ? error : null;\n }\n // Seach for object...\n map = data?.find((m) => m.id == id);\n if (!map && !errorMsg) {\n errorMsg = {\n msg: `Map with id ${id} could not be found. Please, reflesh the page. Map: ${JSON.stringify(\n data,\n )}`,\n };\n }\n }\n return { isLoading: isLoading, error: errorMsg, map: map };\n};\n\nexport const useFetchAccount = (): AccountInfo | undefined => {\n const client: Client = useSelector(activeInstance);\n const { data } = useQuery('account', () => {\n return client.fetchAccountInfo();\n });\n return data;\n};\n\nexport const activeInstance = (state: RootState): Client => {\n return state.client.instance;\n};\n\nexport const activeInstanceStatus = (state: RootState): ClientStatus => {\n return state.client.status;\n};\n\nexport const { sessionExpired } = clientSlice.actions;\nexport default clientSlice.reducer;\n","import { createSlice } from '@reduxjs/toolkit';\nimport { RootState } from './rootReducer';\n\nexport interface EditorState {\n hotkeysEnabled: boolean;\n}\n\nconst initialState: EditorState = {\n hotkeysEnabled: true,\n};\n\nexport const editorSlice = createSlice({\n name: 'editor',\n initialState: initialState,\n reducers: {\n disableHotkeys(state) {\n state.hotkeysEnabled = false;\n },\n enableHotkeys(state) {\n state.hotkeysEnabled = true;\n },\n },\n});\n\nexport const hotkeysEnabled = (state: RootState): boolean => {\n return state.editor.hotkeysEnabled;\n};\n\nexport const { disableHotkeys, enableHotkeys } = editorSlice.actions;\nexport default editorSlice.reducer;\n","import { combineReducers } from '@reduxjs/toolkit';\nimport clientReducer from './clientSlice';\nimport editorReducer from './editorSlice';\n\nconst rootReducer = combineReducers({\n client: clientReducer,\n editor: editorReducer,\n});\n\nexport type RootState = ReturnType;\n\nexport default rootReducer;\n","import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit';\nimport rootReducer from './rootReducer';\n\n// Create Service object...\nconst store = configureStore({\n reducer: rootReducer,\n middleware: [\n ...getDefaultMiddleware({\n serializableCheck: false,\n }),\n ],\n});\n\nexport default store;\n","import { createTheme } from '@mui/material/styles';\n\nconst theme = createTheme({\n components: {\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n borderRadius: '9px',\n fontSize: '14px',\n '& fieldset': {\n border: 'solid 1px #ffcb66',\n },\n '&:hover:not($disabled):not($focused):not($error) $notchedOutline': {\n borderColor: '#f9a826',\n },\n },\n },\n },\n MuiInputLabel: {\n styleOverrides: {\n root: {\n color: '#f9a826',\n },\n\n outlined: {\n zIndex: 'inherit',\n },\n },\n },\n MuiButton: {\n styleOverrides: {\n root: {\n fontSize: '15px',\n fontWeight: 600,\n whiteSpace: 'nowrap',\n textTransform: 'none',\n borderRadius: '9px',\n padding: '6px 20px 6px 20px',\n },\n containedPrimary: {\n color: 'white',\n '&:hover': {\n backgroundColor: 'rgba(249, 168, 38, 0.91)',\n },\n },\n },\n },\n },\n typography: {\n fontFamily: ['Montserrat'].join(','),\n h4: {\n color: '#ffa800',\n fontWeight: 600,\n marginBottom: '10px',\n },\n h6: {\n fontSize: '25px',\n fontWeight: 'bold',\n },\n },\n palette: {\n primary: {\n light: '#ffa800',\n main: '#ffa800',\n dark: '#ffa800',\n contrastText: '#FFFFFF',\n },\n secondary: {\n light: '#a19f9f',\n main: '#5a5a5a',\n dark: '#000000',\n contrastText: '#FFFFFF',\n },\n },\n});\n\nexport { theme };\n","export const getCsrfToken = (): string | null => {\n const meta = document.head.querySelector('meta[name=\"_csrf\"]');\n if (!meta) {\n return '';\n }\n return meta.getAttribute('content');\n};\n\nexport const getCsrfTokenParameter = (): string | null => {\n const meta = document.head.querySelector('meta[name=\"_csrf_parameter\"]');\n if (!meta) {\n return '';\n }\n return meta.getAttribute('content');\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".bundle.js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"app\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk_wisemapping_webapp\"] = self[\"webpackChunk_wisemapping_webapp\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"vendors\"], () => (__webpack_require__(14007)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","EditorPage","lazy","MapsPage","trackingId","getGoogleAnalyticsAccount","initialize","queryClient","QueryClient","defaultOptions","queries","refetchIntervalInBackground","staleTime","Redirect","to","navigate","useNavigate","useEffect","locale","getDefaultLocale","overwriteView","window","errorMvcView","message","Provider","store","QueryClientProvider","client","IntlProvider","code","defaultLocale","Locales","EN","messages","StyledEngineProvider","injectFirst","theme","ThemeProvider","isSecurity","Routes","Route","path","element","ForgotPasswordPage","Suspense","fallback","FormattedMessage","id","defaultMessage","isTryMode","AppConfig","defaultInstance","apiBaseUrl","location","protocol","hostname","port","clientType","recaptcha2Enabled","recaptcha2SiteKey","googleOauth2Url","isDevelopEnv","this","getInstance","result","serverconfig","isRestClient","isRecaptcha2Enabled","getRecaptcha2SiteKey","analyticsAccount","getGoogleOauth2Url","buildClient","config","getBaseUrl","console","log","JSON","stringify","Locale","constructor","label","AppI18n","static","pathname","endsWith","account","useFetchAccount","localStorage","getItem","LOCAL_STORAGE_KEY","setItem","localeCode","navigator","languages","language","split","localeFromStr","warn","userLocaleCode","getBrowserLocale","ES","DE","FR","RU","ZH","Object","values","find","l","label1","title","color","label2","label3","createMapInfo","starred","labels","creator","creationTime","modifiedByUser","modifiedTime","description","isPublic","role","createdBy","lastModificationBy","lastModificationTime","maps","permissionsByMap","Map","fetchStarred","Promise","resolve","Boolean","m","onSessionExpired","callback","deleteMapPermission","email","perm","get","filter","p","set","addMapPermissions","permissions","concat","fetchMapPermissions","name","deleteAccount","updateAccountInfo","firstname","lastname","updateAccountPassword","pasword","updateAccountLanguage","importMap","model","fetchAccountInfo","authenticationType","deleteMaps","ids","forEach","deleteMap","revertHistory","cid","createMap","map","Error","fetchLabels","updateMapToPublic","mapInfo","updateStarred","reject","renameMap","basicInfo","undefined","fieldErrors","msg","fields","fetchHistory","duplicateMap","newMap","Math","random","String","push","createLabel","newId","max","apply","Number","deleteLabel","addLabelToMap","labelId","mapId","labelToAdd","deleteLabelFromMap","registerNewUser","user","fetchAllMaps","resetPassword","action","processGoogleCallback","success","setTimeout","googleSync","syncCode","confirmAccountSync","baseUrl","checkResponseForSessionExpired","error","response","status","sessionExpired","parseResponseOnError","data","globalErrors","length","keys","key","statusText","axios","create","maxRedirects","csrfToken","getCsrfToken","defaults","headers","interceptors","use","r","_onSessionExpired","delete","encodeURIComponent","then","catch","errorInfo","put","collaborations","perms","post","content","parseInt","resourceid","join","toString","hid","historyList","changes","h","mindmapsInfo","lastModifierUser","iconName","css","Component","WithEmotionStyles","hocProps","paperCss","WrappedComponent","displayName","token","tokenParam","getCsrfTokenParameter","type","value","googleButtonStyle","fontWeight","border","text","onClick","Button","variant","startIcon","GoogleIcon","SvgIcon","transform","fill","d","responsive","maxWidth","useTheme","containerStyle","breakpoints","down","lineStyle","up","textStyle","breakPointDownMd","position","width","height","top","display","paddingTop","paddingBottom","breakPointUpMd","backgroundColor","left","padding","minWidth","borderRadius","fontSize","textAlign","intl","useIntl","document","formatMessage","send","hitType","page","ErrorBody","component","div","ForgotPassword","setEmail","useState","setError","showOauthMessage","setShowOauthMessage","service","useSelector","activeInstance","mutation","useMutation","onSuccess","onError","size","disableElevation","onSubmit","event","preventDefault","mutate","autoComplete","onChange","e","target","paragraph","props","hasError","errorMsg","severity","hidden","StyledAlert","margin","required","fullWidth","disabled","maxLength","fieldError","helperText","inputProps","valueTxt","style","StyledFooter","href","src","alt","footer","FormContainer","Header","signUpButton","signInButton","className","SignUpButton","SignInButton","StyledNav","StyledDiv","Logo","Link","nav","span","LoginError","errorCode","URLSearchParams","search","method","htmlFor","authUrl","showError","setShowError","callbackResult","setCallbackResult","googleOauthCode","newrelic","noticeError","needConfirmLinking","buttonsStyle","CircularProgress","confirmAccountSynching","marginLeft","marginRight","defaultModel","password","recaptcha","RegistrationForm","setModel","captcha","setCaptcha","Client","reset","handleOnChange","Grid","container","justifyContent","spacing","alignItems","item","md","xs","url","recaptchaContainerStyle","ref","el","sitekey","getElementById","createRoot","render","initialState","instance","state","clientSlice","createSlice","reducers","useFetchMapById","isLoading","useQuery","activeInstanceStatus","actions","reducer","editorSlice","hotkeysEnabled","disableHotkeys","enableHotkeys","editor","rootReducer","combineReducers","configureStore","middleware","getDefaultMiddleware","serializableCheck","createTheme","components","MuiOutlinedInput","styleOverrides","root","borderColor","MuiInputLabel","outlined","zIndex","MuiButton","whiteSpace","textTransform","containedPrimary","typography","fontFamily","h4","marginBottom","h6","palette","primary","light","main","dark","contrastText","secondary","meta","head","querySelector","getAttribute","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","loaded","__webpack_modules__","call","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","n","getter","__esModule","a","getPrototypeOf","obj","t","mode","ns","def","current","indexOf","getOwnPropertyNames","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","g","globalThis","Function","prop","prototype","hasOwnProperty","done","script","needAttach","scripts","getElementsByTagName","s","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","importScripts","currentScript","replace","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}