1 {"version":3,"sources":["webpack:///./src/views/reports/components/Report.vue?ad5f","webpack:///./src/views/reports/components/ReportsFilter.vue?5d06","webpack:///./src/views/reports/index.vue?8d7d","webpack:///./src/views/reports/components/Report.vue?a764","webpack:///src/views/reports/components/Report.vue","webpack:///./src/views/reports/components/Report.vue","webpack:///./src/views/reports/components/Report.vue?0503","webpack:///./src/views/reports/components/ReportsFilter.vue?e3b7","webpack:///src/views/reports/components/ReportsFilter.vue","webpack:///./src/views/reports/components/ReportsFilter.vue","webpack:///./src/views/reports/components/ReportsFilter.vue?49ad","webpack:///./src/views/reports/index.vue?3bcc","webpack:///src/views/reports/index.vue","webpack:///./src/views/reports/index.vue","webpack:///./src/views/reports/index.vue?6a35"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Report_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ReportsFilter_vue_vue_type_style_index_0_id_5ab7c15a_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","components_Reportvue_type_script_lang_js_","name","components","ModerateUserDropdown","ReportContent","props","reports","type","required","computed","loading","this","$store","state","pageSize","totalReportsCount","currentPage","methods","capitalizeFirstLetter","str","charAt","toUpperCase","slice","changeReportState","id","dispatch","getStateType","handlePageChange","page","parseTimestamp","timestamp","moment_default","format","propertyExists","account","property","_secondProperty","component","Object","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","_l","report","key","attrs","created_at","placement","_v","_s","$t","nickname","_e","size","trigger","plain","icon","slot","nativeOn","click","$event","report-id","rendered-from","total","current-page","page-size","background","layout","on","current-change","options","__file","Report","components_ReportsFiltervue_type_script_lang_js_","data","filter","value","label","created","$data","toggleFilters","ReportsFilter_component","placeholder","clearable","value-key","change","model","callback","$$v","expression","item","ReportsFilter","views_reportsvue_type_script_lang_js_","RebootButton","normalizedReportsCount","numeral_default","fetchedReports","mounted","reports_component","directives","rawName","length","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_6ac87f34_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"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","file":"static/js/chunk-4995.94e052fc.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Report.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Report.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=style&index=0&id=5ab7c15a&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=style&index=0&id=5ab7c15a&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"reports-container\"},[_c('div',{staticClass:\"reports-header-container\"},[_c('h1',[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.reports'))+\"\\n \"),_c('span',{staticClass:\"report-count\"},[_vm._v(\"(\"+_vm._s(_vm.normalizedReportsCount)+\")\")])]),_vm._v(\" \"),_c('reboot-button')],1),_vm._v(\" \"),_c('div',{staticClass:\"reports-filter-container\"},[_c('reports-filter')],1),_vm._v(\" \"),_c('div',{staticClass:\"block\"},[_c('report',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"reports\":_vm.reports}}),_vm._v(\" \"),(_vm.reports.length === 0)?_c('div',{staticClass:\"no-reports-message\"},[_c('p',[_vm._v(\"There are no reports to display\")])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Report.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Report.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-timeline class=\"reports-timeline\">\n <el-timeline-item\n v-for=\"report in reports\"\n :timestamp=\"parseTimestamp(report.created_at)\"\n :key=\"report.id\"\n placement=\"top\"\n class=\"timeline-item-container\">\n <el-card class=\"report\">\n <div class=\"report-header-container\">\n <div class=\"title-container\">\n <h3 v-if=\"propertyExists(report.account, 'nickname')\" class=\"report-title\">{{ $t('reports.reportOn') }} {{ report.account.nickname }}</h3>\n <h3 v-else class=\"report-title\">{{ $t('reports.report') }}</h3>\n <h5 v-if=\"propertyExists(report.account, 'id')\" class=\"id\">{{ $t('reports.id') }}: {{ report.id }}</h5>\n </div>\n <div>\n <el-tag :type=\"getStateType(report.state)\" size=\"large\" class=\"report-tag\">{{ capitalizeFirstLetter(report.state) }}</el-tag>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-edit\" class=\"report-actions-button\">{{ $t('reports.changeState') }}<i class=\"el-icon-arrow-down el-icon--right\"/></el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item v-if=\"report.state !== 'resolved'\" @click.native=\"changeReportState('resolved', report.id)\">{{ $t('reports.resolve') }}</el-dropdown-item>\n <el-dropdown-item v-if=\"report.state !== 'open'\" @click.native=\"changeReportState('open', report.id)\">{{ $t('reports.reopen') }}</el-dropdown-item>\n <el-dropdown-item v-if=\"report.state !== 'closed'\" @click.native=\"changeReportState('closed', report.id)\">{{ $t('reports.close') }}</el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n <moderate-user-dropdown\n v-if=\"propertyExists(report.account, 'nickname')\"\n :account=\"report.account\"\n :report-id=\"report.id\"\n :rendered-from=\"'reportsPage'\"/>\n </div>\n </div>\n <el-divider class=\"divider\"/>\n <report-content :report=\"report\"/>\n </el-card>\n </el-timeline-item>\n </el-timeline>\n <div v-if=\"!loading\" class=\"reports-pagination\">\n <el-pagination\n :total=\"totalReportsCount\"\n :current-page=\"currentPage\"\n :page-size=\"pageSize\"\n background\n layout=\"prev, pager, next\"\n @current-change=\"handlePageChange\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport moment from 'moment'\nimport ModerateUserDropdown from './ModerateUserDropdown'\nimport ReportContent from './ReportContent'\n\nexport default {\n name: 'Report',\n components: { ModerateUserDropdown, ReportContent },\n props: {\n reports: {\n type: Array,\n required: true\n }\n },\n computed: {\n loading() {\n return this.$store.state.reports.loading\n },\n pageSize() {\n return this.$store.state.reports.pageSize\n },\n totalReportsCount() {\n return this.$store.state.reports.totalReportsCount\n },\n currentPage() {\n return this.$store.state.reports.currentPage\n }\n },\n methods: {\n capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n },\n changeReportState(state, id) {\n this.$store.dispatch('ChangeReportState', [{ state, id }])\n },\n getStateType(state) {\n switch (state) {\n case 'closed':\n return 'info'\n case 'resolved':\n return 'success'\n default:\n return 'primary'\n }\n },\n handlePageChange(page) {\n this.$store.dispatch('FetchReports', page)\n },\n parseTimestamp(timestamp) {\n return moment(timestamp).format('L HH:mm')\n },\n propertyExists(account, property, _secondProperty) {\n if (_secondProperty) {\n return account[property] && account[_secondProperty]\n }\n return account[property]\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n h4 {\n margin: 0;\n height: 17px;\n }\n .divider {\n margin: 15px 0;\n }\n .el-card__body {\n padding: 17px;\n }\n .el-card__header {\n background-color: #FAFAFA;\n padding: 10px 20px;\n }\n .el-collapse {\n border-bottom: none;\n }\n .el-collapse-item__header {\n height: 46px;\n font-size: 14px;\n }\n .el-collapse-item__content {\n padding-bottom: 7px;\n }\n .el-icon-arrow-right {\n margin-right: 6px;\n }\n .id {\n color: gray;\n margin-top: 6px;\n }\n .line {\n width: 100%;\n height: 0;\n border: 0.5px solid #EBEEF5;\n margin: 15px 0 15px;\n }\n .new-note {\n p {\n font-size: 14px;\n font-weight: 500;\n height: 17px;\n margin: 13px 0 7px;\n }\n }\n .note {\n box-shadow: 0 2px 5px 0 rgba(0,0,0,.1);\n margin-bottom: 10px;\n }\n .no-notes {\n font-style: italic;\n color: gray;\n }\n .report {\n .report-header-container {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n height: 40px;\n }\n }\n .report-title {\n margin: 0;\n }\n .reports-pagination {\n margin: 25px 0;\n text-align: center;\n }\n .reports-timeline {\n margin: 30px 45px 45px 19px;\n padding: 0px;\n }\n .submit-button {\n display: block;\n margin: 7px 0 17px auto;\n }\n .timestamp {\n margin: 0;\n font-style: italic;\n color: gray;\n }\n\n @media only screen and (max-width:480px) {\n .report {\n .report-header-container {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n height: auto;\n }\n .id {\n margin: 6px 0 0 0;\n }\n .report-actions-button {\n margin: 3px 0 6px;\n }\n .report-tag {\n margin: 3px 0 6px;\n }\n .title-container {\n margin-bottom: 7px;\n }\n }\n .reports-timeline {\n margin: 20px 10px;\n .el-timeline-item__wrapper {\n padding-left: 20px;\n }\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./Report.vue?vue&type=template&id=0f1f719f&\"\nimport script from \"./Report.vue?vue&type=script&lang=js&\"\nexport * from \"./Report.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Report.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Report.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-timeline',{staticClass:\"reports-timeline\"},_vm._l((_vm.reports),function(report){return _c('el-timeline-item',{key:report.id,staticClass:\"timeline-item-container\",attrs:{\"timestamp\":_vm.parseTimestamp(report.created_at),\"placement\":\"top\"}},[_c('el-card',{staticClass:\"report\"},[_c('div',{staticClass:\"report-header-container\"},[_c('div',{staticClass:\"title-container\"},[(_vm.propertyExists(report.account, 'nickname'))?_c('h3',{staticClass:\"report-title\"},[_vm._v(_vm._s(_vm.$t('reports.reportOn'))+\" \"+_vm._s(report.account.nickname))]):_c('h3',{staticClass:\"report-title\"},[_vm._v(_vm._s(_vm.$t('reports.report')))]),_vm._v(\" \"),(_vm.propertyExists(report.account, 'id'))?_c('h5',{staticClass:\"id\"},[_vm._v(_vm._s(_vm.$t('reports.id'))+\": \"+_vm._s(report.id))]):_vm._e()]),_vm._v(\" \"),_c('div',[_c('el-tag',{staticClass:\"report-tag\",attrs:{\"type\":_vm.getStateType(report.state),\"size\":\"large\"}},[_vm._v(_vm._s(_vm.capitalizeFirstLetter(report.state)))]),_vm._v(\" \"),_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{staticClass:\"report-actions-button\",attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-edit\"}},[_vm._v(_vm._s(_vm.$t('reports.changeState'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(report.state !== 'resolved')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('resolved', report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.resolve')))]):_vm._e(),_vm._v(\" \"),(report.state !== 'open')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('open', report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.reopen')))]):_vm._e(),_vm._v(\" \"),(report.state !== 'closed')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('closed', report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.close')))]):_vm._e()],1)],1),_vm._v(\" \"),(_vm.propertyExists(report.account, 'nickname'))?_c('moderate-user-dropdown',{attrs:{\"account\":report.account,\"report-id\":report.id,\"rendered-from\":'reportsPage'}}):_vm._e()],1)]),_vm._v(\" \"),_c('el-divider',{staticClass:\"divider\"}),_vm._v(\" \"),_c('report-content',{attrs:{\"report\":report}})],1)],1)}),1),_vm._v(\" \"),(!_vm.loading)?_c('div',{staticClass:\"reports-pagination\"},[_c('el-pagination',{attrs:{\"total\":_vm.totalReportsCount,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"background\":\"\",\"layout\":\"prev, pager, next\"},on:{\"current-change\":_vm.handlePageChange}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=script&lang=js&\"","<template>\n <el-select\n v-model=\"filter\"\n :placeholder=\"$t('reportsFilter.inputPlaceholder')\"\n clearable\n class=\"select-field\"\n value-key=\"value\"\n @change=\"toggleFilters\">\n <el-option\n v-for=\"item in options\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\">{{ item.label }}</el-option>\n </el-select>\n</template>\n\n<script>\nimport i18n from '@/lang'\n\nexport default {\n data() {\n return {\n filter: 'open',\n options: [\n {\n value: 'open',\n label: i18n.t('reportsFilter.open')\n },\n {\n value: 'closed',\n label: i18n.t('reportsFilter.closed')\n },\n {\n value: 'resolved',\n label: i18n.t('reportsFilter.resolved')\n }\n ]\n }\n },\n created() {\n this.$store.dispatch('SetReportsFilter', this.$data.filter)\n },\n methods: {\n toggleFilters() {\n this.$store.dispatch('SetReportsFilter', this.$data.filter)\n this.$store.dispatch('ClearFetchedReports')\n this.$store.dispatch('FetchReports', 1)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.select-field {\n width: 350px;\n}\n\n@media only screen and (max-width:480px) {\n .select-field {\n width: 100%;\n margin-bottom: 5px;\n }\n}\n\n@media only screen and (max-width:801px) and (min-width: 481px) {\n .select-field {\n width: 50%;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./ReportsFilter.vue?vue&type=template&id=5ab7c15a&scoped=true&\"\nimport script from \"./ReportsFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./ReportsFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReportsFilter.vue?vue&type=style&index=0&id=5ab7c15a&rel=stylesheet%2Fscss&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 \"5ab7c15a\",\n null\n \n)\n\ncomponent.options.__file = \"ReportsFilter.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{staticClass:\"select-field\",attrs:{\"placeholder\":_vm.$t('reportsFilter.inputPlaceholder'),\"clearable\":\"\",\"value-key\":\"value\"},on:{\"change\":_vm.toggleFilters},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}},[_vm._v(_vm._s(item.label))])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"reports-container\">\n <div class=\"reports-header-container\">\n <h1>\n {{ $t('reports.reports') }}\n <span class=\"report-count\">({{ normalizedReportsCount }})</span>\n </h1>\n <reboot-button/>\n </div>\n <div class=\"reports-filter-container\">\n <reports-filter/>\n </div>\n <div class=\"block\">\n <report v-loading=\"loading\" :reports=\"reports\"/>\n <div v-if=\"reports.length === 0\" class=\"no-reports-message\">\n <p>There are no reports to display</p>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport numeral from 'numeral'\nimport Report from './components/Report'\nimport ReportsFilter from './components/ReportsFilter'\nimport RebootButton from '@/components/RebootButton'\n\nexport default {\n components: { RebootButton, Report, ReportsFilter },\n computed: {\n loading() {\n return this.$store.state.reports.loading\n },\n normalizedReportsCount() {\n return numeral(this.$store.state.reports.totalReportsCount).format('0a')\n },\n reports() {\n return this.$store.state.reports.fetchedReports\n }\n },\n mounted() {\n this.$store.dispatch('GetNodeInfo')\n this.$store.dispatch('NeedReboot')\n this.$store.dispatch('FetchTagPolicySetting')\n this.$store.dispatch('FetchReports', 1)\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.reports-container {\n .reboot-button {\n padding: 10px;\n margin: 0;\n width: 145px;\n }\n .reports-filter-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 15px 45px 22px 15px;\n padding-bottom: 0\n }\n .reports-header-container {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 10px 15px;\n }\n h1 {\n margin: 0;\n }\n .no-reports-message {\n color: gray;\n margin-left: 19px\n }\n .report-count {\n color: gray;\n font-size: 28px;\n }\n}\n\n@media only screen and (max-width:480px) {\n .reports-container {\n h1 {\n margin: 7px 10px 15px 10px;\n }\n .reboot-button {\n margin: 0 0 5px 10px;\n width: 145px;\n }\n .report-count {\n font-size: 22px;\n }\n .reports-filter-container {\n margin: 0 10px;\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=6ac87f34&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=6ac87f34&rel=stylesheet%2Fscss&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 \"6ac87f34\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=6ac87f34&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=6ac87f34&rel=stylesheet%2Fscss&lang=scss&scoped=true&\""],"sourceRoot":""}