{"version":3,"file":"js/app.262da369.js","mappings":"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","sources":["webpack://Touchkit/./src/App.vue","webpack://Touchkit/./src/components/core/AppLoader.vue","webpack://Touchkit/./src/components/core/AppLoader.vue?dfec","webpack://Touchkit/./src/components/core/AppContainer.vue","webpack://Touchkit/./src/config.js","webpack://Touchkit/./src/components/core/AspectContainer.vue","webpack://Touchkit/./src/components/core/AspectContainer.vue?d7b0","webpack://Touchkit/./src/components/core/Idle.vue","webpack://Touchkit/./src/services/ComponentRepo.js","webpack://Touchkit/./src/components/core/Idle.vue?e210","webpack://Touchkit/./src/components/core/UiLayer.vue","webpack://Touchkit/./src/components/ui/Logo.vue","webpack://Touchkit/./src/components/ui/Logo.vue?6448","webpack://Touchkit/./src/components/ui/Navigation.vue","webpack://Touchkit/./src/components/ui/Navigation.vue?fde7","webpack://Touchkit/./src/components/core/UiLayer.vue?f01e","webpack://Touchkit/./src/components/core/TransitionVideos.vue","webpack://Touchkit/./src/components/core/TransitionVideos.vue?fd00","webpack://Touchkit/./src/components/core/page/PageStaticBackground.vue","webpack://Touchkit/./src/components/core/page/PageStaticBackground.vue?548c","webpack://Touchkit/./src/components/core/AppContainer.vue?8bc7","webpack://Touchkit/./src/App.vue?7ccd","webpack://Touchkit/./src/components/core/page/Page.vue","webpack://Touchkit/./src/components/core/ComponentRender.vue","webpack://Touchkit/./src/components/core/ComponentRender.vue?a777","webpack://Touchkit/./src/components/core/page/PageBackground.vue","webpack://Touchkit/./src/components/core/page/PageBackground.vue?b5cd","webpack://Touchkit/./src/components/core/hotspots/HotspotRenderer.vue","webpack://Touchkit/./src/components/core/hotspots/HotspotRenderer.vue?b14a","webpack://Touchkit/./src/components/core/page/PageScroller.vue","webpack://Touchkit/./src/components/core/page/PageScrollerNavigation.vue","webpack://Touchkit/./src/components/core/page/PageScrollerNavigation.vue?32af","webpack://Touchkit/./src/components/core/page/PageScroller.vue?18b3","webpack://Touchkit/./src/components/core/page/Page.vue?4937","webpack://Touchkit/./src/store/store.js","webpack://Touchkit/./src/router/router.js","webpack://Touchkit/./src/services/AppInitializer.js","webpack://Touchkit/./src/services/DataDecorator.js","webpack://Touchkit/./src/services/FetchSiteManifest.js","webpack://Touchkit/./src/services/Preloader.js","webpack://Touchkit/./src/services/api/LocalDataStore.js","webpack://Touchkit/./src/services/api/PageManager.js","webpack://Touchkit/./src/services/api/Utils.js","webpack://Touchkit/./src/services/api/Tracking.js","webpack://Touchkit/./src/services/api/AudioManager.js","webpack://Touchkit/./src/services/api/ApiManager.js","webpack://Touchkit/./src/main.js","webpack://Touchkit/./src/components/component-library/NullComponent.vue","webpack://Touchkit/./src/components/component-library/NullComponent.vue?844d","webpack://Touchkit/./src/components/component-library/background-components/backgroundMedia.vue","webpack://Touchkit/./src/components/component-library/background-components/backgroundMedia.vue?6ccf","webpack://Touchkit/./src/components/component-library/background-components/backgroundPresenter.vue","webpack://Touchkit/./src/components/component-library/background-components/backgroundPresenter.vue?4837","webpack://Touchkit/./src/components/component-library/background-components/backgroundText.vue","webpack://Touchkit/./src/components/component-library/background-components/backgroundText.vue?45f4","webpack://Touchkit/./src/components/component-library/background-components/nonrendered-background-components/sceneAudio.vue","webpack://Touchkit/./src/components/component-library/background-components/nonrendered-background-components/sceneAudio.vue?e75c","webpack://Touchkit/./src/components/component-library/content-components/VideoPlayer.vue","webpack://Touchkit/./src/components/component-library/content-components/VideoPlayer.vue?27db","webpack://Touchkit/./src/components/component-library/content-components/article-components/articleExternalLink.vue","webpack://Touchkit/./src/components/component-library/content-components/article-components/articleExternalLink.vue?b013","webpack://Touchkit/./src/components/component-library/content-components/article-components/articleImage.vue","webpack://Touchkit/./src/components/component-library/content-components/article-components/articleImage.vue?de83","webpack://Touchkit/./src/components/component-library/content-components/article-components/articleInternalLink.vue","webpack://Touchkit/./src/components/component-library/content-components/article-components/articleInternalLink.vue?8b1a","webpack://Touchkit/./src/components/component-library/content-components/article-components/bodyText.vue","webpack://Touchkit/./src/components/component-library/content-components/article-components/bodyText.vue?60e2","webpack://Touchkit/./src/components/component-library/content-components/article-components/media.vue","webpack://Touchkit/./src/components/component-library/content-components/article-components/media.vue?6bd4","webpack://Touchkit/./src/components/component-library/content-components/article-components/subtitle.vue","webpack://Touchkit/./src/components/component-library/content-components/article-components/subtitle.vue?3a44","webpack://Touchkit/./src/components/component-library/content-components/article-components/table.vue","webpack://Touchkit/./src/components/component-library/content-components/article-components/table.vue?18f2","webpack://Touchkit/./src/components/component-library/content-components/articleFull.vue","webpack://Touchkit/./src/components/component-library/content-components/articleFull.vue?4ff2","webpack://Touchkit/./src/components/component-library/content-components/externalLink.vue","webpack://Touchkit/./src/components/component-library/content-components/externalLink.vue?58fa","webpack://Touchkit/./src/components/component-library/content-components/fullscreenIframePlayer.vue","webpack://Touchkit/./src/components/component-library/content-components/fullscreenIframePlayer.vue?3c46","webpack://Touchkit/./src/components/component-library/content-components/fullscreenVerticalArticle.vue","webpack://Touchkit/./src/components/component-library/content-components/fullscreenVerticalArticle.vue?772c","webpack://Touchkit/./src/components/component-library/content-components/fullscreenVideo.vue","webpack://Touchkit/./src/components/component-library/content-components/fullscreenVideo.vue?6bc3","webpack://Touchkit/./src/components/component-library/content-components/internalLink.vue","webpack://Touchkit/./src/components/component-library/content-components/internalLink.vue?7a32","webpack://Touchkit/./src/components/component-library/content-components/mail.vue","webpack://Touchkit/./src/components/component-library/content-components/mail.vue?c7d4","webpack://Touchkit/./src/components/core/hotspots/hotspot-components/defaultHotspot.vue","webpack://Touchkit/./src/components/core/hotspots/hotspot-components/defaultHotspot.vue?3849","webpack://Touchkit/./src/components/core/hotspots/hotspot-components/dropdownHotspot.vue","webpack://Touchkit/./src/components/core/hotspots/hotspot-components/dropdownHotspot.vue?1eda","webpack://Touchkit/./src/components/core/hotspots/hotspot-components/hiddenHotspot.vue","webpack://Touchkit/./src/components/core/hotspots/hotspot-components/hiddenHotspot.vue?6738","webpack://Touchkit/./src/components/core/hotspots/hotspot-components/listHotspot.vue","webpack://Touchkit/./src/components/core/hotspots/hotspot-components/listHotspot.vue?ae85","webpack://Touchkit/./src/components/component-library/content-components/article-components/ sync \\.vue$","webpack://Touchkit/./src/components/component-library/ sync \\.vue$","webpack://Touchkit/./src/components/core/hotspots/hotspot-components/ sync \\.vue$","webpack://Touchkit/webpack/bootstrap","webpack://Touchkit/webpack/runtime/chunk loaded","webpack://Touchkit/webpack/runtime/compat get default export","webpack://Touchkit/webpack/runtime/define property getters","webpack://Touchkit/webpack/runtime/global","webpack://Touchkit/webpack/runtime/hasOwnProperty shorthand","webpack://Touchkit/webpack/runtime/make namespace object","webpack://Touchkit/webpack/runtime/node module decorator","webpack://Touchkit/webpack/runtime/publicPath","webpack://Touchkit/webpack/runtime/jsonp chunk loading","webpack://Touchkit/webpack/startup"],"sourcesContent":["\r\n\r\n\r\n\r\n","\r\n\r\n","import { render } from \"./AppLoader.vue?vue&type=template&id=97ce5690\"\nconst script = {}\n\nimport \"./AppLoader.vue?vue&type=style&index=0&id=97ce5690&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","const config = {\r\n name: 'Hyndla',\r\n \r\n // Default languagecode (determines what json file to fetch from assets/json/@lang/manifest.json)\r\n defaultLanguage: 'en',\r\n\r\n // When changing this property, you should close the browser session as the route can be sent into an endless loop.\r\n includeLanguageCodeInUrl: false,\r\n\r\n mediaFolder: '/media',\r\n manifest: 'assets/json/@lang/manifest.json'\r\n}\r\n\r\n// for local dev environment on network\r\nconst ipRegex = /^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$|^(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}$|^(?:[A-Fa-f0-9]{1,4}:){6}:[A-Fa-f0-9]{1,4}$|^(?:[A-Fa-f0-9]{1,4}:){5}(?::[A-Fa-f0-9]{1,4}){1,2}$|^(?:[A-Fa-f0-9]{1,4}:){4}(?::[A-Fa-f0-9]{1,4}){1,3}$|^(?:[A-Fa-f0-9]{1,4}:){3}(?::[A-Fa-f0-9]{1,4}){1,4}$|^(?:[A-Fa-f0-9]{1,4}:){2}(?::[A-Fa-f0-9]{1,4}){1,5}$|^[A-Fa-f0-9]{1,4}:(?::[A-Fa-f0-9]{1,4}){1,6}$|^:(?::[A-Fa-f0-9]{1,4}){1,7}$|^:(?::[A-Fa-f0-9]{1,4}){0,6}:[A-Fa-f0-9]{1,4}$|^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$|^(?:[0-9a-fA-F]{0,4}:){1,8}:?$/\r\n\r\n\r\n// LOCAL DEV ENVIRONMENT\r\nif (window.location.hostname === \"localhost\" || ipRegex.test(window.location.hostname) || window.location.hostname === \"bs-local.com\") {\r\n config.manifest = 'https://hyndlapresentationumbraco.azurewebsites.net/output/tool/assets/json/@lang/manifest.json';\r\n config.mediaFolder = 'https://hyndlapresentationumbraco.azurewebsites.net/media';\r\n\r\n// ELECTRON PACKAGE\r\n} else if (window.location.hostname === \"\") {\r\n config.mediaFolder = 'media/';\r\n}\r\n\r\nexport default config","\r\n\r\n\r\n\r\n","import { render } from \"./AspectContainer.vue?vue&type=template&id=078fc4a8\"\nimport script from \"./AspectContainer.vue?vue&type=script&lang=js\"\nexport * from \"./AspectContainer.vue?vue&type=script&lang=js\"\n\nimport \"./AspectContainer.vue?vue&type=style&index=0&id=078fc4a8&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","const requireComponent = require.context('../components/component-library', true, /\\.vue$/);\r\nconst componentsRepository = {};\r\n\r\n// loop through all the .vue files in the directory and subdirectories\r\nrequireComponent.keys().forEach(fileName => {\r\n // get the default export for each file\r\n const componentConfig = requireComponent(fileName);\r\n // extract the component name from the file name\r\n // Component name MUST be the same as the filename\r\n const componentName = fileName.split('/').pop().replace(/\\.\\w+$/, '');\r\n\r\n // add the component to the repository object, with its name as the key\r\n componentsRepository[componentName] = componentConfig.default || componentConfig;\r\n});\r\n\r\n\r\nconst repo = {\r\n //Register components globally from the generated components above\r\n setup(app) {\r\n Object.keys(componentsRepository).forEach(name => {\r\n app.component(name, componentsRepository[name])\r\n })\r\n },\r\n\r\n // Check if a component has been registered \r\n has(componentName) {\r\n return componentName in componentsRepository\r\n }\r\n}\r\n\r\n\r\nexport default repo","import { render } from \"./Idle.vue?vue&type=template&id=8467f1d4\"\nimport script from \"./Idle.vue?vue&type=script&lang=js\"\nexport * from \"./Idle.vue?vue&type=script&lang=js\"\n\nimport \"./Idle.vue?vue&type=style&index=0&id=8467f1d4&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","\r\n\r\n","import { render } from \"./Logo.vue?vue&type=template&id=0a5baa6b&scoped=true\"\nimport script from \"./Logo.vue?vue&type=script&lang=js\"\nexport * from \"./Logo.vue?vue&type=script&lang=js\"\n\nimport \"./Logo.vue?vue&type=style&index=0&id=0a5baa6b&lang=scss&scoped=true\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0a5baa6b\"]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./Navigation.vue?vue&type=template&id=bf3f7af0&scoped=true\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js\"\n\nimport \"./Navigation.vue?vue&type=style&index=0&id=bf3f7af0&lang=scss&scoped=true\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-bf3f7af0\"]])\n\nexport default __exports__","import { render } from \"./UiLayer.vue?vue&type=template&id=2d517528\"\nimport script from \"./UiLayer.vue?vue&type=script&lang=js\"\nexport * from \"./UiLayer.vue?vue&type=script&lang=js\"\n\nimport \"./UiLayer.vue?vue&type=style&index=0&id=2d517528&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./TransitionVideos.vue?vue&type=template&id=84dcedee\"\nimport script from \"./TransitionVideos.vue?vue&type=script&lang=js\"\nexport * from \"./TransitionVideos.vue?vue&type=script&lang=js\"\n\nimport \"./TransitionVideos.vue?vue&type=style&index=0&id=84dcedee&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./PageStaticBackground.vue?vue&type=template&id=2700e48a&scoped=true\"\nconst script = {}\n\nimport \"./PageStaticBackground.vue?vue&type=style&index=0&id=2700e48a&lang=scss&scoped=true\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2700e48a\"]])\n\nexport default __exports__","import { render } from \"./AppContainer.vue?vue&type=template&id=3f77e3a1\"\nimport script from \"./AppContainer.vue?vue&type=script&lang=js\"\nexport * from \"./AppContainer.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./App.vue?vue&type=template&id=5f893115\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=5f893115&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","import { render } from \"./ComponentRender.vue?vue&type=template&id=7e6cf02d\"\nimport script from \"./ComponentRender.vue?vue&type=script&lang=js\"\nexport * from \"./ComponentRender.vue?vue&type=script&lang=js\"\n\nimport \"./ComponentRender.vue?vue&type=style&index=0&id=7e6cf02d&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./PageBackground.vue?vue&type=template&id=73c16c9c&scoped=true\"\nimport script from \"./PageBackground.vue?vue&type=script&lang=js\"\nexport * from \"./PageBackground.vue?vue&type=script&lang=js\"\n\nimport \"./PageBackground.vue?vue&type=style&index=0&id=73c16c9c&lang=scss&scoped=true\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-73c16c9c\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./HotspotRenderer.vue?vue&type=template&id=12121555\"\nimport script from \"./HotspotRenderer.vue?vue&type=script&lang=js\"\nexport * from \"./HotspotRenderer.vue?vue&type=script&lang=js\"\n\nimport \"./HotspotRenderer.vue?vue&type=style&index=0&id=12121555&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n","import { render } from \"./PageScrollerNavigation.vue?vue&type=template&id=2bac7dba\"\nimport script from \"./PageScrollerNavigation.vue?vue&type=script&lang=js\"\nexport * from \"./PageScrollerNavigation.vue?vue&type=script&lang=js\"\n\nimport \"./PageScrollerNavigation.vue?vue&type=style&index=0&id=2bac7dba&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./PageScroller.vue?vue&type=template&id=5d5feb68\"\nimport script from \"./PageScroller.vue?vue&type=script&lang=js\"\nexport * from \"./PageScroller.vue?vue&type=script&lang=js\"\n\nimport \"./PageScroller.vue?vue&type=style&index=0&id=5d5feb68&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./Page.vue?vue&type=template&id=658f065d\"\nimport script from \"./Page.vue?vue&type=script&lang=js\"\nexport * from \"./Page.vue?vue&type=script&lang=js\"\n\nimport \"./Page.vue?vue&type=style&index=0&id=658f065d&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createStore } from 'vuex'\r\n\r\n// Create a new store instance.\r\nconst store = createStore({\r\n state() {\r\n return {\r\n ready: false,\r\n \r\n // Touchkit sizing variables\r\n scale: 1,\r\n backgroundWidth: 0,\r\n appResolution:{},\r\n maximizedSizeAndOffset:{},\r\n \r\n // Touchkit Page data\r\n currentBackgroundComponents: [],\r\n\r\n // Touchkit navigation variables\r\n allowNavigation: true,\r\n isFullscreen: false,\r\n contentComponentOpen: false,\r\n videoTransitions: [],\r\n queryParameters: null,\r\n\r\n // Touchkit Pagescroller\r\n draggingBackground: false,\r\n draggingBackgroundStartPositions: [],\r\n\r\n // Touchkit AudioManager\r\n muted: false\r\n }\r\n },\r\n mutations: {\r\n ready(state) {\r\n state.ready = true;\r\n },\r\n setScaleValue(state, value) {\r\n state.scale = value;\r\n },\r\n setAppResolutionValue(state, value) {\r\n state.appResolution = value;\r\n },\r\n setMaximizedSizeAndOffsetValue(state, value) {\r\n state.maximizedSizeAndOffset = value;\r\n },\r\n setCurrentBackgroundComponents(state, arr) {\r\n state.currentBackgroundComponents = arr\r\n },\r\n enableNavigation(state) {\r\n state.allowNavigation = true;\r\n },\r\n disableNavigation(state) {\r\n state.allowNavigation = false;\r\n },\r\n toggleFullscreen(state, bool) {\r\n state.isFullscreen = bool;\r\n },\r\n toggleContentComponentOpen(state, bool) {\r\n state.contentComponentOpen = bool;\r\n },\r\n storeVideoTransitions(state) {\r\n if(!app.api.PageManager.getCustomComponentFromType(\"videoTransitions\"))\r\n return\r\n\r\n let umbracoTransitions = app.api.PageManager.getCustomComponentFromType(\"videoTransitions\").data.transitions;\r\n let transitions = [];\r\n \r\n transitions = umbracoTransitions.map((transition, i) => {\r\n transition.id = `transition_${i}`;\r\n transition.from = transition.from ? app.api.PageManager.getRouteFromID(transition.from) : null;\r\n transition.to = transition.to ? app.api.PageManager.getRouteFromID(transition.to) : null;\r\n return transition;\r\n })\r\n \r\n state.videoTransitions = transitions;\r\n },\r\n setQueryParameters(state, value) {\r\n state.queryParameters = value\r\n },\r\n\r\n // Touchkit Pagescroller\r\n setBackgroundWidth(state, value) {\r\n state.backgroundWidth = value;\r\n },\r\n toggleDraggingBackground(state, bool) {\r\n state.draggingBackground = bool;\r\n },\r\n saveScrollPosition(state, value) {\r\n const existingIndex = state.draggingBackgroundStartPositions.findIndex(s => s.route === value.route);\r\n\r\n // If the object already exists, replace it at the existing index\r\n if (existingIndex !== -1) {\r\n state.draggingBackgroundStartPositions.splice(existingIndex, 1, value);\r\n\r\n // If it doesn't exist, push the new object\r\n } else {\r\n state.draggingBackgroundStartPositions.push(value);\r\n }\r\n },\r\n\r\n // Touchkit AudioManager\r\n toggleMute(state) {\r\n state.muted = !state.muted;\r\n\r\n if(state.muted) {\r\n app.api.AudioManager.mute()\r\n } else {\r\n app.api.AudioManager.unmute()\r\n }\r\n },\r\n mute(state) {\r\n state.muted = true;\r\n app.api.AudioManager.mute()\r\n },\r\n unmute(state) {\r\n state.muted = false;\r\n app.api.AudioManager.unmute()\r\n } \r\n },\r\n getters: {\r\n ready(state) {\r\n return state.ready;\r\n },\r\n getScaleValue(state) {\r\n return state.scale;\r\n },\r\n getAppResolutionValue(state) {\r\n return state.appResolution;\r\n },\r\n getMaximizedSizeAndOffsetValue(state) {\r\n return state.maximizedSizeAndOffset;\r\n },\r\n getCurrentBackgroundComponents(state) {\r\n return state.currentBackgroundComponents\r\n },\r\n canNavigate(state) {\r\n return state.allowNavigation;\r\n },\r\n isFullscreen(state) {\r\n return state.isFullscreen;\r\n }, \r\n getContentComponentOpen(state) {\r\n return state.contentComponentOpen;\r\n },\r\n getVideoTransitions(state) {\r\n return state.videoTransitions;\r\n },\r\n getQueryParameters(state) {\r\n return state.queryParameters\r\n },\r\n\r\n // Touchkit Pagescroller\r\n getBackgroundWidth(state) {\r\n return state.backgroundWidth;\r\n },\r\n isBackgroundDragged(state) {\r\n return state.draggingBackground;\r\n },\r\n getSavedScrollPosition: (state) => (route) => {\r\n return state.draggingBackgroundStartPositions.find(s => s.route === route);\r\n },\r\n\r\n // Touchkit AudioManager\r\n getIsMuted(state) {\r\n return state.muted\r\n }\r\n },\r\n actions: {\r\n ready(context) {\r\n context.commit('ready')\r\n }\r\n }\r\n})\r\n\r\nexport default store;\r\n","import { createRouter, createWebHashHistory } from 'vue-router';\r\nimport Page from '../components/core/page/Page.vue';\r\nimport store from '../store/store';\r\nimport config from \"@/config\";\r\n\r\nconst routes = [\r\n { path: config.includeLanguageCodeInUrl ? \"/:lang([a-z]{2})?/:id*\" : \"/:id*\", component: Page }\r\n]\r\n\r\nconst router = createRouter({\r\n history: createWebHashHistory(),\r\n routes\r\n})\r\n\r\n// Router navigation guard\r\nrouter.beforeEach((to, from, next) => {\r\n const storedLanguage = getCurrentLanguage();\r\n const routeLanguage = to.params.lang;\r\n\r\n \r\n // If there is no language in the route or if the route language is different from the stored language, redirect\r\n if (config.includeLanguageCodeInUrl) {\r\n if(!routeLanguage){ \r\n next({ path: `/${storedLanguage}${to.fullPath}`, replace: true });\r\n return;\r\n } else if(routeLanguage !== storedLanguage) {\r\n // If the route changes to another language, simply reload the site to let DataDecorator handle changing the language\r\n location.reload()\r\n }\r\n }\r\n\r\n // Allow the navigation\r\n if (store.getters.canNavigate) {\r\n if(!hasQueryParameters(to) && hasQueryParameters(from)){\r\n store.commit('setQueryParameters', from.query)\r\n next({ ...to, query: from.query });\r\n } else {\r\n store.commit('setQueryParameters', to.query)\r\n next()\r\n }\r\n\r\n // Send events to Tracking API\r\n app.api.Tracking.navigation(\"navigation\", to.fullPath, \"\");\r\n app.api.AudioManager.checkIfAudio(to.fullPath);\r\n } else {\r\n // Cancel the navigation\r\n // You can redirect to a specific route or show a loading screen until the navigation is allowed\r\n next(false)\r\n }\r\n})\r\n\r\n// Look up if route has any query parameters\r\nfunction hasQueryParameters(route) {\r\n return !!Object.keys(route.query).length\r\n}\r\n\r\n// Get saved langugage code from localstorage\r\nfunction getCurrentLanguage() {\r\n const storedLanguage = JSON.parse(localStorage.getItem(config.name))[\"lang\"];\r\n return storedLanguage || ''; // Return empty string if stored language is null or undefined\r\n}\r\n\r\nexport default router\r\n","export default function AppInitializer() {\r\n const steps = [];\r\n\r\n return Object.freeze({\r\n start,\r\n addStep,\r\n })\r\n\r\n function addStep({ id, tasks = [] }) {\r\n steps.push({ id, tasks });\r\n return this;\r\n }\r\n\r\n async function start(beforeStart = () => { }) {\r\n beforeStart();\r\n\r\n var i = 0\r\n var totalSteps = 0\r\n steps.forEach(individualStep => totalSteps += individualStep.tasks.length);\r\n \r\n for (const step of steps) {\r\n await Promise.all(step.tasks.map(e => {\r\n console.log('App initializing:\\n =>', e.id);\r\n const promise = e.execute()\r\n promise.then(() => {\r\n console.log('Completed initializing:\\n =>', e.id);\r\n i++\r\n document.getElementById(\"AppLoader-Percentage\").innerHTML = `${(i / totalSteps) * 100}%`\r\n document.getElementById(\"AppLoader-Text\").innerHTML = `Loading (${e.id})`\r\n }).catch(e => {\r\n console.log('Failed initializing:\\n =>', e.id);\r\n })\r\n return promise;\r\n }))\r\n }\r\n }\r\n}","import config from \"@/config\";\r\n\r\nexport default function (manifest, Utils) {\r\n let pages = [];\r\n let metadata = manifest.Home.data;\r\n let scenes = manifest.ScenesFolder;\r\n let content = manifest.ContentFolder;\r\n let custom = manifest.CustomFolder;\r\n let languageCode = config.includeLanguageCodeInUrl ? `/${Utils.getCurrentLanguage()}` : '';\r\n\r\n manifest.HotspotsFolder.forEach(page => flattenPages(page, null, ''))\r\n manifest.ContentFolder.map(content => formatContent(content))\r\n\r\n return {\r\n pages,\r\n scenes,\r\n content,\r\n custom,\r\n metadata\r\n }\r\n\r\n\r\n // Create flat array of all pages in the App.\r\n // includes id, type, routes and components.\r\n function flattenPages(node, parent, route) {\r\n if(node.data.hasOwnProperty(\"type\")) {\r\n let type = Object.keys(node.data.type)[0];\r\n route = createRoute(route, node, type);\r\n \r\n let page = formatPage(node, parent, route, type)\r\n pages.push(page)\r\n }\r\n \r\n if (node.children) {\r\n node.children.forEach(c => flattenPages(c, node, route))\r\n }\r\n }\r\n\r\n function formatPage(node, parent, route, type) {\r\n // format Page for usable data from json manifest provided by Umbraco\r\n\r\n //get what type of content this page is\r\n let componentData = {};\r\n \r\n if (Object.entries(node.data.type)[0][1] !== null) {\r\n componentData = getComponentData(Object.entries(node.data.type)[0][1])\r\n }\r\n\r\n return {\r\n id: node.id,\r\n type: type,\r\n name: node.name,\r\n data: componentData,\r\n title: node.data.alternateTitle && node.data.alternateTitle !== '' ? node.data.alternateTitle : node.data.title,\r\n slug: Utils.sanitizeString(node.data.title),\r\n route: `${languageCode}${route}`,\r\n parent: parent ? Utils.sanitizeString(parent.data.title) : null,\r\n children: node.children ? getChildren(node.children) : [],\r\n hotspotData: {\r\n type: node.type,\r\n ...node.data\r\n },\r\n\r\n background: getNodeBackground(node),\r\n components: getComponentsForScene(componentData),\r\n }\r\n }\r\n \r\n // Create route for pages\r\n function createRoute(route, node, type) {\r\n // Determine seperator in url based on if the node is a scene or content to be openened.\r\n // '/' for scene\r\n // ':' for content\r\n let seperator = type == 'scene' ? '/' : ':'\r\n let slug = Utils.sanitizeString(node.data.title);\r\n \r\n return `${route}${seperator}${slug}`;\r\n }\r\n\r\n // Enrich page.children with data\r\n function getChildren(children) {\r\n let tempChildren = [];\r\n tempChildren = children.map(child => {\r\n child.slug = Utils.sanitizeString(child.data.title);\r\n child.background = getNodeBackground(child);\r\n return child;\r\n })\r\n\r\n return tempChildren\r\n }\r\n \r\n // Get background object for scenes\r\n function getNodeBackground(node) {\r\n if(!node.data.type || !node.data.type.scene)\r\n return null;\r\n\r\n let type = Object.keys(manifest.ScenesFolder.find(scene => scene.id === node.data.type.scene).data.background)[0];\r\n let bg = manifest.ScenesFolder.find(scene => scene.id === node.data.type.scene).data.background;\r\n \r\n let background = {\r\n video: type == 'video' ? bg.video : null,\r\n image: type == 'image' ? bg.image : null\r\n }\r\n\r\n return background\r\n }\r\n\r\n // get data inside component\r\n function getComponentData(id) {\r\n // Combine scenes and content into a single array\r\n let arrays = [...scenes, ...content];\r\n \r\n // If no item is found, it returns `null`.\r\n let result = arrays.find(item => item.id === id);\r\n return result !== undefined ? result : null;\r\n }\r\n\r\n // Get components for scene\r\n function getComponentsForScene(componentData) {\r\n \r\n let components =\r\n // Check if componentData is defined and not an empty object\r\n (componentData &&\r\n // Check if componentData has a data property\r\n componentData.data &&\r\n // Check if the data property has an array of components\r\n\r\n // If all the above conditions are true, map over the array of components and return a new array with the desired properties\r\n Array.isArray(componentData.data.components)) ?\r\n componentData.data.components.map(c => ({\r\n type: c.nsAlias,\r\n properties: {\r\n ...c\r\n }\r\n }))\r\n // If any of the conditions fail, set components to an empty array\r\n : [];\r\n\r\n \r\n return components;\r\n }\r\n\r\n // Fomat Content Components \r\n function formatContent(content) {\r\n content.title = content.name;\r\n content.slug = Utils.sanitizeString(content.name);\r\n return content;\r\n }\r\n}","import config from \"@/config\";\r\n\r\n// temp variable to hold promise data\r\nlet data = false;\r\n\r\n// fetch method to get manifest data\r\nexport default function MakeLoader({DataDecorator = false}) {\r\n return Object.freeze({\r\n fetchData,\r\n get data() {\r\n return data;\r\n }\r\n })\r\n\r\n async function fetchData() {\r\n var path = config.manifest.replace(/@lang/g, getLanguage());\r\n var globalFetchOptions = {\r\n mode: \"cors\",\r\n headers: {\r\n \"Accept-language\": 'en'\r\n }\r\n }\r\n var localFetchOptions = {\r\n cache: \"no-store\"\r\n }\r\n\r\n var fetchOptions = Object.assign({}, localFetchOptions, globalFetchOptions);\r\n return new Promise((resolve, reject) => {\r\n fetch(path, fetchOptions).then(o => o.json())\r\n .then(o => {\r\n data = DataDecorator ? DataDecorator(o) : o;\r\n console.log(\"Fetched manifest successfully\")\r\n resolve();\r\n })\r\n .catch(e => {\r\n console.log(e)\r\n reject(e)\r\n })\r\n })\r\n }\r\n\r\n function getLanguage() { \r\n if(config.includeLanguageCodeInUrl){\r\n app.api.LocalDataStore.set(\"lang\", getLanguageCodeFromURL())\r\n }\r\n\r\n let language = app.api.LocalDataStore.get(\"lang\")\r\n if(!language) {\r\n language = config.defaultLanguage;\r\n }\r\n\r\n return language\r\n }\r\n\r\n function getLanguageCodeFromURL() {\r\n const pathArray = window.location.hash.split('/');\r\n if (pathArray.length > 1 && pathArray[1] !== \"\") {\r\n const potentialLangCode = pathArray[1];\r\n // Validate the potentialLangCode if necessary, e.g., check if it matches a known language code pattern\r\n return potentialLangCode;\r\n }\r\n\r\n // Return the default/saved languageCode if non is present in the URL\r\n return app.api.LocalDataStore.get(\"lang\");\r\n }\r\n}","export default function Preloader(app) {\r\n let backgrounds = new Set();\r\n let delayedBackgrounds = new Set();\r\n let necessaryAssets = [];\r\n let backgroundAssets = [];\r\n \r\n return Object.freeze({\r\n preLoadBackgrounds,\r\n preloadAssets\r\n })\r\n\r\n\r\n async function preLoadBackgrounds() {\r\n // Run preloader for all scene backgrounds\r\n getBackgroundAssets();\r\n\r\n await preloadBackgroundSrc();\r\n console.log(\"Preload necessary background assets for\\n => \", backgrounds)\r\n\r\n preloadBackgroundAssets(delayedBackgrounds)\r\n console.log(\"Starting preload for rest of background assets \\n => \", delayedBackgrounds)\r\n return Promise.resolve();\r\n }\r\n\r\n function getBackgroundAssets() {\r\n // find all assets in scene backgrounds\r\n // BOTH images and videos.\r\n let pagesToPreload = [];\r\n let pagesToPreloadBackground = [];\r\n let allPages = app.api.PageManager.getAllPages().filter(page => page.background !== null);\r\n let currentRoute = app.api.PageManager.getCurrentRoute();\r\n let currentPage = allPages.find(page => page.route === currentRoute);\r\n \r\n // Fallback if no currentPage because currentRoute does not exist.\r\n if (!currentPage)\r\n currentPage = app.api.PageManager.getRootPage();\r\n\r\n // Current Page\r\n pagesToPreload.push(currentPage)\r\n\r\n // Parent Page\r\n if(currentPage.parent)\r\n pagesToPreload.push(allPages.find(page => page.slug === currentPage.parent));\r\n \r\n // Children Pages\r\n currentPage.children.filter(child => child.background !== null).forEach(page => pagesToPreload.push(page))\r\n\r\n // All other pages for background preload\r\n allPages.forEach(page => {\r\n if (!pagesToPreload.includes(page) && page !== currentPage && page.parent !== currentPage.slug && !currentPage.children.includes(page))\r\n pagesToPreloadBackground.push(page);\r\n });\r\n \r\n pagesToPreload.forEach(bg => {\r\n if (!bg || !bg.background)\r\n return\r\n\r\n backgrounds.add(findSrc(Object.entries(bg.background))) \r\n });\r\n\r\n pagesToPreloadBackground.forEach(bg => {\r\n if (!bg || !bg.background)\r\n return\r\n\r\n delayedBackgrounds.add(findSrc(Object.entries(bg.background))) \r\n });\r\n }\r\n\r\n\r\n function findSrc(arr) {\r\n // loop through each element of the array\r\n for (const el of arr) {\r\n // if the current element is an array\r\n if (Array.isArray(el)) {\r\n // recursively call the findSrc function with the current element as argument\r\n const result = findSrc(el);\r\n // if the result is not null, return it\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n\r\n // if the current element is an object with a src property\r\n else if (el && typeof el === 'object' && 'src' in el) {\r\n // return the value of the src property\r\n return el.src;\r\n }\r\n }\r\n // return null if no src property is found\r\n return null;\r\n }\r\n\r\n async function preloadBackgroundSrc() {\r\n const promises = Array.from(backgrounds).map((src) => {\r\n let fileType = app.api.Utils.getMediaType(src);\r\n \r\n if (fileType === 'video') {\r\n return app.api.Utils.preloadVideo(src);\r\n } else if (fileType === 'image') {\r\n app.api.Utils.preloadImage(src);\r\n return Promise.resolve();\r\n }\r\n });\r\n \r\n await Promise.all(promises);\r\n }\r\n \r\n \r\n async function preloadAssets() {\r\n if(!app.api.PageManager.getCustomComponentFromType(\"assetPreloader\")) {\r\n console.log(\"No custom assets for preload\")\r\n return Promise.resolve();\r\n }\r\n \r\n // preload background assets async with no callback (assets not necessary for initial load)\r\n let tempBackgroundAssets = app.api.PageManager.getCustomComponentFromType(\"assetPreloader\").data.backgroundAssets;\r\n tempBackgroundAssets.forEach(asset => {\r\n backgroundAssets.push(findSrc(Object.entries(asset)))\r\n });\r\n preloadBackgroundAssets(backgroundAssets)\r\n \r\n // preload background assets async with callback (assets necessary for initial load)\r\n let tempNecessaryAssets = app.api.PageManager.getCustomComponentFromType(\"assetPreloader\").data.necessaryAssets;\r\n tempNecessaryAssets.forEach(asset => {\r\n necessaryAssets.push(findSrc(Object.entries(asset)))\r\n });\r\n await preloadNecessaryAssets(necessaryAssets)\r\n \r\n return Promise.resolve();\r\n }\r\n \r\n \r\n async function preloadNecessaryAssets(arr) {\r\n const promises = arr.map((src) => {\r\n let fileType = app.api.Utils.getMediaType(src);\r\n \r\n if (fileType === 'video') {\r\n return app.api.Utils.preloadVideo(src);\r\n } else if (fileType === 'image') {\r\n app.api.Utils.preloadImage(src);\r\n return Promise.resolve();\r\n } else if (fileType === 'audio') {\r\n app.api.Utils.preloadAudio(src);\r\n }\r\n });\r\n\r\n await Promise.all(promises);\r\n }\r\n\r\n\r\n async function preloadBackgroundAssets(arr) {\r\n arr.forEach((src) => {\r\n let fileType = app.api.Utils.getMediaType(src);\r\n \r\n if (fileType === 'video') {\r\n return app.api.Utils.preloadVideo(src);\r\n } else if (fileType === 'image') {\r\n app.api.Utils.preloadImage(src);\r\n return Promise.resolve();\r\n } else if (fileType === 'audio') {\r\n app.api.Utils.preloadAudio(src);\r\n }\r\n });\r\n }\r\n}","import config from \"@/config\"\r\n\r\nexport default class LocalDataStore {\r\n constructor(app) {\r\n this.app = app;\r\n\r\n this.data = this.initializeStorage()\r\n }\r\n\r\n initializeStorage() {\r\n // If the key for the app isn't in localStorage, create an object with a language key and set it to the app's language\r\n if (!localStorage.getItem(config.name)) {\r\n let initialData = { lang: config.defaultLanguage }\r\n localStorage.setItem(config.name, JSON.stringify(initialData))\r\n return initialData\r\n }\r\n // Otherwise, get the data from localStorage\r\n return JSON.parse(localStorage.getItem(config.name));\r\n }\r\n\r\n set(key, keyVal) {\r\n // Set the value of the given key in the data object to the given value, save the updated data to localStorage, and return the new value\r\n this.data[key] = keyVal\r\n this.save()\r\n return this.data[key]\r\n }\r\n\r\n get(key) {\r\n // If the key exists in localStorage, return its value. Otherwise, log an error and return false.\r\n if (this.has(key))\r\n return JSON.parse(localStorage.getItem(config.name))[key];\r\n console.log(`The specific key: \"${key}\" was not found in the local storage`) \r\n return false;\r\n }\r\n\r\n has(key) {\r\n // Return true if the given key exists in localStorage\r\n var o = JSON.parse(localStorage.getItem(config.name)) || {};\r\n return (key in o);\r\n }\r\n\r\n remove(key, prop) {\r\n // If the key exists in the data object, remove it (or a property of it), save the updated data to localStorage, and return true.\r\n if (this.has(key)) {\r\n if (prop && prop in this.data[key]) {\r\n delete this.data[key][prop]\r\n this.save({ key: `${key}.${prop}`, action: 'remove' })\r\n } else {\r\n delete this.data[key]\r\n this.save({ key, action: 'remove' })\r\n }\r\n return true;\r\n }\r\n \r\n return false\r\n }\r\n\r\n list() {\r\n // Return an array of all the keys in the data object.\r\n return Object.keys(this.data);\r\n }\r\n\r\n save() {\r\n // Save the current state of the data object in the localStorage.\r\n localStorage.setItem(config.name, JSON.stringify(this.data));\r\n }\r\n}","export default class PageManager {\r\n constructor(app) {\r\n this.app = app;\r\n }\r\n\r\n /* --------------------------------- ROUTES --------------------------------- */\r\n\r\n // Return current route as a string\r\n getCurrentRoute() {\r\n return window.app.vm.$router.currentRoute._value.path;\r\n }\r\n\r\n // Return entire currentRoute object\r\n getCurrentRouteObject() {\r\n return window.app.vm.$router.currentRoute._value;\r\n }\r\n\r\n // Navigate to a specific route using the Vue Router\r\n navigateToRoute(route) {\r\n return window.app.vm.$router.push(route);\r\n }\r\n\r\n // SILENTLY navigate to a specific route using the Vue Router\r\n navigateToRouteSilent(route) {\r\n return window.app.vm.$router.replace(route);\r\n }\r\n\r\n // Return route from specific page id\r\n getRouteFromID(id) {\r\n return this.getAllPages().find(page => page.data.id === id).route;\r\n }\r\n\r\n // Compose internal route for supplied Scene ID and Content ID\r\n // (Compose a route for any content on any scene if you supply a sceneID and/or contentID)\r\n getRouteFromIDs(sceneID, contentID) {\r\n let sceneRoute = \"\";\r\n let contentSlug = \"\";\r\n\r\n if (sceneID)\r\n sceneRoute = this.getRouteFromID(sceneID);\r\n\r\n if (contentID)\r\n contentSlug = \":\" + this.getContentComponentFromID(contentID).slug;\r\n\r\n return `${sceneRoute !== \"\" ? sceneRoute : this.getCurrentRoute()}${contentSlug}`;\r\n }\r\n\r\n // Return route used in hotspots that lead to scenes using the manifest ID\r\n getHotspotSceneRoute(pageID) {\r\n return this.getAllPages().find(page => page.id === pageID).route;\r\n }\r\n\r\n // Navigate to specific ID\r\n navigateToID(id) {\r\n let route = this.getRouteFromID(id);\r\n return this.navigateToRoute(route);\r\n }\r\n\r\n // Navigate one step back using the Vue Router\r\n navigateBack() {\r\n window.app.vm.$router.go(-1);\r\n }\r\n\r\n // Navigate to parent scene\r\n navigateToParentScene() {\r\n let newRoute = this.getCurrentRoute().split(\"/\").slice(0, -1).join(\"/\");\r\n if (newRoute === \"\") {\r\n return;\r\n }\r\n this.navigateToRoute(newRoute);\r\n }\r\n\r\n /* --------------------------------- QUERYSTRINGS --------------------------------- */\r\n \r\n\r\n // Return current route WITH querystring\r\n getCurrentRouteWithQueryString() {\r\n const route = this.getCurrentRouteObject();\r\n // Convert the query object to a query string\r\n const queryString = new URLSearchParams(route.query).toString();\r\n\r\n // Return the full route path including the query string, if any\r\n return `${route.path}${queryString ? '?' + queryString : ''}`;\r\n }\r\n\r\n // Add a specific query parameter with a value to the current route\r\n addQueryParameter(param, value, persistent = false) {\r\n const currentRoute = this.getCurrentRouteObject();\r\n const { path, query } = currentRoute;\r\n\r\n // Create a new query object including the specified parameter and its value\r\n const newQuery = { ...query, [param]: value };\r\n\r\n const newRoute = {\r\n path: path,\r\n query: newQuery\r\n };\r\n\r\n // Manipulate query parameter without invoking the route history\r\n if (persistent) {\r\n this.navigateToRouteSilent(newRoute);\r\n } else {\r\n this.navigateToRoute(newRoute);\r\n }\r\n }\r\n\r\n // Remove a specific query parameter from the current route\r\n removeQueryParameter(param, silent = false) {\r\n const currentRoute = window.app.vm.$router.currentRoute._value;\r\n const { path, query } = currentRoute;\r\n\r\n // Check if the query parameter exists in the current route\r\n if (query.hasOwnProperty(param)) {\r\n // Create a new query object excluding the specified parameter\r\n const newQuery = { ...query };\r\n delete newQuery[param];\r\n \r\n const newRoute = {\r\n path: path,\r\n query: newQuery\r\n };\r\n \r\n // Manipulate query parameter without invoking the route history\r\n if (silent) {\r\n this.navigateToRouteSilent(newRoute);\r\n } else {\r\n this.navigateToRoute(newRoute);\r\n }\r\n }\r\n }\r\n\r\n /* --------------------------------- PAGES --------------------------------- */\r\n\r\n\r\n // Get Page Object from route\r\n getPage(route) {\r\n let _route = route[0] === '/' ? route.substr(1) : route;\r\n let fragments = route.replace(/:.*/, '').split('/').slice(-2);\r\n let result = {};\r\n\r\n if (fragments[0] === '') {\r\n result = this.getAllPages().find(page => page.slug === _route);\r\n } else {\r\n result = this.getAllPages().find(p => {\r\n return p.route == route.split(':')[0];\r\n });\r\n }\r\n\r\n return result ? result : this.getRootPage();\r\n }\r\n\r\n // Check if Page exists from route\r\n pageExists(route) {\r\n let _route = route[0] === '/' ? route.substr(1) : route(route);\r\n _route = _route.split(\":\")[0];\r\n let fragments = _route.split('/').slice(-2);\r\n\r\n if (fragments.length === 1 && fragments[0] !== '') {\r\n return _route === fragments[0];\r\n } else {\r\n let result = this.getAllPages().find(p => {\r\n return p.route == route.split(':')[0];\r\n });\r\n return !!result;\r\n }\r\n }\r\n\r\n // Get all pages\r\n getAllPages() {\r\n return this.app.manifest.data.pages;\r\n }\r\n \r\n // Get all scenes\r\n getAllScenes() {\r\n return this.getAllPages().filter(scene => scene.type === 'scene');\r\n }\r\n\r\n // Get Page data from ID\r\n getPageFromID(id) {\r\n return this.getAllPages().find(page => page.data.id === id);\r\n }\r\n\r\n // return the Home/Root Page\r\n getRootPage() {\r\n // HomePage is first page found without a parent\r\n // This means the first object in the \"pages\" array ie. getAllPages()[0].\r\n return this.getAllPages().find(p => p.parent === null);\r\n }\r\n\r\n // Get method to return bool == true if on Home/Root Page\r\n onHomePage() {\r\n let route = this.getCurrentRoute();\r\n route = route.split(':')[0];\r\n return this.getRootPage().route === route;\r\n }\r\n\r\n // Function call for returning to Home Page\r\n navigateToHomePage() {\r\n // check if a default scene is set\r\n if (this.app.manifest.data.metadata.defaultScene) {\r\n return this.navigateToRoute(this.getRouteFromID(this.app.manifest.data.metadata.defaultScene));\r\n } else {\r\n return this.navigateToRoute(`/${this.getRootPage().slug}`);\r\n }\r\n }\r\n\r\n\r\n /* --------------------------------- CONTENT COMPONENTS --------------------------------- */\r\n\r\n\r\n getContentComponents() {\r\n return this.app.manifest.data.content;\r\n }\r\n\r\n // Open content from explicit ID (Base Content)\r\n openContentComponentFromID(id, singleton) {\r\n // Singleton is a bool, when true, closes all other content components instead of opening it on top.\r\n let route = this.getCurrentRoute();\r\n let contentSlug = \"\";\r\n \r\n // Check to see if content exists in manifest before going to manifest.data.content\r\n if (this.getContentComponentExistsInManifest(id)) {\r\n contentSlug = this.getContentComponentsInManifest().find(c => c.data.id === id).slug;\r\n } else {\r\n contentSlug = this.getContentComponentFromID(id).slug;\r\n }\r\n\r\n // Check to see if this component should close all other content components\r\n if (singleton === true)\r\n route = route.split(':')[0];\r\n \r\n // Check to see if Content Component is already open\r\n if (!route.includes(contentSlug))\r\n this.navigateToRoute(route + \":\" + contentSlug);\r\n }\r\n \r\n // Look through getAllPages() and only return Content Components\r\n getContentComponentsInManifest() {\r\n return this.getAllPages().filter(page => page.type == 'content');\r\n }\r\n \r\n // Get if Content Component exists in getAllPages() from given slug\r\n getContentComponentExistsInManifest(id) {\r\n return this.getContentComponentsInManifest().some(component => component.data.id === id);\r\n }\r\n\r\n // Get Content Component data from given slug\r\n getContentComponent(slug) {\r\n return this.getContentComponents().find(component => component.slug === slug);\r\n }\r\n\r\n // Get Content Component data from given content ID\r\n getContentComponentFromID(id) {\r\n return this.getContentComponents().find(component => component.id === id);\r\n }\r\n \r\n // Get all Content Components from a specific type\r\n getContentComponentsFromType(type) {\r\n return this.getContentComponents().filter(component => component.type === type)\r\n }\r\n\r\n // Get Content Component data from given slug specifically when referenced from manifest\r\n getContentComponentInManifest(slug) {\r\n return this.getContentComponentsInManifest().find(component => component.slug === slug);\r\n }\r\n\r\n // Return if any content component is open by looking at the route.\r\n getIsContentComponentOpen() {\r\n return this.getCurrentRoute().includes(\":\");\r\n }\r\n\r\n // Return currently open content componets by looking at the route\r\n getOpenContentComponents() {\r\n let contentComponents = [];\r\n\r\n if (!this.getIsContentComponentOpen())\r\n return contentComponents;\r\n\r\n let route = this.getCurrentRoute().split(':');\r\n route.shift(0);\r\n\r\n let i = 0;\r\n while (i < route.length) {\r\n let component = this.getAllPages().find(page => page.slug == route[i]);\r\n if (component)\r\n contentComponents.push(component.data);\r\n i++;\r\n }\r\n\r\n if (route.length > contentComponents.length) {\r\n i = 0;\r\n while (i < route.length) {\r\n let component = this.getContentComponent(route[i]);\r\n if (component && !contentComponents.includes(component))\r\n contentComponents.push(component);\r\n i++;\r\n }\r\n }\r\n\r\n return contentComponents;\r\n }\r\n\r\n // Close all currently open Content Components\r\n closeAllContentComponents() {\r\n let route = this.getCurrentRoute().split(':')[0];\r\n this.navigateToRoute(route);\r\n }\r\n \r\n // Close all currently open Content Components\r\n closeContentComponent(slug) {\r\n let regex = new RegExp(`:${slug}\\\\b`, 'g');\r\n let route = this.getCurrentRoute().replace(regex, '');\r\n this.navigateToRoute(route);\r\n }\r\n\r\n /* --------------------------------- CUSTOM CONTENT --------------------------------- */\r\n\r\n\r\n // Get all Custom Data\r\n getCustomData() {\r\n return this.app.manifest.data.custom;\r\n }\r\n\r\n // Return data for specific type of custom data\r\n getCustomComponentFromType(type) {\r\n return this.getCustomData().find(c => c.type === type);\r\n }\r\n\r\n\r\n /* --------------------------------- HOTSPOTS --------------------------------- */\r\n\r\n\r\n // return data from a specific hotspot's id (not its scene or compoenent reference)\r\n getHotspotDataFromContentID(id) {\r\n return this.getAllPages().find(c => c.id == id);\r\n }\r\n \r\n // return data from a specific component's id\r\n getComponentDataFromHotspotID(id) {\r\n return this.getContentComponentsInManifest().find(c => c.id == id).data;\r\n }\r\n\r\n // return data from a specific id, the slug of the corresponding component\r\n getComponentSlugFromHotspotID(id) {\r\n return this.getContentComponentsInManifest().find(c => c.id == id).slug;\r\n }\r\n\r\n\r\n /* --------------------------------- BREADCRUMBS --------------------------------- */\r\n\r\n\r\n // Get all Breadcrumbs by evaluating the CurrentRoute() and using the Title and Slug\r\n getBreadcrumbs() {\r\n let breadcrumbs = [];\r\n let manifestPages = this.getAllPages();\r\n let tempRoute = this.getCurrentRoute().split(/[\\/:]/).filter(el => el != '' || null);\r\n\r\n breadcrumbs = tempRoute.map(breadcrumb => {\r\n let page = manifestPages.find(page => page.slug === breadcrumb);\r\n if (page !== undefined) {\r\n return {\r\n title: page.title,\r\n slug: breadcrumb,\r\n route: page.route,\r\n type: page.type\r\n };\r\n } else {\r\n return;\r\n }\r\n });\r\n\r\n return breadcrumbs;\r\n }\r\n}","import config from \"@/config\";\r\nimport store from '@/store/store'\r\n\r\nexport default class Utils {\r\n constructor(app) {\r\n this.app = app;\r\n }\r\n\r\n // Resolve path to media asset\r\n getMediaPath(url = '') {\r\n const mediaFolder = config.mediaFolder;\r\n\r\n if (/http/.test(mediaFolder)) {\r\n const [protocol, host] = config.mediaFolder.split('//');\r\n return `${protocol}//${host}/${url.replace(/(.*)\\/media\\//g, '').replace(/\\/{1,}/g, '/')}`;\r\n } else {\r\n return `${mediaFolder}/${url.replace(/(.*)\\/media\\//g, '').replace(/\\/{1,}/g, '/')}`;\r\n }\r\n }\r\n\r\n // Determine the type of media file\r\n getMediaType(src) {\r\n // Regular expressions to match image, video, and audio file extensions\r\n const imageExtensions = /\\.(jpe?g|png|gif|bmp|webp|svg)$/i;\r\n const videoExtensions = /\\.(mp4|m4v|ogg|webm|mkv|flv|avi|wmv|mov)$/i;\r\n const audioExtensions = /\\.(mp3|wav|ogg|aac)$/i;\r\n\r\n // Determine the file type based on the src string\r\n let fileType = 'unknown';\r\n if (src.match(imageExtensions)) {\r\n fileType = 'image';\r\n } else if (src.match(videoExtensions)) {\r\n fileType = 'video';\r\n } else if (src.match(audioExtensions)) {\r\n fileType = 'audio';\r\n }\r\n\r\n return fileType;\r\n }\r\n\r\n // Sanitize slugs for a clean URL\r\n sanitizeString(slug = '') {\r\n var s = slug\r\n .toLowerCase()\r\n .replace(/[^\\w ]+/g, '')\r\n .replace(/ +/g, '-')\r\n\r\n return encodeURI(s).replace('%E2%80%93', '-')\r\n }\r\n\r\n // Set language, save it in localstorage and reload the app\r\n setLanguage(languageCode = 'en') {\r\n this.app.api.LocalDataStore.set(\"lang\", languageCode);\r\n\r\n // Inject the language code directly into the current url\r\n if(config.includeLanguageCodeInUrl) {\r\n let hasWebHashHistory = window.location.href.includes(\"/#/\") ? \"/#/\" : \"\";\r\n let outputfolder = window.location.href.split('/#/')[0]\r\n let newURL = `${outputfolder}${hasWebHashHistory}${languageCode}${app.api.PageManager.getCurrentRoute().slice(3)}`;\r\n history.pushState({}, null, newURL);\r\n }\r\n\r\n location.reload();\r\n }\r\n\r\n // Get the currently used language from local storage\r\n getCurrentLanguage() {\r\n return this.app.api.LocalDataStore.get(\"lang\");\r\n }\r\n\r\n /* FULLSCREEN */\r\n fullScreenEnable() {\r\n const element = document.body;\r\n\r\n if (element.requestFullscreen) {\r\n element.requestFullscreen();\r\n } else if (element.webkitRequestFullscreen) {\r\n element.webkitRequestFullscreen();\r\n } else if (element.mozRequestFullScreen) {\r\n element.mozRequestFullScreen();\r\n } else if (element.msRequestFullscreen) {\r\n element.msRequestFullscreen();\r\n }\r\n }\r\n\r\n fullScreenDisable() {\r\n if (document.exitFullscreen) {\r\n document.exitFullscreen();\r\n } else if (document.webkitExitFullscreen) {\r\n document.webkitExitFullscreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.msExitFullscreen) {\r\n document.msExitFullscreen();\r\n }\r\n }\r\n\r\n isFullscreen() {\r\n return window.innerHeight == screen.height;\r\n }\r\n\r\n toggleFullscreen() {\r\n if (this.isFullscreen()) {\r\n this.fullScreenDisable();\r\n store.commit('toggleFullscreen', false);\r\n } else {\r\n this.fullScreenEnable();\r\n store.commit('toggleFullscreen', true);\r\n }\r\n }\r\n\r\n\r\n getBrowser() {\r\n // Get the user agent string\r\n const userAgent = navigator.userAgent;\r\n\r\n // Check for Microsoft Edge\r\n if (userAgent.indexOf(\"Edge\") > -1) {\r\n return \"Microsoft Edge\";\r\n }\r\n\r\n // Check for Opera\r\n if (userAgent.indexOf(\"Opera\") > -1 || userAgent.indexOf(\"OPR\") > -1) {\r\n return \"Opera\";\r\n }\r\n\r\n // Check for Chrome\r\n if (userAgent.indexOf(\"Chrome\") > -1) {\r\n return \"Google Chrome\";\r\n }\r\n\r\n // Check for Safari\r\n if (userAgent.indexOf(\"Safari\") > -1) {\r\n return \"Safari\";\r\n }\r\n\r\n // Check for Firefox\r\n if (userAgent.indexOf(\"Firefox\") > -1) {\r\n return \"Mozilla Firefox\";\r\n }\r\n\r\n // Default to other\r\n return \"Unknown\";\r\n }\r\n\r\n // Preload video\r\n async preloadVideo(src) {\r\n let realSrc = this.getMediaPath(src);\r\n\r\n\r\n // Fetch the video using the specified src\r\n const response = await fetch(realSrc);\r\n \r\n // Check if the fetch was successful\r\n if (!response.ok) {\r\n throw new Error(`Error preloading video: ${response.statusText}`);\r\n }\r\n\r\n // Check the content type of the response\r\n const contentType = response.headers.get('content-type');\r\n if (!contentType.includes('video/mp4') && getBrowser() == \"Safari\") {\r\n console.log(`Invalid video content type or format for current browser Safari. (content type: ${contentType})`, \"\\n src: \" + src);\r\n return Promise.resolve()\r\n }\r\n\r\n // Get the video data from the response\r\n const videoBlob = await response.blob();\r\n\r\n // Create an object URL from the video data\r\n const videoUrl = URL.createObjectURL(videoBlob);\r\n\r\n // Create a new video element\r\n const video = document.createElement('video');\r\n video.preload = 'auto';\r\n video.setAttribute('playsinline', '');\r\n\r\n // Set the src of the video to the object URL\r\n video.src = videoUrl;\r\n video.load();\r\n\r\n // Return a promise that resolves once the video has finished preloading\r\n return new Promise((resolve, reject) => {\r\n video.addEventListener('canplay', () => {\r\n resolve();\r\n });\r\n video.addEventListener('loadedmetadata', () => {\r\n resolve();\r\n });\r\n video.addEventListener('error', () => {\r\n console.log(\"Video preload failed! skipping preload for => \\n\", video)\r\n resolve();\r\n });\r\n });\r\n }\r\n\r\n async preloadImage(src) {\r\n // create Image element and append it to the dom for preload\r\n const image = new Image();\r\n image.src = this.getMediaPath(src);\r\n image.onerror = function (error) {\r\n console.error(`Error preloading image: ${error}`);\r\n };\r\n }\r\n\r\n // Preload audio\r\n async preloadAudio(src) {\r\n let realSrc = this.getMediaPath(src);\r\n\r\n // Fetch the audio using the specified src\r\n const response = await fetch(realSrc);\r\n\r\n // Check if the fetch was successful\r\n if (!response.ok) {\r\n throw new Error(`Error preloading audio: ${response.statusText}`);\r\n }\r\n\r\n // Get the audio data from the response\r\n const audioBlob = await response.blob();\r\n\r\n // Create an object URL from the audio data\r\n const audioUrl = URL.createObjectURL(audioBlob);\r\n\r\n // Create a new audio element\r\n const audio = new Audio();\r\n\r\n // Set the src of the audio to the object URL\r\n audio.src = audioUrl;\r\n\r\n // Return a promise that resolves once the audio has finished preloading\r\n return new Promise((resolve, reject) => {\r\n audio.addEventListener('canplay', () => {\r\n resolve();\r\n });\r\n audio.addEventListener('error', () => {\r\n reject(new Error('Audio preload failed.'));\r\n });\r\n audio.load();\r\n });\r\n }\r\n\r\n // Get array of video transitions stored in the vuex store\r\n getVideoTransitions() {\r\n return store.getters.getVideoTransitions;\r\n }\r\n\r\n // Check if a video transition will be played between two routes\r\n checkIfVideoTransition(from, to) {\r\n let transitions = this.getVideoTransitions();\r\n let hasVideoTransition = false;\r\n\r\n for (let i = 0; i < transitions.length; i++) {\r\n if (transitions[i].from == from && transitions[i].to == to) {\r\n hasVideoTransition = true\r\n }\r\n }\r\n\r\n return hasVideoTransition;\r\n }\r\n}","export default class Tracking {\r\n constructor(app) {\r\n this.app = app;\r\n }\r\n\r\n\r\n // Navigation with hooks in the $Router\r\n navigation(action, property, payload) {\r\n // expected format:\r\n // {Action: \"click\", Property: \"https://www.site.dk/url\", Payload: \"Any string-data associated with the action\"}\r\n\r\n let trackingObject = {\r\n Action: action,\r\n Property: property,\r\n ...(payload !== undefined && { Payload: payload })\r\n }\r\n \r\n this.CreateLog(trackingObject)\r\n }\r\n \r\n // Explicitly called events with js (buttonclicks etc.)\r\n event(action, property, payload) {\r\n let trackingObject = {\r\n Action: action,\r\n Property: property,\r\n ...(payload !== undefined && { Payload: payload })\r\n }\r\n \r\n this.CreateLog(trackingObject)\r\n }\r\n \r\n CreateLog(data) {\r\n console.log(`Tracking => \\nAction: ${data.Action}\\nProperty: ${data.Property}`);\r\n }\r\n}","import { Howl } from 'howler';\r\nimport store from '../../store/store.js';\r\n\r\nexport default class AudioManager {\r\n constructor(app) {\r\n this.app = app;\r\n \r\n // Public variables (use getters)\r\n this.audioInstances = {};\r\n this.playlist = [];\r\n this.volume = 0.2;\r\n\r\n // Local variables\r\n this.scenes = app.api.PageManager.getAllScenes();\r\n this.tempVolume = null;\r\n this.currentlyPlayingAudioId = 0;\r\n this.currentlyPlayingindex = null;\r\n this.idCounter = 0;\r\n\r\n // initial check on first intializing the app\r\n this.checkIfAudio(app.api.PageManager.getCurrentRoute());\r\n\r\n // listener for other audio sources to mute AudioManager temporarily\r\n this.otherAudioListener();\r\n }\r\n\r\n\r\n /* -------------------- Getters for outside components -------------------- */\r\n \r\n getCurrentAudioInstances() {\r\n return this.audioInstances\r\n }\r\n \r\n getPlaylist() {\r\n return this.playlist\r\n }\r\n \r\n getVolume() {\r\n return this.volume\r\n }\r\n\r\n \r\n /* ---------------- Functions for use in external components ---------------- */\r\n\r\n // Next audio track in playlist\r\n next() {\r\n console.log(`Audio => \\Next`);\r\n this.clearAllAudioInstances();\r\n \r\n if(this.playlist[this.currentlyPlayingindex + 1]) {\r\n this.startAudio(this.currentlyPlayingindex + 1);\r\n } else if (this.playlist.length > 0) {\r\n this.startAudio(0)\r\n } else {\r\n console.log(`Audio => \\No audio in playlist`);\r\n }\r\n }\r\n \r\n // Previous audio track in playlist\r\n previous() {\r\n console.log(`Audio => \\Previous`);\r\n this.clearAllAudioInstances();\r\n \r\n if(this.playlist[this.currentlyPlayingindex - 1]) {\r\n this.startAudio(this.currentlyPlayingindex - 1);\r\n } else if (this.playlist.length > 0) {\r\n this.startAudio(this.playlist.length - 1);\r\n } else {\r\n console.log(`Audio => \\No audio in playlist`);\r\n }\r\n }\r\n\r\n // Reference an id in audioManager to play a specific audio clip once\r\n playSpecificAudio(id) {\r\n if (this.app.api.PageManager.getCustomComponentFromType('audioManager')) {\r\n var audio = this.app.api.PageManager.getCustomComponentFromType('audioManager').data.miscAudio.find(audio => audio.uniqueID == id);\r\n if (!audio) {\r\n console.log(`Audio => Tried to play audio: '${id}' \\nCould not find uniqueID:'${id}' in audioManager.miscAudio`);\r\n }\r\n\r\n this.playAudioFromSrc(audio.audio.src);\r\n } else {\r\n console.log(`Audio => Tried to play audio: '${id}' \\nNo audioManager in Global Data`);\r\n }\r\n }\r\n\r\n // Use Howler to play a specific audio src once\r\n playAudioFromSrc(src) {\r\n const audioId = 'audio_' + src;\r\n\r\n // Create and play a Howl instance (The actual audio object that will be played)\r\n const player = new Howl({\r\n src: this.app.api.Utils.getMediaPath(src),\r\n volume: this.volume,\r\n onend: () => {\r\n // Clear audio instance when finished\r\n this.clearAudioInstance(audioId);\r\n }\r\n });\r\n\r\n console.log(`Audio => Playing audio from src: '${src}'`);\r\n \r\n // Play the Howl audio\r\n player.play();\r\n }\r\n \r\n \r\n /* ------------------------ Internal AudioManager -------------------------- */\r\n\r\n startAudio(index) {\r\n // Clear audio from audioInstances not in the playlist\r\n this.clearAudioNotInPlaylist();\r\n\r\n // Check if audio to be played is already playing\r\n if (this.checkIfRelevantAudioPlaying())\r\n return;\r\n\r\n \r\n // Assign a unique audio ID\r\n this.currentlyPlayingAudioId = this.idCounter;\r\n const audioId = 'audio_' + this.currentlyPlayingAudioId;\r\n this.currentlyPlayingindex = index;\r\n\r\n console.log(`Audio => Playing: ${this.playlist[index].title}`);\r\n \r\n // Create and play a Howl instance (The actual audio object that will be played)\r\n const player = new Howl({\r\n src: this.playlist[this.currentlyPlayingindex].src,\r\n volume: this.volume,\r\n onend: () => {\r\n // Clear audio instance when finished\r\n this.clearAudioInstance(audioId);\r\n\r\n // Start playing the next audio in the playlist or loop back to the beginning\r\n this.next();\r\n }\r\n });\r\n\r\n // Store the Howl instance in audioInstances\r\n this.audioInstances[audioId] = player;\r\n \r\n // Increment the audio ID counter to make the stored audio instances unique.\r\n this.idCounter++;\r\n\r\n // Play the Howl audio\r\n player.play();\r\n }\r\n\r\n // Check if relevant audio is already playing\r\n // (instead of changing audio, just keep playing if it is in the playlist \r\n // to avoid starting audio over every navigation).\r\n checkIfRelevantAudioPlaying() {\r\n let playing = false;\r\n\r\n for (const audioId in this.audioInstances) {\r\n if (this.audioInstances.hasOwnProperty(audioId)) {\r\n let src = this.audioInstances[audioId]._src;\r\n\r\n if (this.playlist.find(audio => audio.src === src)) {\r\n playing = true;\r\n }\r\n }\r\n }\r\n\r\n return playing;\r\n }\r\n\r\n \r\n // Function to determine if audio should be played based on the current route\r\n checkIfAudio(route) {\r\n let scene = this.scenes.find(scene => scene.route == route.split(\":\")[0])\r\n\r\n if (!scene)\r\n return;\r\n\r\n // Scene specific audio\r\n if (scene.components.find(component => component.type === 'sceneAudio')) {\r\n this.adjustPlaylist(scene.components.find(component => component.type === \"sceneAudio\").properties.playlist);\r\n \r\n // Global fallback Audio\r\n } else if (this.app.api.PageManager.getCustomComponentFromType('audioManager')) {\r\n this.adjustPlaylist(this.app.api.PageManager.getCustomComponentFromType('audioManager').data.playlist);\r\n \r\n // Clear playlist if no audio should be played\r\n } else {\r\n this.clearPlaylist();\r\n }\r\n }\r\n\r\n\r\n // Adjust the playlist based on umbraco data from either scene backround- or global component\r\n adjustPlaylist(audioList) {\r\n this.cleanPlaylist(audioList);\r\n\r\n audioList.forEach(audio => {\r\n if (!this.playlist.find(playlistAudio => playlistAudio.src.includes(audio.audio.src)))\r\n this.addAudioToPlaylist(audio.audio);\r\n });\r\n\r\n this.shuffle(this.playlist);\r\n\r\n \r\n // Update currentlyPlayingindex to the relevant index of a shuffled playlist.\r\n let index = 0;\r\n for (const audioId in this.audioInstances) {\r\n if (this.audioInstances.hasOwnProperty(audioId)) {\r\n const audio = this.audioInstances[audioId];\r\n\r\n this.playlist.forEach((playlistAudio, i) => {\r\n if (playlistAudio.src === audio._src) {\r\n index = i;\r\n }\r\n });\r\n }\r\n }\r\n\r\n this.currentlyPlayingindex = index;\r\n \r\n // Start playing audio from the beginning of the playlist\r\n this.startAudio(index);\r\n }\r\n \r\n // Clean playlist by removing entries not in the umbraco data from either scene background- or global component\r\n cleanPlaylist(audioList) {\r\n this.playlist = this.playlist.filter(obj1 => audioList.some(obj2 => obj2.audio.src === obj1.src));\r\n }\r\n\r\n // Simple method for handling pushing audio to the playlist in the correct data format\r\n addAudioToPlaylist(audio) {\r\n // Simplify data for playlist \r\n var enrichedAudioObject = {\r\n title: audio.name ? audio.name : 'No audio title',\r\n src: this.app.api.Utils.getMediaPath(audio.src)\r\n };\r\n \r\n this.playlist.push(enrichedAudioObject);\r\n }\r\n\r\n // Shuffle playlist\r\n shuffle(array) {\r\n let currentIndex = array.length, randomIndex;\r\n\r\n // While there remain elements to shuffle.\r\n while (currentIndex > 0) {\r\n // Pick a remaining element.\r\n randomIndex = Math.floor(Math.random() * currentIndex);\r\n currentIndex--;\r\n \r\n // And swap it with the current element.\r\n [array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]];\r\n }\r\n\r\n // Return a shuffled playlist\r\n return array;\r\n }\r\n\r\n \r\n\r\n // Clear the entire playlist and all audio instances\r\n clearPlaylist() {\r\n this.playlist = [];\r\n this.clearAllAudioInstances();\r\n console.log(`Audio => Stopping all playback`);\r\n }\r\n\r\n // Clear all audio instances\r\n clearAllAudioInstances() {\r\n for (const audioId in this.audioInstances) {\r\n if (this.audioInstances.hasOwnProperty(audioId)) {\r\n const audio = this.audioInstances[audioId];\r\n this.stopAndUnloadAudio(audio);\r\n\r\n // Remove the Howl instance from the object\r\n delete this.audioInstances[audioId];\r\n }\r\n }\r\n }\r\n\r\n // Clear active audio instances that are not in the playlist\r\n clearAudioNotInPlaylist() {\r\n for (const audioId in this.audioInstances) {\r\n if (this.audioInstances.hasOwnProperty(audioId)) {\r\n const audio = this.audioInstances[audioId];\r\n\r\n if (!this.playlist.find(playlistAudio => playlistAudio.src === audio._src)) {\r\n this.stopAndUnloadAudio(audio);\r\n \r\n // Remove the Howl instance from the object\r\n delete this.audioInstances[audioId];\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Stop and unload the Howl instance\r\n stopAndUnloadAudio(audio) {\r\n audio.stop();\r\n audio.unload();\r\n }\r\n\r\n \r\n // Clear a specific audio instance by ID\r\n clearAudioInstance(id) {\r\n for (const audioId in this.audioInstances) {\r\n if (this.audioInstances.hasOwnProperty(audioId)) {\r\n if (id == audioId) {\r\n const audio = this.audioInstances[audioId];\r\n this.stopAndUnloadAudio(audio);\r\n \r\n // Remove the Howl instance from the object\r\n delete this.audioInstances[audioId];\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n /* ------------------VOLUME HANDLERS ------------------ */\r\n\r\n // Mute all audio instances\r\n mute() {\r\n // Store the old volume value\r\n this.tempVolume = this.volume;\r\n this.volume = 0;\r\n \r\n // Set volume for all active audioInstances\r\n for (const audioId in this.audioInstances) {\r\n if (this.audioInstances.hasOwnProperty(audioId)) {\r\n const audio = this.audioInstances[audioId];\r\n \r\n // Set volume to 0 for all audio instances\r\n this.fadeVolumeOut(audio);\r\n }\r\n }\r\n \r\n console.log(`Audio => Muted`);\r\n }\r\n \r\n // Unmute all audio instances\r\n unmute() {\r\n // Use the stored volume value.\r\n this.volume = this.tempVolume;\r\n \r\n // Set volume for all active audioInstances\r\n for (const audioId in this.audioInstances) {\r\n if (this.audioInstances.hasOwnProperty(audioId)) {\r\n const audio = this.audioInstances[audioId];\r\n \r\n // Set volume to the stored temporary volume variable for all audio instances\r\n this.fadeVolumeIn(audio, this.volume);\r\n }\r\n }\r\n\r\n // reset the temporary volume variable\r\n this.tempVolume = null;\r\n\r\n console.log(`Audio => Unmuted`);\r\n }\r\n\r\n // Set volume to a specific value between 0 and 1.\r\n // TODO: change volume on active audio instances\r\n setVolume(value) {\r\n this.volume = value;\r\n this.tempVolume = null;\r\n }\r\n\r\n // Fade effect for unmuting\r\n fadeVolumeIn(audio, volume) {\r\n const fadeDuration = 500;\r\n const fadeSteps = 25; // Number of steps in the fade\r\n const volumeStep = volume / fadeSteps;\r\n let currentVolume = 0;\r\n\r\n audio.volume(0); // Start with the volume at 0\r\n\r\n const fadeInterval = setInterval(() => {\r\n currentVolume += volumeStep;\r\n audio.volume(currentVolume);\r\n\r\n if (currentVolume >= volume) {\r\n audio.volume(volume); // Ensure it's exactly the original volume\r\n clearInterval(fadeInterval);\r\n }\r\n }, fadeDuration / fadeSteps);\r\n }\r\n\r\n // Fade effect for muting\r\n fadeVolumeOut(audio) {\r\n const initialVolume = audio.volume();\r\n const fadeDuration = 400;\r\n const fadeSteps = 25; // Number of steps in the fade\r\n\r\n const volumeStep = initialVolume / fadeSteps;\r\n let currentVolume = initialVolume;\r\n\r\n const fadeInterval = setInterval(() => {\r\n currentVolume -= volumeStep;\r\n audio.volume(currentVolume);\r\n\r\n if (currentVolume <= 0) {\r\n audio.volume(0); // Ensure it's exactly 0\r\n clearInterval(fadeInterval);\r\n }\r\n }, fadeDuration / fadeSteps);\r\n }\r\n\r\n\r\n /* ------------------------ OTHER ------------------------- */\r\n\r\n // listener for other audio sources to mute AudioManager temporarily\r\n otherAudioListener() {\r\n // Event listener to stop AudioManager from playing if another source of audio starts playing.\r\n window.addEventListener(\"muteAudio\", e => {\r\n store.commit(\"mute\");\r\n });\r\n\r\n // Event listener to start AudioManager playing if another source of audio stops playing.\r\n window.addEventListener(\"unmuteAudio\", e => {\r\n store.commit(\"unmute\");\r\n });\r\n }\r\n}\r\n","import LocalDataStore from './LocalDataStore';\r\nimport PageManager from './PageManager';\r\nimport Utils from './Utils';\r\nimport Tracking from './Tracking';\r\nimport AudioManager from './AudioManager';\r\n\r\n\r\n\r\nexport default function ApiManager(app) {\r\n return Object.freeze({\r\n initializePreApis,\r\n initializePostApis\r\n })\r\n\r\n\r\n // Initialize Api functions that has to be run before running the core features such as fetching manifest etc. (Some of these require functions inside the API)\r\n async function initializePreApis() {\r\n // Various other helper methods\r\n bindApiFunctions(Utils, 'Utils', app);\r\n \r\n // Local Storage \r\n bindApiFunctions(LocalDataStore, 'LocalDataStore', app);\r\n \r\n // Helper methods managing pages and router\r\n bindApiFunctions(PageManager, 'PageManager', app);\r\n\r\n \r\n return Promise.resolve()\r\n }\r\n \r\n\r\n // Initialize Api functions that DOES NOT need to be run before running the core features such as fetching manifest etc. (If api is not crucial for running the core features)\r\n async function initializePostApis() {\r\n // Tracking manager\r\n bindApiFunctions(Tracking, 'Tracking', app);\r\n\r\n // Sound manager\r\n bindApiFunctions(AudioManager, 'AudioManager', app);\r\n\r\n\r\n return Promise.resolve()\r\n }\r\n}\r\n\r\n\r\n// Function to bind methods of an API class instance to an `api` object and freeze it\r\n// ALL API NAMES MUST BE UNIQUE\r\nfunction bindApiFunctions(apiClass, apiObjectName, app) {\r\n const api = {};\r\n const apiInstance = new apiClass(app);\r\n\r\n // Bind methods to the `api` object\r\n Object.getOwnPropertyNames(apiClass.prototype).forEach(property => {\r\n if (typeof apiInstance[property] === 'function' && property !== 'constructor') {\r\n api[property] = apiInstance[property].bind(apiInstance);\r\n }\r\n });\r\n\r\n // Freeze the `api` object to prevent modifications\r\n app.api[apiObjectName] = Object.freeze(api);\r\n}","// Import global sass.\r\n// > import sub sass files inside main.scss\r\nimport './assets/sass/main.scss';\r\n\r\nimport { createApp } from 'vue';\r\nimport App from './App.vue';\r\nimport router from './router/router';\r\n\r\n//global variables\r\nimport config from './config';\r\nimport packagejson from '../package.json';\r\n\r\n//dependable functions\r\nimport ComponentRepo from './services/ComponentRepo';\r\nimport AppInitializer from './services/AppInitializer';\r\nimport DataDecorator from './services/DataDecorator';\r\nimport CreateSiteManifestLoader from './services/FetchSiteManifest';\r\nimport store from './store/store';\r\nimport Preloader from './services/Preloader';\r\nimport ApiManager from './services/api/ApiManager';\r\n\r\n\r\n// app data in global space\r\nwindow.app = {\r\n name: config.name,\r\n version: packagejson.version,\r\n manifest: false,\r\n api: {},\r\n defaultLanguage: config.defaultLanguage\r\n}\r\n\r\n// Load manifest to create pseudo pages\r\nconst manifestLoader = CreateSiteManifestLoader({\r\n DataDecorator: (manifest) => {\r\n return DataDecorator(manifest, app.api.Utils)\r\n }\r\n})\r\n\r\n\r\nAppInitializer()\r\n // ------------- Add steps here to run during load of SPA -------------- //\r\n\r\n // initialize pre runtime api\r\n .addStep({\r\n id: 'api-manager',\r\n tasks: [{\r\n id: 'initialize-pre-apis',\r\n execute: () => ApiManager(app).initializePreApis()\r\n }]\r\n })\r\n // initialize manifest fetching from endpoint\r\n .addStep({\r\n id: 'data-load',\r\n tasks: [{\r\n id: 'fetch-manifest',\r\n execute: () => manifestLoader.fetchData()\r\n }]\r\n })\r\n // preload visual assets such as images and video\r\n .addStep({\r\n id: 'preload',\r\n tasks: [{\r\n id: 'preload-backgrounds',\r\n execute: () => Preloader(app).preLoadBackgrounds()\r\n }, {\r\n id: 'preload-assets',\r\n execute: () => Preloader(app).preloadAssets()\r\n }]\r\n })\r\n // initialize post runtime api\r\n .addStep({\r\n id: 'api-manager',\r\n tasks: [{\r\n id: 'initialize-post-apis',\r\n execute: () => ApiManager(app).initializePostApis()\r\n }\r\n ]\r\n })\r\n // Start the app when above steps have been run\r\n .start(() => {\r\n // Load manifest into global object for fast and easy access\r\n app.manifest = manifestLoader;\r\n\r\n // Init app\r\n const vm = createApp(App);\r\n ComponentRepo.setup(vm)\r\n vm.use(store)\r\n vm.use(router);\r\n vm.mount('#app');\r\n })\r\n .then(() => {\r\n // Get video Transitions\r\n store.commit('storeVideoTransitions')\r\n\r\n //Check if page without content component exists or redirect to HomePage\r\n let route = window.app.vm.$route.path.split(\":\")[0];\r\n if (!app.api.PageManager.pageExists(route)) {\r\n //TODO:\r\n //Navigate til noget error 404 handling i stedet for homepage\r\n app.api.PageManager.navigateToHomePage().then(() => {\r\n store.commit('ready')\r\n })\r\n } else {\r\n store.commit('ready')\r\n }\r\n\r\n // Disable zooming on touch devices\r\n if ('ontouchstart' in window || navigator.maxTouchPoints) {\r\n document.addEventListener('touchmove', function (event) {\r\n if (event.scale !== 1) {\r\n event.preventDefault();\r\n }\r\n }, { passive: false });\r\n \r\n document.ondblclick = function(e) {\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n)","\r\n\r\n\r\n\r\n","import { render } from \"./NullComponent.vue?vue&type=template&id=13254338&scoped=true\"\nimport script from \"./NullComponent.vue?vue&type=script&lang=js\"\nexport * from \"./NullComponent.vue?vue&type=script&lang=js\"\n\nimport \"./NullComponent.vue?vue&type=style&index=0&id=13254338&lang=scss&scoped=true\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-13254338\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./backgroundMedia.vue?vue&type=template&id=ee6eab38&scoped=true\"\nimport script from \"./backgroundMedia.vue?vue&type=script&lang=js\"\nexport * from \"./backgroundMedia.vue?vue&type=script&lang=js\"\n\nimport \"./backgroundMedia.vue?vue&type=style&index=0&id=ee6eab38&lang=scss&scoped=true\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ee6eab38\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./backgroundPresenter.vue?vue&type=template&id=9c7e3db4&scoped=true\"\nimport script from \"./backgroundPresenter.vue?vue&type=script&lang=js\"\nexport * from \"./backgroundPresenter.vue?vue&type=script&lang=js\"\n\nimport \"./backgroundPresenter.vue?vue&type=style&index=0&id=9c7e3db4&lang=scss&scoped=true\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9c7e3db4\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./backgroundText.vue?vue&type=template&id=05f13e52\"\nimport script from \"./backgroundText.vue?vue&type=script&lang=js\"\nexport * from \"./backgroundText.vue?vue&type=script&lang=js\"\n\nimport \"./backgroundText.vue?vue&type=style&index=0&id=05f13e52&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","","import script from \"./sceneAudio.vue?vue&type=script&lang=js\"\nexport * from \"./sceneAudio.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./VideoPlayer.vue?vue&type=template&id=3a057a41\"\nimport script from \"./VideoPlayer.vue?vue&type=script&lang=js\"\nexport * from \"./VideoPlayer.vue?vue&type=script&lang=js\"\n\nimport \"./VideoPlayer.vue?vue&type=style&index=0&id=3a057a41&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n","import { render } from \"./articleExternalLink.vue?vue&type=template&id=5153f6e7\"\nimport script from \"./articleExternalLink.vue?vue&type=script&lang=js\"\nexport * from \"./articleExternalLink.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./articleImage.vue?vue&type=template&id=21db25a4\"\nimport script from \"./articleImage.vue?vue&type=script&lang=js\"\nexport * from \"./articleImage.vue?vue&type=script&lang=js\"\n\nimport \"./articleImage.vue?vue&type=style&index=0&id=21db25a4&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n","import { render } from \"./articleInternalLink.vue?vue&type=template&id=2fbe2fdf\"\nimport script from \"./articleInternalLink.vue?vue&type=script&lang=js\"\nexport * from \"./articleInternalLink.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./bodyText.vue?vue&type=template&id=100229fb\"\nimport script from \"./bodyText.vue?vue&type=script&lang=js\"\nexport * from \"./bodyText.vue?vue&type=script&lang=js\"\n\nimport \"./bodyText.vue?vue&type=style&index=0&id=100229fb&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./media.vue?vue&type=template&id=b5b7368e\"\nimport script from \"./media.vue?vue&type=script&lang=js\"\nexport * from \"./media.vue?vue&type=script&lang=js\"\n\nimport \"./media.vue?vue&type=style&index=0&id=b5b7368e&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./subtitle.vue?vue&type=template&id=d8202e3a\"\nimport script from \"./subtitle.vue?vue&type=script&lang=js\"\nexport * from \"./subtitle.vue?vue&type=script&lang=js\"\n\nimport \"./subtitle.vue?vue&type=style&index=0&id=d8202e3a&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./table.vue?vue&type=template&id=e498afa2\"\nimport script from \"./table.vue?vue&type=script&lang=js\"\nexport * from \"./table.vue?vue&type=script&lang=js\"\n\nimport \"./table.vue?vue&type=style&index=0&id=e498afa2&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n\r\n","import { render } from \"./articleFull.vue?vue&type=template&id=3623d218&scoped=true\"\nimport script from \"./articleFull.vue?vue&type=script&lang=js\"\nexport * from \"./articleFull.vue?vue&type=script&lang=js\"\n\nimport \"./articleFull.vue?vue&type=style&index=0&id=3623d218&lang=scss&scoped=true\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3623d218\"]])\n\nexport default __exports__","","import script from \"./externalLink.vue?vue&type=script&lang=js\"\nexport * from \"./externalLink.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n","import { render } from \"./fullscreenIframePlayer.vue?vue&type=template&id=4735266c\"\nimport script from \"./fullscreenIframePlayer.vue?vue&type=script&lang=js\"\nexport * from \"./fullscreenIframePlayer.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n\r\n","import { render } from \"./fullscreenVerticalArticle.vue?vue&type=template&id=941b2ef6&scoped=true\"\nimport script from \"./fullscreenVerticalArticle.vue?vue&type=script&lang=js\"\nexport * from \"./fullscreenVerticalArticle.vue?vue&type=script&lang=js\"\n\nimport \"./fullscreenVerticalArticle.vue?vue&type=style&index=0&id=941b2ef6&lang=scss&scoped=true\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-941b2ef6\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./fullscreenVideo.vue?vue&type=template&id=58b3bcc1\"\nimport script from \"./fullscreenVideo.vue?vue&type=script&lang=js\"\nexport * from \"./fullscreenVideo.vue?vue&type=script&lang=js\"\n\nimport \"./fullscreenVideo.vue?vue&type=style&index=0&id=58b3bcc1&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","","import script from \"./internalLink.vue?vue&type=script&lang=js\"\nexport * from \"./internalLink.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","","import script from \"./mail.vue?vue&type=script&lang=js\"\nexport * from \"./mail.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./defaultHotspot.vue?vue&type=template&id=f01d644e\"\nimport script from \"./defaultHotspot.vue?vue&type=script&lang=js\"\nexport * from \"./defaultHotspot.vue?vue&type=script&lang=js\"\n\nimport \"./defaultHotspot.vue?vue&type=style&index=0&id=f01d644e&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./dropdownHotspot.vue?vue&type=template&id=58a94ec2\"\nimport script from \"./dropdownHotspot.vue?vue&type=script&lang=js\"\nexport * from \"./dropdownHotspot.vue?vue&type=script&lang=js\"\n\nimport \"./dropdownHotspot.vue?vue&type=style&index=0&id=58a94ec2&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./hiddenHotspot.vue?vue&type=template&id=4dd65efd\"\nimport script from \"./hiddenHotspot.vue?vue&type=script&lang=js\"\nexport * from \"./hiddenHotspot.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n","import { render } from \"./listHotspot.vue?vue&type=template&id=40bde5ac\"\nimport script from \"./listHotspot.vue?vue&type=script&lang=js\"\nexport * from \"./listHotspot.vue?vue&type=script&lang=js\"\n\nimport \"./listHotspot.vue?vue&type=style&index=0&id=40bde5ac&lang=scss\"\n\nimport exportComponent from \"E:\\\\Cadpeople\\\\hyndla-tool-touchkit\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","var map = {\n\t\"./articleExternalLink.vue\": 747,\n\t\"./articleImage.vue\": 5362,\n\t\"./articleInternalLink.vue\": 6627,\n\t\"./bodyText.vue\": 3684,\n\t\"./media.vue\": 6722,\n\t\"./subtitle.vue\": 2211,\n\t\"./table.vue\": 4635\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 3996;","var map = {\n\t\"./NullComponent.vue\": 5716,\n\t\"./background-components/backgroundMedia.vue\": 7052,\n\t\"./background-components/backgroundPresenter.vue\": 500,\n\t\"./background-components/backgroundText.vue\": 3017,\n\t\"./background-components/nonrendered-background-components/sceneAudio.vue\": 8652,\n\t\"./content-components/VideoPlayer.vue\": 646,\n\t\"./content-components/article-components/articleExternalLink.vue\": 747,\n\t\"./content-components/article-components/articleImage.vue\": 5362,\n\t\"./content-components/article-components/articleInternalLink.vue\": 6627,\n\t\"./content-components/article-components/bodyText.vue\": 3684,\n\t\"./content-components/article-components/media.vue\": 6722,\n\t\"./content-components/article-components/subtitle.vue\": 2211,\n\t\"./content-components/article-components/table.vue\": 4635,\n\t\"./content-components/articleFull.vue\": 9996,\n\t\"./content-components/externalLink.vue\": 3795,\n\t\"./content-components/fullscreenIframePlayer.vue\": 223,\n\t\"./content-components/fullscreenVerticalArticle.vue\": 3156,\n\t\"./content-components/fullscreenVideo.vue\": 8312,\n\t\"./content-components/internalLink.vue\": 7275,\n\t\"./content-components/mail.vue\": 5030\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 9902;","var map = {\n\t\"./defaultHotspot.vue\": 9499,\n\t\"./dropdownHotspot.vue\": 1121,\n\t\"./hiddenHotspot.vue\": 5606,\n\t\"./listHotspot.vue\": 4531\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8363;","// 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","var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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__.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 = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"\";","// 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\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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[\"webpackChunkTouchkit\"] = self[\"webpackChunkTouchkit\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// 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, [998], function() { return __webpack_require__(7430); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["$options","_createBlock","_component_AppContainer","key","_component_AppLoaderVue","id","_createElementVNode","_hoisted_2","_hoisted_3","_createElementBlock","_hoisted_1","script","__exports__","_component_AspectContainer","_component_Idle","_createVNode","_component_UiLayer","_component_TransitionVideos","_component_router_view","_component_PageStaticBackground","config","name","defaultLanguage","includeLanguageCodeInUrl","mediaFolder","manifest","ipRegex","window","location","hostname","test","ref","_renderSlot","_ctx","data","scale","useRatio2BrowserUpscale","followBgWidth","maximizedSizeAndOffset","throttledUpdateFrameSize","mounted","this","updateFrameSize","lodash","addEventListener","calcMaximizedSizeAndOffset","methods","windowResolution","width","innerWidth","height","innerHeight","appResolution","$refs","appFrame","offsetWidth","offsetHeight","windowAspectRatio","appAspectRatio","browserViewportUpscale","windowAspectRatioIsWiderThanApp","heightDifference","style","transform","widthDifference","$store","commit","dispatchEvent","Event","winResolution","getters","getAppResolutionValue","globalScale","getScaleValue","backgroundWidth","getBackgroundWidth","scaledWindowWidth","minDynamicWidth","Math","min","isWindowsWiderThanApp","scaledWindowHeight","upScaleOffsetYCompensation","left","top","$data","_resolveDynamicComponent","properties","slug","type","requireComponent","require","componentsRepository","keys","forEach","fileName","componentConfig","componentName","split","pop","replace","default","repo","setup","app","Object","component","has","isIdle","idleTimer","idleTimout","created","getIdleTimeout","resetIdleTimer","startIdleTimer","date","Date","idleData","timeBeforeIdle","minutes","getMinutes","seconds","getSeconds","getComponentClass","ComponentRepo","setTimeout","clearTimeout","beforeUnmount","removeEventListener","computed","api","PageManager","getCustomComponentFromType","componentData","contentToOpen","getContentComponentFromID","_component_Logo","class","_component_Navigation","src","_imports_0","_component_router_link","to","homeURL","getRootPage","route","_Fragment","link","i","onClick","sceneID","onMouseover","onMouseout","letter","_hoisted_4","_hoisted_5","title","_hoisted_6","navigationLinks","currentSceneID","revealAnimation","intervalTimer","links","tempRoute","getCurrentRoute","filter","el","toLowerCase","length","startRevealAnimation","changePage","navigateToID","pauseRevealAnimation","clearInterval","_this","setInterval","onHomePage","$route","isHomePage","components","Logo","Navigation","hasFullscreenContentComponent","hasFullscreenComponent","getIsContentComponentOpen","fullscreenComponents","openComponents","getOpenContentComponents","includes","_Transition","video","poster","onEnded","autoplay","playsinline","muted","transitions","videoQueue","getVideoTransitions","populateVideoQueue","watch","from","toPath","fullPath","fromPath","playingVideo","queueLength","isInitialLoad","Utils","getMediaPath","transitionVideo","transitionPoster","skipable","push","removeFromQueue","shift","isVideoSkipable","AspectContainer","Idle","UiLayer","TransitionVideos","PageStaticBackground","beforeMount","document","pageTitle","breadcrumbs","getBreadcrumbs","crumb","undefined","hasIdle","hasTransitionVideoes","AppLoaderVue","AppContainer","vm","ready","render","onAfterLeave","onAfterEnter","onTransitionend","_component_ComponentRender","pageData","activeHotspots","_component_PageScroller","scrollingData","_component_HotspotRenderer","hotspots","children","onHotspotPressed","_component_PageBackground","background","hasContentComponentOpen","onDblclick","scrollingBackground","enableScrolling","$props","onCloseComponent","onCloseAllComponents","props","createComponentKey","index","getProperties","closeComponent","closeContentComponent","closeAllComponents","closeAllContentComponents","onLoadedmetadata","loop","onContextmenu","disablepictureinpicture","alt","image","onLoad","videoWidth","staticBgTimer","async","videoElement","bgVideo","$nextTick","backgroundLoaded","setStaticBackgroundImage","imagePath","staticBackgroundContainer","querySelector","innerHTML","hasVideo","getMediaWidth","hasImage","backgroundVideo","backgroundImage","getBackgroundClasses","isBackgroundDragged","hotspot","activeDropdown","onCurrentDropdown","hotspotComponents","importHotspotComponents","componentContext","componentPath","markRaw","getHotspotComponent","console","log","getRoute","getHotspotSceneRoute","slice","getComponentSlugFromHotspotID","hotspotPressed","e","$emit","currentDropdown","renderedHotspots","map","renderedhotspot","hasOwnProperty","getComponentDataFromHotspotID","enabled","_component_PageScrollerNavigation","anchorPoints","activeAnchor","activeAnchorIndex","onNavigateToAnchor","state","onPointerdown","enableDebugging","anchor","position","toFixed","previousActiveAnchorIndex","navigateToAnchor","getNavPosition","getNavigationVisibility","opacity","getIdleVisibility","scrollState","freeze","IDLE","STATIONARY","DRAGGING","THROWING","ANIMATING","PageScrollerNavigation","scrollX","windowWidth","scrollMinMax","initializing","scrollbarPosition","scrollbarWidth","scrollbarVisible","hasBeenInteractedWith","wasInactive","delayedAnchorsLookup","showDebug","showDebugLines","anchorSnapThreshold","anchorPointsThreshold","onResize","offsetX","clientX","animationFrameOccupied","previousScrollX","throwSpeed","throwDamping","handlePointerDown","event","button","preventDefault","handlePointerMove","requestAnimationFrame","calcScrollX","handlePointerUp","startThrowAnimation","dragDelta","clampedDelta","clampXToMinMax","overDrag","updateScrollbar","animateThrow","absoluteThrowSpeed","abs","outOfLimits","limitsCrossed","durationMs","max","animateToX","quadOut","handleScrollWheel","deltaY","val","getSizeProps","valueChangeTimer","lookupAnchors","goto","startPosition","clampedNewX","viewPortPct","duration","easing","getSavedScrollPosition","scrollPosition","positionFraction","getFractionFromAny","positionX","xPos","startTime","performance","now","startX","easingMethod","getEasing","scrollTo","sign","animate","currentTime","elapsedTime","progress","stoppedAt","closest","difference","animationDuration","findClosestAnchorpoint","positions","closestPosition","minDifference","Infinity","parseFloat","startsWith","easingString","quadInOut","linear","pow","computedAnchorPoints","arr","nsAlias","indexOf","unmounted","scrollPositionInfo","PageScroller","HotspotRenderer","ComponentRender","PageBackground","backgroundComponents","contentComponents","animating","transformOrigin","transitionAnimation","getBackgroundComponents","handleAutoOpenComponents","$router","currentRoute","_value","handleComponents","samePage","stripQueryStringsFromString","getTransitionAnimation","checkIfVideoTransition","getPageData","transitionAfterLeave","transitionAfterEnter","positionData","xPosition","yPosition","removeDublicateComponents","checkRouteAndOpenContentComponents","routeComponentSlugs","uniqueComponents","Set","getContentComponentInManifest","getContentComponent","add","c","some","sceneRoute","componentSlugs","join","string","autoOpenComponents","getPage","autoOpen","navigateToRouteSilent","toggleFullscreen","backgroundClicked","transitionAnimations","transition","path","isOpen","dimBackground","dimmingAllowed","noDimmingComponents","setTransitionAnimation","canNavigate","getRouteFromID","getMaximizedSizeAndOffset","getMaximizedSizeAndOffsetValue","sceneScrollingData","scrollStartPosition","scrollAnchorPoints","store","createStore","currentBackgroundComponents","allowNavigation","isFullscreen","contentComponentOpen","videoTransitions","queryParameters","draggingBackground","draggingBackgroundStartPositions","mutations","setScaleValue","value","setAppResolutionValue","setMaximizedSizeAndOffsetValue","setCurrentBackgroundComponents","enableNavigation","disableNavigation","bool","toggleContentComponentOpen","storeVideoTransitions","umbracoTransitions","setQueryParameters","setBackgroundWidth","toggleDraggingBackground","saveScrollPosition","existingIndex","findIndex","s","splice","toggleMute","AudioManager","mute","unmute","getCurrentBackgroundComponents","getContentComponentOpen","getQueryParameters","find","getIsMuted","actions","context","routes","Page","router","createRouter","history","createWebHashHistory","hasQueryParameters","query","getCurrentLanguage","storedLanguage","JSON","parse","localStorage","getItem","beforeEach","next","routeLanguage","params","lang","reload","Tracking","navigation","checkIfAudio","AppInitializer","steps","start","addStep","tasks","beforeStart","totalSteps","individualStep","step","Promise","all","promise","execute","then","getElementById","catch","pages","metadata","Home","scenes","ScenesFolder","content","ContentFolder","custom","CustomFolder","languageCode","HotspotsFolder","page","flattenPages","formatContent","node","parent","createRoute","formatPage","entries","getComponentData","alternateTitle","sanitizeString","getChildren","hotspotData","getNodeBackground","getComponentsForScene","seperator","tempChildren","child","scene","bg","arrays","result","item","Array","isArray","MakeLoader","DataDecorator","fetchData","getLanguage","globalFetchOptions","mode","headers","localFetchOptions","cache","fetchOptions","assign","resolve","reject","fetch","o","json","LocalDataStore","set","getLanguageCodeFromURL","language","get","pathArray","hash","potentialLangCode","Preloader","backgrounds","delayedBackgrounds","necessaryAssets","backgroundAssets","preLoadBackgrounds","preloadAssets","getBackgroundAssets","preloadBackgroundSrc","preloadBackgroundAssets","pagesToPreload","pagesToPreloadBackground","allPages","getAllPages","currentPage","findSrc","promises","fileType","getMediaType","preloadVideo","preloadImage","tempBackgroundAssets","asset","tempNecessaryAssets","preloadNecessaryAssets","preloadAudio","constructor","initializeStorage","initialData","setItem","stringify","keyVal","save","remove","prop","action","list","getCurrentRouteObject","navigateToRoute","getRouteFromIDs","contentID","contentSlug","pageID","navigateBack","go","navigateToParentScene","newRoute","getCurrentRouteWithQueryString","queryString","URLSearchParams","toString","addQueryParameter","param","persistent","newQuery","removeQueryParameter","silent","_route","substr","fragments","p","pageExists","getAllScenes","getPageFromID","navigateToHomePage","defaultScene","getContentComponents","openContentComponentFromID","singleton","getContentComponentExistsInManifest","getContentComponentsInManifest","getContentComponentsFromType","regex","RegExp","getCustomData","getHotspotDataFromContentID","manifestPages","breadcrumb","url","protocol","host","imageExtensions","videoExtensions","audioExtensions","match","encodeURI","setLanguage","hasWebHashHistory","href","outputfolder","newURL","pushState","fullScreenEnable","element","body","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","fullScreenDisable","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","screen","getBrowser","userAgent","navigator","realSrc","response","ok","Error","statusText","contentType","videoBlob","blob","videoUrl","URL","createObjectURL","createElement","preload","setAttribute","load","Image","onerror","error","audioBlob","audioUrl","audio","Audio","hasVideoTransition","property","payload","trackingObject","Action","Property","Payload","CreateLog","audioInstances","playlist","volume","tempVolume","currentlyPlayingAudioId","currentlyPlayingindex","idCounter","otherAudioListener","getCurrentAudioInstances","getPlaylist","getVolume","clearAllAudioInstances","startAudio","previous","playSpecificAudio","miscAudio","uniqueID","playAudioFromSrc","audioId","player","Howl","onend","clearAudioInstance","play","clearAudioNotInPlaylist","checkIfRelevantAudioPlaying","playing","_src","adjustPlaylist","clearPlaylist","audioList","cleanPlaylist","playlistAudio","addAudioToPlaylist","shuffle","obj1","obj2","enrichedAudioObject","array","randomIndex","currentIndex","floor","random","stopAndUnloadAudio","stop","unload","fadeVolumeOut","fadeVolumeIn","setVolume","fadeDuration","fadeSteps","volumeStep","currentVolume","fadeInterval","initialVolume","ApiManager","initializePreApis","initializePostApis","bindApiFunctions","apiClass","apiObjectName","apiInstance","getOwnPropertyNames","prototype","bind","version","packagejson","manifestLoader","CreateSiteManifestLoader","createApp","App","use","mount","maxTouchPoints","passive","ondblclick","matrix3dDebugMode","numeric","matrix3dDebugText","matrixAnchorClass","makeTransformable","navigateTo","hasSceneLink","hasContentLink","copyMatrix3dStyle","callback","t","controlPoints","div","createAnchor","cornerX","cornerY","rect","media","getBoundingClientRect","right","offsetY","bottom","originalPos","offsetLeft","offsetTop","startY","onMouseMove","clientY","targetPos","applyTransform","onMouseUp","className","borderRadius","cursor","zIndex","crossBefore","backgroundColor","crossAfter","appendChild","H","j","k","len","results","x","y","getTransform","l","results1","A","b","h","k_i","lhs","m","rhs","assert","solve","dot","norm2","sub","styles","getComputedStyle","transformValue","getPropertyValue","clipboard","writeText","err","remove3dAnchors","querySelectorAll","getSrc","getPosition","getMatrix3D","getSize","componentSize","getModifierClasses","hasMatrix3d","mediaType","matrix3d","_hoisted_12","intro","mov","webm","idle","_hoisted_7","main","_hoisted_10","hotspotTitle","videos","introPlaying","mainPlaying","hasIntroVideo","events","$el","videoHeight","introEnded","loadedmetadata","ended","detail","presenterPlaying","paused","skip","preloadMainVideo","values","pause","CustomEvent","hasMainVideo","scalePresenter","presenterSize","presenterPosition","hotspotPosition","hasIdleVideo","text","getTextStyle","color","textColor","fontSize","textShadow","lineHeight","allowSelection","controls","controlslist","onPlaying","onPause","crossorigin","required","posterSrc","String","Boolean","controlsList","isVideoPaused","posterUrl","target","openContent","openExplicitContentComponentFromID","computedSrc","intenalLinkRoute","_imports_1","_imports_2","mediaFile","onCanplay","allowFullScreen","_hoisted_8","emits","fullscreen","toggleFullScreen","toggleVideoPlay","handleMediaLoaded","isVideo","rows","row","isHeaderRow","leftColumn","rightColumn","_hoisted_11","enter","active","navOpen","onMousewheel","section","startInNewColumn","onLoaded","hidden","_hoisted_9","gsap","ScrollToPlugin","scrollTos","navigationOpen","importArticleComponents","setupSubmenu","removeScrollListener","sectionTitles","getElementsByClassName","titleEl","addScollListener","scrollLeft","clickedSection","scrollContainer","maxScroll","scrollWidth","clientWidth","scrollToBounded","ease","onComplete","updateActiveMenuLink","activeOnPixelsBefore","currentX","nextSectionX","open","externalUrl","if","frameborder","allowfullscreen","mozallowfullscreen","msallowfullscreen","oallowfullscreen","webkitallowfullscreen","youtubeID","youtubeUrl","getYoutubeID","regExp","_hoisted_15","_hoisted_18","_hoisted_20","_hoisted_27","sections","useHeroSection","authorPhoto","authorName","_component_VideoPlayer","newColumn","maintitle","_hoisted_13","showAnchorNavigation","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_26","VideoPlayer","classList","mutedAudioManager","muteAudioManager","unmuteAudioManager","composedEmail","stripHtmlAndAddLineBreaks","htmlString","strippedString","stringWithLineBreaks","recipient","emailSubject","emailBody","subject","bodyText","renderHotspotCascade","delay","getRandomAnimationDelay","getDistance","distance","armLength","flipped","getArmLenth","getHotspotTitle","getHotspotTypeClass","hotspotPrefix","hotspotType","getHotspotMutatorClasses","alternateHotspotIcon","getHotspotContentClass","getAlternateHotspotIcon","hotspotOpen","hotspotList","prepareHotspotList","hotspotReferenceID","toggleDropdown","hotspotSize","webpackContext","req","webpackContextResolve","__webpack_require__","code","module","exports","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","deferred","O","chunkIds","fn","priority","notFulfilled","fulfilled","every","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","g","globalThis","Function","obj","Symbol","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}