{"version":3,"sources":["webpack:///./src/views/dashboard/components/dashboard-overview.vue?b7e4","webpack:///./src/views/dashboard/components/dashboard-overview.vue?313f","webpack:///src/views/dashboard/components/dashboard-overview.vue","webpack:///./src/views/dashboard/components/dashboard-overview.vue?b41b","webpack:///./src/views/dashboard/components/dashboard-overview.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","backgroundColor","attrs","icon","_v","_s","title","_l","stat","index","key","textColor","value","displayCompareValue","_e","staticRenderFns","name","props","color","data","compareByCount","compareByPercentage","noCompare","computed","isComparable","displayCompareCount","displayComparePercentage","Math","round","curr","prev","component"],"mappings":"kHAAA,W,2CCAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACE,YAAY,mBAAmBC,MAAMP,EAAIQ,iBAAiB,CAACJ,EAAG,OAAO,CAACA,EAAG,MAAM,CAACK,MAAM,CAAC,IAAM,UAAS,KAAcT,EAAIU,KAAO,iBAAkBN,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,OAAO,CAACE,YAAY,yBAAyB,CAACN,EAAIW,GAAGX,EAAIY,GAAGZ,EAAIa,UAAUb,EAAIc,GAAId,EAAQ,MAAE,SAASe,EAAKC,GAAO,OAAOZ,EAAG,MAAM,CAACa,IAAID,EAAMV,YAAY,4CAA4C,CAACF,EAAG,MAAM,CAACE,YAAY,OAAO,CAACN,EAAIW,GAAGX,EAAIY,GAAGG,EAAKE,QAAQb,EAAG,MAAM,CAACE,YAAY,uBAAuBC,MAAMP,EAAIkB,WAAW,CAACd,EAAG,MAAM,CAACJ,EAAIW,GAAGX,EAAIY,GAAGG,EAAKI,iBAAiBnB,EAAgB,aAAEI,EAAG,MAAM,CAACE,YAAY,4CAA4C,CAACF,EAAG,MAAM,CAACE,YAAY,QAAQF,EAAG,MAAM,CAACE,YAAY,uBAAuBC,MAAMP,EAAIkB,WAAW,CAAClB,EAAIW,GAAG,IAAIX,EAAIY,GAAGZ,EAAIoB,qBAAqB,SAASpB,EAAIqB,MAAM,UACtgCC,EAAkB,GCqCtB,GACEC,KAAM,qBACNC,MAAO,CACLX,MAAO,CAAX,yBACIY,MAAO,CAAX,yBACIf,KAAM,CAAV,yBACIgB,KAAM,CAAV,wBACIC,eAAgB,CAApB,2CACIC,oBAAqB,CAAzB,2CACIC,UAAW,CAAf,0BAEEC,SAAU,CACRC,aADJ,WAEM,OAAN,qFAEIX,oBAJJ,WAKM,IAAN,OAQM,OANInB,KAAK0B,iBAAgBR,EAAQlB,KAAK+B,qBAClC/B,KAAK2B,sBAAqBT,EAAQlB,KAAKgC,0BAEvCd,EAAQ,IAAGA,EAAQ,IAAMA,GACzBlB,KAAK2B,sBAAqBT,GAAgB,KAEvCA,GAETa,oBAfJ,WAgBM,OAAO/B,KAAKyB,KAAK,GAAGP,MAAQlB,KAAKyB,KAAK,GAAGP,OAE3Cc,yBAlBJ,WAmBM,IAAN,qBACA,qBAEM,OAAOC,KAAKC,OAAOC,EAAOC,GAAQA,EAAO,MAE3C7B,gBAxBJ,WAyBM,MAAO,MAAQP,KAAKwB,OAEtBP,UA3BJ,WA4BM,MAAO,QAAUjB,KAAKwB,SC7E8V,I,wBCQtXa,EAAY,eACd,EACAvC,EACAuB,GACA,EACA,KACA,WACA,MAIa,aAAAgB,E","file":"js/chunk-99ca2a3a.04c24092.js","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dashboard-overview.vue?vue&type=style&index=0&id=4109f130&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-auto d-flex\"},[_c('div',{staticClass:\"circle-icon mr-2\",class:_vm.backgroundColor},[_c('span',[_c('img',{attrs:{\"src\":require((\"@/assets/\" + _vm.icon + \".svg\"))}})])])]),_c('div',{staticClass:\"col\"},[_c('span',{staticClass:\"font-weight-bold mt-2\"},[_vm._v(_vm._s(_vm.title))]),_vm._l((_vm.data),function(stat,index){return _c('div',{key:index,staticClass:\"row d-flex justify-content-space-between\"},[_c('div',{staticClass:\"col\"},[_vm._v(_vm._s(stat.key))]),_c('div',{staticClass:\"col font-weight-bold\",class:_vm.textColor},[_c('div',[_vm._v(_vm._s(stat.value))])])])}),(_vm.isComparable)?_c('div',{staticClass:\"row d-flex justify-content-space-between\"},[_c('div',{staticClass:\"col\"}),_c('div',{staticClass:\"col font-weight-bold\",class:_vm.textColor},[_vm._v(\" \"+_vm._s(_vm.displayCompareValue)+\" \")])]):_vm._e()],2)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-auto d-flex\">\r\n <div class=\"circle-icon mr-2\" :class=\"backgroundColor\">\r\n <span>\r\n <img :src=\"require(`@/assets/${ icon }.svg`)\" />\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"col\">\r\n <span class=\"font-weight-bold mt-2\">{{ title }}</span>\r\n <div class=\"row d-flex justify-content-space-between\" v-for=\"(stat, index) in data\" :key=\"index\">\r\n <div class=\"col\">{{ stat.key }}</div>\r\n <div class=\"col font-weight-bold\" :class=\"textColor\">\r\n <div>{{ stat.value }}</div>\r\n </div>\r\n </div>\r\n <div class=\"row d-flex justify-content-space-between\" v-if=\"isComparable\">\r\n <div class=\"col\"> </div>\r\n <div class=\"col font-weight-bold\" :class=\"textColor\">\r\n {{ displayCompareValue }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<style scoped>\r\n .card {\r\n min-height: 138px;\r\n }\r\n</style>\r\n\r\n<script>\r\nexport default {\r\n name: \"dashboard-overview\",\r\n props: {\r\n title: { type: String, required: true },\r\n color: { type: String, required: true },\r\n icon: { type: String, required: true },\r\n data: { type: Array, required: true },\r\n compareByCount: { type: Boolean, default: () => false },\r\n compareByPercentage: { type: Boolean, default: () => false },\r\n noCompare: { type: Boolean, default: false }\r\n },\r\n computed: {\r\n isComparable() {\r\n return (!this.noCompare && this.data.length > 1 && (this.compareByCount || this.compareByPercentage));\r\n },\r\n displayCompareValue() {\r\n let value = null;\r\n\r\n if (this.compareByCount) value = this.displayCompareCount;\r\n if (this.compareByPercentage) value = this.displayComparePercentage;\r\n\r\n if (value > 0) value = '+' + value;\r\n if (this.compareByPercentage) value = value + '%';\r\n\r\n return value;\r\n },\r\n displayCompareCount() {\r\n return this.data[1].value - this.data[0].value;\r\n },\r\n displayComparePercentage() {\r\n let prev = this.data[1].value;\r\n let curr = this.data[0].value;\r\n\r\n return Math.round((curr - prev) / prev * 100);\r\n },\r\n backgroundColor() {\r\n return \"bg-\" + this.color;\r\n },\r\n textColor() {\r\n return \"text-\" + this.color;\r\n }\r\n }\r\n};\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dashboard-overview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dashboard-overview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dashboard-overview.vue?vue&type=template&id=4109f130&scoped=true&\"\nimport script from \"./dashboard-overview.vue?vue&type=script&lang=js&\"\nexport * from \"./dashboard-overview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dashboard-overview.vue?vue&type=style&index=0&id=4109f130&scoped=true&lang=css&\"\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 \"4109f130\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}