{"version":3,"file":"c1c89919064924cba92e.chunk.js","mappings":"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","sources":["webpack://ml-try-magicline/./assets/analytics-scripts/bingtag-setup.js","webpack://ml-try-magicline/./assets/analytics-scripts/facebook-pixel-setup.js","webpack://ml-try-magicline/./src/core/i18n.ts","webpack://ml-try-magicline/./src/core/location.ts","webpack://ml-try-magicline/./src/core/routes.ts","webpack://ml-try-magicline/./src/core/router.ts","webpack://ml-try-magicline/./src/core/tsdi-injector.ts","webpack://ml-try-magicline/./src/core/tsdi.ts","webpack://ml-try-magicline/./src/core/url.ts","webpack://ml-try-magicline/./src/core/window.ts","webpack://ml-try-magicline/./src/app/error-boundary.tsx","webpack://ml-try-magicline/./src/app/app-theme.ts","webpack://ml-try-magicline/./src/app/no-script.tsx","webpack://ml-try-magicline/./src/app/index.tsx","webpack://ml-try-magicline/./src/entry.tsx","webpack://ml-try-magicline/./src/shared/hooks/useBrowserTitle.ts"],"sourcesContent":["(function (w, d, t, r, u) {\n var f, n, i;\n (w[u] = w[u] || []),\n (f = function () {\n var o = { ti: '148009082' };\n (o.q = w[u]), (w[u] = new UET(o)), w[u].push('pageLoad');\n }),\n (n = d.createElement(t)),\n (n.src = r),\n (n.async = 1),\n (n.onload = n.onreadystatechange = function () {\n var s = this.readyState;\n (s && s !== 'loaded' && s !== 'complete') ||\n (f(), (n.onload = n.onreadystatechange = null));\n }),\n (i = d.getElementsByTagName(t)[0]),\n i.parentNode.insertBefore(n, i);\n})(window, document, 'script', '//bat.bing.com/bat.js', 'uetq');\n","const pixelId1 = '341866536849617';\nconst pixelId2 = '2003282433357830';\n\n(() => {\n !((f, b, e, v, n, t, s) => {\n if (f.fbq) return;\n n = f.fbq = function() {\n n.callMethod\n ? n.callMethod.apply(n, arguments)\n : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = '2.0';\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n })(\n window,\n document,\n 'script',\n 'https://connect.facebook.net/en_US/fbevents.js'\n );\n fbq('init', pixelId1);\n fbq('init', pixelId2);\n fbq('track', 'PageView');\n})();\n","import { bind } from 'lodash-decorators';\nimport { action, computed, observable, reaction } from 'mobx';\nimport { component, initialize } from 'tsdi';\n\nexport type Language = { label: string; path: string; hashedPath: string };\n\nexport type CountryCodes = keyof typeof countryLocaleMapping | '';\n\nexport const countryLocaleMapping = {\n DE: 'de-DE',\n AT: 'de-DE',\n PL: 'pl-PL',\n ES: 'es-ES',\n IT: 'it-IT',\n FR: 'fr-FR',\n EN: 'en-GB',\n UK: 'en-GB',\n NL: 'nl-NL'\n} as const;\n\nexport const localesPathMappings = {\n 'de-DE': 'de',\n 'en-GB': 'en',\n 'en-CA': 'en',\n 'en-HK': 'en',\n 'it-IT': 'it',\n 'ru-RU': 'ru',\n 'pl-PL': 'pl',\n 'sv-SE': 'sv',\n 'tr-TR': 'tr',\n 'es-ES': 'es',\n 'es-CO': 'es',\n 'fr-FR': 'fr',\n 'fr-CA': 'fr',\n 'nl-NL': 'nl',\n 'cs-CZ': 'cs',\n 'sl-SI': 'sl',\n 'hu-HU': 'hu',\n 'ro-RO': 'ro',\n 'nb-NO': 'nb'\n} as const;\n\nexport const locallySupportedLocales = [\n 'de-DE',\n 'en-GB',\n 'en-CA',\n 'en-HK',\n 'it-IT',\n 'ru-RU',\n 'pl-PL',\n 'sv-SE',\n 'tr-TR',\n 'es-ES',\n 'es-CO',\n 'fr-FR',\n 'fr-CA',\n 'nl-NL',\n 'cs-CZ',\n 'sl-SI',\n 'hu-HU',\n 'ro-RO',\n 'nb-NO'\n] as const;\n\nconst getLocaleForTranslations = (locale: string) => {\n const [lang] = locale.split('-');\n const localeOrFallback =\n locallySupportedLocales.find(l => l.startsWith(lang)) ||\n locallySupportedLocales[0];\n return localeOrFallback;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function replacePlaceHolder(translated: string, params: any): string {\n if (!params) {\n return translated;\n }\n return translated\n .replace(/\\${/g, '___dollar___bracket___')\n .replace(/{\\w}/g, v => params[v[1]])\n .replace(/___dollar___bracket___/g, '${')\n .replace(\n // MLWC-9906 workaround for broken check in convert to icu process\n /(%\\d\\$s)/g,\n v => params[`${parseInt(v.replace('%', ''), 10) - 1}`]\n );\n}\n\n@component\nexport class I18n {\n @observable\n public currentCountry: CountryCodes = '';\n\n @observable\n public currentLocale: string | undefined;\n\n @observable\n public version = 0;\n\n @observable\n public translate: (\n key: string | null | undefined,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...params: any[]\n ) => string = () => '';\n\n private localeChangeTimeoutId: ReturnType | undefined;\n\n @initialize\n public init(): void {\n reaction(\n () => this.currentCountry,\n currentCountry => {\n this.setCurrentLocale(currentCountry);\n },\n { fireImmediately: true }\n );\n\n reaction(\n () => this.currentLocale,\n locales => {\n if (locales) {\n this.loadTranslationBundle(locales);\n }\n },\n { fireImmediately: true }\n );\n }\n\n @action\n private setCurrentLocale(country: CountryCodes) {\n if (country) {\n if (this.localeChangeTimeoutId) {\n clearTimeout(this.localeChangeTimeoutId);\n }\n this.currentLocale = countryLocaleMapping[country] ?? 'de-DE';\n } else {\n this.localeChangeTimeoutId = setTimeout(() => {\n this.currentLocale = window.navigator.language;\n }, 100);\n }\n }\n\n @computed\n private get dateTimeFormat(): Intl.DateTimeFormat {\n return new Intl.DateTimeFormat(this.currentLocale, {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n });\n }\n\n private async loadTranslationBundle(localeParam: string): Promise {\n if (typeof localeParam !== 'string') {\n return;\n }\n const loc = localeParam.replace(/\"/g, '');\n const localeOrFallback = getLocaleForTranslations(loc);\n\n const source: { [key: string]: string } = await (\n await fetch(\n `https://intl.sportalliance.com/ml-try-magicline-webclient/${localesPathMappings[\n localeOrFallback\n ] || 'en'}.json`\n )\n ).json();\n\n const translate = (\n key: string | null | undefined,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n params: any\n ): string => {\n if (!key) {\n return '';\n }\n const translated = source[key];\n if (!translated) {\n return key.toString();\n }\n\n return replacePlaceHolder(translated, params);\n };\n\n this.translate = this.wrap(translate);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (window as any).translate = translate;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((window as any).ml = (window as any).ml || {})['i18n-store'] = this;\n\n this.hasTranslation = key => Boolean(key && source[key]);\n this.version++;\n /* eslint-enable @typescript-eslint/no-explicit-any */\n }\n\n public hasTranslation: (\n key: string | null | undefined,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...params: any[]\n ) => boolean = () => false; // eslint-disable-line @typescript-eslint/semi, @typescript-eslint/member-delimiter-style\n\n @bind\n public formatNumber(num: number) {\n const formatter = new Intl.NumberFormat(this.currentLocale, {});\n\n return formatter.format(num);\n }\n\n @bind\n public formatYearMonth(yearMonth: string) {\n const formatter = new Intl.DateTimeFormat(this.currentLocale, {\n month: 'long'\n });\n const [year, month] = yearMonth.split('-');\n const monthFormatted = formatter.format(\n new Date(1970, Number(month) - 1)\n );\n\n return `${monthFormatted} ${year}`;\n }\n\n @bind\n public formatDateTime(date?: Date) {\n return date ? this.dateTimeFormat.format(date) : '-';\n }\n\n @bind\n public formatDate(date?: string) {\n if (!date) {\n return '-';\n }\n\n const formatter = new Intl.DateTimeFormat(this.currentLocale, {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n });\n\n return formatter.format(new Date(date));\n }\n\n @observable\n public __ = (\n key: string | null | undefined,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...params: any[]\n ): string =>\n // eslint-disable-next-line\n this.translate(key, ...params);\n\n private wrap(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fn: (key: string | null | undefined, ...params: any[]) => string\n ): (\n key: string | null | undefined,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...params: any[]\n ) => string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const convertParams = (params: any[]) => {\n // note: allowed values for params are\n // [ 'value1', 'value2', 'value3' ] and\n // [ { '0': 'value1', '1': 'value2', '2': 'value3' } ]\n // params as string-array will be transformed to the latter syntax.\n if (params[0] !== undefined && typeof params[0] !== 'object') {\n // eslint-disable-next-line no-param-reassign\n params = [\n params.reduce(\n (\n memo: { [key: string]: string | number },\n param: string | number,\n i: number\n ) => {\n memo[`${i}`] = param;\n return memo;\n },\n {}\n )\n ];\n }\n return params;\n };\n\n return (key, ...params) => {\n if (key === null || key === undefined) {\n return '';\n }\n\n try {\n // eslint-disable-next-line\n const value = fn(key, ...convertParams(params));\n if (key === value) {\n console.warn(\n `%ci18n missing: %c${value}`,\n 'color:#94999d',\n 'color:#000000'\n );\n }\n return value;\n } catch (e) {\n console.warn(e.message);\n return '';\n }\n };\n }\n\n @computed\n public get translationsReady(): boolean {\n return this.version > 0;\n }\n}\n","import { component, factory } from 'tsdi';\n\n@component\nexport class LocationFactory {\n @factory({ name: 'Location' })\n public getLocation(): Location {\n return location;\n }\n}\n","import * as React from 'react';\nimport { RouteBeforeEnterResult, RouteEnterEvent } from 'takeme';\nimport { component, initialize, inject } from 'tsdi';\nimport { CountryCodes, I18n, countryLocaleMapping } from './i18n';\nimport { Links, Params } from './router';\n\nexport interface Route {\n link: keyof Links;\n children?: Route[];\n parent?: Route;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Component?: React.LazyExoticComponent;\n\n linkParams?(...params: unknown[]): Params;\n\n title(params?: Params): Promise;\n\n beforeEnter?(options: RouteEnterEvent): RouteBeforeEnterResult;\n\n enter?(options: RouteEnterEvent): void;\n}\n\n@component\nexport class Routes {\n public routes: Route[] = [];\n\n @inject\n public i18n!: I18n;\n\n @initialize\n public async init() {\n this.routes = [\n {\n link: 'indexPublic',\n title: async () => 'Home',\n Component: React.lazy(() => import('../pages/createtenant'))\n },\n {\n link: 'login',\n title: async () => 'login',\n Component: React.lazy(() => import('../pages/login'))\n },\n {\n link: 'localizedPublic',\n title: async () => 'Home',\n beforeEnter: ({ newPath }) => {\n if (newPath === '/en') {\n return { redirect: '/uk' };\n }\n return;\n },\n enter: ({ params: { lang } }) => {\n if (\n lang &&\n Object.prototype.hasOwnProperty.call(\n countryLocaleMapping,\n lang.toUpperCase()\n )\n ) {\n this.i18n.currentCountry = lang.toUpperCase() as CountryCodes;\n }\n },\n Component: React.lazy(() => import('../pages/createtenant'))\n },\n {\n link: 'verification',\n Component: React.lazy(() => import('../pages/verification')),\n title: async () => 'Email verified'\n },\n {\n link: 'activation',\n Component: React.lazy(() => import('../pages/activation')),\n title: async () => 'Email activated'\n }\n ];\n this.assignRouteParents();\n }\n\n private assignRouteParents(\n routes = this.routes,\n parent: Route | null = null\n ): void {\n routes.forEach(route => {\n if (!route.parent && parent) {\n route.parent = parent;\n }\n\n if (route.children) {\n this.assignRouteParents(route.children, route);\n }\n });\n }\n}\n","import { bind } from 'lodash-decorators';\nimport { computed, observable, reaction } from 'mobx';\nimport {\n link,\n match,\n navigate,\n RouteConfig,\n Router as TakemeRouter\n} from 'takeme';\nimport { component, initialize, inject, TSDI } from 'tsdi';\nimport './location';\nimport { Route, Routes } from './routes';\nimport { Url } from './url';\nimport './window';\n\nexport interface RouteEntry {\n title: string;\n active: boolean;\n link: keyof Links;\n}\n\nexport interface Params {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [param: string]: any;\n}\n\nexport interface Links {\n indexPublic(): string;\n login(): string;\n localizedPublic(): string;\n verification(): string;\n activation(): string;\n}\n\nexport const links: Links = {\n indexPublic: () => '/',\n login: () => '/login',\n verification: () => '/verify*',\n activation: () => '/activate*',\n localizedPublic: () => '/:lang'\n};\n\n@component\nexport class AppRouter {\n @inject\n private tsdi!: TSDI;\n\n @inject\n private url!: Url;\n\n @inject\n private routes!: Routes;\n\n @inject('Location')\n private location!: Location;\n\n @inject('Window')\n private window!: Window;\n\n @observable\n public route = '';\n\n @observable\n public path = '';\n\n @observable\n public params: Params = {};\n\n @observable\n private locationSearch!: string;\n\n public router = new TakemeRouter(this.createRoutes());\n\n private scopes: string[] = [];\n\n @initialize\n public init(): void {\n this.router.enableHtml5Routing().init();\n\n reaction(\n () => [this.route, this.currentLink],\n ([route, currentLink]) => {\n this.manageScopes(route);\n if (currentLink === undefined) {\n navigate(links.indexPublic());\n }\n },\n { fireImmediately: true }\n );\n\n reaction(\n () => this.url.historyVersion,\n () => this.onpopstate()\n );\n\n this.locationSearch = this.location.search;\n this.window.onpopstate = this.onpopstate;\n }\n\n private onpopstate(): void {\n this.locationSearch = this.location.search;\n }\n\n private createRoute(route: string): RouteConfig {\n return {\n $: route,\n beforeEnter: async ev => {\n const { newPath, oldPath, params } = ev;\n\n const routeObj = this.getRouteObj(newPath);\n\n if (routeObj) {\n if (routeObj.beforeEnter) {\n const beforeEnterResult = routeObj.beforeEnter({\n newPath,\n oldPath,\n params\n });\n\n if (beforeEnterResult) {\n return beforeEnterResult;\n }\n }\n }\n\n this.path = newPath;\n this.params = params;\n\n this.window.scrollTo(0, 0);\n\n return;\n },\n enter: ev => {\n this.route = route;\n const routeObj = this.getRouteObj(this.path);\n\n if (routeObj && routeObj.enter) {\n routeObj.enter(ev);\n }\n }\n };\n }\n\n private createRoutes(): RouteConfig[] {\n return Object.keys(links).map(key =>\n this.createRoute(links[key as keyof Links]())\n );\n }\n\n private getRouteObj(path: string) {\n const link = this.getLink(path);\n\n if (link) {\n return this.getRoute(link);\n }\n\n return undefined;\n }\n\n @bind\n @computed\n public get createLink(): (\n path: keyof Links,\n ...params: (string | number)[]\n ) => string {\n return path =>\n link(links[path]()).replace(\n /^\\.\\//,\n `.${this.location.pathname}${this.locationSearch}`\n );\n }\n\n @computed\n public get currentLink(): keyof Links | undefined {\n return this.getLink(this.path);\n }\n\n public getLink(path: string) {\n // eslint-disable-next-line no-unused-vars\n const res = Object.entries(links).find(([_, value]) => {\n const pattern = value();\n const pathMatch = match({ pattern, path });\n if (pathMatch && !pathMatch.remainingPath) {\n return true;\n }\n return false;\n });\n\n if (res) {\n return res[0] as keyof Links;\n }\n\n return undefined;\n }\n\n public getRoutePath(\n link: keyof Links = this.currentLink || 'indexPublic'\n ): Route[] {\n const route = this.getRoute(link);\n const routes: Route[] = [];\n\n if (route) {\n routes.push(route);\n\n let { parent } = route;\n\n while (parent) {\n routes.push(parent);\n\n parent = parent.parent;\n }\n }\n\n return routes.reverse();\n }\n\n public linkIsActive(link: keyof Links) {\n if (this.currentLink) {\n const routes = this.getRoutePath(this.currentLink);\n\n return routes.some(route => route.link === link);\n }\n\n return false;\n }\n\n private enterScope(scope: string): void {\n if (!this.scopes.includes(scope)) {\n this.tsdi.getScope(scope).enter();\n\n this.scopes.push(scope);\n }\n }\n\n private leaveScope(scope: string, checkRoute = false): void {\n if (checkRoute && this.route === scope) {\n return;\n }\n\n if (this.scopes.includes(scope)) {\n this.tsdi.getScope(scope).leave();\n\n this.scopes = this.scopes.filter(s => scope !== s);\n }\n }\n\n private manageScopes(route?: string): void {\n if (!route) {\n return;\n }\n\n // leave scopeIds\n const scopesToLeave = new Set();\n const scopesToEnter = new Set();\n\n Object.keys(links).forEach(key => {\n const linkFn = links[key as keyof Links];\n const link = linkFn();\n const scope = route === link ? link : undefined;\n\n scope ? scopesToEnter.add(scope) : scopesToLeave.add(link);\n });\n\n scopesToLeave.forEach(scope => this.leaveScope(scope));\n scopesToEnter.forEach(scope => this.enterScope(scope));\n }\n\n @bind\n public getRoute(\n link: keyof Links,\n routes = this.routes.routes\n ): Route | null {\n return routes.reduce((memo, route) => {\n if (memo) {\n return memo;\n }\n\n if (route.link === link) {\n return route;\n }\n\n if (route.children) {\n return this.getRoute(link, route.children);\n }\n\n return memo;\n }, null as Route | null);\n }\n\n @bind\n public async createRouteEntries(\n link = this.currentLink!\n ): Promise {\n const { currentLink } = this;\n const routePath = currentLink ? this.getRoutePath(currentLink) : null;\n const route = this.getRoute(link);\n\n if (route && route.children) {\n return (\n await Promise.all(\n route.children.map(async route => {\n const active = routePath\n ? routePath.some(item => item.link === route.link)\n : false;\n\n const title = await route.title();\n return {\n title,\n active,\n link: route.link\n };\n })\n )\n ).filter(item => item.title);\n }\n return [];\n }\n}\n","import { external, inject, TSDI } from 'tsdi';\nimport { TsdiDependency } from './tsdi';\n\n@external\nclass Injector {\n @inject\n private tsdi!: TSDI;\n\n public get(Dependency: TsdiDependency, hint = ''): T {\n if (typeof Dependency === 'string') {\n return this.tsdi.get(Dependency);\n }\n\n return this.tsdi.get(Dependency, hint);\n }\n}\n\nclass InjectorFactory {\n private injector?: Injector;\n\n public get(Dependency: TsdiDependency, hint?: string): T {\n if (!this.injector) {\n this.injector = new Injector();\n }\n\n return this.injector.get(Dependency, hint);\n }\n}\n\nexport const tsdiInjector = new InjectorFactory();\n","import { useRef } from 'react';\nimport { Constructable, IComponentOptions } from 'tsdi';\nimport { tsdiInjector } from './tsdi-injector';\n\nexport type TsdiDependency = string | Constructable;\n\nfunction getComponentOptions(\n Dependency: TsdiDependency\n): IComponentOptions {\n const componentOptions: IComponentOptions | undefined =\n typeof Dependency !== 'string' &&\n Reflect.getMetadata('component:options', Dependency);\n\n return componentOptions || {};\n}\n\nexport function injectTSDI(Dependency: TsdiDependency, hint?: string): T {\n const componentOptions = getComponentOptions(Dependency);\n\n if (componentOptions.singleton === false) {\n throw new Error(\n 'The option { singleton: false } will not work with `injectTSDI`. Please use `useTSDI` when inside a react-component or use the @inject-decorator in classes.'\n );\n }\n\n return tsdiInjector.get(Dependency, hint);\n}\n\nexport function useTSDI(Dependency: TsdiDependency, hint?: string): T {\n const dep = tsdiInjector.get(Dependency, hint);\n const depState = useRef(dep);\n\n const componentOptions = getComponentOptions(Dependency);\n\n if (componentOptions.singleton === false) {\n return depState.current;\n }\n\n return dep;\n}\n","import { observable } from 'mobx';\nimport { component, inject } from 'tsdi';\nimport './location';\ninterface StringArray {\n [index: string]: string;\n}\n\n@component\nexport class Url {\n @observable\n public historyVersion = 0;\n\n @inject('Location')\n public location!: Location;\n\n public get urlParams(): string {\n return this.location.search.replace(/(^\\?)/g, '');\n }\n\n public get isDev(): boolean {\n const { hostname } = this.location;\n const matches = /(dev|local)?\\.?magicline\\.com/.exec(hostname);\n\n if (/localhost/.exec(hostname)) {\n return true;\n }\n\n if (matches) {\n const [, env] = matches;\n\n if (env === 'local' || env === 'dev') {\n return true;\n }\n }\n\n return false;\n }\n\n public getQueryParam(key: string) {\n const url = new URL(window.location.href);\n\n return url.searchParams.get(key);\n }\n\n public getQueryParamsFromUrl() {\n return window.location.hash\n ?.split('?')[1]\n ?.split('&')\n ?.reduce(function(result: StringArray, param) {\n const [key, value] = param.split('=');\n result[key] = value;\n return result;\n }, {});\n }\n}\n","import { component, factory } from 'tsdi';\n@component\nexport class WindowFactory {\n @factory({ name: 'Window' })\n public getWindow(): Window {\n return window;\n }\n}\n","import { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { external, inject } from 'tsdi';\nimport { I18n } from '../core/i18n';\n\ninterface ErrorBoundaryState {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n error?: any;\n}\n\n@observer\n@external\nexport class ErrorBoundary extends React.Component<{}, ErrorBoundaryState> {\n @inject\n private i18n!: I18n;\n\n constructor(props: {}) {\n super(props);\n\n this.state = {};\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public componentDidCatch(error: any, info: any): void {\n console.error(error);\n console.info(info);\n this.setState({ error });\n }\n\n public render(): React.ReactNode {\n if (this.state.error) {\n return
{this.i18n.__('commons.error.runtime')}
;\n }\n\n return this.props.children;\n }\n}\n","import { createTheme } from '@material-ui/core';\n\nconst theme = createTheme({\n breakpoints: {\n values: {\n xs: 0,\n sm: 600,\n md: 800,\n lg: 1260,\n xl: 1920\n }\n },\n overrides: {\n MuiCssBaseline: {\n '@global': {\n a: {\n textDecoration: 'none',\n color: '#4977dd'\n }\n }\n }\n },\n typography: {\n fontFamily: [\n '\"Source Sans Pro\"',\n '\"Helvetica Neue\"',\n 'sans-serif',\n 'Arial'\n ].join(','),\n h4: {\n fontWeight: 'bold',\n fontSize: '1.75rem'\n },\n subtitle1: {\n fontWeight: 'bold',\n fontSize: '1.125rem' // 18px\n },\n subtitle2: {\n fontWeight: 'normal',\n fontSize: '1.125rem' // 18px\n },\n button: {\n fontWeight: 'bold'\n }\n },\n palette: {\n primary: {\n main: '#4977dd',\n contrastText: '#fff'\n },\n secondary: {\n main: '#85ccab'\n }\n }\n});\n\nexport { theme };\n","import * as React from 'react';\n\nexport const GTMNoScript = () => (\n /** Google Tag Manager (noscript) */\n \n);\n","import * as React from 'react';\nimport { ThemeProvider } from '@material-ui/styles';\nimport { observer } from 'mobx-react';\nimport { CssBaseline } from '@material-ui/core';\nimport { ToastContainer } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { useBrowserTitle } from '../shared/hooks/useBrowserTitle';\nimport { AppRouter } from '../core/router';\nimport { injectTSDI } from '../core/tsdi';\nimport '../core/window';\nimport './app.styles.scss';\nimport { ErrorBoundary } from './error-boundary';\nimport { theme } from './app-theme';\nimport { GTMNoScript } from './no-script';\n\nfunction getComponent(path: string) {\n const router = injectTSDI(AppRouter);\n const link = router.getLink(path);\n\n if (link) {\n const route = router.getRoute(link);\n\n if (route) {\n return route.Component || null;\n }\n }\n\n return null;\n}\n\nfunction getComponentProps() {\n const { route, params } = injectTSDI(AppRouter);\n const id = params.id ? parseInt(params.id, 10) : undefined;\n const defaultProps = { id };\n\n switch (route) {\n default:\n return defaultProps;\n }\n}\n\nconst RouteContent = observer(() => {\n const { route } = injectTSDI(AppRouter);\n\n const { Component, componentProps } = React.useMemo(\n () => ({\n Component: getComponent(route),\n componentProps: getComponentProps()\n }),\n [route]\n );\n\n return (\n }>\n {Component ? (\n
\n \n
\n ) : null}\n
\n );\n});\n\nexport const App = observer(() => {\n useBrowserTitle('Home');\n\n return (\n <>\n \n \n \n \n \n
\n \n
\n
\n
\n \n );\n});\n","import 'core-js/features/array';\nimport 'core-js/features/promise';\nimport 'core-js/features/string';\nimport * as React from 'react';\nimport { render } from 'react-dom';\nimport { TSDI } from 'tsdi';\nimport 'tsdi-multi-scope';\nimport 'whatwg-fetch';\nimport { App } from './app';\nimport '../assets/analytics-scripts/bingtag-setup.js';\nimport '../assets/analytics-scripts/facebook-pixel-setup.js';\n/* import '../assets/analytics-scripts/gtag-config.js'; */\n\nconst tsdi = new TSDI();\n\ntsdi.enableComponentScanner();\n\nrender(, document.getElementById('app'));\n","import * as React from 'react';\n\nconst defaultTitle = 'Magicline Sign-up';\n\nexport const useBrowserTitle = (title: string) => {\n React.useEffect(() => {\n document.title = title ? title : defaultTitle;\n return () => {\n document.title = defaultTitle;\n };\n }, [title]);\n};\n"],"names":["w","d","t","u","f","n","i","window","document","o","ti","q","UET","push","createElement","src","async","onload","onreadystatechange","s","this","readyState","getElementsByTagName","parentNode","insertBefore","b","e","fbq","callMethod","apply","arguments","queue","_fbq","loaded","version","countryLocaleMapping","DE","AT","PL","ES","IT","FR","EN","UK","NL","localesPathMappings","locallySupportedLocales","currentCountry","translate","hasTranslation","__","key","params","init","reaction","setCurrentLocale","fireImmediately","currentLocale","locales","loadTranslationBundle","country","localeChangeTimeoutId","clearTimeout","setTimeout","navigator","language","Intl","DateTimeFormat","year","month","day","hour","minute","hour12","localeParam","Promise","locale","replace","lang","localeOrFallback","find","l","startsWith","fetch","json","source","translated","v","parseInt","replacePlaceHolder","toString","wrap","ml","Boolean","formatNumber","num","NumberFormat","format","formatYearMonth","yearMonth","formatter","Date","Number","formatDateTime","date","dateTimeFormat","formatDate","fn","value","undefined","reduce","memo","param","convertParams","console","warn","message","observable","initialize","action","computed","bind","component","I18n","getLocation","location","factory","name","Location","LocationFactory","routes","link","title","Component","beforeEnter","newPath","redirect","enter","Object","prototype","hasOwnProperty","call","toUpperCase","i18n","assignRouteParents","parent","forEach","route","children","inject","Routes","links","indexPublic","login","verification","activation","localizedPublic","path","router","createRoutes","scopes","enableHtml5Routing","currentLink","manageScopes","navigate","url","historyVersion","onpopstate","locationSearch","search","createRoute","$","ev","oldPath","routeObj","getRouteObj","beforeEnterResult","scrollTo","keys","map","getLink","getRoute","pathname","res","entries","pattern","pathMatch","match","remainingPath","getRoutePath","reverse","linkIsActive","some","enterScope","scope","includes","tsdi","getScope","leaveScope","checkRoute","leave","filter","scopesToLeave","Set","scopesToEnter","linkFn","add","createRouteEntries","routePath","all","active","item","TSDI","Window","AppRouter","get","Dependency","hint","external","Injector","injector","injectTSDI","Reflect","getMetadata","getComponentOptions","singleton","Error","hostname","matches","exec","env","getQueryParam","URL","href","searchParams","getQueryParamsFromUrl","hash","split","result","Url","getWindow","WindowFactory","props","state","componentDidCatch","error","info","setState","render","ErrorBoundary","theme","breakpoints","values","xs","sm","md","lg","xl","overrides","MuiCssBaseline","a","textDecoration","color","typography","fontFamily","join","h4","fontWeight","fontSize","subtitle1","subtitle2","button","palette","primary","main","contrastText","secondary","GTMNoScript","height","width","style","display","visibility","getComponent","getComponentProps","id","RouteContent","componentProps","fallback","App","useBrowserTitle","ThemeProvider","CssBaseline","enableComponentScanner","getElementById","defaultTitle"],"sourceRoot":""}