{"version":3,"sources":["webpack:///./src/components/dataQuality/FleetOverviewTable/DataIndicator.vue?5d54","webpack:///./src/views/dataQuality/FleetOverview.vue?f028","webpack:///./src/components/dataQuality/FleetOverviewTable/index.vue?7735","webpack:///./src/components/dataQuality/FleetOverviewTable/DataCell.vue?1294","webpack:///./src/components/dataQuality/FleetOverviewTable/DataIndicator.vue?2907","webpack:///./src/components/dataQuality/FleetOverviewTable/DataIndicator.vue","webpack:///./src/components/dataQuality/FleetOverviewTable/DataIndicator.vue?fef0","webpack:///./src/components/dataQuality/FleetOverviewTable/DataIndicator.vue?9e77","webpack:///./src/components/dataQuality/FleetOverviewTable/DataCell.vue","webpack:///./src/components/dataQuality/FleetOverviewTable/DataCell.vue?46a2","webpack:///./src/components/dataQuality/FleetOverviewTable/DataCell.vue?e4b9","webpack:///./src/components/dataQuality/FleetOverviewTable/index.vue","webpack:///./src/components/dataQuality/FleetOverviewTable/index.vue?d3b9","webpack:///./src/components/dataQuality/FleetOverviewTable/index.vue?1916","webpack:///./src/views/dataQuality/VDataTableHeaders/FleetOverview.ts","webpack:///./src/views/dataQuality/FleetOverview.vue","webpack:///./src/views/dataQuality/FleetOverview.vue?efcb","webpack:///./src/views/dataQuality/FleetOverview.vue?72d8"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","model","value","callback","$$v","searchQuery","expression","headers","fleetOverview","tableLoading","staticRenderFns","loading","rows","sortBy","sortDesc","pageLimit","isLessThanLimit","on","$event","scopedSlots","_u","key","fn","ref","_l","header","text","class","headerClasses","style","headerStyles","sort","_v","_s","undefined","tooltip","_g","_b","_e","item","index","cellData","IndicatorData","data","isNotAvailable","statusColor","icon","preventDefault","navigateToLink","apply","arguments","DataIndicator","status","link","Error","$router","push","timestamp","dateHelper","getFormatedDateTimeString","getHumanizeDuration","moment","valueOf","Vue","__decorate","Prop","type","Object","Component","component","VIcon","DataCell","isIndicator","indicatorText","indicatorIcon","column","components","FleetOverviewTable","length","row","columnName","links","sortable","width","Boolean","default","Array","VDataTable","VTooltip","Vessels","getModule","VesselsModule","store","DataQuality","DataQualityModule","FleetOverview","map","vessel","extendedVessels","find","id","vesselId","vesselName","name","overallStatus","dataAvailability","dataOutliers","speedLog","trim","filter","toLowerCase","includes","loadingState","Promise","all","refreshExtendedVessels","refreshFleetOverview","VContainer","VTextField"],"mappings":"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","file":"js/chunk-7f9211be.c4dac516.js","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataIndicator.vue?vue&type=style&index=0&id=94a759cc&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"main pa-2\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"topline d-flex align-center mb-4\"},[_c('v-text-field',{staticClass:\"search-input\",attrs:{\"prepend-inner-icon\":\"mdi-magnify\",\"placeholder\":\"Search for vessel\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\",\"clearable\":\"\"},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v},expression:\"searchQuery\"}})],1),_c('FleetOverviewTable',{attrs:{\"headers\":_vm.headers,\"rows\":_vm.fleetOverview,\"loading\":_vm.tableLoading}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"fleet-overview-table\"},[_c('v-data-table',{staticClass:\"data-quality-table\",attrs:{\"loading\":_vm.loading,\"items\":_vm.rows,\"headers\":_vm.headers,\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.sortDesc,\"items-per-page\":_vm.pageLimit,\"hide-default-footer\":_vm.isLessThanLimit,\"hide-default-header\":\"\"},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){return [_c('thead',{staticClass:\"v-data-table-header\"},[_c('tr',_vm._l((_vm.headers),function(header){return _c('th',{key:header.text,class:_vm.headerClasses(header),style:(_vm.headerStyles(header)),on:{\"click\":function($event){return _vm.sort(header.value)}}},[_c('span',[_vm._v(_vm._s(header.text))]),(header.tooltip !== undefined)?_c('v-tooltip',{attrs:{\"bottom\":\"\",\"color\":\"black\",\"content-class\":\"with-triangle\",\"max-width\":\"280\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({staticClass:\"ml-1\",attrs:{\"color\":\"darkGrey75\",\"size\":\"medium\"}},'v-icon',attrs,false),on),[_vm._v(\"mdi-information-outline\")])]}}],null,true)},[_c('span',{staticClass:\"tooltip-text\"},[_vm._v(_vm._s(header.tooltip))])]):_vm._e(),(header.sortable)?_c('span',[(_vm.sortBy === header.value)?_c('v-icon',{class:{'rotate-icon': _vm.sortDesc},attrs:{\"small\":\"\"}},[_vm._v(\" mdi-arrow-up \")]):_c('v-icon',{staticClass:\"sort-icon\",attrs:{\"small\":\"\"}},[_vm._v(\" mdi-arrow-up \")])],1):_vm._e()],1)}),0)])]}},{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [(!_vm.loading)?_c('tr',_vm._l((_vm.headers),function(header,index){return _c('td',{key:index},[(item[header.value])?_c('DataCell',{attrs:{\"data\":_vm.cellData(item, header, index)}}):_vm._e()],1)}),0):_vm._e()]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"data-cell\"},[(_vm.isIndicator)?_c('DataIndicator',{attrs:{\"data\":_vm.IndicatorData}}):_c('span',[_vm._v(_vm._s(_vm.data.value))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"data-indicator d-flex justify-center\"},[_c('div',{class:['status', { 'no-border' : _vm.isNotAvailable }]},[_c('v-icon',{attrs:{\"size\":12,\"color\":_vm.statusColor}},[_vm._v(\" \"+_vm._s(_vm.data.icon)+\" \")]),_c('span',[_vm._v(_vm._s(_vm.data.text))])],1),(_vm.data.link)?_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://www.google.co.uk/\"},on:{\"click\":function($event){$event.preventDefault();return _vm.navigateToLink.apply(null, arguments)}}}):_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\n\n\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n// utilities\nimport dateHelper from \"Utilities/date-helper\";\nimport moment from \"moment\";\n// types\nimport { IndicatorData } from \"@/types/dataQuality/dataQualityTable\";\n\n@Component({})\nexport default class DataIndicator extends Vue {\n @Prop({ type: Object }) data!: IndicatorData;\n\n // @Getters\n get isNotAvailable(): boolean {\n return this.data.status === 0;\n }\n\n get statusColor() {\n if (!this.data) return;\n switch (this.data.status) {\n case 1:\n return \"success100\";\n case 2:\n return \"warning100\";\n case 3:\n return \"error100\";\n default:\n return \"darkGrey100\";\n }\n }\n\n // @Methods\n navigateToLink(): void {\n if (!this.data.link) throw new Error(\"Link is undefined\");\n this.$router.push(this.data.link);\n }\n\n getFormatedDateTimeString(timestamp: string): string {\n return dateHelper.getFormatedDateTimeString(timestamp);\n }\n\n duration(timestamp: string): string {\n return dateHelper.getHumanizeDuration(timestamp, moment().valueOf());\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataIndicator.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataIndicator.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataIndicator.vue?vue&type=template&id=94a759cc&scoped=true&\"\nimport script from \"./DataIndicator.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataIndicator.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DataIndicator.vue?vue&type=style&index=0&id=94a759cc&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 \"94a759cc\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n// components\nimport DataIndicator from \"@/components/dataQuality/FleetOverviewTable/DataIndicator.vue\";\n// types\nimport { CellData, IndicatorData } from \"@/types/dataQuality/dataQualityTable\";\n\n@Component({\n components: {\n DataIndicator,\n },\n})\nexport default class DataCell extends Vue {\n @Prop({ type: Object }) data!: CellData;\n\n // @Getters\n get isIndicator(): boolean {\n if (!this.data) return false;\n return this.data.type === \"dataIndicator\";\n }\n\n get IndicatorData(): IndicatorData | undefined {\n if (!this.isIndicator) return;\n return {\n status: this.data.value,\n text: this.indicatorText,\n icon: this.indicatorIcon,\n link: null,\n };\n }\n\n get indicatorText(): string {\n if (this.data.column === \"dataAvailability\") {\n switch (this.data.value) {\n case 1:\n return \"Available\";\n case 2:\n return \"Observe\";\n case 3:\n return \"Critical\";\n default:\n return \"N/A\";\n }\n } else if (this.data.column === \"dataOutliers\") {\n switch (this.data.value) {\n case 1:\n return \"No Outliers\";\n case 2:\n return \"Minor Outliers\";\n case 3:\n return \"Major Outliers\";\n default:\n return \"N/A\";\n }\n } else if (this.data.column === \"speedLog\") {\n switch (this.data.value) {\n case 1:\n return \"Stable Quality\";\n case 2:\n return \"Degrading Quality\";\n case 3:\n return \"Poor Quality\";\n default:\n return \"N/A\";\n }\n } else {\n return \"N/A\";\n }\n }\n\n get indicatorIcon(): string {\n if (this.data.column === \"dataAvailability\") {\n switch (this.data.value) {\n case 1:\n return \"mdi-check-circle\";\n case 2:\n return \"mdi-alert-circle\";\n case 3:\n return \"mdi-minus-circle\";\n default:\n return \"mdi-close-circle\";\n }\n } else if (this.data.column === \"dataOutliers\") {\n switch (this.data.value) {\n case 1:\n return \"mdi-database-check\";\n case 2:\n return \"mdi-database-alert\";\n case 3:\n return \"mdi-database-alert\";\n default:\n return \"mdi-close-circle\";\n }\n } else if (this.data.column === \"speedLog\") {\n switch (this.data.value) {\n case 1:\n return \"mdi-check-circle\";\n case 2:\n return \"mdi-alert-circle\";\n case 3:\n return \"mdi-minus-circle\";\n default:\n return \"mdi-close-circle\";\n }\n } else {\n return \"mdi-close-circle\";\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataCell.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DataCell.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataCell.vue?vue&type=template&id=6990487c&scoped=true&\"\nimport script from \"./DataCell.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataCell.vue?vue&type=script&lang=ts&\"\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 \"6990487c\",\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\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\n\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\nimport DataCell from \"./DataCell.vue\";\nimport { CellData, DataQualityHeader, DataQualityRow } from \"@/types/dataQuality/dataQualityTable\";\n\n@Component({\n components: {\n DataCell,\n },\n})\nexport default class FleetOverviewTable extends Vue {\n @Prop({ type: Boolean, default: false }) loading!: Boolean;\n @Prop({ type: Array, default: () => [] }) headers!: DataQualityHeader[];\n @Prop({ type: Array, default: () => [] }) rows!: DataQualityRow[];\n @Prop({ type: Array, default: () => [] }) links!: string[] | null;\n\n sortBy = \"\";\n sortDesc = false;\n pageLimit = 10;\n\n // @Getters\n get isLessThanLimit(): boolean {\n return this.rows.length <= this.pageLimit;\n }\n\n // @Methods\n cellData(row: DataQualityRow, header: DataQualityHeader, index: number): CellData {\n return {\n column: header.value,\n columnName: header.text,\n type: header.type,\n value: row[header.value].value,\n link: this.links ? this.links[index] : null,\n };\n }\n\n headerClasses(header: any): string[] {\n return [\n header.class,\n {\n sortable: header.sortable,\n \"no-sort\": this.sortBy !== header.value,\n },\n ];\n }\n\n headerStyles(header: any): any {\n return {\n width: header.width ? header.width : \"auto\",\n \"min-width\": header.width ? header.width : \"auto\",\n };\n }\n\n sort(value: any): void {\n if (this.sortBy === value) {\n if (this.sortDesc) {\n this.sortBy = \"\";\n this.sortDesc = false;\n } else {\n this.sortDesc = true;\n }\n } else {\n this.sortBy = value;\n this.sortDesc = false;\n }\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=ec12f1be&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\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 \"ec12f1be\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VTooltip})\n","import { DataQualityHeader } from \"@/types/dataQuality/dataQualityTable\";\r\nexport const headers: DataQualityHeader[] = [\r\n {\r\n text: \"Vessel\",\r\n type: \"string\",\r\n value: \"vesselName\",\r\n width: \"260px\",\r\n },\r\n {\r\n text: \"Data Availability\",\r\n type: \"dataIndicator\",\r\n value: \"dataAvailability\",\r\n class: \"text-center\",\r\n tooltip: \"Indicates whether critical data tags are available\",\r\n },\r\n {\r\n text: \"Data Outliers\",\r\n type: \"dataIndicator\",\r\n value: \"dataOutliers\",\r\n class: \"text-center\",\r\n tooltip: \"Indicates the amount of outliers for critical data tags\",\r\n },\r\n {\r\n text: \"Speed Log\",\r\n type: \"dataIndicator\",\r\n value: \"speedLog\",\r\n class: \"text-center\",\r\n tooltip: \"Indicates quality of speed log data using drift algorithm that compares it to derived STW\",\r\n },\r\n];\r\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 store from \"@/store\";\n// components\nimport FleetOverviewTable from \"@/components/dataQuality/FleetOverviewTable/index.vue\";\n// types\nimport { DataQualityHeader } from \"@/types/dataQuality/dataQualityTable\";\nimport { headers } from \"./VDataTableHeaders/FleetOverview\";\n// modules\nimport { getModule } from \"vuex-module-decorators\";\nimport DataQualityModule from \"@/store/clients/DataQuality.module\";\nimport VesselsModule from \"@/store/clients/Vessels.module\";\n\nconst Vessels = getModule(VesselsModule, store);\nconst DataQuality = getModule(DataQualityModule, store);\n\n@Component({\n components: {\n FleetOverviewTable,\n },\n})\nexport default class FleetOverview extends Vue {\n searchQuery = \"\";\n links: (string | null)[] = [null, \"/DataQuality/DataAvailability\", \"/DataQuality/DataOutliers\", null];\n\n headers: DataQualityHeader[] = headers;\n\n // @Getters\n get fleetOverview(): any {\n var fleetOverview = DataQuality.fleetOverview.map(item => {\n const vessel = Vessels.extendedVessels.find(vessel => vessel.id === item.vesselId);\n return {\n vesselName: {\n value: vessel ? vessel.name : \"Unknown Vessel\",\n },\n overallStatus: {\n value: item.overallStatus,\n },\n dataAvailability: {\n value: item.dataAvailability,\n },\n dataOutliers: {\n value: item.dataOutliers,\n },\n speedLog: {\n value: 0,\n },\n };\n });\n return Boolean(this.searchQuery !== null && this.searchQuery.trim()) ? fleetOverview.filter(item => item.vesselName.value.toLowerCase().includes(this.searchQuery.toLowerCase())) : fleetOverview;\n }\n\n get tableLoading(): boolean {\n return DataQuality.loadingState;\n }\n\n // @Hooks\n async created(): Promise {\n await Promise.all([Vessels.refreshExtendedVessels(), DataQuality.refreshFleetOverview()]);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FleetOverview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FleetOverview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FleetOverview.vue?vue&type=template&id=5c36968b&scoped=true&\"\nimport script from \"./FleetOverview.vue?vue&type=script&lang=ts&\"\nexport * from \"./FleetOverview.vue?vue&type=script&lang=ts&\"\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 \"5c36968b\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VContainer,VTextField})\n"],"sourceRoot":""}