{"version":3,"sources":["webpack:///./resources/js/src/app/components/item/TagList.vue?425f","webpack:///./resources/js/src/app/components/item/TagList.vue?b72e","webpack:///resources/js/src/app/components/item/TagList.vue","webpack:///./resources/js/src/app/components/item/TagList.vue"],"names":["render","_vm","this","_h","$createElement","_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","component","options","__file"],"mappings":"kGAAA,IAAIA,EAAS,WACX,IAAIC,EAAMC,KACNC,EAAKF,EAAIG,eACTC,EAAKJ,EAAIK,MAAMD,IAAMF,EACzB,OAAOF,EAAIM,MAAQN,EAAIM,KAAKC,OAAS,EACjCH,EACE,MACA,CAAEI,YAAa,aACf,CACER,EAAIS,kBACAT,EAAIU,GAAGV,EAAIM,MAAM,SAASK,GACxB,OAAOP,EACL,IACA,CACEQ,IAAKD,EAAIE,GACTL,YAAa,aACbM,MAAO,CACLd,EAAIe,cACJf,EAAIgB,cACJhB,EAAIiB,kBAAkBN,EAAIO,QAE5BC,MAAO,CAACnB,EAAIoB,UAAUT,GAAMX,EAAIqB,oBAChCC,MAAO,CAAEC,KAAMvB,EAAIwB,WAAWb,KAEhC,CAACP,EAAG,OAAQ,CAACJ,EAAIyB,GAAGzB,EAAI0B,GAAGf,EAAIgB,MAAMC,cAGzC5B,EAAIU,GAAGV,EAAIM,MAAM,SAASK,GACxB,OAAOP,EACL,OACA,CACEQ,IAAKD,EAAIE,GACTL,YAAa,aACbM,MAAO,CACLd,EAAIe,cACJf,EAAIgB,cACJhB,EAAIiB,kBAAkBN,EAAIO,QAE5BC,MAAO,CAACnB,EAAIoB,UAAUT,GAAMX,EAAIqB,qBAElC,CAACjB,EAAG,OAAQ,CAACJ,EAAIyB,GAAGzB,EAAI0B,GAAGf,EAAIgB,MAAMC,eAI/C,GAEF5B,EAAI6B,MAGV9B,EAAO+B,eAAgB,E,sCCjDwL,EC6B/M,CAEE,KAAF,WAEE,MAAF,CACI,cACJ,CACM,KAAN,OACM,QAAN,IAEI,cACJ,CACM,KAAN,OACM,QAAN,IAEI,mBACJ,CACM,KAAN,OACM,QAAN,IAEI,cACJ,CACM,KAAN,MACM,QAAN,WAAQ,MAAR,MAIE,OAAF,CACI,OAAJ,CACM,QAAN,OAIE,SAAF,CACI,kBADJ,WAGM,OAAN,yEAGI,KANJ,WAQM,IAAN,sEAEM,OAAN,qCAAQ,OAAR,qBAIE,QACF,CACI,kBADJ,SACA,GAEM,IAAN,wBACM,IAAN,uCAMM,MAFN,KAHA,8BAGA,KAFA,8BAEA,KADA,8BAGA,8BAEI,UAZJ,SAYA,GAEM,OAAN,QAEA,CACU,gBAAV,SAGA,IAEI,WAtBJ,SAsBA,GAEM,IAAN,mFAKM,OAJN,oCAEQ,EAAR,oBAEA,K,OCnGIC,EAAY,YACd,EACAhC,EHuCoB,IGrCpB,EACA,KACA,KACA,MAuBFgC,EAAUC,QAAQC,OAAS,mDACZ,UAAAF,E","file":"chunks/ceres-46.min.js","sourcesContent":["var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\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 \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/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=2a940624&\"\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 \"!../../../../../../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(\"/home/runner/work/plugin-ceres/plugin-ceres/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('2a940624')) {\n      api.createRecord('2a940624', component.options)\n    } else {\n      api.reload('2a940624', component.options)\n    }\n    module.hot.accept(\"./TagList.vue?vue&type=template&id=2a940624&\", function () {\n      api.rerender('2a940624', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"resources/js/src/app/components/item/TagList.vue\"\nexport default component.exports"],"sourceRoot":""}