{"version":3,"sources":["webpack:///./node_modules/Ceres/resources/js/src/app/components/item/TagList.vue","webpack:///./node_modules/Ceres/resources/js/src/app/components/item/TagList.vue?bd23","webpack:///node_modules/Ceres/resources/js/src/app/components/item/TagList.vue","webpack:///./node_modules/Ceres/resources/js/src/app/components/item/TagList.vue?a8a2"],"names":["render","_vm","this","_c","_self","tags","length","staticClass","isTagRouteEnabled","_l","tag","key","id","class","tagAppearance","marginClasses","getTextColorClass","color","style","getStyles","marginInlineStyles","attrs","href","getTagLink","_v","_s","names","name","_e","_withStripped","props","type","default","enabledRoutes","inject","itemId","computed","methods","backgroundColor","url","component"],"mappings":"4GAAIA,EAAS,WACX,IAAIC,EAAMC,KACRC,EAAKF,EAAIG,MAAMD,GACjB,OAAOF,EAAII,MAAQJ,EAAII,KAAKC,OAAS,EACjCH,EACE,MACA,CAAEI,YAAa,aACf,CACEN,EAAIO,kBACAP,EAAIQ,GAAGR,EAAII,MAAM,SAAUK,GACzB,OAAOP,EACL,IACA,CACEQ,IAAKD,EAAIE,GACTL,YAAa,aACbM,MAAO,CACLZ,EAAIa,cACJb,EAAIc,cACJd,EAAIe,kBAAkBN,EAAIO,QAE5BC,MAAO,CAACjB,EAAIkB,UAAUT,GAAMT,EAAImB,oBAChCC,MAAO,CAAEC,KAAMrB,EAAIsB,WAAWb,KAEhC,CAACP,EAAG,OAAQ,CAACF,EAAIuB,GAAGvB,EAAIwB,GAAGf,EAAIgB,MAAMC,cAGzC1B,EAAIQ,GAAGR,EAAII,MAAM,SAAUK,GACzB,OAAOP,EACL,OACA,CACEQ,IAAKD,EAAIE,GACTL,YAAa,aACbM,MAAO,CACLZ,EAAIa,cACJb,EAAIc,cACJd,EAAIe,kBAAkBN,EAAIO,QAE5BC,MAAO,CAACjB,EAAIkB,UAAUT,GAAMT,EAAImB,qBAElC,CAACjB,EAAG,OAAQ,CAACF,EAAIuB,GAAGvB,EAAIwB,GAAGf,EAAIgB,MAAMC,eAI/C,GAEF1B,EAAI2B,MAGV5B,EAAO6B,eAAgB,E,2CChDoK,EC6B5K,CAEfF,gBAEAG,OACAhB,cACA,CACAiB,YACAC,YAEAjB,cACA,CACAgB,YACAC,YAEAZ,mBACA,CACAW,YACAC,YAEAC,cACA,CACAF,WACAC,mBAAA,YAIAE,QACAC,QACAH,eAIAI,UACA5B,6BAEA,gFAGAH,gBAEA,0EAEA,wEAIAgC,QACA,CACArB,8BAEA,4BACA,2CAMA,MAFA,KAHA,8BAGA,KAFA,8BAEA,KADA,8BAGA,8BAEAG,sBAEA,eAEA,CACAmB,yBAGA,IAEAf,uBAEA,uFAKA,OAJA,oCAEAgB,sBAEA,K,QCnGIC,EAAY,YACd,EACAxC,EHsCoB,IGpCpB,EACA,KACA,KACA,MAIa,UAAAwC,E","file":"chunks/ceres-client-33.min.js","sourcesContent":["var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _vm.tags && _vm.tags.length > 0\n    ? _c(\n        \"div\",\n        { staticClass: \"pt-1 pb-1\" },\n        [\n          _vm.isTagRouteEnabled\n            ? _vm._l(_vm.tags, function (tag) {\n                return _c(\n                  \"a\",\n                  {\n                    key: tag.id,\n                    staticClass: \"badge mr-1\",\n                    class: [\n                      _vm.tagAppearance,\n                      _vm.marginClasses,\n                      _vm.getTextColorClass(tag.color),\n                    ],\n                    style: [_vm.getStyles(tag), _vm.marginInlineStyles],\n                    attrs: { href: _vm.getTagLink(tag) },\n                  },\n                  [_c(\"span\", [_vm._v(_vm._s(tag.names.name))])]\n                )\n              })\n            : _vm._l(_vm.tags, function (tag) {\n                return _c(\n                  \"span\",\n                  {\n                    key: tag.id,\n                    staticClass: \"badge mr-1\",\n                    class: [\n                      _vm.tagAppearance,\n                      _vm.marginClasses,\n                      _vm.getTextColorClass(tag.color),\n                    ],\n                    style: [_vm.getStyles(tag), _vm.marginInlineStyles],\n                  },\n                  [_c(\"span\", [_vm._v(_vm._s(tag.names.name))])]\n                )\n              }),\n        ],\n        2\n      )\n    : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../../babel-loader/lib/index.js!../../../../../../../vue-loader/lib/index.js??vue-loader-options!./TagList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../babel-loader/lib/index.js!../../../../../../../vue-loader/lib/index.js??vue-loader-options!./TagList.vue?vue&type=script&lang=js&\"","<template>\n    <div v-if=\"tags && tags.length > 0\" class=\"pt-1 pb-1\">\n        <template v-if=\"isTagRouteEnabled\">\n            <a\n                v-for=\"tag in tags\"\n                :key=\"tag.id\"\n                :href=\"getTagLink(tag)\"\n                class=\"badge mr-1\"\n                :class=\"[tagAppearance, marginClasses, getTextColorClass(tag.color)]\"\n                :style=\"[getStyles(tag), marginInlineStyles]\">\n                <span>{{ tag.names.name }}</span>\n            </a>\n        </template>\n        <template v-else>\n            <span\n                v-for=\"tag in tags\"\n                :key=\"tag.id\"\n                class=\"badge mr-1\"\n                :class=\"[tagAppearance, marginClasses, getTextColorClass(tag.color)]\"\n                :style=\"[getStyles(tag), marginInlineStyles]\">\n                <span>{{ tag.names.name }}</span>\n            </span>\n        </template>\n    </div>\n</template>\n\n<script>\nimport { mapState } from \"vuex\";\n\nexport default {\n\n    name: \"tag-list\",\n\n    props: {\n        tagAppearance:\n        {\n            type: String,\n            default: \"\"\n        },\n        marginClasses:\n        {\n            type: String,\n            default: \"\"\n        },\n        marginInlineStyles:\n        {\n            type: String,\n            default: \"\"\n        },\n        enabledRoutes:\n        {\n            type: Array,\n            default: () => []\n        }\n    },\n\n    inject: {\n        itemId: {\n            default: null\n        }\n    },\n\n    computed: {\n        isTagRouteEnabled()\n        {\n            return this.enabledRoutes.includes(\"all\") || this.enabledRoutes.includes(\"tags\");\n        },\n\n        tags()\n        {\n            const currentVariation = this.$store.getters[`${this.itemId}/currentItemVariation`];\n            \n            return (currentVariation && currentVariation.tags) ? currentVariation.tags.filter((tag) => tag.names.name) : [];\n        }\n    },\n\n    methods:\n    {\n        getTextColorClass(bgColor)\n        {\n            if (!bgColor)return \"badge-primary\";\n            const color = (bgColor.charAt(0) === \"#\") ? bgColor.substring(1, 7) : bgColor;\n            const red = parseInt(color.substring(0, 2), 16);\n            const green = parseInt(color.substring(2, 4), 16);\n            const blue = parseInt(color.substring(4, 6), 16);\n            const result = (red * 0.299) + (green * 0.587) + (blue * 0.114);\n\n            return (result > 186) ? \"text-dark\" : \"text-light\";\n        },\n        getStyles(tag)\n        {\n            if (tag.color)\n            {\n                return {\n                    backgroundColor: tag.color\n                };\n            }\n            return {};\n        },\n        getTagLink(tag)\n        { \n            let url = \"/\" + encodeURIComponent(tag.names.name.toLowerCase().replace(/\\s+/g,'_')) + \"_t\" + tag.id;\n            if (App.defaultLanguage != App.language)\n            {\n                url = \"/\" + App.language + url;\n            }\n            return url;\n        }\n    }\n}\n</script>\n","import { render, staticRenderFns } from \"./TagList.vue?vue&type=template&id=52898d26&\"\nimport script from \"./TagList.vue?vue&type=script&lang=js&\"\nexport * from \"./TagList.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../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\nexport default component.exports"],"sourceRoot":""}