{"version":3,"mappings":";q2CAmBA,MAAMA,EAAcC,EAAA,KAAK,IACvBC,EAAA,WAAO,2BAAe,+EAAE,KAAMC,IAAY,CAAE,QAASA,EAAO,aAAc,CAC5E,EACMC,EAAYH,EAAA,KAAK,IACrBC,EAAA,WAAO,yBAAa,qEAAE,KAAMC,IAAY,CAAE,QAASA,EAAO,WAAY,CACxE,EAEME,EAAS,MAAM,KACnB,SAAS,iBAAiB,IAAIC,CAAyB,EAAE,CAC3D,EACAD,EACG,IAAKE,GAAUA,CAAoB,EACnC,QAASA,GAAU,OAEd,GAAAA,EAAM,kBAAoB,EAC5B,OAGF,MAAMC,EAA+B,CAAC,EAGtCD,EAAM,MAAM,MAAQ,OAEd,MAAAE,EAAU,OAAO,UAAU,eAAe,KAC9CF,EAAM,QACN,SACF,EAEMG,EAAa,OAAO,UAAU,eAAe,KACjDH,EAAM,QACN,YACF,EACA,IAAII,EAAmB,OACnBJ,EAAM,QAAQ,KAAOA,EAAM,QAAQ,MAAQ,KAC7CI,EAAMJ,EAAM,QAAQ,IAAI,cAAc,KAAK,GAG1BK,EAAA,KAAOC,EAAyBF,GAAO,MAAM,EACjDG,EAAA,KAAOC,EAAoBJ,GAAO,MAAM,EAEvD,IAAIK,EAAyB,OACzBT,EAAM,QAAQ,WAAaA,EAAM,QAAQ,YAAc,KACzDS,EAAYT,EAAM,QAAQ,UAAU,cAAc,KAAK,GAKrD,IAAAU,EAAYR,EAAU,wFAA2C,GAIjEF,EAAM,QAAQ,eAAe,WAAW,IAC1CU,EAAYV,EAAM,QAAQ,WAG5B,MAAMW,EAA2B,EAAEX,EAAM,QAAQ,kBAAoB,GAGjEU,GACFE,EACEF,EACAC,EALkB,2CAOlBF,EACAP,CACF,EAGE,IAAAW,EAAuBb,EAAM,QAAQ,eAAiB,KAKtDa,IAAyB,0BACJA,EAAA,MAGhBC,EAAA,WAAWd,CAAK,EAAE,OACxBe,MAAAC,EAAM,WAAN,CACC,SAAAD,EAAA,IAACE,EAAA,CACC,UAAUC,EAAAlB,EAAM,QAAQ,WAAd,YAAAkB,EAAwB,cAAc,OAChD,QAAAhB,EACA,SAACa,EAAA,IAAAI,EAAA,CAAqB,SAAWJ,MAAAK,EAAA,EAAM,EACrC,SAAAL,EAAA,IAACM,EAA2B,OAAOpB,EACjC,SAAAc,EAAA,IAAC,OACC,UAAWO,EACT,4EACA,CAAE,sBAAuB,CAACnB,CAAW,CACvC,EACA,SAAAY,MAACQ,YAAS,SAAU,KACjB,WACER,EAAA,IAAAlB,EAAA,CAAU,QAAAK,CAAA,CAAkB,EAE7Ba,EAAA,IAACtB,EAAA,CACC,IAAAW,EACA,QAAAF,EACA,qBAAAW,CAAA,EAGN,GACF,EACF,CACF,IAEJ,EACF,CACF,CAAC","names":["ForecastApp","lazy","__vitePreload","module","SearchApp","embeds","EMBED_ROOT_CLASS_SELECTOR","embed","initialState","devMode","searchOnly","env","MeteoMapsApiClient","METEOMAPS_API_BASE_PATHS","MeteoApiClient","METEOAPI_BASE_PATHS","sentryEnv","sentryDsn","sentrySampleRate","initSentry","geolcationIdFallback","ReactDOM","jsx","React","TranslationsProvider","_a","Sentry.ErrorBoundary","Error","ForecastAppContextProvider","classNames","Suspense"],"ignoreList":[],"sources":["../../src/forecast.tsx"],"sourcesContent":["import { Error } from \"@Components/common/Error\";\nimport {\n METEOAPI_BASE_PATHS,\n METEOMAPS_API_BASE_PATHS,\n} from \"@Constants/apiBasePaths\";\nimport { EMBED_ROOT_CLASS_SELECTOR } from \"@Constants/embed\";\nimport { ForecastAppContextProvider } from \"@Context/ForecastAppContext/ForecastAppContext\";\nimport { State } from \"@Context/ForecastAppContext/forecastAppReducer\";\nimport { TranslationsProvider } from \"@Context/TranslationContext/TranslationContext\";\nimport { OpenAPI as MeteoApiClient } from \"@MeteoApi/index\";\nimport { OpenAPI as MeteoMapsApiClient } from \"@MeteoMapsApi/index\";\nimport { Environment } from \"@Models/Environment\";\nimport * as Sentry from \"@sentry/react\";\nimport { initSentry } from \"@Utils/sentry\";\nimport classNames from \"classnames\";\nimport React, { Suspense, lazy } from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport \"./App.css\";\n\nconst ForecastApp = lazy(() =>\n import(\"./ForecastApp\").then((module) => ({ default: module.ForecastApp })),\n);\nconst SearchApp = lazy(() =>\n import(\"./SearchApp\").then((module) => ({ default: module.SearchApp })),\n);\n\nconst embeds = Array.from(\n document.querySelectorAll(`.${EMBED_ROOT_CLASS_SELECTOR}`),\n);\nembeds\n .map((embed) => embed as HTMLElement)\n .forEach((embed) => {\n // prevent duplicated initialization by multiple scripts on the same page\n if (embed.childElementCount > 0) {\n return;\n }\n\n const initialState: Partial = {};\n\n // make root element stretch entire width\n embed.style.width = \"100%\";\n\n const devMode = Object.prototype.hasOwnProperty.call(\n embed.dataset,\n \"devmode\",\n );\n\n const searchOnly = Object.prototype.hasOwnProperty.call(\n embed.dataset,\n \"searchOnly\",\n );\n let env: Environment = \"prod\";\n if (embed.dataset.env && embed.dataset.env !== \"\") {\n env = embed.dataset.env.toLowerCase().trim() as Environment;\n }\n // Set the API base paths based on the environment\n MeteoMapsApiClient.BASE = METEOMAPS_API_BASE_PATHS[env ?? \"prod\"];\n MeteoApiClient.BASE = METEOAPI_BASE_PATHS[env ?? \"prod\"];\n\n let sentryEnv: Environment = \"prod\";\n if (embed.dataset.sentryEnv && embed.dataset.sentryEnv !== \"\") {\n sentryEnv = embed.dataset.sentryEnv.toLowerCase().trim() as Environment;\n }\n\n // Only read Sentry DSN from environment when in devMode, aka not embedded.\n // In the case of embedded, it needs to be set via data attribute.\n let sentryDsn = devMode ? import.meta.env.VITE_FORECAST_SENTRY_DSN : \"\";\n\n // If Sentry DSN is set via data attribute, use that instead\n // eslint-disable-next-line no-prototype-builtins\n if (embed.dataset.hasOwnProperty(\"sentryDsn\")) {\n sentryDsn = embed.dataset.sentryDsn;\n }\n\n const sentrySampleRate: number = +(embed.dataset.sentrySampleRate || 1.0);\n const sentryRelease = import.meta.env.VITE_RELEASE || \"0000000\";\n\n if (sentryDsn) {\n initSentry(\n sentryDsn,\n sentrySampleRate,\n sentryRelease,\n sentryEnv,\n devMode,\n );\n }\n\n let geolcationIdFallback = embed.dataset.geolocationId || null;\n\n // Unfortunately, when the VITE_GEOLOCATION_ID env variable is not set, in HTML, it is left-as is (the string \"%VITE_GEOLOCATION_ID%\"), as opposed\n // to JS where it is replaced with undefined. This guard here ensures that no invalid API request to /forecastpoint/%VITE_GEOLOCATION_ID% is made.\n // See: https://vitejs.dev/guide/env-and-mode#html-env-replacement\n if (geolcationIdFallback === \"%VITE_GEOLOCATION_ID%\") {\n geolcationIdFallback = null;\n }\n\n ReactDOM.createRoot(embed).render(\n \n \n }>\n \n \n \n {searchOnly ? (\n \n ) : (\n \n )}\n \n \n \n \n \n ,\n );\n });\n"],"file":"assets/forecast-Cj6GMR3w.js"}