{"version":3,"sources":["webpack:///./src/mixins/http/OauthMixin.ts","webpack:///./src/directives/ClickOutside.ts","webpack:///./src/views/Login.vue?2ce5","webpack:///./src/components/LanguageTopbarDropdown.vue?9977","webpack:///./src/assets/logo2.png","webpack:///./src/components/UserTopbarDropdown.vue?dccf","webpack:///./src/mixins/PrintAwareMixin.ts","webpack:///./src/components/TheTopbar.vue?9c4e","webpack:///./src/views/Login.vue?82a1","webpack:///./src/views/Login.vue","webpack:///./src/views/Login.vue?5cc3","webpack:///./src/views/Login.vue?7b2b","webpack:///./src/components/TheTopbar.vue?732c","webpack:///./src/components/UserTopbarDropdown.vue?f2e8","webpack:///./src/components/UserTopbarDropdown.vue","webpack:///./src/components/UserTopbarDropdown.vue?5a40","webpack:///./src/components/UserTopbarDropdown.vue?9954","webpack:///./src/components/LanguageTopbarDropdown.vue?fec8","webpack:///./src/components/LanguageTopbarDropdown.vue","webpack:///./src/components/LanguageTopbarDropdown.vue?5577","webpack:///./src/components/LanguageTopbarDropdown.vue?6ad4","webpack:///./src/components/TheTopbar.vue","webpack:///./src/components/TheTopbar.vue?105e","webpack:///./src/components/TheTopbar.vue?3efb","webpack:///./src/components/TheTopbar.vue?4aef"],"names":["OauthMixin","path","type","routes","$getModelRoutes","authHelper","generateCodeVerifier","codeVerifier","uri","this","generateAuthorizeUri","window","location","href","getRegistrationUri","invalidateToken","encodeURIComponent","clickOutside","bind","el","binding","clickOutsideEvent","event","target","contains","value","Function","Error","expression","document","body","addEventListener","unbind","removeEventListener","module","exports","PrintAwareMixin","$route","name","render","_vm","_h","$createElement","_c","_self","staticClass","_m","_v","_s","$t","on","createProjectAndOpenDesigner","startRegistration","staticRenderFns","attrs","startNewProject","project","$router","push","params","id","components","Topbar","component","isInPrintMode","_e","goToProjectList","directives","rawName","$event","open","currentUser","fullname","class","show","onLogout","logout","user","roles","find","o","role","ClickOutside","currentLanguage","_l","option","key","setLanguage","languageCode","$i18n","locale","toLowerCase","languages","toUpperCase","setCurrentProject","undefined","$validateProject","UserTopbarDropdown","LanguageTopbarDropdown"],"mappings":"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","file":"js/chunk-bb193d8a.a2c7e541.js","sourcesContent":["import AuthHelper from \"@/services/AuthHelper\";\nimport { authStore } from \"@/store/typed\";\nimport { AUTHORIZER_URL } from \"@/utils/Constants\";\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { User } from \"../../models\";\nimport { camelToUnderscore } from \"../../utils/Typography\";\n\n@Component\nexport default class OauthMixin extends Vue {\n readonly path = camelToUnderscore(User.type);\n readonly routes = this.$getModelRoutes(this.path);\n readonly authHelper = new AuthHelper();\n\n async startOauth() {\n const codeVerifier = await authStore.generateCodeVerifier();\n\n const uri = this.authHelper.generateAuthorizeUri(codeVerifier);\n\n window.location.href = uri;\n }\n\n startRegistration() {\n window.location.href = this.authHelper.getRegistrationUri();\n }\n\n async logout() {\n try {\n await authStore.invalidateToken();\n } finally {\n window.location.href = AUTHORIZER_URL + '/logout?redirect_uri=' + encodeURIComponent(window.location.href);\n }\n }\n}\n","import { DirectiveOptions } from 'vue/types/umd';\nimport { DirectiveBinding } from 'vue/types/options';\n\ntype ClickEventHandler = (this: HTMLElement, ev: MouseEvent) => void;\ntype HTMLEventWithClickOutside = HTMLElement & { clickOutsideEvent?: ClickEventHandler };\n\nconst clickOutside: DirectiveOptions = {\n bind(el: HTMLEventWithClickOutside, binding: DirectiveBinding) {\n el.clickOutsideEvent = function (event: any) {\n if (!(el === event.target || el.contains(event.target))) {\n if (!(binding.value instanceof Function)) {\n throw new Error(`Bad binding for: ${binding.expression}. Try removing the ()`);\n }\n binding.value(event);\n }\n };\n document.body.addEventListener('click', el.clickOutsideEvent);\n },\n unbind(el: HTMLEventWithClickOutside) {\n if (el.clickOutsideEvent) {\n document.body.removeEventListener('click', el.clickOutsideEvent);\n delete el.clickOutsideEvent;\n }\n }\n};\n\nexport default clickOutside;\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=7977fe66&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageTopbarDropdown.vue?vue&type=style&index=0&id=baa4473c&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/logo2.905358ba.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserTopbarDropdown.vue?vue&type=style&index=0&id=f3238b8a&lang=scss&scoped=true&\"","import { Component, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class PrintAwareMixin extends Vue {\n get isInPrintMode(): boolean {\n return this.$route.name === 'project-print';\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheTopbar.vue?vue&type=style&index=1&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-page bg-white h-100\"},[_c('topbar'),_vm._m(0),_c('div',{staticClass:\"login-page__content\"},[_c('div',{staticClass:\"container h-100\"},[_c('div',{staticClass:\"h-100 d-flex align-items-center\"},[_c('div',{staticClass:\"row w-100 justify-content-center mx-0\"},[_c('div',{staticClass:\"col-lg-6 col-12\"},[_c('div',{staticClass:\"card my-2 bg-light\"},[_c('div',{staticClass:\"card-body d-flex align-items-center justify-content-center\"},[_c('div',{staticClass:\"text-center\"},[_c('v-icon',{staticClass:\"text-muted\"},[_vm._v(\"account\")]),_c('p',{staticClass:\"pt-3 pb-2\"},[_vm._v(_vm._s(_vm.$t('common.continueWithoutRegister')))]),_c('button',{staticClass:\"btn btn-secondary\",on:{\"click\":_vm.createProjectAndOpenDesigner}},[_vm._v(\" \"+_vm._s(_vm.$t('common.createNewProject'))+\" \")])],1)])])]),_c('div',{staticClass:\"col-lg-6 col-12\"},[_c('div',{staticClass:\"card my-2 bg-light\"},[_c('div',{staticClass:\"card-body d-flex align-items-center justify-content-center text-center\"},[_c('div',[_c('v-icon',{staticClass:\"text-muted\"},[_vm._v(\"account\")]),_c('p',{staticClass:\"pt-3 pb-2\"},[_vm._v(_vm._s(_vm.$t('common.registerNewAccount')))]),_c('div',[_c('button',{staticClass:\"btn btn-secondary\",on:{\"click\":_vm.startRegistration}},[_vm._v(\" \"+_vm._s(_vm.$t('common.register'))+\" \")])])],1)])])])])])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-center position-absolute w-100\"},[_c('img',{staticClass:\"pt-lg-5 image-responsive\",attrs:{\"src\":require(\"@/assets/logo2.png\")}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { mixins } from \"vue-class-component\";\nimport { Component, Vue } from \"vue-property-decorator\";\nimport OauthMixin from \"@/mixins/http/OauthMixin\";\nimport { projectStore } from \"@/store/typed\";\nimport Topbar from \"@/components/TheTopbar.vue\";\n//import Sidebar from \"@/components/TheSidebar.vue\";\n\n@Component({ components: { Topbar } })\nexport default class Login extends mixins(OauthMixin) {\n async createProjectAndOpenDesigner() {\n const project = await projectStore.startNewProject();\n\n this.$router.push({ name: \"project-design\", params: { id: project.id } });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=7977fe66&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=7977fe66&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7977fe66\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isInPrintMode)?_c('header',{attrs:{\"id\":\"topbar\"}},[_c('nav',{staticClass:\"navbar navbar-expand-lg\",attrs:{\"id\":\"navbar\"}},[(_vm.currentUser)?_c('div',{},[_c('small',{staticClass:\"text-muted clickable\",on:{\"click\":_vm.goToProjectList}},[_vm._v(_vm._s(_vm.$t(\"projectList.title\")))])]):_vm._e(),(_vm.currentUser)?_c('user-topbar-dropdown'):_c('router-link',{staticClass:\"btn btn-outline-primary navbar-nav ml-auto\",attrs:{\"to\":{ name: 'oauth_start' }}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.login\"))+\" \")]),_vm._m(0),_c('language-topbar-dropdown')],1)]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ml-3 py-2 h-100\"},[_c('div',{staticClass:\"vertical-divider\"})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.currentUser)?_c('ul',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.close),expression:\"close\"}],staticClass:\"navbar-nav ml-auto navbar-dropdown\"},[_c('li',{staticClass:\"nav-item dropdown px-0 clickable\",on:{\"click\":function($event){_vm.open = !_vm.open}}},[_c('div',{staticClass:\"d-flex bg-white px-2\"},[_c('div',{staticClass:\"my-auto mx-2 fullname\"},[_c('p',{staticClass:\"font-weight-bold mb-0\"},[_vm._v(_vm._s(_vm.currentUser.fullname()))])]),_c('v-icon',{staticClass:\"text-muted py-3 clickable\",attrs:{\"size\":\"xs\"}},[_vm._v(_vm._s(_vm.open ? \"chevron-up\" : \"chevron-down\"))])],1),_c('div',{staticClass:\"dropdown-menu py-0\",class:{ show: _vm.open }},[_c('div',{staticClass:\"dropdown-element d-flex clickable w-100 p-3\",on:{\"click\":function($event){return _vm.onLogout()}}},[_c('p',{staticClass:\"my-auto font-weight-light\"},[_vm._v(_vm._s(_vm.$t(\"common.logout\")))]),_c('v-icon',{staticClass:\"ml-auto\",attrs:{\"size\":\"sm\"}},[_vm._v(\"arrow-next\")])],1)])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Vue, Component } from \"vue-property-decorator\";\nimport { currentUserStore } from \"@/store/typed\";\nimport { User } from \"../models\";\nimport ClickOutside from \"@/directives/ClickOutside\";\nimport { mixins } from \"vue-class-component\";\nimport { authStore } from \"@/store/typed\";\nimport OauthMixin from \"@/mixins/http/OauthMixin\";\nimport { AUTHORIZER_URL } from \"@/utils/Constants\";\n\n@Component({ components: {}, directives: { ClickOutside } })\nexport default class UserTopbarDropdown extends mixins(OauthMixin) {\n private open = false;\n\n get currentUser(): User | undefined {\n return currentUserStore.user;\n }\n\n get role() {\n return User.roles.find((o) => o.id === this.currentUser?.role)?.name || \"\";\n }\n\n async onLogout() {\n await this.logout();\n this.$router.push({ name: \"login\" });\n }\n\n protected close() {\n this.open = false;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserTopbarDropdown.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserTopbarDropdown.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserTopbarDropdown.vue?vue&type=template&id=f3238b8a&scoped=true&\"\nimport script from \"./UserTopbarDropdown.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserTopbarDropdown.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserTopbarDropdown.vue?vue&type=style&index=0&id=f3238b8a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f3238b8a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.close),expression:\"close\"}],staticClass:\"navbar-nav ml-3 navbar-dropdown\"},[_c('li',{staticClass:\"nav-item dropdown px-0 clickable\",on:{\"click\":function($event){_vm.open = !_vm.open}}},[_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"my-auto px-3 language\"},[_c('p',{staticClass:\"font-weight-bold mb-0 text-left\"},[_vm._v(_vm._s(_vm.currentLanguage))])]),_c('v-icon',{staticClass:\"text-muted clickable\",attrs:{\"size\":\"xs\"}},[_vm._v(_vm._s(_vm.open ? \"chevron-up\" : \"chevron-down\"))])],1),_c('div',{staticClass:\"dropdown-menu py-0 dropdown-menu-right position-absolute\",class:{ show: _vm.open }},_vm._l((_vm.options),function(option){return _c('div',{key:option,staticClass:\"dropdown-element clickable w-100 p-3\",on:{\"click\":function($event){return _vm.setLanguage(option)}}},[_c('p',{staticClass:\"my-auto font-weight-light\"},[_vm._v(_vm._s(option))])])}),0)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Vue, Component } from \"vue-property-decorator\";\nimport { currentUserStore } from \"@/store/typed\";\nimport store from \"../store\";\nimport { User } from \"../models\";\nimport ClickOutside from \"@/directives/ClickOutside\";\n\n@Component({ components: {}, directives: { ClickOutside } })\nexport default class LanguageTopbarDropdown extends Vue {\n private open = false;\n\n protected close() {\n this.open = false;\n }\n\n setLanguage(languageCode: string) {\n // TODO : implement\n this.$i18n.locale = languageCode.toLowerCase();\n }\n\n get languages() {\n return [\"IT\" , \"EN\" , \"FR\" , \"ES\"];\n }\n\n get options() {\n return this.languages;\n }\n\n get currentLanguage() {\n // TODO : handle languages\n return this.$i18n.locale.toUpperCase();\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageTopbarDropdown.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageTopbarDropdown.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LanguageTopbarDropdown.vue?vue&type=template&id=baa4473c&scoped=true&\"\nimport script from \"./LanguageTopbarDropdown.vue?vue&type=script&lang=ts&\"\nexport * from \"./LanguageTopbarDropdown.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LanguageTopbarDropdown.vue?vue&type=style&index=0&id=baa4473c&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"baa4473c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Mixins } from \"vue-property-decorator\";\nimport UserTopbarDropdown from \"@/components/UserTopbarDropdown.vue\";\nimport LanguageTopbarDropdown from \"@/components/LanguageTopbarDropdown.vue\";\nimport PrintAwareMixin from \"@/mixins/PrintAwareMixin\";\nimport { currentUserStore, projectStore } from \"@/store/typed\";\n\n@Component({ components: { UserTopbarDropdown, LanguageTopbarDropdown } })\nexport default class TheTopbar extends Mixins(PrintAwareMixin) {\n get currentUser() {\n return currentUserStore.currentUser;\n }\n\n goToProjectList() {\n projectStore.setCurrentProject(undefined);\n projectStore.$validateProject();\n\n this.$router.push({ name: \"projects-list\" });\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheTopbar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheTopbar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheTopbar.vue?vue&type=template&id=955e2624&scoped=true&\"\nimport script from \"./TheTopbar.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheTopbar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TheTopbar.vue?vue&type=style&index=0&id=955e2624&lang=scss&scoped=true&\"\nimport style1 from \"./TheTopbar.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"955e2624\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheTopbar.vue?vue&type=style&index=0&id=955e2624&lang=scss&scoped=true&\""],"sourceRoot":""}