{"version":3,"file":"js/9486.32e64b8e.js","mappings":"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","sources":["webpack://eucaps/./src/modules/financialChart/index.vue","webpack://eucaps/./src/js/helpers/numbers.js","webpack://eucaps/./src/modules/financialChart/_components/FinancialChart.vue","webpack://eucaps/./src/modules/financialChart/_components/FinancialChart.vue?6afb","webpack://eucaps/./src/modules/financialChart/index.vue?ef99","webpack://eucaps/./src/modules/infoCardsWidget/index.vue","webpack://eucaps/./src/modules/infoCardsWidget/_components/PreviousDividend.vue","webpack://eucaps/./src/modules/infoCardsWidget/_components/PreviousDividend.vue?26ae","webpack://eucaps/./src/modules/infoCardsWidget/_components/DaysToNextReport.vue","webpack://eucaps/./src/modules/infoCardsWidget/_components/DaysToNextReport.vue?ea51","webpack://eucaps/./src/modules/infoCardsWidget/_components/ProfitPerStock.vue","webpack://eucaps/./src/modules/infoCardsWidget/_components/ProfitPerStock.vue?7f40","webpack://eucaps/./src/modules/infoCardsWidget/index.vue?dd81"],"sourcesContent":["<template>\n  <FinancialChart\n    v-if=\"financials\"\n    :is-logged-in=\"isLoggedIn\"\n    :financials=\"financials\"\n    :chart-options=\"chartOptions\"\n    :years=\"yearLabels\"\n    :loading=\"loading\"\n    :new-data-loading=\"newDataLoading\"\n    :source=\"source\"\n    :company=\"company\"\n    :selected-period-code=\"selectedPeriodCode\"\n    :periods=\"periods\"\n    :name=\"company.name\"\n    @select-period=\"selectPeriod\"\n  />\n</template>\n\n<script>\nimport { toNumber } from '../../js/helpers/numbers'\nimport FinancialChart from './_components/FinancialChart'\nimport { useCompaniesStore } from '../../stores/companies'\nimport { useFinancialsStore } from '../../stores/financials'\nimport { useScreenersStore } from '../../stores/screeners'\nimport { useUsersStore } from '../../stores/users'\n\nexport default {\n  name: 'FinancialChartModule',\n  components: {\n    FinancialChart\n  },\n  props: {\n    source: { type: String, default: ''}\n  },\n  setup(){\n    const companiesStore = useCompaniesStore()\n    const financialsStore = useFinancialsStore()\n    const screenersStore = useScreenersStore()\n    const usersStore = useUsersStore()\n\n    return { companiesStore, financialsStore, screenersStore, usersStore }\n  },\n  data () {\n    return {\n      colors: [\n        '#0BC773',\n        '#311C3B',\n        '#56F69B',\n        '#634273',\n        '#a984bb',\n        '#9b6ab3',\n        '#ee5a29',\n        '#cd4a1f',\n        '#e16942',\n        '#fde0a7',\n        '#dfc288',\n        '#cba966',\n        '#e9ba5d',\n        '#75e89c',\n        '#4ca56a',\n        '#7cbd92',\n        '#afd1ba'\n      ],\n      lightColors: [\n        '#75e89c',\n        '#ee5a29',\n        '#fde0a7',\n        '#ddcae6'\n      ]\n    }\n  },\n  computed: {\n    financials(){                                    \n      return this.companiesStore.financials\n    },\n    company() {\n      return this.companiesStore.selectedCompany\n    },\n    loading(){\n      return this.companiesStore.loadingFinancials\n    },\n    newDataLoading(){\n      return this.financialsStore.loading\n    },\n    selectedGroups(){\n      return this.financialsStore.selectedGroups\n    },\n    selectedCompany(){\n      return this.companiesStore.selectedCompany\n    },\n    selectedCurrency(){\n      return this.screenersStore.selectedCurrency\n    },\n    selectedMnemonics(){\n      return this.financialsStore.selectedMnemonics\n    },\n    selectedPeriodCode(){\n      return this.financialsStore.selectedPeriodCode\n    },\n    periods(){\n      return this.financialsStore.periods\n    },\n    activeTheme(){\n      return this.usersStore.activeTheme\n    },\n    isLoggedIn() {\n      // if(this.usersStore.user && this.usersStore.user.profile_type?.length > 0 && this.usersStore.user.profile_type.indexOf('GuestUser') > -1)\n      //   return false\n      // else return true\n      return this.usersStore.isLoggedin\n    },\n    currency () {\n      if (!this.financials) {\n        return ''\n      }\n\n      return this.financials.CURRENCY\n    },\n    chartOptions () {\n      return {\n        chart: {\n          type: 'column',\n          backgroundColor: this.activeTheme === 'dark' ? '#482A57' : '#FFFFFF',\n          style: {\n            fontFamily: 'Urbanist'\n          },\n          zooming: {\n            mouseWheel: {\n              enabled: this.enableZoom ? true : false\n            }\n          },\n        },\n        title: {\n          text: undefined,\n          align: 'left',\n          style: {\n            color: this.activeTheme === 'dark' ? '#F8EEFD' : '#333333'\n          }\n        },\n        xAxis: {\n          categories: this.yearLabels,\n          gridLineWidth: 1,\n          gridLineDashStyle: 'longdash',\n          gridLineColor: this.activeTheme === 'dark' ? '#634273' : '#e6e6e6',\n          labels: {\n            style: {\n              color: this.activeTheme === 'dark' ? '#F8EEFD' : '#333333',\n              fontSize: '12px',\n              fontWeight: 500\n            },\n            \n          }\n        },\n        yAxis: [\n          // primary y-axis\n          {\n            title: {\n              text: ''\n            },\n            labels: {\n              format: ((this.currency === 'EUR' && '€') || (this.currency === 'GBP' && '£' || '')) + '{value}M ' + (this.currency !== 'EUR' && this.currency !== 'GBP' ? this.currency : ''),\n              style: {\n                color: this.activeTheme === 'dark' ? '#F8EEFD' : '#80879C',\n                fontSize: '12px',\n                fontWeight: 500\n              }\n            },\n            gridLineColor: 'transparent',\n            opposite: true\n          },\n          {\n            title: {\n              text: ''\n            },\n            labels: {\n              format: '{value} %',\n              style: {\n                color: this.activeTheme === 'dark' ? '#F8EEFD' : '#80879C',\n                fontSize: '12px',\n                fontWeight: 500 \n              }\n            },\n            gridLineColor: 'transparent',\n          }\n        ],\n        legend: {\n          reversed: false,\n          symbolRadius: 10,\n          itemStyle: {\n            color: this.activeTheme === 'dark' ? '#F8EEFD' : '#80879C'\n          },\n          align: 'left'\n        },\n        tooltip: {\n          valueDecimals: 2,\n          padding: 12,\n          shadow: true,\n        },\n        credits: {\n          enabled: false\n        },\n        exporting: {\n          enabled: false\n        },\n        series: this.chartData,\n        plotOptions: {\n          column: {\n            borderWidth: 0\n          },\n          series: {\n            pointWidth: 25\n          }\n        }\n      }\n    },\n    yearLabels () {\n      if (!this.financials) {\n        return []\n      }\n\n      if (!this.financials.DATA) {\n        return []\n      }\n\n      if (!this.financials.YEARS) {\n        return []\n      }\n\n      if (this.selectedPeriodCode === 'quarterly') {\n        return this.financials.QUARTERS.map(yearItem => yearItem.label)\n      }\n\n      if(!this.loading) {\n        let hasCurrentYear = false\n\n        const data = { ...this.financials.DATA }\n        const dataYears = Object.keys(Object.values(Object.values(data)[0])[0].values)\n\n        let years = this.financials.YEARS\n        const ltmIndex = years.findIndex(y => y.label === 'LTM')\n\n        hasCurrentYear = dataYears.includes(years[ltmIndex].periodKey)\n        \n        if (!hasCurrentYear) {\n          const removeYear = years.findIndex(y => y.periodKey === String(Number(years[ltmIndex].periodKey) - 1))\n          years.splice(removeYear, 1)\n\n          years[ltmIndex].periodKey = String(Number(years[ltmIndex].periodKey - 1))\n        }\n\n        return this.financials.YEARS.map(yearItem => yearItem.label)\n      }\n\n      return []\n    },\n    years () {\n      if (!this.financials) {\n        return []\n      }\n\n      if (this.selectedPeriodCode === 'quarterly') {\n        return this.financials.QUARTERS.map(yearItem => yearItem.periodKey)\n      }\n\n      return this.financials.YEARS.map(yearItem => yearItem.periodKey)\n    },\n    chartData () {\n      if (!this.financials) {\n        return []\n      }\n\n      if (!this.financials.DATA) {\n        return []\n      }\n\n      let chartData = []\n      let colorCounter = 0\n\n      this.selectedMnemonics.map((mnemonic) => {\n        let firstMnemonic = null\n        let dataPoints = []\n        if (this.financials.DATA[mnemonic]) {\n          firstMnemonic = Object.values(this.financials.DATA[mnemonic])[0]\n\n          Object.values(this.financials.DATA[mnemonic]).map(mnemonicData => {\n            if (this.selectedGroups.includes(mnemonicData.group)) {\n              const dataPointYears = Object.keys(mnemonicData['values'])\n\n              Object.values(mnemonicData['values']).map((value, index) => {\n                if (this.years.includes(dataPointYears[index])) {\n                  dataPoints.push({ year: dataPointYears[index], value: value ? toNumber(value) : '-' })\n                }\n              })\n            }\n          })\n        }\n\n        dataPoints = dataPoints.sort((a, b) => {\n          return b.year - a.year\n        }).map(valueItem => valueItem.value)\n\n        if (firstMnemonic) {\n          const isPercentage = firstMnemonic ? firstMnemonic.value_type === 'percentage' : false\n\n          chartData.push({\n            type: isPercentage ? 'line' : 'column',\n            name: firstMnemonic.label,\n            data: dataPoints,\n            yAxis: isPercentage ? 1 : 0, // sets the value with the primary y-axis\n            color: this.activeTheme === 'dark' ? this.lightColors[colorCounter] : this.colors[colorCounter]\n          })\n        }\n\n        if (this.activeTheme === 'dark' && colorCounter === this.lightColors.length) {\n          colorCounter = 0\n        } else if (this.activeTheme !== 'dark' && colorCounter === this.colors.length) {\n          colorCounter = 0\n        } else {\n          colorCounter++\n        }\n      })\n      return chartData\n    }\n  },\n  beforeCreate () {\n    if(!this.companiesStore.financials) {\n      this.companiesStore.fetchFinancials()\n      this.financialsStore.fetchCompanyFilters()\n\n      if (localStorage.selectedGroupsKey) {\n        this.financialsStore.selectGroup( Number(localStorage.selectedGroupsKey))\n      }\n\n      if (localStorage.selectedMnemonics) {\n        this.financialsStore.setSelectedMnemonics( JSON.parse(localStorage.selectedMnemonics))\n      }\n    }\n  },\n  methods:{\n    fetch () {\n      this.companiesStore.fetchFinancials()\n    },\n    selectPeriod (periodCode) {\n      this.financialsStore.selectPeriod(periodCode)\n    this.fetch()\n    },\n  }\n}\n</script>\n","export const formatPrice = (price) => {\n  return parseFloat(price).toLocaleString('sv')\n}\n\nexport const toNumber = (numberString) => {\n  if (numberString === '-') {\n    return numberString\n  }\n  return Number(numberString.replace(/,/g, ''))\n}\n","<template>\n  <BaseCard padding=\"h-full p-0\">\n    <template #body>\n      <div\n        v-if=\"!isLoggedIn\"\n        class=\"py-20 px-10 items-center flex\"\n      >\n        <SignUpCPPBanner\n          :name=\"name\"\n          background=\"orange\"\n        />\n      </div> \n      <div\n        v-else\n        class=\"pl-4 pt-4 space-y-4\"\n      >\n        <div class=\"flex\">\n          <div class=\"text-custom-purple-500 dark:text-custom-purple-100 text-lg font-bold pl-2 mr-8 flex items-center\"> \n            Result\n          </div>\n          <div\n            v-for=\"period in periods\"\n            :key=\"'p-'+period.code\"\n          >\n            <BaseButton\n              class=\" text-sm font-medium rounded-none\"\n              :class=\"period.code === selectedPeriodCode? ' text-custom-green-600 border-b-2 border-b-custom-green-600' : 'text-custom-gray-400 dark:text-custom-purple-200'\"\n              no-shadow\n              :bold=\"false\"\n              @click=\"$emit('select-period', period.code)\"\n            >\n              {{ $t(period.code) }}\n            </BaseButton>\n          </div>\n        </div>\n        <div\n          v-if=\"loading || newDataLoading\"\n          class=\"flex justify-center py-4\"\n        >\n          <CircleLoader />\n        </div>\n        <highcharts\n          v-else\n          ref=\"chart\"\n          :constructor-type=\"'chart'\"\n          class=\"hc\"\n          :options=\"chartOptions\"\n        />\n      </div>\n      <RouterLink\n        v-if=\"source === 'company' && isLoggedIn\"\n        class=\"text-center\"\n        :to=\"{name: 'companyFinancials', params: { id: company.slug_url }}\"\n      >\n        <WidgetFooterButton>\n          {{ $t('See more financials') }}\n        </WidgetFooterButton>\n      </RouterLink>\n    </template>\n  </BaseCard>\n</template>\n\n<script>\nimport SignUpCPPBanner from '@/modules/signUpCPPBanner'\n\nexport default {\n  name: 'ChartWidget',\n  components: {\n    SignUpCPPBanner\n  },\n  props: {\n    loading: {\n      type: Boolean,\n      default: false\n    },\n    newDataLoading: {\n      type: Boolean,\n      default: false\n    },\n    isLoggedIn: {\n      type: Boolean,\n      default: false\n    },\n    financials: {\n      type: Object,\n      default: () => {}\n    },\n    company: {\n      type: Object,\n      default: () => {}\n    },\n    labels: {\n      type: Array,\n      default: () => {}\n    },\n    chartOptions: {\n      type: Object,\n      default: () => {}\n    },\n    source: {\n      type: String,\n      default: ''\n    },\n    periods: {\n      type: Array,\n      default: () => []\n    },\n    selectedPeriodCode: {\n      type: String,\n      default: ''\n    },\n    name: {\n      type: String,\n      default: ''\n    }\n  },\n  emits: [\n    'select-period' \n  ]\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n</style>\n","import { render } from \"./FinancialChart.vue?vue&type=template&id=0410bb7a\"\nimport script from \"./FinancialChart.vue?vue&type=script&lang=js\"\nexport * from \"./FinancialChart.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./index.vue?vue&type=template&id=069c928d\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <div class=\"flex sm:flex-row flex-col sm:space-x-6 space-x-0 space-y-2 sm:space-y-0 w-full\">\n    <PreviousDividend\n      :dividend-yield=\"selectedCompanyDetails.dividend_yield\"\n      class=\"sm:w-1/3 w-full\"\n    />\n    <DaysToNextReport\n      :next-report-day=\"daysRemaining\"\n      class=\"sm:w-1/3 w-full\"\n    />\n    <ProfitPerStock\n      :eps=\"selectedCompanyDetails.eps\"\n      class=\"sm:w-1/3 w-full\"\n    />\n  </div>\n</template>\n\n<script>\nimport PreviousDividend from './_components/PreviousDividend'\nimport DaysToNextReport from './_components/DaysToNextReport'\nimport ProfitPerStock from './_components/ProfitPerStock.vue'\nimport { useUsersStore } from \"@/stores/users\"\nimport { useCompaniesStore } from \"@/stores/companies\"\n\nexport default {\n    name: 'InfoCardsWidgetModule',\n    components: {\n        PreviousDividend,\n        DaysToNextReport,\n        ProfitPerStock\n    },\n    props: {\n      padding: {\n        type: String,\n        default: ''\n      }\n    },\n    setup() {\n\n        const usersStore = useUsersStore()\n        const companiesStore = useCompaniesStore()\n\n        return { usersStore, companiesStore }\n\n    },\n    computed: {\n      selectedCompany() {\n        return this.companiesStore.selectedCompany\n      },\n      selectedCompanyDetails() {\n        return this.companiesStore.companyDetails\n      },\n      daysRemaining() {\n        if(this.companiesStore?.companyDetails?.company?.next_report_date) {\n          const now = new Date()\n          const time = new Date(this.companiesStore.companyDetails.company.next_report_date).getTime()\n          const diffInMilliseconds = time - now\n          const minutesAgo = Math.floor(diffInMilliseconds / (60 * 1000))\n          const hoursAgo = Math.floor(minutesAgo / 60)\n          const daysAgo = Math.ceil(hoursAgo / 24)\n          return daysAgo.toString()\n        } else return 'n/a'\n      },\n\n    },\n\n}\n</script>\n","<template>\n  <BaseCard class=\" h-full p-3 \">\n    <template #body>\n      <div class=\"flex justify-start items-center space-x-4 py-1 px-2\">\n        <div class=\"w-9 h-9 bg-custom-orange-100 rounded-full flex items-center justify-center\">\n          <Icon\n            class=\"text-xl text-custom-orange-400\"\n            name=\"wallet\"\n          />\n        </div>\n        <div>\n          <p class=\"text-custom-purple-500 dark:text-custom-purple-100 font-bold text-base\">\n            {{ dividendYield? $percentage(dividendYield): 'n/a' }}\n          </p>\n          <p class=\"text-custom-gray-400 dark:text-custom-purple-200 font-medium text-sm\">\n            Dividend Yield\n          </p>\n        </div>\n      </div>\n    </template>  \n  </BaseCard>\n</template>\n  \n  <script>\n  export default {\n    name: 'PreviousDividend',\n    props: {\n      title: {\n        type: String,\n        required: true,\n      },\n      dividendYield: {\n        type: String,\n        required: true,\n      },\n    },\n  };\n  </script>","import { render } from \"./PreviousDividend.vue?vue&type=template&id=1116fa1a\"\nimport script from \"./PreviousDividend.vue?vue&type=script&lang=js\"\nexport * from \"./PreviousDividend.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <BaseCard class=\" h-full p-3 \">\n    <template #body>\n      <div class=\"flex justify-start items-center space-x-4 py-1 px-2\">\n        <div class=\"w-9 h-9 bg-custom-orange-100 rounded-full flex items-center justify-center\">\n          <Icon\n            class=\"text-xl text-custom-orange-400\"\n            name=\"time-five\"\n          />\n        </div>\n        <div>\n          <p class=\"text-custom-purple-500 dark:text-custom-purple-100 font-bold text-base\">\n            {{ nextReportDay }}\n          </p>\n          <p class=\"text-custom-gray-400 dark:text-custom-purple-200 font-medium text-sm\">\n            {{ nextReportDay >1 ? 'Days' : 'Day' }} to next report\n          </p>\n        </div>\n      </div>\n    </template>\n  </BaseCard>\n</template>\n  \n  <script>\n  export default {\n    name: 'DaysToNextReport',\n    props: {\n      title: {\n        type: String,\n        required: true,\n      },\n      nextReportDay: {\n        type: String,\n        required: true,\n      },\n    },\n  };\n  </script>","import { render } from \"./DaysToNextReport.vue?vue&type=template&id=c5321e0c\"\nimport script from \"./DaysToNextReport.vue?vue&type=script&lang=js\"\nexport * from \"./DaysToNextReport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n  <BaseCard class=\" h-full p-3 \">\n    <template #body>\n      <div class=\"flex justify-start items-center space-x-4 py-1 px-2\">\n        <div class=\"w-9 h-9 bg-custom-orange-100 rounded-full flex items-center justify-center\">\n          <Icon\n            class=\"text-xl text-custom-orange-400\"\n            name=\"bar-chart\"\n          />\n        </div>\n        <div>\n          <p class=\"text-custom-purple-500 dark:text-custom-purple-100 font-bold text-base\">\n            {{ eps ? '€' + $number(eps) : 'n/a' }} \n          </p>\n          <p class=\"text-custom-gray-400 dark:text-custom-purple-200 font-medium text-sm\">\n            Profit / stock\n          </p>\n        </div>\n      </div>\n    </template>\n  </BaseCard>\n</template>\n  \n  <script>\n  export default {\n    name: 'ProfitPerStock',\n    props: {\n      title: {\n        type: String,\n        required: true,\n      },\n      eps: {\n        type: String,\n        required: true,\n      },\n    },\n  };\n  </script>","import { render } from \"./ProfitPerStock.vue?vue&type=template&id=63f920e2\"\nimport script from \"./ProfitPerStock.vue?vue&type=script&lang=js\"\nexport * from \"./ProfitPerStock.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./index.vue?vue&type=template&id=732b3dda\"\nimport script from \"./index.vue?vue&type=script&lang=js\"\nexport * from \"./index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["isLoggedIn","financials","chartOptions","years","yearLabels","loading","newDataLoading","source","company","selectedPeriodCode","periods","name","selectPeriod","toNumber","numberString","Number","replace","class","padding","body","period","key","code","bold","$emit","$t","ref","options","background","to","slug_url","components","SignUpCPPBanner","props","type","Boolean","default","Object","labels","Array","String","emits","__exports__","FinancialChart","setup","companiesStore","financialsStore","screenersStore","usersStore","data","colors","lightColors","computed","this","selectedCompany","loadingFinancials","selectedGroups","selectedCurrency","selectedMnemonics","activeTheme","isLoggedin","currency","CURRENCY","chart","backgroundColor","style","fontFamily","zooming","mouseWheel","enabled","enableZoom","title","text","undefined","align","color","xAxis","categories","gridLineWidth","gridLineDashStyle","gridLineColor","fontSize","fontWeight","yAxis","format","opposite","legend","reversed","symbolRadius","itemStyle","tooltip","valueDecimals","shadow","credits","exporting","series","chartData","plotOptions","column","borderWidth","pointWidth","DATA","YEARS","QUARTERS","map","yearItem","label","hasCurrentYear","dataYears","keys","values","ltmIndex","findIndex","y","includes","periodKey","removeYear","splice","colorCounter","mnemonic","firstMnemonic","dataPoints","mnemonicData","group","dataPointYears","value","index","push","year","sort","a","b","valueItem","isPercentage","value_type","length","beforeCreate","fetchFinancials","fetchCompanyFilters","localStorage","selectedGroupsKey","selectGroup","setSelectedMnemonics","JSON","parse","methods","fetch","periodCode","render","selectedCompanyDetails","dividend_yield","daysRemaining","eps","dividendYield","$percentage","required","nextReportDay","$number","PreviousDividend","DaysToNextReport","ProfitPerStock","companyDetails","next_report_date","now","Date","time","getTime","diffInMilliseconds","minutesAgo","Math","floor","hoursAgo","daysAgo","ceil","toString"],"sourceRoot":""}