{"version":3,"sources":["webpack:///src/components/Dashboards/ReservationYearStats.vue","webpack:///src/components/UI/Charts/BarChart.vue","webpack:///src/components/UI/Charts/LineChart.vue","webpack:///./src/components/Dashboards/ReservationYearStats.vue","webpack:///./src/components/UI/Charts/BarChart.vue","webpack:///./src/components/UI/Charts/LineChart.vue","webpack:///./src/components/UI/Charts/BarChart.vue?6528","webpack:///./src/components/UI/Charts/BarChart.vue?9350","webpack:///./src/components/Dashboards/ReservationYearStats.vue?9e12","webpack:///./src/components/Dashboards/ReservationYearStats.vue?de83","webpack:///./src/components/Dashboards/ReservationYearStats.vue?3d64","webpack:///./src/components/UI/Charts/BarChart.vue?1607","webpack:///./src/components/UI/Charts/BarChart.vue?23b1","webpack:///./src/components/UI/Charts/BarChart.vue?897a","webpack:///./src/components/UI/Charts/BarChart.vue?d5f9","webpack:///./src/components/UI/Charts/LineChart.vue?be44","webpack:///./src/components/UI/Charts/LineChart.vue?9075","webpack:///./src/components/UI/Charts/LineChart.vue?7eb4"],"names":["props","companyId","default","type","Number","locationId","yearsToShow","data","reservationYearStats","Year","Date","getFullYear","NrOfReservations","TotalSeats","TotalRevenueExclTax","ChurnRate","showAllYears","computed","filteredStats","stats","slice","created","getLocationReservationYearStats","methods","_this","statsProvider","then","response","status","setShowAll","Chart","register","BarElement","BarController","CategoryScale","LinearScale","Decimation","Legend","Title","Tooltip","chartdata","Object","options","chartBar","watch","deep","handler","val","update","mounted","$refs","beforeDestroy","destroy","LineElement","PointElement","LineController","render","_vm","_c","_self","staticClass","_v","_s","$t","attrs","align","tag","name","_l","stat","key","_f","colspan","length","on","click","icon","_e","staticRenderFns","_withStripped","ref"],"mappings":"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","file":"js/company-statistics.js?id=2801e798eed6e0362ed6","sourcesContent":["<template>\n  <div>\n    <table class=\"table is-fullwidth is-striped is-narrow is-size-7 is-size-6-desktop has-margin-top has-margin-bottom\">\n      <thead>\n        <tr>\n          <th>\n            {{ $t('Components.Dashboards.ReservationYearStats.Table_Year') }}\n          </th>\n          <th align=\"right\">\n            {{ $t('Components.Dashboards.ReservationYearStats.Table_NrOfRes') }}\n          </th>\n          <th align=\"right\">\n            {{\n              $t('Components.Dashboards.ReservationYearStats.Table_TotalSeats')\n            }}\n          </th>\n          <th align=\"right\">\n            {{\n              $t(\n                'Components.Dashboards.ReservationYearStats.Table_TotalRevenue'\n              )\n            }}\n          </th>\n          <th align=\"right\">\n            {{\n              $t('Components.Dashboards.ReservationYearStats.Table_ChurnRate')\n            }}\n          </th>\n        </tr>\n      </thead>\n      <tbody\n        name=\"slide-down\"\n        is=\"transition-group\"\n      >\n        <tr\n          v-for=\"stat in filteredStats\"\n          :key=\"stat.Year\"\n        >\n          <td>{{ stat.Year }}</td>\n          <td align=\"right\">\n            {{ stat.NrOfReservations === -1 ? '--' : stat.NrOfReservations }}\n          </td>\n          <td align=\"right\">\n            {{ stat.TotalSeats === -1 ? '--' : stat.TotalSeats }}\n          </td>\n          <td align=\"right\">\n            {{\n              stat.TotalRevenueExclTax === -1\n                ? '--'\n                : stat.TotalRevenueExclTax | toCurrency\n            }}\n          </td>\n          <td align=\"right\">\n            {{ stat.ChurnRate === -1 ? '--' : stat.ChurnRate + '%' }}\n          </td>\n        </tr>\n      </tbody>\n      <tfoot>\n        <tr>\n          <td colspan=\"5\">\n            <div></div>\n\n            <div\n              v-if=\"!showAllYears && reservationYearStats.length > 3\"\n              class=\"has-text-centered\"\n            >\n              <a\n                class=\"button is-small\"\n                @click=\"setShowAll\"\n              >\n                <span class=\"icon\">\n                  <font-awesome-icon :icon=\"['fas', 'chevron-down']\" />\n                </span>\n                <span>{{\n                  $t(\n                    'Components.Dashboards.ReservationYearStats.Button_ShowMore'\n                  )\n                }}</span>\n              </a>\n            </div>\n\n            <div\n              v-if=\"showAllYears\"\n              class=\"has-text-centered\"\n            >\n              <a\n                class=\"button is-small\"\n                @click=\"setShowAll\"\n              >\n                <span class=\"icon\">\n                  <font-awesome-icon :icon=\"['fas', 'chevron-up']\" />\n                </span>\n                <span>{{\n                  $t(\n                    'Components.Dashboards.ReservationYearStats.Button_ShowLess'\n                  )\n                }}</span>\n              </a>\n            </div>\n          </td>\n        </tr>\n      </tfoot>\n    </table>\n  </div>\n</template>\n\n<script>\nimport statsProvider from '@/providers/stats'\n\nexport default {\n  props: {\n    companyId: {\n      default: 0,\n      type: Number,\n    },\n\n    locationId: {\n      default: 0,\n      type: Number,\n    },\n\n    yearsToShow: {\n      default: 3,\n      type: Number,\n    }\n  },\n\n  data() {\n    return {\n      reservationYearStats: [\n        {\n          Year: new Date().getFullYear() + 1,\n          NrOfReservations: -1,\n          TotalSeats: -1,\n          TotalRevenueExclTax: -1,\n          ChurnRate: -1,\n        },\n        {\n          Year: new Date().getFullYear(),\n          NrOfReservations: -1,\n          TotalSeats: -1,\n          TotalRevenueExclTax: -1,\n          ChurnRate: -1,\n        },\n        {\n          Year: new Date().getFullYear() - 1,\n          NrOfReservations: -1,\n          TotalSeats: -1,\n          TotalRevenueExclTax: -1,\n          ChurnRate: -1,\n        },\n      ],\n      showAllYears: false,\n    }\n  },\n\n  computed: {\n    filteredStats() {\n      let stats = []\n\n      if (this.showAllYears) {\n        stats = this.reservationYearStats\n      } else {\n        stats = this.reservationYearStats.slice(0, this.yearsToShow)\n      }\n\n      return stats\n    },\n  },\n\n  created() {\n    this.getLocationReservationYearStats()\n  },\n\n  methods: {\n    getLocationReservationYearStats() {\n      statsProvider.methods\n        .getLocationReservationYearStats(this.locationId, this.companyId)\n        .then((response) => {\n          if (response.status === 200) {\n            this.reservationYearStats = response.data\n          }\n        })\n    },\n\n    setShowAll() {\n      this.showAllYears = !this.showAllYears\n    },\n  },\n}\n</script>\n","<template>\n<div>\n  <canvas ref=\"chartWrapper\"></canvas>\n</div>\n</template>\n\n<script>\nimport {\n  Chart,\n  BarElement,\n  BarController,\n  CategoryScale,\n  LinearScale,\n  Decimation,\n  Legend,\n  Title,\n  Tooltip\n} from 'chart.js'\nChart.register(\n  BarElement,\n  BarController,\n  CategoryScale,\n  LinearScale,\n  Decimation,\n  Legend,\n  Title,\n  Tooltip\n)\n\nexport default {\n  props: {\n    chartdata: {\n      type: Object,\n      default: null,\n    },\n    options: {\n      type: Object,\n      default: null,\n    },\n  },\n\n  data() {\n    return {\n      chartBar: null,\n    }\n  },\n\n  watch: {\n    'chartdata': {\n      deep: true,\n      handler: function(val) {\n        this.chartBar.data = val\n        this.chartBar.update();\n      }\n    }\n  },\n\n  mounted() {\n    this.chartBar = new Chart(this.$refs['chartWrapper'], {\n      type: 'bar',\n      data: this.chartdata,\n      options: this.options\n    })\n  },\n\n  beforeDestroy() {\n    this.chartBar.destroy();\n  },\n\n  methods: {\n  }\n}\n</script>\n\n<style lang=\"scss\" scoped>\ncanvas {\n  width: 100% !important;\n}\n</style>","<template>\n  <div>\n    <canvas ref=\"chartWrapper\"></canvas>\n  </div>\n</template>\n\n<script>\nimport {\n  Chart,\n  LineElement,\n  PointElement,\n  LineController,\n  CategoryScale,\n  LinearScale,\n  Decimation,\n  Legend,\n  Title,\n  Tooltip\n} from 'chart.js'\nChart.register(\n  LineElement,\n  PointElement,\n  LineController,\n  CategoryScale,\n  LinearScale,\n  Decimation,\n  Legend,\n  Title,\n  Tooltip\n)\n\nexport default {\n  props: {\n    chartdata: {\n      type: Object,\n      default: null,\n    },\n    options: {\n      type: Object,\n      default: null,\n    },\n  },\n\n  data() {\n    return {\n      chartBar: null,\n    }\n  },\n\n  watch: {\n    'chartdata': {\n      deep: true,\n      handler: function(val) {\n        this.chartBar.data = val\n        this.chartBar.update();\n      }\n    }\n  },\n\n  mounted() {\n    this.chartBar = new Chart(this.$refs['chartWrapper'], {\n      type: 'line',\n      data: this.chartdata,\n      options: this.options\n    })\n  },\n\n  beforeDestroy() {\n    this.chartBar.destroy();\n  },\n\n  methods: {\n  }\n}\n\n\n// import { Line } from 'vue-chartjs'\n\n// export default {\n//   extends: Line,\n//   props: {\n//     chartdata: {\n//       type: Object,\n//       default: null,\n//     },\n//     options: {\n//       type: Object,\n//       default: null,\n//     },\n//   },\n//   mounted() {\n//     this.renderChart(this.chartdata, this.options)\n//   },\n// }\n</script>\n","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\"div\", [\n    _c(\n      \"table\",\n      {\n        staticClass:\n          \"table is-fullwidth is-striped is-narrow is-size-7 is-size-6-desktop has-margin-top has-margin-bottom\",\n      },\n      [\n        _c(\"thead\", [\n          _c(\"tr\", [\n            _c(\"th\", [\n              _vm._v(\n                \" \" +\n                  _vm._s(\n                    _vm.$t(\n                      \"Components.Dashboards.ReservationYearStats.Table_Year\"\n                    )\n                  ) +\n                  \" \"\n              ),\n            ]),\n            _c(\"th\", { attrs: { align: \"right\" } }, [\n              _vm._v(\n                \" \" +\n                  _vm._s(\n                    _vm.$t(\n                      \"Components.Dashboards.ReservationYearStats.Table_NrOfRes\"\n                    )\n                  ) +\n                  \" \"\n              ),\n            ]),\n            _c(\"th\", { attrs: { align: \"right\" } }, [\n              _vm._v(\n                \" \" +\n                  _vm._s(\n                    _vm.$t(\n                      \"Components.Dashboards.ReservationYearStats.Table_TotalSeats\"\n                    )\n                  ) +\n                  \" \"\n              ),\n            ]),\n            _c(\"th\", { attrs: { align: \"right\" } }, [\n              _vm._v(\n                \" \" +\n                  _vm._s(\n                    _vm.$t(\n                      \"Components.Dashboards.ReservationYearStats.Table_TotalRevenue\"\n                    )\n                  ) +\n                  \" \"\n              ),\n            ]),\n            _c(\"th\", { attrs: { align: \"right\" } }, [\n              _vm._v(\n                \" \" +\n                  _vm._s(\n                    _vm.$t(\n                      \"Components.Dashboards.ReservationYearStats.Table_ChurnRate\"\n                    )\n                  ) +\n                  \" \"\n              ),\n            ]),\n          ]),\n        ]),\n        _c(\n          \"transition-group\",\n          { tag: \"tbody\", attrs: { name: \"slide-down\" } },\n          _vm._l(_vm.filteredStats, function (stat) {\n            return _c(\"tr\", { key: stat.Year }, [\n              _c(\"td\", [_vm._v(_vm._s(stat.Year))]),\n              _c(\"td\", { attrs: { align: \"right\" } }, [\n                _vm._v(\n                  \" \" +\n                    _vm._s(\n                      stat.NrOfReservations === -1\n                        ? \"--\"\n                        : stat.NrOfReservations\n                    ) +\n                    \" \"\n                ),\n              ]),\n              _c(\"td\", { attrs: { align: \"right\" } }, [\n                _vm._v(\n                  \" \" +\n                    _vm._s(stat.TotalSeats === -1 ? \"--\" : stat.TotalSeats) +\n                    \" \"\n                ),\n              ]),\n              _c(\"td\", { attrs: { align: \"right\" } }, [\n                _vm._v(\n                  \" \" +\n                    _vm._s(\n                      _vm._f(\"toCurrency\")(\n                        stat.TotalRevenueExclTax === -1\n                          ? \"--\"\n                          : stat.TotalRevenueExclTax\n                      )\n                    ) +\n                    \" \"\n                ),\n              ]),\n              _c(\"td\", { attrs: { align: \"right\" } }, [\n                _vm._v(\n                  \" \" +\n                    _vm._s(\n                      stat.ChurnRate === -1 ? \"--\" : stat.ChurnRate + \"%\"\n                    ) +\n                    \" \"\n                ),\n              ]),\n            ])\n          }),\n          0\n        ),\n        _c(\"tfoot\", [\n          _c(\"tr\", [\n            _c(\"td\", { attrs: { colspan: \"5\" } }, [\n              _c(\"div\"),\n              !_vm.showAllYears && _vm.reservationYearStats.length > 3\n                ? _c(\"div\", { staticClass: \"has-text-centered\" }, [\n                    _c(\n                      \"a\",\n                      {\n                        staticClass: \"button is-small\",\n                        on: { click: _vm.setShowAll },\n                      },\n                      [\n                        _c(\n                          \"span\",\n                          { staticClass: \"icon\" },\n                          [\n                            _c(\"font-awesome-icon\", {\n                              attrs: { icon: [\"fas\", \"chevron-down\"] },\n                            }),\n                          ],\n                          1\n                        ),\n                        _c(\"span\", [\n                          _vm._v(\n                            _vm._s(\n                              _vm.$t(\n                                \"Components.Dashboards.ReservationYearStats.Button_ShowMore\"\n                              )\n                            )\n                          ),\n                        ]),\n                      ]\n                    ),\n                  ])\n                : _vm._e(),\n              _vm.showAllYears\n                ? _c(\"div\", { staticClass: \"has-text-centered\" }, [\n                    _c(\n                      \"a\",\n                      {\n                        staticClass: \"button is-small\",\n                        on: { click: _vm.setShowAll },\n                      },\n                      [\n                        _c(\n                          \"span\",\n                          { staticClass: \"icon\" },\n                          [\n                            _c(\"font-awesome-icon\", {\n                              attrs: { icon: [\"fas\", \"chevron-up\"] },\n                            }),\n                          ],\n                          1\n                        ),\n                        _c(\"span\", [\n                          _vm._v(\n                            _vm._s(\n                              _vm.$t(\n                                \"Components.Dashboards.ReservationYearStats.Button_ShowLess\"\n                              )\n                            )\n                          ),\n                        ]),\n                      ]\n                    ),\n                  ])\n                : _vm._e(),\n            ]),\n          ]),\n        ]),\n      ],\n      1\n    ),\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\"div\", [_c(\"canvas\", { ref: \"chartWrapper\" })])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\"div\", [_c(\"canvas\", { ref: \"chartWrapper\" })])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/**\\n* Colors\\n*/\\n/**\\n* Text sizes\\n*/\\n/**\\n* Column settings\\n*/\\n/**\\n* Font properties\\n*/\\ncanvas[data-v-d9e4f0cc] {\\n  width: 100% !important;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../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!./BarChart.vue?vue&type=style&index=0&id=d9e4f0cc&lang=scss&scoped=true\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"d6fd0894\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../../../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!./BarChart.vue?vue&type=style&index=0&id=d9e4f0cc&lang=scss&scoped=true\", function() {\n     var newContent = require(\"!!../../../../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!./BarChart.vue?vue&type=style&index=0&id=d9e4f0cc&lang=scss&scoped=true\");\n     if(newContent.__esModule) newContent = newContent.default;\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}","import { render, staticRenderFns } from \"./ReservationYearStats.vue?vue&type=template&id=8038da74\"\nimport script from \"./ReservationYearStats.vue?vue&type=script&lang=js\"\nexport * from \"./ReservationYearStats.vue?vue&type=script&lang=js\"\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\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/github/workspace/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('8038da74')) {\n      api.createRecord('8038da74', component.options)\n    } else {\n      api.reload('8038da74', component.options)\n    }\n    module.hot.accept(\"./ReservationYearStats.vue?vue&type=template&id=8038da74\", function () {\n      api.rerender('8038da74', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/Dashboards/ReservationYearStats.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReservationYearStats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReservationYearStats.vue?vue&type=script&lang=js\"","export * from \"-!../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"381a4baa-vue-loader-template\\\"}!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReservationYearStats.vue?vue&type=template&id=8038da74\"","import { render, staticRenderFns } from \"./BarChart.vue?vue&type=template&id=d9e4f0cc&scoped=true\"\nimport script from \"./BarChart.vue?vue&type=script&lang=js\"\nexport * from \"./BarChart.vue?vue&type=script&lang=js\"\nimport style0 from \"./BarChart.vue?vue&type=style&index=0&id=d9e4f0cc&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  \"d9e4f0cc\",\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/github/workspace/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('d9e4f0cc')) {\n      api.createRecord('d9e4f0cc', component.options)\n    } else {\n      api.reload('d9e4f0cc', component.options)\n    }\n    module.hot.accept(\"./BarChart.vue?vue&type=template&id=d9e4f0cc&scoped=true\", function () {\n      api.rerender('d9e4f0cc', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/UI/Charts/BarChart.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=js\"","export * from \"-!../../../../node_modules/vue-style-loader/index.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!./BarChart.vue?vue&type=style&index=0&id=d9e4f0cc&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"381a4baa-vue-loader-template\\\"}!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=template&id=d9e4f0cc&scoped=true\"","import { render, staticRenderFns } from \"./LineChart.vue?vue&type=template&id=61c759cb\"\nimport script from \"./LineChart.vue?vue&type=script&lang=js\"\nexport * from \"./LineChart.vue?vue&type=script&lang=js\"\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\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/github/workspace/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('61c759cb')) {\n      api.createRecord('61c759cb', component.options)\n    } else {\n      api.reload('61c759cb', component.options)\n    }\n    module.hot.accept(\"./LineChart.vue?vue&type=template&id=61c759cb\", function () {\n      api.rerender('61c759cb', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/UI/Charts/LineChart.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js\"","export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"381a4baa-vue-loader-template\\\"}!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=template&id=61c759cb\""],"sourceRoot":""}