{"version":3,"sources":["webpack:///src/components/Dashboards/ReservationsStatusSplit.vue","webpack:///src/components/UI/Charts/Doughnut.vue","webpack:///src/components/UI/Message.vue","webpack:///./src/components/Dashboards/ReservationsStatusSplit.vue","webpack:///./src/components/UI/Charts/Doughnut.vue","webpack:///./src/components/UI/Message.vue","webpack:///./src/components/UI/Charts/Doughnut.vue?bb94","webpack:///./src/components/UI/Charts/Doughnut.vue?4048","webpack:///./src/components/Dashboards/ReservationsStatusSplit.vue?1805","webpack:///./src/components/Dashboards/ReservationsStatusSplit.vue?81ea","webpack:///./src/components/Dashboards/ReservationsStatusSplit.vue?1792","webpack:///./src/components/UI/Charts/Doughnut.vue?e945","webpack:///./src/components/UI/Charts/Doughnut.vue?12d9","webpack:///./src/components/UI/Charts/Doughnut.vue?5268","webpack:///./src/components/UI/Charts/Doughnut.vue?04b8","webpack:///./src/components/UI/Message.vue?fb09","webpack:///./src/components/UI/Message.vue?fba0","webpack:///./src/components/UI/Message.vue?3503"],"names":["components","Doughnut","Message","props","fixLegendPosition","type","Boolean","default","companyId","Number","channelId","locationId","meetingtypeId","voucherId","customerId","leadId","showDatesLabel","searchTerm","String","endDate","Date","startDate","data","convertedData","dataLoaded","noData","reservations","chartData","labels","datasets","options","plugins","legend","display","position","cutout","responsive","maintainAspectRatio","aspectRatio","computed","filteredReservation","length","filter","r","Status","created","getReservationStatusSplitData","mounted","window","addEventListener","windowResizeListener","beforeDestroy","removeEventListener","methods","el","$el","getBoundingClientRect","Object","assign","width","_this","reservationProvider","getLocationReservationStatusCount","format","then","response","status","finally","prepData","borderColors","backgroundColors","i","res","push","statusColor","getStatusColour","borderColor","backgroundColor","NrOfReservations","reduce","a","b","$t","borderWidth","Chart","register","ArcElement","DoughnutController","CategoryScale","LinearScale","Decimation","Legend","Title","Tooltip","chartdata","chartBar","watch","deep","handler","val","update","$refs","destroy","message","size","combindedClass","c","render","_vm","_c","_self","staticClass","_v","_s","attrs","_e","staticRenderFns","_withStripped","ref","class","_t"],"mappings":"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","file":"js/91.js?id=1bb7a3a2f29b313593b8","sourcesContent":["<template>\n  <div>\n    <p class=\"subtitle\">\n      {{\n        $t('Components.Dashboards.ReservationsStatusSplit.Subtitle_StatusSplit')\n      }}\n    </p>\n\n    <Doughnut\n      v-if=\"dataLoaded\"\n      :chartdata=\"chartData\"\n      :options=\"options\"\n      class=\"doughnut\"\n    />\n\n    <Message\n      v-if=\"dataLoaded && noData\"\n      :message=\"\n        $t(\n          'Components.Dashboards.ReservationsStatusSplit.Message_NoReservations'\n        )\n      \"\n    />\n  </div>\n</template>\n<script>\nimport reservationProvider from '@/providers/reservation'\nimport Doughnut from '@/components/UI/Charts/Doughnut'\nimport Message from '@/components/UI/Message'\nimport { format, parseISO } from 'date-fns'\n\nexport default {\n  components: {\n    Doughnut,\n    Message,\n  },\n\n  props: {\n    fixLegendPosition: {\n      type: Boolean,\n      default: false,\n    },\n    companyId: {\n      default: 0,\n      type: Number,\n    },\n\n    channelId: {\n      default: 0,\n      type: Number,\n    },\n\n    locationId: {\n      default: 0,\n      type: Number,\n    },\n\n    meetingtypeId: {\n      default: 0,\n      type: Number,\n    },\n\n    voucherId: {\n      default: 0,\n      type: Number,\n    },\n\n    customerId: {\n      default: 0,\n      type: Number,\n    },\n\n    leadId: {\n      default: 0,\n      type: Number,\n    },\n\n    showDatesLabel: {\n      default: false,\n      type: Boolean,\n    },\n\n    searchTerm: {\n      default: '',\n      type: String,\n    },\n\n    endDate: {\n      default: () => {\n        return new Date(1900, 0, 1)\n      },\n      type: Date,\n    },\n\n    startDate: {\n      default: () => {\n        return new Date(1900, 0, 1)\n      },\n      type: Date,\n    },\n  },\n\n  data() {\n    return {\n      convertedData: [],\n      dataLoaded: false,\n      noData: false,\n      reservations: [],\n\n      chartData: {\n        labels: [],\n        datasets: [],\n      },\n\n      options: {\n        plugins: {\n          legend: {\n            display: true,\n            position: 'bottom',\n          },\n        },\n        cutout: '75%',\n        responsive: true,\n        maintainAspectRatio: true,\n        aspectRatio: 16 / 9,\n      }\n    }\n  },\n\n  computed: {\n    filteredReservation() {\n      let reservations = [];\n\n      if (this.reservations.length > 0) {\n        reservations = this.reservations.filter((r) => r.Status !== 'PendingPayment' && r.Status !== 'LocationMustConfirm');\n      }\n\n      return reservations;\n    },\n  },\n\n  created() {\n    this.getReservationStatusSplitData()\n  },\n\n  mounted() {\n    window.addEventListener('resize', this.windowResizeListener)\n    this.windowResizeListener()\n  },\n\n  beforeDestroy() {\n    window.removeEventListener('resize', this.windowResizeListener)\n  },\n\n  methods: {\n    windowResizeListener() {\n      if (this.fixLegendPosition) {\n        return\n      }\n      const el = this.$el.getBoundingClientRect()\n      this.options = Object.assign(this.options, {\n        plugins: {\n          legend: {\n            position: el.width < 340 ? 'bottom' : 'right',\n          },\n        },\n        aspectRatio: el.width < 340 ? 4 / 3 : 16 / 9,\n      })\n    },\n\n    getReservationStatusSplitData() {\n      reservationProvider.methods.getLocationReservationStatusCount(\n          this.channelId,\n          this.locationId,\n          this.searchTerm, \n          format(this.startDate, 'yyyy-MM-dd'),\n          format(this.endDate, 'yyyy-MM-dd'),\n          this.meetingtypeId, \n          this.companyId, \n          this.customerId,\n          this.leadId,\n          this.voucherId\n        )\n        .then((response) => {\n          if (response.status === 200) {\n            this.reservations = response.data\n          }\n        })\n        .finally(() => {\n          this.prepData()\n        })\n    },\n\n    prepData() {\n      this.chartData.datasets = []\n\n      let labels = []\n      let borderColors = []\n      let backgroundColors = []\n      let data = []\n\n      for (let i = 0; i < this.filteredReservation.length; i++) {\n        let res = this.filteredReservation[i];\n        //labels.push(this.$t(`Components.Proposals.ProposalRequests.Status_${res.Status}`));\n        labels.push(res.Status);\n\n        let statusColor = this.getStatusColour(res.Status);\n\n        borderColors.push(statusColor.borderColor);\n        backgroundColors.push(statusColor.backgroundColor);\n\n        data.push(res.NrOfReservations)\n      }\n\n      this.noData =\n        data.reduce((a, b) => {\n          return a + b\n        }) === 0\n      this.options.plugins.legend.display = !this.noData\n\n      if (this.noData) {\n        this.chartData.labels = [\n          this.$t(\n            'Components.Dashboards.ReservationInvoiceSplit.Label_NoReservations'\n          ),\n        ]\n        this.chartData.datasets.push({\n          borderWidth: 1,\n          borderColor: ['rgba(16, 16, 16, .5)'],\n          backgroundColor: ['rgba(16, 16, 16, 0.3)'],\n          data: [100],\n        })\n      } else {\n        this.chartData.labels = labels\n        this.chartData.datasets.push({\n          borderWidth: 1,\n          borderColor: borderColors,\n          backgroundColor: backgroundColors,\n          data: data,\n        })\n      }\n\n      this.dataLoaded = true;\n    },\n\n    getStatusColour(status) {\n      switch (status) {\n        case 'Request':\n          return {\n            borderColor: 'rgba(254, 198, 50, 1)',\n            backgroundColor: 'rgba(254, 198, 50, 0.3)',\n          }\n        case 'Optional':\n          return {\n            borderColor: 'rgba(2, 186, 255, 1)',\n            backgroundColor: 'rgba(2, 186, 255, 0.3)',\n          }\n        case 'Final':\n          return {\n            borderColor: 'rgba(149, 193, 30, 1)',\n            backgroundColor: 'rgba(149, 193, 30, 0.3)',\n          }\n        case 'Cancelled':\n          return {\n            borderColor: 'rgba(252, 60, 99, 1)',\n            backgroundColor: 'rgba(252, 60, 99, 0.3)',\n          }\n        default:\n          return {\n            borderColor: 'rgba(16, 16, 16, 1)',\n            backgroundColor: 'rgba(16, 16, 16, 0.3)',\n          }\n      }\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  ArcElement,\n  DoughnutController,\n  CategoryScale,\n  LinearScale,\n  Decimation,\n  Legend,\n  Title,\n  Tooltip\n} from 'chart.js'\nChart.register(\n  ArcElement,\n  DoughnutController,\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: 'doughnut',\n      data: this.chartdata,\n      options: this.options\n    })\n  },\n\n  beforeDestroy() {\n    this.chartBar.destroy();\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\ncanvas {\n  width: 100% !important;\n}\n</style>","<template>\n  <article\n    class=\"message\"\n    :class=\"combindedClass\"\n  >\n    <div class=\"message-body\">\n      <template v-if=\"message\">\n        {{ message }}\n      </template>\n      <slot name=\"content\"></slot>\n    </div>\n  </article>\n</template>\n\n<script>\nexport default {\n  props: {\n    /**\n     * For what'll be shown inside of the message box.\n     */\n    message: {\n      type: String,\n      default: ''\n    },\n\n    size: {\n      type: String,\n      default: ''\n    },\n\n    /**\n     * type bepaalt het type weergave\n     * eq. is-info = for information style. It defines the style of the message\n     */\n    type: {\n      type: String,\n      default: 'is-info'\n    }\n  },\n  data() {\n    return {};\n  },\n\n  computed: {\n    combindedClass() {\n      let c = this.type;\n\n      if (this.size.length > 0) {\n        c = c + ' ' + this.size;\n      }\n\n      return c;\n    }\n  }\n};\n</script>\n\n<style lang=\"scss\" scoped></style>\n","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\n    \"div\",\n    [\n      _c(\"p\", { staticClass: \"subtitle\" }, [\n        _vm._v(\n          \" \" +\n            _vm._s(\n              _vm.$t(\n                \"Components.Dashboards.ReservationsStatusSplit.Subtitle_StatusSplit\"\n              )\n            ) +\n            \" \"\n        ),\n      ]),\n      _vm.dataLoaded\n        ? _c(\"Doughnut\", {\n            staticClass: \"doughnut\",\n            attrs: { chartdata: _vm.chartData, options: _vm.options },\n          })\n        : _vm._e(),\n      _vm.dataLoaded && _vm.noData\n        ? _c(\"Message\", {\n            attrs: {\n              message: _vm.$t(\n                \"Components.Dashboards.ReservationsStatusSplit.Message_NoReservations\"\n              ),\n            },\n          })\n        : _vm._e(),\n    ],\n    1\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(\"article\", { staticClass: \"message\", class: _vm.combindedClass }, [\n    _c(\n      \"div\",\n      { staticClass: \"message-body\" },\n      [\n        _vm.message ? [_vm._v(\" \" + _vm._s(_vm.message) + \" \")] : _vm._e(),\n        _vm._t(\"content\"),\n      ],\n      2\n    ),\n  ])\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-323e1491] {\\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!./Doughnut.vue?vue&type=style&index=0&id=323e1491&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(\"dba41058\", 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!./Doughnut.vue?vue&type=style&index=0&id=323e1491&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!./Doughnut.vue?vue&type=style&index=0&id=323e1491&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 \"./ReservationsStatusSplit.vue?vue&type=template&id=05f014fe\"\nimport script from \"./ReservationsStatusSplit.vue?vue&type=script&lang=js\"\nexport * from \"./ReservationsStatusSplit.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('05f014fe')) {\n      api.createRecord('05f014fe', component.options)\n    } else {\n      api.reload('05f014fe', component.options)\n    }\n    module.hot.accept(\"./ReservationsStatusSplit.vue?vue&type=template&id=05f014fe\", function () {\n      api.rerender('05f014fe', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/Dashboards/ReservationsStatusSplit.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!./ReservationsStatusSplit.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!./ReservationsStatusSplit.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!./ReservationsStatusSplit.vue?vue&type=template&id=05f014fe\"","import { render, staticRenderFns } from \"./Doughnut.vue?vue&type=template&id=323e1491&scoped=true\"\nimport script from \"./Doughnut.vue?vue&type=script&lang=js\"\nexport * from \"./Doughnut.vue?vue&type=script&lang=js\"\nimport style0 from \"./Doughnut.vue?vue&type=style&index=0&id=323e1491&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  \"323e1491\",\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('323e1491')) {\n      api.createRecord('323e1491', component.options)\n    } else {\n      api.reload('323e1491', component.options)\n    }\n    module.hot.accept(\"./Doughnut.vue?vue&type=template&id=323e1491&scoped=true\", function () {\n      api.rerender('323e1491', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/UI/Charts/Doughnut.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!./Doughnut.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!./Doughnut.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!./Doughnut.vue?vue&type=style&index=0&id=323e1491&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!./Doughnut.vue?vue&type=template&id=323e1491&scoped=true\"","import { render, staticRenderFns } from \"./Message.vue?vue&type=template&id=e83c7908&scoped=true\"\nimport script from \"./Message.vue?vue&type=script&lang=js\"\nexport * from \"./Message.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  \"e83c7908\",\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('e83c7908')) {\n      api.createRecord('e83c7908', component.options)\n    } else {\n      api.reload('e83c7908', component.options)\n    }\n    module.hot.accept(\"./Message.vue?vue&type=template&id=e83c7908&scoped=true\", function () {\n      api.rerender('e83c7908', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/UI/Message.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!./Message.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!./Message.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!./Message.vue?vue&type=template&id=e83c7908&scoped=true\""],"sourceRoot":""}